摘要:基于ARM芯片LPC2214与网络芯片RTL8019AS的串口网络转换器,并嵌入实时操作系统uC/OS,在不改变原有光纤收发器结构的基础上,为其添加网络监控接口,从而实现其远程监控。
B刊国半月通讯,电子科技类稿件均可1~3天知网3000字符/1.5版起发1000元
《通讯世界》Telecom World(半月刊)曾用刊名:通讯产品世界,1994年创刊,坚持“集成世界强势力量把握通信未来脉搏”的办刊理念,以及资本、发行、采编和服务的国际化运作。《通讯世界》已走过十个春秋,在今天这个充满激情的信息时代,通过不断改革创新,已成为中国电信行业极具影响力的专业刊物之一。《通讯世界》利用美国IDG集团强大的国际化和多元化优势,加强了与IDG全球数百家信息通信类媒体的交流和互通,保证了信息资源的国际化;《通讯世界》还与IDG集团旗下的世界知名市场研究机构IDC及世界知名风险投资机构IDGVC加强了合作,有效地提高了整体优势。依靠国际化运作的优势,借助合作伙伴的强大支持,加上采编人员扎实的专业、外语和分析能力,《通讯世界》的选题往往以深度报道见长,追寻新闻背后的新闻。其采编内容具有栏目有专题、专题有分析、分析跨时域、时域贯东西等鲜明特点,加之杂志内容具备精确的技术分析、即时的市场背景,深受读者喜爱。《通讯世界》更是目前国内惟一通过BPA国际发行量认证的通信专业媒体。主要读者对象为各大运营商、企业及组织机构的高级管理人士和技术经理等。栏目设置
编辑视点、记者观察、月度述评、专栏视点、新闻纵览、运营商、专题聚焦、特别关注、3G无线、xTV、光通信/FTTH、通信测试、IP融合、业务内容、企业创业、产品方案、新品亮相、业界动态。投稿须知:1.论文要求:主题突出、内容充实、观点明确、资料翔实、论证严密、逻辑清晰、语言文字合乎规范,有独到见解,有一定的学术价值或实践借鉴价值(来稿一律采用电子版本word文档);2.文章的格式要求为:在题目下边写明作者姓名、工作单位、省份、城市、邮编,然后是摘要、关键词、正文;很多作来者稿署名时须征得其他作者同意,排好先后次序,接到录用通知后不再改动(附个人联系方式);3.文中如有计量单位,一律采用国际标准,来稿中的数理、计量和统计内容务请作者仔细验证,慎重推导,反复核实;4.文中如有参考文献,应依照引用的先后顺序用阿拉伯数字加方括号在右上角标出,并在文尾按照引用的先后顺序标注出引用参考文献的作者名、引用文题名、出版处及出版日期;5.所投文稿必须附写该文200字以内的中文摘要和3~5个关键词;6.来稿两周内未接到回复者请速来函来电查询;不符合录用条件的文章本刊不退稿件,作者自行处理;7. 编辑部对来稿有删修权,不同意删修的稿件请在来稿中声明;8、刊发按来稿先后顺序。切勿抄袭,文责自负。请勿一稿多投。注:投稿须明确注明作者姓名、单位、邮编、联系电话和详细地址,E-mail,以便及时投寄录用通知。
IP113F芯片是IC Plus公司生产的一款具有网管功能、超低功耗的光纤收发器。内置专为收发器设计的两换机内核,支持纯收发器模式,全/半双工模式均可采用相应的流量控制,支持单/多模光纤转换,支持3.3V I/O,并可通过SMI(MDC,MDIO)和IC内部MII接口对两组独立寄存器进行操作,监控或重新设置本地或远端光纤收发器的工作状态。用户可以通过串行管理接口MDC(管理数据同步时钟输入接口)和MDI0(双向管理指令接口)来访问MII寄存器, MDI0是信号线,MDC是时钟线,一个管理单元最多可同时外挂32个IP113F。数据在MDI0上是一位位传输的,是发生在MDC的上升沿跳变,MDI0上的数据通信协议如表1所示。当SMI处于空闲状态时,MDI0则处于高阻态。管理单元在MDI0上发送32位连续的“1”和“01”信号来初始化MDI0接口。
系统的基本功能是32台光纤收发器同时通过同一SMI口网络转换器与远程的上位机进行通信(如图1所示)。转换器完成的具体工作是接收光端机发送过来的测试数据,自动识别其长度和来源,将其转化为网络数据格式,通过以太网发送到上位机,同时接收上位机通过以太网发送过来的控制信息,并自动识别其发送的目标,通过SMI口发送给相应的光纤收发器。根据实际需要,可以在上位机通过以太网配置SMI口网络转换器的IP地址。
转换器的硬件电路主要选用基于ARM7内核的嵌入式处理器LPC2214芯片进行整体控制,LPC2214芯片带有256KB的高速FLASH,并带有16K片内SRAM,为了满足通信过程中的数据缓存和一定的系统运行空间,片外扩展了512K字节的SRAM(IS61LV25616AL)。片外通过IIC总线字节的EEPROM(CAT24WC02)用于保存好已设置的IP地址。选用10M全双工以太网控制器RTL8019AS芯片完成网络通讯功能,与外界的通讯口选用UTP RJ-45接口,HR61101芯片充当网卡变压器。采用通用的I/O口P0.5和.P0.6模拟SIM口的时序对IP113F进行数据采集,电路整体设计如图2。
光纤收发器数据采集的实时性要求比较高,若采用传统的前后台设计方法会显的过于复杂,且实时性不能保证。解决这个问题的最好方法是采用实时操作系统RTOS。uC/OS-Ⅱ操作系统是一种源代码公开的嵌入式操作系统,具有代码短小精悍,简单易学的特点,对本设计是一个理想的选择。
uC/OS-Ⅱ完全是占先式的实时内核,基于优先级,即总是让就绪态中优先级最高的任务先运行,因此实时性比非占式的内核好。其大部分代码是用C语言编写的,可移植性强,可以在大多数8位、16位、32位以至64位微处理器上运行。uC/OS-Ⅱ在LPC2214上的移植可参考文献[2]。
为使SMI口转换器具有以太网接人功能,必须在ARM处理器中嵌人TCP/IP协议,参考开放系统互连(OSI)模型,在ARM中嵌人的TCP/IP协议采用简化的四层模型,即链路层、网络层、传输层、应用层。根据实际需求,结合ARM 微处理器的处理能力,设计中对完整的TCP/IP协议进行了全方位裁减。
(1)链路层。由控制同一物理网络上的不同机器间数据传送的底层协议组成。RTL8019AS的驱动程序就是在该层实现的。
(2)网络层。保留了完整的IP协议,对ARP协议进行简化,对于ARP包只响应ARP请求,取消RARP,只维护最简单的一个IP地址与MAC地址的映射Cache表,定时刷新。
(3)在传输层,用于工业现场一般采用TCP或UDP协议,TCP协议提供了一种可靠的面向连接的字节流运输层服务,而UDP协议是一个简单的面向非连接的数据报的运输层协议,考虑到所设计的系统数据传输的安全性,设计中选用TCP协议。
(4)在应用层,裁剪掉HTTP协议,通过将控制界面设置在上位机上来代替其功能
通过上述裁剪,把TCP/IP协议嵌入到操作系统uC/OS-Ⅱ中,并提供API接口函数供应用程序调用,使得ARM可以快速无冲突地收发TCP数据包,符合系统对实时性和可靠性的要求。4.3 系统的实现
采用嵌入式操作系统uC/OS-Ⅱ使整个设计简单,各个任务相互独立且具有不同的优先级来保证紧急任务及时响应,从而有效地对任务进行调度。整个软件设计由操作系统和一系列用户应用程序构成。
主函数是程序首先执行的一个函数,主要实现操作系统的初始化,该函数永不还回。操作系统的初始化包括任务控制块,事件控制块的初始化,而且在启动多任务调度之前,必须至少创建一个任务。此系统创建了一个启动任务TaskStart,主要负责系统硬件的初始化,包括时钟的初始化和启动,中断的启动,IIC总线的初始化与启动,SMI口的初始化与启动,RTL8019AS的初始化与启动,并且对各个应用任务进行了划分。
要完成多任务系统的各个功能,必须对任务进行划分。本程序根据各个任务的重要性和实时性,把整个模块分成6个具有不同优先级的应用任务,即IP地址设置、接收协议转换、发送协议转换、NET发送、SMI口发送、SMI口采集。
除了3个主要应用任务外,还有两个中断服务子程序。一个是时钟节拍中断,用于提供周期性信号源,另一个是网口的接收中断,用于把接收到的数据写入缓冲区。
本系统采用ARM作为服务器,PC端作为客户端的TCP通信模式,由上位机主动请求连接ARM。在串口和以太网建立通信之前,首先要调用IP地址设置任务,对IP地址、子网掩码、网关进行初始化设置。
SMI口通信实现的功能有SMI口发送和SMI口采集。SMI口采集任务优先级较低,进行多任务调度后若没有相关事件发生系统就一直运行SMI口采集任务,若采集到IP113F的状态发生变化,数据通过协议转换后发送到远程的上位机。SMI口发送作为一个单独的任务独立运行。SMI口发送任务需要系统调度器通知缓冲区中是否有待发送的数据,若没有数据发送,则将该任务挂起,系统运行其他任务
以太网通信模块由以太网数据收发和协议转换构成。数据的接收在RTL8019的中断服务程序中实现。以太网数据的发送,接收协议转换及发送协议转换分别作为独立的任务运行。以太网数据的发送任务同样需要系统调度器通知缓冲区中是否有待发送的数据。协议转换主要实现对接受数据报文的解析及给待发送数据添加协议报头,在编程时可以直接调用嵌入的TCP/IP协议的API函数,对数据报文进行分层。接收协议转换任务对从8019传过来的数据处理过程如3所示,不同的子协议具有不同的功能号,任务根据功能号对协议进行区别。发送协议转换则为图3的逆序表示。
通常多任务操作系统的任务不同于一般的函数,它是一个无限循环,而且没有返回值。如果没有更高优先级的任务进入就绪态,当前任务不会放弃对CPU的使用权。为了实现操作系统的正常运行和有关事件的同步,必须正确处理任务间的通信和事件标志的设置。系统的功能结构如图4所示。
系统进行多任务调度后,高优先级任务由于申请某个资源而发生阻塞,进入挂起态,系统运行较低优先级的SMI口采集任务。每个事件分配一个信号量,一旦事件发生就启动信号量的等待任务表中进入就绪态的任务。当接收中断发生时就启动协议转换任务,这过程通过信号量的通信机制实现。接收协议转换任务先对来自上位机的数据解析,然后根据数据的命令头发往SMI口发送队列或EEPROM发送队列,进而启动相应的SMI口发送任务或IP设置任务。发送协议转换任务对SMI口采集的数据进行协议转换后存入以太网发送队列,然后通知NET发送任务把数据发给上位机,从而保证任务与事件同步。
本文所设计的SMI口网络转换器模块实现了上位机同时对多光纤收发器进行监控。本设计既可作为一个独立的模块,又可嵌入到用户设计的系统中进行二次开发。总之,嵌入式Internet技术代表着嵌入式系统和Inernet的发展趋势,对其研究具有重要的实用价值和远大的发展前途,尤其是智能测控和家庭网络化方面的前景意义。
[1]周立功.ARM嵌入式系统软件开发实例[M].北京:北京航空航天大学出版社,2004.