随着信息化建设的突飞猛进,人们对于数据、语音、图像等多媒体通信的需求日益增加,以太网宽带接入方式被提到重要位置。但是传统的5类线电缆只能将以太网电信号传输100 m,在传输距离和覆盖范围方面已不能适应实际网络环境的需要。与此同时,光纤通信以其信息容量大、保密性好、重量轻、体积小、无中继、传输距离长等优点得到了广泛应用,光纤收发器是利用了光纤这一高速传播介质很好地解决了以太网在传输方面的问题。现在市场上广泛应用的光纤收发器其结构一般分成独立式和机架式,支持速率为10/100/1000 Mb/s。电信级业务中为了管理和布线方便多采用机架式光纤收发器,支持多块业务卡同时工作,但是也存在着很多问题,如需要安装特定客户端软件,不能远距离控制等。针对这些问题该系统采用基于Web技术的B/S模式和基于GUI的C/S模式的液晶显示,使用通用的浏览器登录系统,无需安装应用软件,就可以把采集到的数据以动态网页的形式在浏览器上显示并且在液晶显示屏上显示数据,做到本地和远端都能有效地监控。该系统还支持RFP功能,这样在发生故障时数据包不会沿着已经发生故障的线路继续转发数据,造成大量丢包。
1 系统总体设计
该系统采用标准机架式结构,便于网管模块对各个光电转换模块统一管理和供电。系统主要可分为光电转换电路、网管控制电路、温度检测电路、液晶显示电路和供电电源电路设计,系统整体结构图如图1所示。
光电转换电路主要功能是将适合在电缆中传输的电信号转换成在光纤中传输的光信号;网管控制电路主要功能是PC机通过网络远程监控和控制光电转换部分,即一个网管模块控制多个光电转换模块;液晶显示电路主要功能是把数据实时在液晶屏上显示,以便进行本地监控;供电电源电路主要为所有的光电转换电路和网络控制电路提供必要的电源。
2 系统硬件设计
2.1 光电转换电路
本方案采用IP113S光电介质转换芯片为核心,硬件结构如图2所示。IP113S是一款单芯片快速以太网媒体转换器,包含3端口10/100 Mb /s物理层收发器、3个完整的MAC单元(带有1个二层交换器)以及缓存的高性能以太网快速交换电路,支持10Base-TX、100Base-TX和 100Base-FX,支持10 M/100 M和全双工/半双工自适应功能,16 KBx32的SRAM(静态随机存取存储器)缓冲区,其带宽可达1 Gb/s,具有低功耗、功能齐全和易于调试等特点。光电转换部分所有状态信息以及控制工作方式都是通过对IP113S内部的128个寄存器的读写操作完成的。本方案选用了CPUC/CPUIO方式,把光电转换部分上的IP113S作为从设备,网管控制部分上的LPC2210作为主设备,使网管控制部分可以通过CPU接口监控光电转换部分。另外可以根据需要扩展多个光电转换部分,与远程的上位机进行通信。
2.2 网管控制电路
网管控制电路部分包括ARM最小系统,以太网接口电路,键盘、LCD接口电路和温度检测电路,其硬件结构图如图3所示。采用LPC2210处理器进行控制,该处理器是NXP公司16/32位144引脚ARM7TDMI-S微控制器,支持实时仿真和嵌入式跟踪的处理器,资源丰富,应用广泛。复位电路使用了带I2C存储器的监控芯片CAT1025JI-30,复位门槛电压3.0~3.15 V,提高了系统的可靠性。该处理器片内只有16 KB片内静态RAM,需要扩展RAM,本系统扩展了8 MB的PSRAM(MT45W4MW16)作为程序的运行空间。该控制器没有片内Flash,因此需要外部扩展存储器,本系统所扩展的存储器有2 MB的NOR Flash(SST39VFl60),用来存储引导程序,系统启动时引导内核和文件系统。16MB的NAND Flash(K9F2808-UOC),用来存储μCLinux内核,文件系统和应用程序。采用了2.2英寸的TFT6758液晶模块,其工作电压为 3.3 V,与整个系统的供电相同,便于供电。为了得到更高的数据传输速率,采用16位总线接口。温度检测电路以温度传感器LM75为核心,通过I2C接口和 LPC2210连接。LM75可测量的温度为-55~125℃,工作电压为3.3~5.5 V,可以将温度直接转换为数字值,通过微控制器直接读取,使用方便。
在电子装置中,可靠的电源电路设计关系到整个系统的正常工作,所以为了保证本控制单元可靠工作,在设计中采用2组电源冗余工作方式,只要有一路电源能正常工作,整个系统就能正常工作。
3 系统软件结构设计
3.1 构建嵌入式软件平台
本方案采用源代码开放的μCLinux内核作为操作系统。μCLinux是一个GNU的项目,代码完全开放,是专门应用于没有MMU的CPU。 μCLinux内核的二进制代码和源代码都经过了重新编写,以紧缩和裁剪基本的代码,这就使得μCLinux的内核同标准的Linux内核相比非常之小,但是它仍保持了Linux操作系统的主要的优点,如稳定性、强大的网络功能和出色的文件系统支持等。μClinux只包含Linux常用的API、小于 512 KB的内核和相关的工具,操作系统所有的代码加起来小于900 KB,而且μCLinux有一个完整的TCP协议栈,同时对其他许多的网络协议都提供支持,这些网络协议都在μCLinux上得到了很好的实现。软件的开发环境是标准的交叉开发环境,包括主机和目标机2部分,主机为一台运行Redhat Linux9.0的PC机,目标机为网管控制部分。
3.2 主控程序设计
主控程序实现了网管部分对光电转换部分上IP113S寄存器的可读/写功能,从而使网管可以实时监控各光电转换部分的工作。本方案把监控程序写入CGI程序中,更好地实现其功能。信息采集程序负责采集每块光电卡的状态信息,其主要任务是根据客户的命令轮询机架上的光电卡,通过光电卡上的光电介质转换芯片 IP113S来获取各寄存器的信息。控制程序主要功能是客户把控制数据写入IP113S的寄存器中,从而控制光电卡的一些状态,比如用于设置光电转换部分的工作模式,实现光纤收发的远程管理,包括:远端卡信息查询、设置、通路检测和流量限速等.
3.3 液晶显示程序
当网络控制模块取得光纤收发模块、机箱温度等数据时,需要在本地实时地在液晶显示屏上显示,做到实时监控。目前市场上成熟的GUI有很多,但它们均存在一些不足,嵌入式GUI要求小型化、占用资源少、反应快捷、可靠性高、成本低,这里在设计时GUI系统时充分考虑了这些要求,采用了线程消息机制。该GUI 体系主要采用C/S多线程的体系结构,在系统中服务器线程主要实现对输入设备(键盘和触摸屏)事件的获取,而客户端线程主要完成对事件的响应,包括输出设备的控制。在该微型可配置GUI体系结构中,主要分为输入抽象层、图形抽象层、消息相应层、图形设备接口层、控件层等。该系统具有良好的层次性,并且开放了底层的图形设备接口层,使用户能根据自己需要简单自由配置,在控件层定义了统一的控件结构体,使用户对控件的管理更直观便捷。
3.4 Web网络管理
3.4.1 BOA服务器
本系统采用瘦服务器-胖客户端的模式,使用C语言实现一个简化的HTTP机制,设计高效精简的Web服务器。嵌入式Web服务器不同于一般的服务器,考虑到系统的资源有限,因此设计具有很强的针对性。本文采用BOA+CGI技术,通过编写CGI外部扩展程序,实现Web技术。可以将获取/设置系统的信息和光电转换部分的状态信息发给客户端。BOA的执行流程图如图5所示。
3.4.2 CGI程序设计
CGI(Common Gateway Interface)是外部应用扩展程序与WWW服务器交互的一个标准接口,其流程图如图6所示。CGI程序通过Web服务器的调用实现与Web浏览器的交互,Web服务器将Web浏览器发送来的信息传送给CGI程序,由CGI程序进行处理,CGI程序在处理完后将响应结果再回送给Web服务器,然后再由 Web服务器发送到Web浏览器。如果需要调用其他外部应用,如数据库服务等,均由CGI程序去与外部应用进行交互。本方案模块中涉及到的Web页面通过 Deamweaver8来设计完成,如:login.htm、relogin.htm、menu.htm等。
4 结论
针对目前网络监控中心不能实时,有效地对光纤收发器的状态进行远程监控的问题,采用基于32位ARM7处理器的在线检测系统,经软硬件联调,实验表明,该系统达到预期要求,具有界面友好、操作方便、多功能等特点,并充分结合了B/S模式与C/S模式的优点,具有较大的社会价值,比较适用于电信级的应用。但是该系统还有很多的不足,需要在功能、效率以及稳定性上改进,如增加对数据库的支持、多进程的支持、实时性支持等。