一种可远程网管的光纤收发器的设计
在电子装置中,可靠的电源电路设计关系到整个系统的正常工作,所以为了保证本控制单元可靠工作,在设计中采用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的寄存器中,从而控制光电卡的一些状态,比如用于设置光电转换部分的工作模式,实现光纤收发的远程管理,包括:远端卡信息查询、设置、通路检测和流量限速等,其监控系统的主程序流程图如图4所示。
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模式的优点,具有较大的社会价值,比较适用于电信级的应用。但是该系统还有很多的不足,需要在功能、效率以及稳定性上改进,如增加对数据库的支持、多进程的支持、实时性支持等。
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)