随着以太网技术在工业控制领域的迅速发展、性能的不断提高和成本的迅速降低,使其在新一代工业自动化网络中广泛应用。在采用TI公司的DSP芯片TMS320F2812作为电力电子变换电路控制器核心时,为了监控控制器的运行状况,可以采用串口通信。这种方式结构简单,但满足不了速度、精度以及通信距离的要求。将带有EMAC控制器的ARM处理器(LPC1768)与DP83848组成以太网控制器构成一个通信转接器,ARM与DSP通过SPI通信,以太网接口与上位机通信,则能满足实时、高精度监控的需要。
1 以太网控制器的主要特点
以太网控制器DP83848是TI推出的一款48个引脚的以太网控制器,可为嵌入式应用提供低引脚数、低成本且高效、低功耗的以太网解决方案。利用DP83848可以实现高速外围器件的设计以及工业自动化网络的控制。其主要特点有以下几个方面。
(1)3.3 V供电的低功耗设计(典型值小于270 mW),0.18 μm的CMOS技术。
(2)3.3 V的MAC接口。
(3)支持10BASE-T和100BASE-TX的以太网格式。
(4)完全兼容IEEE802.3标准。
(5)可编程的LED连接,10/100 Mb/s的模式选择以及冲突检测。
(6)同时具有SNI、MII和RMII接口。
系统框图如图1所示。
2 硬件系统的设计
对于以太网控制器的设计,不但要考虑系统所具备的功能,也要考虑价格、体积等因素。这里采用ARM处理器LPC1768作为以太网的主控芯片。其采用低功耗设计,供电电压为3.3 V;主频可达100 MHz;哈佛总线结构;支持JTAG调试;片内有512 KB Flash存储器,64 KB数据存储器;采用100引脚的LQFP封装格式。LPC1768与DP83848的硬件连接示意图如图2所示。
以太网控制器工作在RMII模式下,由参考时钟REF_CLK、发送使能TX_EN、发送数据TXD[0:1]、接收数据RXD[0:1]、接收错误RX_ER及载波侦听/接收数据有效CRS组成。关键引脚描述如下。
(1)参考时钟REF_CLK
REF_CLK是一个连续时钟,可以为时钟提供时序参考。REF_CLK由MAC层或外部时钟源提供。在RMII模式下,数据以50 MHz的时钟频率一次传送2 bit。因此,RMII模式需要一个50 MHz有源振荡器连接到X1脚。
(2)发送使能TX_EN
TX_EN表示MAC层正在将要传输的双位数据放到TXD[1:0]上。TX_EN应被前导符的首个半字节同步确认,且在所有待传双位信号载入过程中都保持确认。跟随一帧数据的末2位之后的首个REF_CLK上升沿之前,MAC需对TX_EN取反。TX_EN的变化相对于REF_CLK是同步的。
(3)发送数据TXD[1:0]
RMII发送时序图如图3所示。
(4)接收数据RXD[0:1]
RXD[0:1]转换是与REF_CLK同步的。在CRS_DV有效后的每个时钟周期里,RXD[1:0]接收DP83848C的2 bit恢复数据。在某些情况下(如数据恢复前或发生错误),则接收到的是RXD[0:1]的预确定值而不是恢复数据。CRS_DV解除确认后,RXD[0:1]为“00”,表示进入空闲状态。CRS_DV确认后,在产生正确的接收解码之前,DP83848C将保证RXD[0:1]=“00”。
3 系统通信协议的分析与选择
(1)链路层协议的选择
链路层最基本的功能是向该层用户提供透明、可靠的数据传送基本服务,为了使链路层对网络层进行无差错的传输,链路层加强物理层传输的原始比特流,使之形成在逻辑上没有错误的数据链路。在以太网传输数据时需识别地址,因此采用MAC地址进行标识,所以只有存在地址解析(ARP)协议,才能实现IP地址到MAC地址的转换功能。
(2)网络层协议的选择
网络层的基本功能是当数据包在网络中活动时,处理其活动的方法。IP协议是最核心的协议,它负责系统与Internet进行通信。IP层有两个功能:对IP报文报头进行正确性分析,并对TCP和ICMP报文实行分流。使用Ping协议检测网络是否连通。
(3)传输层协议的选择
传输层协议主要在主机和单片机端到端的通信。传输层有两种不相同的传输协议:传输层控制协议(TCP)和用户数据报协议(UDP)。考虑到系统简化和速度的要求,采用UDP协议。
4 系统软件设计
软件设计分为以太网通信的实现以及DSP和ARM的SPI通信两个部分。
4.1 以太网通信的实现
以太网控制器DP83848对以太网链路层进行控制,LPC1768则完成其他层的协议调节,以太网控制器由LPC1768控制,完成整个以太网通信传输。在实现通信时,首先控制DP83848复位,并初始化芯片中的寄存器。当满足发送和接收条件时,系统开始发送和接收数据。当满足以下条件时,以太网控制器向LPC1768申请中断,即一帧数据发送结束、接收到一帧数据或出错等事件发生。主控制器中断后,事件根据中断状态寄存器的内容进行分类处理。通信数据打包解包的完成由LPC1768内部程序进行处理,系统复位后,程序首先发送地址解析协议(ARP)请求,建立地址映射,并且内部中断进行定时更新。LPC1768按照UDP协议格式打包,送入DP83848,由此芯片控制数据链路层将数据输出到局域网中。反之,当有数据从局域网过来时,DP83848产生外部中断,主控芯片可以对此作出相应处理。发送流程程序框图如图4所示,接收流程框图如图5所示。
DSP将采集的数据通过SPI方式发送给ARM,存储在ARM中的一个接收缓冲区中。当数据接收完毕,启动以太网通信,将数据通过网络发送给PC端,进行数据的分析。
5 上位机软件的设计
在上位机设计中,本设计采用LabVIEW进行软件设计,系统要求4通道显示数据。当数据传送至上位机,LabVIEW程序利用其强大的数据处理能力将数据分解,并利用其方便快捷的图形显示界面取出4组数据进行显示。LabVIEW编写的上位机程序如图8所示,实验结果如图9所示,可以看出分别显示了4种不同数据。
本设计以LPC1768和DP83848为核心,提供了一种基于DSP的电力电子变换电路控制器中利用以太网传输数据的解决方案。从硬件、软件以及上位机3方面进行了设计。经实验验证,此方案确实可行。
参考文献
[1] 叶智祥.基于ARM的以太网转换器研究及应用[D].长春:长春理工大学,2010.
[2] 江俊辉.基于ARM的嵌入式系统硬件设计[J].微计算机信息,2005(72):120-122.
[3] 邓红德,李阳,吴佳楠.基于RL-ARM的嵌入式以太网与串口通信系统设计[J].测控技术,2012,31(8):75-79.
[4] 董超,朱军,史勃.DSP以太网通信技术研究[J].工业自动化及仪表,2012,39(6):768-770.
[5] 李永辉,谢志远,耿烜.基于DSP的嵌入式TCP/IP协议的研究和实现[J].华北电力大学学报,2004,31(2):77-79.