功率电感生产厂家
联系我们
热门搜索
点击排行
推荐阅读
猜猜你喜欢的
技术支持 您所在的位置: 首页 > 技术支持

基于单片机的嵌入式SNMP代理器设计与实现

来源:    作者:    发布时间:2016-09-11 14:50:28    浏览量:

AD0-AD7是网卡的8位数据总线,接单片机的P0口,RESDRV(引脚33(RESET))接单片机的T0(P3.4),单片机用P3.4来复位网卡。IRQ9接单片机的INT0(P3.2

),IRQ9是网卡的中断9,接到单片机的中断0上,IOR,IOW接到单片机的P3.6,P3.7(/WR,/R)。

2.4 小逻辑模块

小逻辑模块主要实现一些逻辑功能,A/D的时钟由单片机的ALE信号8分频,各个外部器件的片选功能都由小逻辑模块实现,虽然功能不复杂,如果用小逻辑器件实现,就需要较多的器件,器件利用率低,在电路板上占据较大的空间,与要求体积小的嵌入式应用相矛盾。采用可编程逻辑器件可以解决这些问题。

2.5 单片机模块

单片机模块由单片机以及复位和看门狗电路、外部扩展RAM、时钟电路等外围电路构成,看门狗电路可以提高现场恶劣条件的干扰,当系统受到外界干扰使得单片记的程序跑飞,看门狗没有喂狗信号,看门狗电路将单片机和RTL8019复位,重新开始运行。

3 软件设计与实现

由于SNMP的编解码需要占用很多CPU时间,并且在单片机上还要实现A/D数据采集转换、以太网通信、串口通信等功能,这就使得协调各个功能非常困难,因此,我们选用Micro-C/OS51作为单片机的操作系统,Micro-C/OS51是嵌入式实时操作系统Micro-C/ OS在51单片机上的移植代码,实时系统能够很好地提高CPU的效率,并且是多任务系统,能够协调多个任务,我们将单片机要实现的功能分为人机交互任务、A/D处理任务和SNMP处理任务。

3.1 人机交互任务

人机交互任务是通过单片机的串口来实现与用户的交互,用户通过串口电缆将PC机与单片机的串口连接,通过PC机的超级终端可以使用命令行的方式对代理器的有关参数(网关地址、主机地址等)进行配置,还可以察看相关的运行信息,主要的命令行有:Host 配置本机IP地址;Gateway 配置网关地址;Mask 配置子网掩码;Snmphost 配置SNMP管理器IP地址;Macadr 配置本机物理地址;ping 可以用这个命令来检测网络链路;clear 清除电话显示屏的内容。

人机交互任务实现的主要思路就是单片机接收用户键盘输入的字符存入命令缓冲区,并回显到屏幕,当用户按下回车电感器 用途键,触发软件状态机状态变迁,从输入态转移到命令解释态,然后根据用户命令调用相关子程序执行相关操作,执行完毕后重新回到输入态。

人机交互程序由词表、取词子程序、状态机框架程序(输入回显和命令解释执行)命令相关子程序组成,词表就是命令语句的集合,取词子程序从命令行语句中提取单词并存入词表,同时进行匹配检查和词法分析,输入回显程序循环检查用户键盘输入,命令解释程序调用取词子程序分析用户命令行输入,根据词表第1个单词在散转表中的位置调用相应执行子程序处理命令,命令解释程序向相应的命令 相关子程序传入词表指针,具体执行由用户自行决定,由命令相关资程序返回后重新回到命令输入态,完成一次输入执行全过程,此过程周而复始地循环执行。



3.2 A/D处理任务

A/D转换需要一定的时间,读取A/D转换的结果有3种方式:

a)采用中断方式,读取数据及时,同时频繁的中断处理增加了CPU的负担。

b)查询方式,造成CPU时间的浪费,大大地降低了CPU效率;

c)等待方式,看起来没有优点,但是在UC/OS51操作系统中,到任务调度的一个很重要的思想就是延时,高优先级的任务执行一段时间后,再延时一段时间,以便低优先级的任务执行,这样将等待的时刻放到A/D处理任务的延时时刻,可以起到一举多得的作用,我们正是采用这种方式。

3.3 SNMP处理任务

当接收到UDP数据包、处理UDP报头后,由函数udp_recv()处理SNMP数据包。其基本思想是:解码SNMP消息,如果解码正确,判断该Community(共同体)是否具有进行所请求操作的权限,如果没有权限,则抛弃该报文,并且给管理器发送Trap报文。如果权限正确,则从代理器上的MIB表中查找所请求的对象。找到后,执行相应操作,同时生成响应报文。然后进行SNMP编码,如果编码无误,则将这个SNMP报文交给上一层协议处理,SNMP处理流程见图4。

SNMP处理流程


在SNMP处理过程中,SNMP的编码和解码非常关键,以解码为例来说明,解码出SNMP报文使用SNMP的版本号,报文所使用的共同体号,版本号,表明了报文使用SNMP的版本,如果管理器与代理器使用协议的版本不同,将不能正常通信,共同体相当于密钥,只有有了密钥的管理器才能够访问代理器,否则,代理器不予响应,PDU解码出管器所要访问的对象,SNMP解码的流程图见图5。

  • 基于单片机的具有通讯口的智能温控表设计1 引言 温控表已广泛应用于工业控制等诸多领域,本文介绍的具有计算机通讯功能的智能温控表是一种新颖的自动化仪表,它以单片机AT89C52为核心,采用电压/频率转换技术和RS-485通信接口芯片MAX4

  • 全桥逆变电源的米勒效应请问高手们,这是米勒效应吗?两个信号为全桥逆变上管与下管的驱动信号,驱动芯片为IR2113S。

















    学习恭喜被添加到社区经典图库,并获得1积分

    http://www.dia

  • 基于C8051F410单片机的流量仪设计与应用引言工业生产过程中对流体流量进行正确测量和调节是保证生产过程安全经济运行、提高经济效益、实现科学管理的基础。质量流量控制器就是用来对各种气体的质量流量进行精密测量与控制的一种仪器,被广泛应用于电子工艺

  •