基于串口管理的嵌入式委托代理实时性设计
1 引言
随着网络技术的高速发展与嵌入式系统的广泛应用,灵活高效地为各种通信设备提供管理服务是运营商共同关心的问题。目前,为了将大量的基于串口管理的非SNMP设备纳入到SNMP网管系统中,委托代理是经常采用的方法。通过引入委托代理,可以在不改动现有网路设备的前提下,实现网管功能的升级。在实现上,委托代理可以以嵌入式系统为平台,实现协议转换和相关控制管理功能,并且提供用于上下行通信的以太网接口和串行接口,使SNMP管理站能够管理本来不能管理的网络元素(NE)。
为了解决低速串口通信与系统高实时性要求之间的矛盾,本文提出了一种基于事件驱动和双缓冲区的串口通信设计方案,并在此基础上实现了一个实时多任务委托代理。该设计方案同样适用于CMIP的网络管理系统。
2 委托代理架构
典型的系统架构由七个功能模块组成,工作流程为:
管理站的SNMP报文通过SNMP通信模块被委托代理接收,经过协议映射处理,转换成相应的私有协议服务。然后,由调度控制模块负责处理和调度,通过串口查询和设置NE信息或直接访问MIB库。类似地,应答信息经相同路径原路返回至管理站。另外,调度控制模块还负责主动轮询设备信息以更新MIB库,以及实时响应用户设置等。
如图所示,系统在以太网口与串口间实现协议转换和数据处理,而串口通信相比以太网通信来说属于低速处理机制,这势必会影响系统的实时性能。下文就探讨了如何利用事件驱动机制和数据缓冲技术来解决这个问题。
图一、嵌入式委托代理的系统结构框图
3 基于事件驱动的串口通信
3.1 事件驱动(Event Driven)机制
事件(Event)是实时系统运行过程中由硬件中断或软件产生的通知消息。事件的分类有三种:(1)由定时产生的时钟接口事件,如定时器事件等;(2)由系统外部接口引起的外部接口事件,如I/O口中断事件等;(3)由系统内部任务间通信或同步时产生的内部接口事件。事件驱动机制是由事件的发生才引起系统做出相应的反应,从而对事件进行处理。这样就显然提高了处理器的使用效率和实时处理能力,尤其在需多任务实时处理的情况下,更有必要采用事件驱动技术。
3.2双缓冲区的串口通信
在该委托代理系统中,串口通信的主要特点有三:(1)要对各种访问信息提供及时响应;(2)针对NE常用的RS485总线连接方式,串口通信一般采用一问一答的主从机制;(3)各种访问信息到达串口的时间和流量具有很大的随机性(例如多管理站请求等)。针对NE的共线连接模式,串口通信一般采用一问一答的主从机制。其处理过程如下:
相关文章
- 2024-05-11分布式流量计校验系统的研制
- 2022-07-18嵌入式片上存储器有效使用的方法
- 2024-06-06地下铁道的振动及其控制措施的研究
- 2022-07-26基于模型识别技术的高温微型压力传感器
- 2022-06-15使用DS89C450对XilinxPROM的在系统编程设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。