基于DSP的CAN总线通信的设计与实现

2011-01-27 05:56张宏川张爱玲
电气技术 2011年5期
关键词:上位邮箱变频

李 璐 张宏川 张爱玲

(太原理工大学电气与动力工程学院,太原 030024)

基于DSP的CAN总线通信的设计与实现

李 璐 张宏川 张爱玲

(太原理工大学电气与动力工程学院,太原 030024)

本文介绍了TMS320F2812的eCAN模块与TMS320LF2407的CAN模块之间通信以及两者与广州致远的CAN-USB I智能接口卡之间通信时CAN控制器的硬件电路设计及应用方法。利用该方法可以在波特率高达1Mbps的条件下可靠、稳定地传输数据,而且时间延时很小。在双PWM变频调速系统中的应用结果表明了该方法的可行性。

CAN总线;数据通信;TMS320F2812;TMS320LF2407

1 引言

CAN总线是一种支持分布式控制和实时控制的串行通信网络,由于其独特的设计思想和高可靠性,使其有较高的通信速率和较强的抗干扰能力,可以作为现场总线应用于电磁噪声比较大的场合。CAN总线已经成为最有发展前途的现场总线之一。

许多微处理器都将 CAN控制器嵌入到系统中,成为片上的微处理器,TI公司推出的 TMS320F2812和TMS320LF2407就在其中。这种结构成本低、运行稳定、功能完备,是一种很有前途的 CAN通信系统组成方案。上述两种DSP上的CAN模块有所不同,TMS320F2812DSP片上的增强型CAN控制器eCAN模块,其性能比TMS320LF2407DSP内嵌CAN控制器有较大的改进。本文主要介绍TMS320F2812的eCAN模块与 TMS320LF2407的CAN模块之间通信以及两者与广州致远的CAN-USB I智能接口卡之间通信时CAN控制器的硬件电路以及软件设计,同时对程序运行结果进行了分析,实验证明了这种通信方式的可行性,并在双PWM变频调速系统中得到了应用。

2 CAN节点通信设计

TMS320F2812的eCAN模块与TMS320LF2407的 CAN模块之间通信以及两者与广州致远的CAN-USB I智能接口卡之间的连接示意图如图1所示。由于 TMS320F2812和 TMS320LF2407上的CAN模块集成了CAN控制器,提供了完整的CAN协议,因此图1中的TMS320F2812的eCAN模块与TMS320LF2407的CAN模块之间的通信仅需收发装置即可。两者与上位机的通信则通过CAN-USB I智能接口卡。

图1 通信电路连接示意图

2.1 CAN节点的硬件设计

硬件结构图如图2所示。该硬件结构主要实现TMS320F2812和 TMS320LF2407的通信以及两者和上位机的通信。

图2 CAN节点硬件结构图

考虑TMS320F2812和TMS320LF2407之间传输数据的电平匹配问题,对 TMS320F2812和 TMS320LF2407均采用Phliip公司的PCA82C250作为CAN收发器。其能提供CAN总线的差动发送能力及对CAN控制器的差动接收能力,信号使用差分电压传送;两条信号线被称为CAN总线(CAN_H和CAN_L),将收发器的 RS端接地以实现高速传输,在 CAN_H和CAN_L之间接 120Ω电阻为终端匹配电阻。TMS320F2812的CANTXD和CANRXD输出的高电平信号是3.3V的,而PCA82C250需要5V供电,因此在收发器和TMS320F2812之间加高速光耦6N137以实现电平匹配,并起到TMS320F2812和CAN总线隔离的作用,从而保护了TMS320F2812。TMS320LF2407的电路连接原理相同。TMS320F2812和TMS320LF2407两者与上位机之间的通信利用CAN总线时,只需加一个CAN-USB I即可。

2.2 CAN节点的软件设计

本文主要讨论下位机的程序。TMS320F2812的eCAN模块的邮箱0为发送邮箱,邮箱16为接收邮箱。TMS320LF2407的CAN模块的邮箱3为发送邮箱,邮箱2为接收邮箱。

虽然MS320F2812的eCAN模块与TMS320LF2407的 CAN模块有所不同,但是两者的 CAN寄存器(两者都有的寄存器)在结构和功能上都是相同的,所以即使代码不能完全兼容,在移植上是非常容易的。CAN节点的软件设计主要分为三部分即初始化程序、数据发送程序、数据接收程序。两者的这三部分程序的基本流程大体上是一样的,因此下面只对 TMS320F2812的eCAN模块的程序进行介绍。

(1)主程序

图3为主程序流程图。主程序如下:

该程序中 InitSysCtrl()为系统初始化程序, 同时设置系统时钟,本程序选用系统时钟为 120MHz,CAN的时钟与系统时钟相等。InitEcan()为初始化CAN寄存器的子程序。for(;)为循环等待CAN的接收中断,一旦TMS320F2812接收成功TMS320LF2407或者上位机发送来的数据,则立即进入中断程序,读出邮箱中的数据。CAN的发送程序写在了CAN的接收中断程序里面,用于向上位机发送需要的数据。

图3 主程序流程图

(2)初始化程序

初始化程序一般是CAN模块的初始化。在双PWM系统中, TMS320F2812需要接收TMS320LF2407发送的数据,以及发送数据给上位机,所以将邮箱的初始化也写在了 CAN的初始化程序中,并且将发送和接收的初始化程序写在了同一个程序中。这样做可以避免重复初始化两个邮箱共同应用到的寄存器,简化程序。具体流程图如图4所示。

图4 初始化流程图

本程序中发送采用查询方式,接收采用中断方式,故在初始化流程图中还包括中断的的相关设置。

(3)数据发送程序

TMS320F2812中的每个邮箱均为64位,被分成两个32位的邮箱消息数据低寄存器(MDRL)和高寄存器(MDRH)。程序中设置邮箱0为发送邮箱,将变量 i、j分别赋值给邮箱 0的 MDRL和MDRH,ID为0x00000000的标准帧。

TMS320LF2407的CAN中每个邮箱有4个16位的存储空间,分别为MBXnA、MBXnB、MBXnC和MBXnD,TMS320LF2407的接收程序中设邮箱2为接收邮箱。同时还设置MBXnA和MBXnB分别对应TMS320F2812的MDRL的低8位和高8位数据,MBXnC和 MBXnD分别对应 TMS320F2812的MDRH的低8位和高8位数据。

发送程序运行的结果如图5-图7所示。

图5 CCS3.3变量窗口显示TMS320F2812邮箱0的发送情况

从图5中可以看出,当程序停止时i和j分别为10000和 10001,此时 TMS320F2812的邮箱 0的MDRL和MDRH发送的数据分别为10000和10001,与变量i和j的值对应相等,同时MessageSendCount为10000,说明程序运行了10000次。

图6 CCS2000变量窗口显示TMS320LF2407邮箱2的接收情况

从图6中可以看出,TMS320LF2407的邮箱2的MBX2A和MBX2B分别为10000和0,分别于图5中TMS320F2812的MDRL的低8位和高8为数据对应。MBX2C和MBX2D分别为10001和0,分别与图5中TMS320F2812的MDRH的低8位和高8为数据对应。同时接收次数RXCOUNT为 10000,与 TMS320F2812的发送次数相等。说明TMS320LF2407的CAN模块的接收程序正确。

图7 上位机的接收界面

从图7中可以看到,上位机收到的数据的序列号为10000,说明收到了10000个数据,数据的帧ID为0x00000000,帧类型为标准帧,与 TMS320F2812的发送邮箱0的帧ID和帧类型相同。上位机收到的数据一组为从 0-2710,另一组为 0-2711,是十六进制的数据,转换成十进制为0-10000和0-10001,对应TMS320F2812的MDRL和MDRH中的数据。

(4)数据接收程序

中断子程序的功能是一旦接收到 TMS320LF2407或者上位机发送过来的数据,就产生接收中断,进入中断子程序,将收到的数据读入给变量 R_l和R_h。具体接收程序如下:

限于篇幅的原因,不再给出接收程序的运行结果。

3 CAN模块通信在双PWM变频调速系统中的应用

图8为双PWM异步电机变频调速系统结构框图。整流部分和逆变部分分别由 TMS320F2812DSP和TMS320LF2407DSP控制。在控制过程中,整流部分和逆变部分要进行数据传输,即两片DSP之间需要数据通信。本文采用两片DSP上自带的CAN模块进行通信。此外,两片DSP还需要与上位机进行通信。其硬件和软件设计如上述2“CAN节点通信设计”所示。

图8 双PWM异步电机变频调速系统结构框图

4 结论

本文介绍的 TMS320F2812的 eCAN模块与TMS320LF2407的 CAN模块之间通信以及两者与上位机之间的双向通信的硬件结构简单,软件实现方便。在双 PWM 变频调速系统中程序运行的结果,证明了这种通信方式的可行性。

[1] 苏奎峰,吕强等.TMS320F281xDSP原理及 C程序开发[M]. 北京:北京航空航天大学出版社,2008.

[2] 吴俊,刘和平.基于 TMS320F2812内嵌 CAN模块的CAN总线通信[J].电子设计应用,2003(10):82-84.

[3] Texas Instruments. Programming Example for the TMS320F281x eCAN.2003.

[4] 刘和平,严利平.TMS320LF240x DSP结构、原理及应用[M]. 北京:北京航空航天大学出版社,2006.

Design and Implementation of CAN Bus Communication Based on DSP

Li Lu Zhang Hongchuan Zhang Ailing
(Electrical Power Engineering College, Taiyuan University of Technology, Taiyuan 030024)

The hardware circuit design and application methods of the CAN controller were introduced when the eCAN model of TMS320F2812communicated with the CAN model of TMS320LF2407and the two models communicated with CAN-USB I intelligent interface card made by Guangzhou Zhiyuan. This method could make data transmission reliable,stable and give a small delay. The method was used in double PWM speed-adjusted system and proved to be feasible.

CAN bus;data communication;TMS320F2812;TMS320LF2407

李 璐(1985-),女,太原理工大学在读硕士研究生,研究方向为双PWM变频调速系统。

张宏川(1987-),男,太原理工大学在读硕士研究生,研究方向为双PWM变频调速系统。

张爱玲(1950-),女,太原理工大学教授,研究方向为特种电机控制。

猜你喜欢
上位邮箱变频
全封闭紧凑型变频调速电机设计
大型变频调速异步电机的设计
没问题邮箱
特斯拉 风云之老阿姨上位
基于变频式的宽输入开关电源设计研究
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
关于停止使用dianxunjishu@china.com邮箱的通知
以新思路促推现代农业上位
邮箱变更