基于DSP的CAN总线系统设计与实现

[10-10 20:38:44]   来源:http://www.88dzw.com  单片机学习   阅读:8485

文章摘要:摘要:介绍了基于DSP的CAN控制器的设计及应用方法,利用该方法可以在波特率高达lMb/s的条件下稳定、可靠地传输数据,而且延迟时间很少。实验证明,利用TMS320F2812内嵌的CAN模块来构成的硬件电路和软件设计十分简单实用。关键字:CAN总线;串行通信;分布式控制;DSP;TMS320F28120 引言 eCAN模块是一种片上增强型控制器,其性能较之已有的DSP内嵌CAN控制器有较大的提高,而且数据传输更加灵活方便,数据量更大、可靠性更高、功能更加完备。随着TMS320F2812的大量推广使用,基于DSP的CAN总线通信方式将得到广泛的应用。1 eCAN模块的增强特性 eCA

基于DSP的CAN总线系统设计与实现,标签:单片机开发,单片机原理,http://www.88dzw.com

摘要:介绍了基于DSP的CAN控制器的设计及应用方法,利用该方法可以在波特率高达lMb/s的条件下稳定、可靠地传输数据,而且延迟时间很少。实验证明,利用TMS320F2812内嵌的CAN模块来构成的硬件电路和软件设计十分简单实用。
关键字:CAN总线;串行通信;分布式控制;DSP;TMS320F2812

0 引言
    eCAN模块是一种片上增强型控制器,其性能较之已有的DSP内嵌CAN控制器有较大的提高,而且数据传输更加灵活方便,数据量更大、可靠性更高、功能更加完备。随着TMS320F2812的大量推广使用,基于DSP的CAN总线通信方式将得到广泛的应用。

1 eCAN模块的增强特性
    eCAN模块是TI公司的新一代32位高级CAN控制器,它完全兼容CAN2.0B协议,可以在有干扰的环境里使用上述协议与其它控制器串行通信。该模块除具有一般DSP内嵌CAN控制器的所有功能外,与TMS320F2812系列DSP的CAN模块相比,它还主要具有如下一些增强特性:
    (1)增加了邮箱数量,并且所有邮箱都具有独立的接收屏蔽寄存器。TMS320F2812有多达32个邮箱,其所占用的512字节RAM都可以配置为
发送或接收邮箱,且都有一个可编程的接收屏蔽寄存器。因而其数据传输更加方便灵活、信息量大大增加;
    (2)eCAN是一个32位的高级CAN控制器。其控制寄存器的状态寄存器必须以32位方式访问,而接收屏蔽、时间标识寄存器、超时寄存器和邮箱所在的CAN范围则可以以8位、16位和32位方式访问;
    (3)时间标识。eCAN模块应用一个全速运行的32位定时器(LNT)来获得接收或者发送一个信息(有效的CAN数据帧)的时间。当一个接收
信息被保存或被发送时,定时器的内容将写入到相应邮箱的时间标识寄存器(MOTS)里。这样就可获得接收或发送一个信息的时间。当邮箱成功发送或接收一个信息时,LNT寄存器被清除。所以可以通过使用邮箱来实现网络的全局时间同步;
    (4)超时功能。为了确定所有的信息都能在预定的时间里送出或接收,每个邮箱都有它自己的超时寄存器(MOTS)。如果一个信息没有在超
时寄存器设定的时间内完成发送或接收,其超时状态寄存器里将设置一个标志位,并据此判断是否超时。
    以上这些增强特性使得TMS320F2812在进行CAN通信时,其数据传输更加方便灵活、数据量更大、功能更完备。

2 应用设计
    针对TI公司的TMS320F2812内嵌的eCAN模块的方便性和实用性,可用TMS320F2812微控制器组成一个CAN总线网络来进行实时数据收发。其
中CAN驱动器使用TI公司的SN65HVD230D。此方案可扩展性强,功能强大。若要增加节点个数,只需要在CAN总线上挂接带有CAN模块的控制器
即可。

www.88dzw.com
    在软件设计时,首先应进行IO口配置。由于CAN通讯所用到的两个引脚CANTX和CANRX均为复用IO口,因此,首先要配置寄存器CANTIOC
的TXFUNC和RXFUNC位为l;再就是要初始化位时序,即对位时序配置寄存器CANBCR进行配置,包括CAN控制器的通讯波特率、同步跳转宽度、采样次数等参数。
    当完成以上CAN配置之后,还需按照图5所示的流程图来完成数据的发送与接收配置,同时初始化邮箱。邮箱初始化主要是设置邮箱的标识符和控制域(即发送的是远程帧还是数据帧),以及对相应的邮箱赋初值。


    数据接收时,所接收到的信息的标识符必须与相应的接收邮箱的标识符相同,否则该信息将被滤除。这里,数据的发送与接收请求均采用标志位查询方式。
    按照以上步骤设置好后,接着就是对数据的发送与接收请求进行配置。数据接收可采用中断方式,中断配置可在主程序流程中进行配置。正确配置中断入口地址及中断函数,并开放CAN接收中断后,还要分别配置不同的数据帧,包括标准帧和扩展帧,以及数据帧和远程请求帧。

[1] [2]  下一页


Tag:单片机学习单片机开发,单片机原理维修教程知识 - 单片机学习