红星球磨机的以太网电路接口设计
球磨机的电路借口设计是建立在以太网为基础的球磨机负荷检测系统,以太网接口单元是其中关键部分。从以太网的工作基本原理看,球磨机的以太网接口电路主要由MAC控制器和物理层接口PHY ( Physical Layer)两大部分构成。TMS320VC5471的网络模块(EIM)可以 IEEE802.3协议及全双工/半双工模式的10/100Mbps的MAC层的功能,它一端与前面的物理层的接口连接,从网线上获得数据。收到的数据包经过处理后,放在TMS320VC5471的一块称为包存储器的片内存储空间,这块空间EIM和ARM处理器都可以访问。包存储器用来临时存放接收、发送和各种控制信息。由于该内存与MCU系统的总线分离,当传输以太网包时,不需MCU的介入。
FIFO和包存储器之间的数据传输,通过一种称之为描述符链( Descriptor Ring)的软件结构来 。每个描述符 (Descriptor)有 8个byte,包含了某个要传输的数据包的状态信息和指向那个数据包的指针。多个描述符组成的队列就是描述符链。FIFO和包存储器之间有两个描述符链,分别针对发送和接收操作。
电路接口的MAC端口模块包括ENET0模块和以太网状态机 (ESM)模块。ENET0模块是EIM 的核心部分,它以硬件 IEEE802.3协议MAC层所要求的功能。它主要有5个模块:一个FIFO,一个MAC,寄存器控制界面,DMA控制器和一个状态统计块组成。球磨机的以太状态机 (ESM)这个模块则主要负责协调在包存储器中的数据的传输。DMA控制器和ESM都对描述符进行操作。
ENET0模块中的MAC控制器在半双工模式下支持IEEE802.3的带冲突检测的载波监听多址接入CSMA/CD协议,而在全双工模式下支持IEEE802.3媒介控制层协议。MAC控制器内部由发送模块、接收模块、流控模块、匹配地址存储器CAM以及一些命令、状态、CRC寄存器构成,主要接口包括MII (MediaIndependent Interface媒介独立接口)接口和BDI(Buffered DMA Interface缓冲DMA接口)接口。MII接口是IEEE802.3标准接口,它分离了物理层和媒介层,把数据输入输出的编码和解码工作交由使物理层实体处理。BDI接口是MAC控制器内猝发模式的DMA引擎与系统总线之间的接口,连接MAC内256字节的发送/接收缓冲区以及8、16字节的发送/接收FIFO缓冲区。
数据通过描述符的方式在FIFO与包存储器之间传输,ARM处理器对包存储器读写数据也通过描述符来进行。因此,应该有四个描述符链,分别是:
1.负责从ENETO收数据,称为ENETO RX链;
2.负责把数据发往ENETO,称为ENETO TX链;
3.负责从ARM收数据,称为CPU RX链;
4.负责把数据发给ARM,称为CPU TX链。
ESM相当于一个中转处,连接ENETO和ARM这两个端口。ESM的主要作用是把RX链所指向的数据包传给TX链。这种数据包的传递不是通过数据复制来完成的,而是通过复制指针来完成。也就是说,放在包存储器里的数据包不发生搬移,而是把TX链描述符中的地址指针复制到RX链的描述符指针域中。四个描述符链和它们所对应的数据全都放在包存储器中,对这16k byte的存储空间的结构划分由ARM来完成。结构划分需要满足三个约束条件:
1.每个描述符所在的地址应该是可以被8整除;
2.每个描述符所指向的数据包占有的长度是大于等于64的4的 数;
3.描述符的总和不能超过255。
以太网使用100Mbps和10Mbps速度时,对应使用25MHz和2.5 MHz外部晶振,我公司的球磨机的接口系统设计使用100Mbps的以太网传输速度。