基于TMS320F28335的CAN和以太网接口设计
扫描二维码
随时随地手机看文章
摘要:浮点型DSP以丰富的外设,较高的主频在工业控制领域得到广泛的应用,CAN总线设备构成的现场总线与以太网构成的高速通信网络已成为工业控制领域的发展趋势。介绍了一种基于TMS320F28335的CAN总线与以太网互联系统的设计方法,给出了系统各组成部分的硬件及软件的设计与实现。控制部分采用TI公司的TMS320F28335,CAN总线接口模块采用TI公司的SN65HVD230,以太网接口模块控制芯片采用Realtek公司的RTL8019AS。该设计具有可扩展性好和性价比高的优点。
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总线和以太网设计方案。