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

发布者:SecretWhisper最新更新时间:2006-09-25 来源: 电子工程师关键字:网络  传输  控制  嵌入 手机看文章 扫描二维码
随时随地手机看文章

0 引言

SNMP(简单网络管理协议)应用广泛,功能强大,只要管理软件驻留有MIB(管理信息库),并且拥有适当的权限,管理器就可以访问SNMP代理器。SNMP一般用于计算机网络和电信网络,本文提出了用SNMP进行控制。由于其传输媒介是Internet,所以传输距离不受限制,这相对于其他工业控制总线有不可比拟的优势,SNMP最大的优点是协议简洁,适合嵌入式应用。SNMP体系可扩展性强,只要将新的MIB装载在管理软件上就可以实现对新的终端的控制与访问,本文介绍了一种基于廉价的微控制器的实现嵌入式代理器的方案,以微处理器核心实现相关硬件及软件。

1 SNMP体系结构

SNMP的体系结构(见图1)以简单的查询/回答模型为基础,发送查询的用户为管理者,SNMP的服务器(代理器)回答查询。

SNMP在TCP/IP体系中属于应用层协议。为了实现SNMP体系,就必须实现从应用层到物理层的所有要用到的协议,管理器在PC机上,代理器处于监测现场,代理器驻留在被管理系统的MIB,我们以单片机为核心来实现嵌入式代理器,嵌入式代理器要对现场采集到的数据进行分析,如果有异常情况发生,通过发送Trap报文给管理器,告知网管有异常情况发生,在报文中还带有异常情况的相关信息,网管可以根据这一信息进行相应的处理,在一些情况下,代理器将数据保存起来,以备管理器的查询。

2 嵌入式代理器的硬件实现

我们设计的基于SNMP的控制系统原理见图2。

控制现场的信号采集由A/D转换模块输入单片机。单片机对信号进行处理,并且执行SNMP代理器的任务,硬件部分主要包括A/D、串口、以太网、小逻辑、单片机、监控信号采集、电源及监控等模块,本文着重介绍与嵌入式SNMP代理器密切相关的部分。

2.1 串口模块

单片机使用的是TTL电平,而RS-23协议所使用的电平不同,所以需要进行电平转换,通过MAX232实现电平转换。

2.2 A/D模块

A/D模块主要负责采集外部监控信号,采用AD0809可以采集8个通道的数据,信号变化的动态范围并不大,利用这一特点,合理设置参考电压,可以提高分辨率,从而用低廉的器件实现很好的性能,ADC0809的两个参考电压都可以通过电位器调节,为了保证系统的精度,参考电压必须稳定,为此采用MAXIM的MAX875作为参考电压源。另外需要注意的是:输入到A/D转换器的参考电压经过电位器的分压,为了使参考电压稳定,必须选用高精度、高稳定性的电位器。

2.3 以太网模块

以太网模块实现与以太网的通信,采用RealTek的RTL8019芯片实现。

RTL8919A(见图3)有3种工作方式:跳线方式,网卡的I/O和中断由跳线决定;即插即用方式,由软件进行自动配置plug and play;免跳线方式,网卡的I/O和中断由外接的93C46中的内容决定。

RTL8019AS的引脚65(JP)决定了网卡的工作方式,引脚65脚(JP)是输入引脚,当引脚65为低电平时,8019工作在即插即用方式或免跳线方式,具体由93C46中的内容决定,在嵌入式应用中如果可以不使用93C46,则可以降低成本,同时减少连线,我们把引脚65接高电平(VCC),使用跳线方式。那么,网卡的I/O和中断就不是由93C46的内容决定,这是不需要使用93C46。

引脚64(AUI)决定使用AUI还是BNC接口。BNC接口方式支持8线双绞线或同轴电缆。高电平时使用AUI接口;悬空为低电平,使用BNC接口。我们一般使用BNC,将该引脚悬空。
网络接口类型由引脚74(PL0)、引脚77(PL1)决定。将PL0、PL1悬空,选择自动检测模式,芯片自动检测接口类型是用同轴电缆或双绞线,然后进行工作。

RTL89的IOCS16是16位I/O的选择引脚。当网卡上电复位时,该引脚为网卡的输入,如果该引脚为高电平,网卡将选择16位的模式,如果该引脚为低电平,网卡将选择8位模式,51单片机是8位数据,所以用电阻R10下拉,因此在复位时该引脚为低电平,网卡选择8位模式。

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的版本,如果管理器与代理器使用协议的版本不同,将不能正常通信,共同体相当于密钥,只有有了密钥的管理器才能够访问代理器,否则,代理器不予响应,PDU解码出管器所要访问的对象,SNMP解码的流程图见图5。

流程图中的snmpDec()函数解码SNMP函数报文,将有用的信息提取出来,MibRequest()函数的作用是将驻留在嵌入式SNMP代理器中的MIB中查找解码出来的OID(对象标识符),查找到OID后,同时获得了这个对象的信息,编码同时开始进行,MibCmpObjId()函数的作用是采用比较的方式查找表项。SnmpEnc()函数将得到的响应报文按SNMP的编码规则编码成SNMP报文。make_udp()函数将SNMP报文封装在UDP报文中。再经过IP协议封装,以太网协议封装后,就可以通过以太网传输。

4 结束语

我们将该系统用于光无线通信的网络管理与监控系统。经过使用后发现:该系统能够实时监控光无线通信系统的运行,由于采用Internet传送数据,所以传输距离不受限制,SNMP是应用最广泛的网络管理协议及实现嵌入式SNMP代理器,可以使光无线通信系统的管理很方便地加入到现有的网络管理系统,由于采用廉价的单片机来实现嵌入式SNMP代理器,主要的协议处理由软件实现,成本很低。

关键字:网络  传输  控制  嵌入 引用地址:基于单片机的嵌入式SNMP代理器设计与实现

上一篇:基于MSP430单片机的微功耗中文人机界面设计
下一篇:基于单片机的嵌入式SNMP代理器设计与实现

推荐阅读最新更新时间:2024-03-16 12:17

工业机器人常见的控制方式有哪些?
机器人 ,大多数情况下还是处于比较底层的空间定位控制阶段,没有太多智能含量,距离智能化还有很长的路要走。因此我国的机器人专家从应用环境出发,将机器人分为两大类,即 工业机器人 和 智能机器人 。 目前市场上应用最广泛的机器人是工业机器人,也是最成熟、最完善的机器人。工业机器人具有多种控制方法,那么,工业机器人常见的控制方式有哪些? 1.点控制模式(PTP) 点位置控制广泛应用于机电一体化和机器人工业领域。数控机床跟踪零件轮廓、工业机器人指尖轨迹控制和步行机器人路径跟踪系统在机械制造业中的典型应用。 在控制过程中,要求工业机器人能够在相邻点之间快速、准确地移动,并且对于到达目标点的移动轨迹没有任何规定。 定位精度和移动所需时间是
[机器人]
PS4年底上市,靠控制器和摄像头实现差异化
    “PlayStation 3(PS3)”上市7年后,索尼计算机娱乐(SCE)于2013年2月20日(美国时间)发布了新型台式游戏机“PlayStation 4(PS4)”,预定2013年底上市。     PS4与PS3的最大不同在连接用户和游戏机的控制器部分。PS4准备了专用控制器“DUALSHOCK 4”和摄像头装置“Play-Station 4 Eye”(图1)。DUALSHOCK 4在前面新增了触摸板,在上部侧面增加了LED的“光条”等。估计用触摸板可进行更多样化的输入,同时还可提供基于LED光的新UI。 图1:准备了专用控制器和摄像头 PS4准备了新的控制器“DUALSHOCK 4”和摄像头装置“Pl
[家用电子]
嵌入式开发中的S3C2410初始化
S3C2410的初始化代码主要涉及到对系统主要模块的配置、运行环境的建立、系统时钟、MMU等模块的配置,下面按执行顺序依次都各个部分进行分析: l程序入口:(ResetHandler) 在程序一开始,首先进行的一些操作主要保证初始化程序能够顺利的运行,因此主要包括关闭WDT、中断,配置锁相环等。 l配置memory接口 memory接口是确保数据访问正确的基本保障,此处主要配置SFR寄存器中0x48000000开始的memory接口寄存器组,确保每个bank的位宽、访问类型(waitable)以及时序参数正确。如果没有特别的要求,一般来说时序参数使用默认值即可。 l初始化堆栈 ARM 有6种运行
[单片机]
某位置伺服系统中运动控制方法技术的研究
本论文结合上述情况,在某项目中总结出了一套对PID算法的参数进行整定的方法。PID调节方法是三阶系统中一种常用的有效控制方法。PID在许多系统中能够得到广泛的运用是由于这些系统都存在非线性和未知的干扰,尤其是在模拟和数字的混合系统中,由于模拟信号很容易受到影响,导致系统设计较为复杂。在一些相互合作的项目中,由于存在单位之间需要保密的原因,对系统的理论分析通常不能够做到具有精确的数学模型,因此,PID算法是解决这类情况的一种有效控制方法。 1 传统数字PID算法 1.1 位置式控制算法 位置式PID控制算法描述为: 令 则离散化的PID位置式控制算法的编程表达式为: 式中:k——采样序号;
[工业控制]
电动汽车运动控制系统的设计与实现
摘 要: 针对电动汽车( EV) 低速理想车况运动, 实现了一种双后轮独立驱动运动控制系统。整车由两个独立控制的轮毂式直流无刷电机( BLDC)驱动,直流伺服电机助力转向( EPS) ,并进行了直线行驶和转弯行驶的相关理论的分析和实验验证。 0 前言   本文在现有电动汽车动力控制方法基础上,设计并实现了一种电助力转向与双后轮独立驱动相结合的模型电动车运动控制系统。该系统将电助力转向与双后轮轮毂电机驱动结合,省略了传统的离合器、变速器、主减速器及差速器等部件,大大简化了整车结构大大提高了电动汽车电气化程度和可控制程度,充分发挥了电动汽车高度电机一体化的优势。文中具体给出了系统各关键子系统的设计和控制方法,并通过台架实验
[汽车电子]
电动汽车运动<font color='red'>控制</font>系统的设计与实现
联芯通参加CharIN ASIA网络研讨会,发表HomePlug® GreenPHY PLC芯片主题演讲
联芯通参加CharIN ASIA网络研讨会,发表HomePlug® GreenPHY PLC芯片主题演讲 杭州市 – 2022年10月25日 – CharIN ASIA网络研讨会于10月24日在线举行。会议的主题演讲涵盖了面向电动汽车行业的重要议题、产业趋势、挑战和机会,例如直流快充系统Megawatt Charging System (MCS)、车辆到电网Vehicle-to-grid (V2G)。 杭州联芯通半导体有限公司(简称联芯通)受邀就其 HomePlug® GreenPHY PLC 芯片发表演讲。 联芯通的GreenPHY芯片和线路驱动器与市场现有解决方案对测通过 (EVCC, SECC)。其中E
[网络通信]
联芯通参加CharIN ASIA<font color='red'>网络</font>研讨会,发表HomePlug® GreenPHY PLC芯片主题演讲
新型网络测试工具VIAVI Optimeter,可简化最后一公里光纤部署
VIAVI Solutions 公司近日推出新型网络测试工具VIAVI Optimeter,该工具可加快并简化最后一公里光纤的激活和维护。作为领先的光纤测试和测量供应商,VIAVI致力于帮助通信服务提供商(CSP)和承包商提高首次安装完成率,以加快服务激活并实现更快速的创收。 在未来三年内,预计将会有25万名技术人员负责安装和维护新光纤的工作,以满足全球宽带部署的需求。这种快速增长推动了对光纤认证工具的需求,通过便捷易用的工具可确保仅需一次作业,就能成功启用服务,从而避免激活延迟、客户流失率提升以及安装成本过高的问题。 无论外场技术人员的经验水平如何,多功能的VIAVI Optimeter均可在单个简易的多合一解决方案中,
[网络通信]
SPWM单极性双极性控制缺点的几个改善方法
1.概述: 本文介绍前面SPWM单极性双极性控制方法缺点的几个改善控制方法。 2.单极性交替控制: 单极性交替控制,即高频开关和工频开关在正弦输出的正负半周相互调换。这样控制可以减少HSPWM高频开关的损耗和热量,利于4个IGBT的热量均分。 驱动函数: 驱动波形: 其他波形和传统单极性波形一致,单极性交替控制目的就是均分工频和高频管的热量。 3.单极性倍频控制: 单极性倍频控制可以使得双极性SPWM控制输出得到三电平波形,可以改善输出谐波,减少滤波器体积。 用调制波相位相反幅值相同与载波比较 桥臂驱动函数: A桥臂驱动波形: B桥臂驱动波形: 桥臂输出函数: 桥臂输出波形: 从波形图可以看出
[嵌入式]
SPWM单极性双极性<font color='red'>控制</font>缺点的几个改善方法
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved