您现在的位置:首页 >> 滚动 >> 正文
基于TMS320 C6455的以太网通信程序的设计
发表时间:2014年4月29日 11:45 来源:中电网 责任编辑:编 辑:麒麟

文中介绍了TMS320 C64155 DSP EMAC接口的构成以及工作原理和关键数据结构,参考相关的以太网驱动程序,完成了基于C6455 DSP的以太网通信程序的设计。该网络通信程序实现了某款信号处理机与上位机之间的高速通信接口。系统测试结果表明,利用C6455实现的以太网通信接口完全满足系统设计要求,并且系统具有组成简单、系统集成度高等优点。该方案在其他多功能信号处理设备方面具有一定的应用价值。

随着以太网技术的普及和发展,以太网的通信速率从百兆网逐渐进入了千兆网,甚至万兆网,其通信速率已经满足了常用信号处理机所需要的吞吐率。而以前仅用来做信号处理的DSP器件逐渐也加入了以太网通信功能,常见的如TI公司的DM642,C6455,C6678等DSP器件都带有以太网接口,这给一些需要高速通信接口的信号处理板的设计提供了极大的便利。本文利用某处理板上的TI公司高端DSP器件TMS320 C6455,完成了信号处理板与人机界面之间的高速以太网通信功能。系统测试结果表明,利用C6455实现的以太网通信接口完全满足系统设计要求,并且系统具有组成简单、系统集成度高等优点。

1 硬件平台

信号处理板的主要硬件包括两路高速DAC,两路高速ADC以及一块Xilinx V5的FPGA和一块TMS320 C6455DSP处理器,其中网络通信接口部分主要包括C6455、PHY芯片和RJ45接口,如图1所示。C6455的EMAC接口与信号板上的PHY芯片以GMII方式连接,支持千兆双工通信模式。

2 C6455 EMAC接口介绍

C6455的EMAC接口主要由3部分构成,包括MDIO模块、EMAC模块、EMAC控制模块。其中MDIO模块通过802.3协议规定的串行通信接口,完成以太网物理层芯片的配置和管理:EMAC模块负责以太网数据包的发送和接收;EMAC控制模块作为DSP核和EMAC接口之间的桥梁,实现DSP核对EMAC模块和MDIO模块的控制。

如图2所示,EMAC接口通过C6455提供的外设总线与DSP核连接,外设总线中的配置总线提供DSP核对EMAC寄存器的访问,数据总线完成DSP核与EMAC接口之间的以太网通信包的交换。此外,EMAC控制模块将EMAC模块和MDIO模块产生的18个中断信号综合在一起,对外提供一个中断信号,发往C6455的中断控制器,成为C6455处理器的第17号系统事件。C6455的DSP核在接到中断信号后,通过查询EMAC控制模块提供的中断状态寄存器判断中断产生的中断源。

包缓存描述符(Packet Buffer Descriptors)在C6455的网络通信中起到关键的作用,应用程序和EMAC接口之间的信息交换主要是通过包缓存描述符来实现。包缓存描述符的结构如图3所示,每个包缓存描述符大小为16个字节,其中各个域的意义如下:Next Descriptor Poin ter表示指向下一个描述符的指针,这样多个包缓存描述符可以形成一个单向链表;Buffer Pointer表示指向接收或者发送数据内存空间的指针,EMAC模块根据该指针,启动内部的DMA引擎将数据放入到内部FIFO以便发送,或者从内部FIFO读出到该地址,以便应用程序处理;Buffer Offset表示从Buffer Pointer指向的地址到有效数据之间的距离;Buffer Length表示该缓存器指向数据的大小;Flags表示该缓存器指向的数据是否是应用程序数据包的起始包,或是结束包;Packets Length表示应用程序数据包的总长度,应用程序包可能是由一个或者多个包缓存描述符构成。

[1]  [2]  [3]  [4]  
关于我们 | 联系我们 | 友情链接
新科技网络【京ICP备14006744号】
Copyright © 2014 Hnetn.com, All Right Reserved
版权所有 新科技网络
本站郑重声明:本站所载文章、数据仅供参考,使用前请核实,风险自负。