电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

利用TMS320 LF2407实现CAN总线通信

来源:-- 作者:-- 浏览:872

标签:

摘要: 1 can总线简介   can(controller area network)即控制器局域网,主要用于各种设备监测及控制的一种现场总线。can总线最初是由德国bosch公司为汽车的监测、控制系统而设计的。 can总线具有独特的设计思想,良好的功能特性和极高的可靠性,现场抗干扰能力强。具体来讲,can总线具有如下特点:   ● 结构简单,只有2根线与外部相连,且内部含有错误探测和管理模块。   ●

  1 can总线简介

  can(controller area network)即控制器局域网,主要用于各种设备监测及控制的一种现场总线。can总线最初是由德国bosch公司为汽车的监测、控制系统而设计的。 can总线具有独特的设计思想,良好的功能特性和极高的可靠性,现场抗干扰能力强。具体来讲,can总线具有如下特点:

  ● 结构简单,只有2根线与外部相连,且内部含有错误探测和管理模块。

  ● 通信方式灵活。可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从。

  ● 可以点对点、点对多点及全局广播方式发送和接收数据。

  ● 网络上的节点信息可分成不同的优先级,可以满足不同的实时要求。

  ● can总线通信格式采用短帧格式,每帧字节数最多为8个,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节也不会占用总线时间过长,从而保证了通信的实时性。

  ● 采用非破坏性总线仲裁技术。当2个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。这大大地节省了总线仲裁冲突时间,在网络负载很重的情况下也不会出现网络瘫痪。

  ● 直接通信距离最大可达10km(速率5kb/s以下),最高通信速率可达1mb/s(此时距离最长为40m);节点数可达110个,通信介质可以是双绞线、网轴电缆或光导纤维。

  ● can总线通信接口中集成了can协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等多项工作。

  ● can总线采用crc检验并可提供相应的错误处理功能,保证了数据通信的可靠性。

  can总线的以上特点,为工业控制系统中高可靠性的数据传送提供了一种新的解决方案。其在国外工业测控领域已经有了广泛的应用,现国内的许多工业控制领域也开始使用基于can的现场总线。can总线已成为最有发展前途的4种现场总线之一。

  2 tms320 lf2407控制系统硬件设计

  系统设计采用ti公司的tms320lf2407芯片。芯片内置can控制器模块,该控制器模块是一个16位的外设模块,具有以下的特性:

  ● 完全支持can2.0b协议;

  标准和扩展标识符

  数据帧和远程帧

  ● 对象有6个邮箱,其数据长度为0~8个字节;

  2个接收邮箱(mbx0,1),2个发送邮箱(mbx4,5)

2个可配置为接收或发送邮箱(mbx2,3)

  ● 对邮箱0、1和2、3有局域接收屏蔽寄存器(lamn);

  ● 可编程的位定时器;

  ● 中断配置可编程;

  ● 可编程的can总线唤醒功能;

  ● 自动回复远程请求;

  ● 当发送时候出现错误或仲裁时丢失数据,can控制器有自动重发送功能;

  ● 总线错误诊断功能;

  ● 自测试模式。

  can控制器必须通过can驱动芯片才能与其他的can控制器进行通信,本系统采用82c250作为驱动芯片,15mhz晶振,6n137是光隔芯片。在can的发送和接收物理总线之间有匹配电阻r。具体电路如图1。

  

 

  图1 控制系统电路

  3 控制系统的软件设计

  3.1 can信息包格式说明

  一个有效的can的数据帧由帧起始、仲裁域、控制域、数据域、校验域、应答域和帧结束组成。tms320lf2407的can控制器支持两种不同的帧格式,即标准格式和扩展格式,它们的主要区别在于仲裁域格式不同,标准帧仲裁域由11位标识符和远程请求位rtr组成。扩展帧仲裁域由29位标识符和替代远程请求srr位、标志位和远程请求位rtr组成。

  标识符是作为报文的名称,在仲裁过程期间,它首先被送到总线。在接收器的验收判断和仲裁过程确定访问优先权中都要用到。

  远程发送请求位(rtr)是用来发送远程帧或数据帧,当rtr为高电平时, can控制器发送远程帧;为低电平时则发送数据帧。

  数据长度码(dlc)用来确定每帧要发送几个字节的数据,最多为8个字节。

  

 

  3.2 网络通信协议

  can总线为多主工作方式,网络上任一节点均可在任意时刻主动向网络上其它节点发送信息,而不分主从。通信方式灵活,且无需占地址等节点信息。为禁止总线冲突,can总线采用非破坏性总线仲裁技术,根据需要将各个节点设定为不同的优先级,并以标志符id标定,其值越小,优先级越高。

  在通信逆变电源监控系统的实际应用中,现场的控制模块采用tms320lf2407为核心的控制电路,由于监控对象有16个之多,采用控制模块彼此独立挂在can总线上,各个控制模块之间通过can总线进行监控数据信息交换,并且与单片机和can控制、驱动器组成的上位机通信。上位机负责控制整个网络,它向各个监控模块发送各种控制命令,监控模块根据命令进行相应的操作。具体工作原理是:上位机如果没有查询请求(远程帧),只是各个监控模块之间进行数据交换;上位机如果有查询请求,将发送带某个监控模块id的远程帧到总线上。监控模块检测到选中信号后,将本模块的参数数据送到总线上,同时接收上位机的更改参数命令。任一监控模块在出现各类报警时候,可以随时地、主动地和及时地向上位机发送报警信息。上位机在更改监控模块参数时,可以选择使用集体修改和单个修改两种模式,所以在数据信息地传递的形式就可分为群发式和单发式。

3.3 软件设计流程图

  (1) 主程序流程如图2所示。

  

 

  (2) 中断程序流程图如图3所示。|

  在本软件设计过程中涉及所要传送的几个数据量分别为:监控模块之间的数据量;与上位机之间传送的数据量。涉及所要接收的几个数据量分别为:监控模块之间的数据量;与上位机之间的数据传送,包括单发和群发两种方式。数据发送采用查询方式,数据接收采用中断方式,程序由汇编语言编写而成。

  4 结束语

  

 

  利用tms320 lf2407can控制器模块进行can总线的控制系统的设计,并将其应用于通信用逆变电源的监控模块中,充分发挥了can工业总线的优势,有利于提高整个监控系统的实时性和可靠性。

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67