基于TMS320F28335的CAN和以太网接口设计
0 引言
工业现场设备复杂化,单一的串行通信使系统越来越复杂,总线控制也成为控制系统的主流,而CAN总线以其高速率,高抗干扰性成为最有前途的总线之一。基于以太网的工业控制网络具有数据传输率高,可靠性好,易维护,可远程传输等优点。随着互联网技术的普及与推广,以太网通信速率的提高,交换技术的发展,使得它受到了全球的拥护和软硬件的支持,因此,基于以太网的工业控制网络是工业控制系统的发展趋势。本文通过主流控制器TMS320F28335在已有丰富外设的基础上,扩展了CAN总线和以太网接口,具有重要的工程价值。
1 系统硬件设计
TMS320F28335型单精度浮点DSP主频可达150 MHz,内核电压1.9 V,I/O电压3.3 V;片上带有256 KB的16位FLASH和34 KB的16位SAR AM,并有128位安全密码钥匙锁,保护FLASH防止固件反向工程。片上通信端口丰富,集成有3个SCI串口输出通道,并带有16 B的FIFO,2个多通道McBSP串口,2个增强型CAN,1个SPI总线。还带有16通道的12位A/D转换器等资源口(具体原理图限于篇幅只画CAN和以太网部分)。
CAN驱动器选用TI公司的SN65HVD230,供电电压为3.3 V,CAN接口部分原理图如图1所示。
以太网控制器选用Realtek公司的RTL8019AS,其具有集成度高,支持全双工通信,与NE2000相兼容等特性,具有广泛应用场合。以太网接口部分原理图如图2所示。
2 系统软件设计
本文中的软件设计主要包括三个部分:CAN驱动通信程序,RTL8019AS驱动程序和以太网协议栈移植。程序的编写在DSP集成开发环境CCS 3.3下完成。
2.1 CAN总线驱动
2.1.1 初始化
CAN模块使用前必须初始化,初始化需要完成的主要工作有:引脚配置;邮箱配置;波特率配置;中段功能设置。限于篇幅,初始化程序从略。
2.1.2 CAN发送
本文采用邮箱0进行数据的发送,邮箱0的ID在初始化函数中已设置(程序解释以注释的形式给出,下文同):
2.1.3 CAN接收
为保证数据能及时接收,像其他串行通信一样,接收一般在中断中完成:
实际工作中通过PCCAN软件观察到的CAN发送和接收数据,如图3所示。
2.2 以太网驱动
RTL8019AS工作在网络中的数据链路层,完成数据链路层及网络层的协议转换,数据的发送和接收等任务,主要有两个基本函数:数据帧的发送和接收函数。
2.2.1 初始化函数
RTL8019AS的初始化函数操作步骤依次为:
(1)使芯片处于停止工作模式;
(2)选中PAGE1,设置组播和MAC地址;
(3)选中PAGE0,使芯片处于正常工作模式;
(4)启动芯片,开始工作并清除所有中断标志。
2.2.2 数据包发送
RTL8019AS发送数据包遵循IEEE 802.3协议,发送数据函数操作步骤依次为:
(1)设置以太网协议类型,目的地址、源地址;
(2)将数据帧发送到RTL8019AS发送缓冲区;
(3)进行数据包发送。
如图4所示,完成了从源(192.168.0.250)到目的(192.168.0.160)的TCP传输。
2.2.3 数据包接收
RTL8019AS接收数据函数操作步骤依次为:
(1)进行中断服务程序设置;
(2)产生中断后,查看RTL8019AS寄存器得知接收数据长度、存放地址等信息;
(3)使用远程DMA将接收数据从RTL8019AS内部RAM移植到TMS320F28335内部RAM。
3 结语
本文使用通用控制器TMS320F28335在自带众多串行接口的基础上外扩了CAN和以太网接口,既能根据工程实际需要使用某一两种外设,又能完成各种协议的转换,是一种低成本、应用性强的CAN总线和以太网设计方案。
TMS320F28335 CAN 以太网接口 相关文章:
- TMS320F28335在电网频率测量中的应用(10-25)
- 三大电机控制方案之DSP篇:TMS320F28335(05-18)
- WindowsCE.Net下CAN卡的驱动程序设计(04-12)
- 对TTCAN的分析(05-26)
- 嵌入式Win CE中CAN总线控制器的驱动设计与实现(05-01)
- μC/OS-II的多任务信息流与CAN总线驱动(07-11)