采用I/O方式与RTL8019AS交换数据,RTL8019A具有32个I/O口,对它的操作如:接收数据、发送数据、复位操作等都是通过这32个I/O口来进行的,所以为了使它和DSP协调工作,只需要5根地址线就足够了,因此将RTL8019AS的A0~A4接到DSP地址线的低5位。SD15~0为16条数据总线,分别接DSP的D15~0。
另外,将RTL8019AS的RSTDRV复位端接至DSP的一个输出端口,以便于DSP对其复位;将引脚接高电平,屏蔽了远程自举功能。
AUI管脚决定RTL8019AS与以太网连接是使用AUI还是BNC或者是UTP,UTP是现在广泛使用的10Base-T双绞线接口,AUI为低电平表示是BNC或是UTP接口,所以直接将其接地。
网络接口的具体类型由PL0,PL1决定,将其接地,则选择的是自动检测模式,即RTL8019AS会自动检测接口类型,如果是10Base-T电缆信号,则选择接口类型为UTP,否则选择接口类型为BNC。TRIN+、TRIN-接双绞线的差分输入端,TPOUT+、TPOUT-接双绞线的差分输出端。HR61101G是10BASE-T接口器件,起低通滤波和隔离变压等作用。上述信号通过HR61101G中的传输变压器接到RJ45接口,即接至以太网络。
图3 以太网接口硬件连接原理图
5 TMS320VC5402上的嵌入式TCP/IP协议的汇编程序设计
由于TMS320VC5402的资源有限,所以网络协议根据嵌入式应用进行了剪裁。本文完成了ARP、IP、UDP等部分协议,既能够保证TMS320VC5402接入以太网,又使TMS320VC5402资源能够满足嵌入式系统应用的要求。
选择联合体结构作为TMS320VC5402接收和发送以太网数据包的缓冲区,联合体允许大小和类型不同的定义临时存储在同一存储器空间,这样的好处是各层协议之间数据的传递,实质上是数据指针在传递,而不是数据拷贝传递。在联合体databuf中有四个结构体成员:ethernetpkt、ippkt、udppkt、arppkt。分别对应着以太网数据帧、IP协议、UDP协议、ARP协议的帧格式,这四个结构体成员是按照它们各自协议的帧格式进行定义的。
下面分四层介绍所完成的嵌入式TCP/IP协议。
物理层:在这层主要是完成RTL8019AS的复位,寄存器的初始化。并设置RTL8019AS的工作方式、中断响应、DMA通道接收缓冲区的地址等。
网络层:这层主要是实现IP协议和ARP协议。当TMS320VC5402接收到正确的以太网数据包以后,调用check_packet函数处理该数据包:如果是ARP请求,则发送一个ARP应答;如果是ARP应答,则把对方的IP地址和以太网地址放到ARP缓存中;如果是IP包,则调用IP处理模块处理,接收数据。
传输层:如果IP数据报中的协议类型为17,则为UDP数据报。正确接收了数据后,就可以对接收的数据进行处理了。在本文中,正确接收了一帧数据报后,会给PC机一个应答信息,通知PC机已经正确接收了数据报,可以继续发送数据。应答信息的封装首先调用create_udp_packet完成对应答信息的UDP协议封装,再调用create_ip_packet函数,这个函数完成了把封装好的UDP数据报再封装成IP数据报,最后调用send_packet函数完成发送。
应用层:将从CPU TMS320LF2407发送来的数据以及语音信号数据传送到TMS320VC5402 数据缓冲区databuf中,应用TCP/IP协议将其发送给PC机。将PC机发送来的数据传送给TMS320VC5402。
6 结语
本文将以太网技术应用在变电站监控系统设计中,利用以太网的开放性和兼容性以及其通讯协议简单等优点,成功地开发出了具有嵌入式以太网接口的变电站监控系统。将微控制器DSP和以太网接口组成的以太网控制器嵌入到变电站监控系统内,在软件上支持MAC, TCP/IP等协议规范,从而实现监控系统的网络化,具有通信线路简单,可靠性高;网络层次分明,可维护性能好;高速传输,实时性高等优点。本文作者创新点在于设计并实现了具有以太网接口的变电站监控系统。
参考文献
[1]杨刚, 杨仁刚, 郭喜庆. 嵌入式以太网在变电站自动化系统智能化电气设备上的实现[J].电力系统自动化, 2004, 28(3): 74-76, 85
[2]曲延滨, 王建平等. 基于CAN总线和DSP的变电站监控系统[J]. 电力系统自动化, 2002, 27(12): 86-89
[3]杨鹏, 赵琦, 孔鑫, 陈玲玲. 工业以太网的发展及其技术特点[J]. 微计算机信息, 2006, 22(2-1): 32-33, 28
[4]刘康, 王宣银. 嵌入式TCP/IP协议的单片机数据通信系统的设计与实现[J]. 电测与仪表, 2003, 40(6): 43-45