新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于DSP的CAN总线接口设计

基于DSP的CAN总线接口设计

作者:时间:2009-09-10来源:网络收藏

1.简介

本文引用地址:http://www.eepw.com.cn/article/188660.htm

控制器局部网络( ControllerAreaNetwork)是德国Bosch公司从20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯协议。1991年9月PHILIPS公司制定并颁布了2.0技术规范;1993年11月国际标准化组织(ISO)正式颁布了关于CAN的ISO11898标准 ,为CAN的标准化、规范化应用铺平了道路。

世界各半导体厂商推出了许多CAN总线产品。一类是专用的CAN控制器芯片,如Intel公司的82526,82527;PHILIP公司的82C200,SJA1000;NEC公司的72005等;另一类是嵌入CAN接口的单片机,如Intel公司的87C196CA/CB;PHILIP公司的80C592,80CE598;Motorola公司的68HC05X4,68HC05X16,TI公司的TMS320F240x系列等。

CAN总线具有如下特点:

1)结构简单,通信介质可是双绞线、同轴电缆或光纤;

2)通信方式灵活。可以多主从方式工作,可以点对点、点对多点及全局广播方式发送和接收数据;

3)采用短帧通讯格式,保证了实时性和可靠性,可满足一般工业应用;

4)非破坏总线仲裁技术,具有多优先级;

5)集成了CAN协议的物理层和数据链路层功能,可完成对通讯数据的成帧处理工作。

CAN总线具有良好功能特性和极高的可靠性,现场抗干扰能力强。广泛应用于工业测控领域。

2.CAN总线接口的硬件设计

1 CAN总线接口电路

硬件设计使用了TI公司的TMS320LF2407A的芯片,其CAN总线接口的硬件电路如图1所示。一般在CAN控制器和物理总线间采用82C250驱动芯片,提供对总线的差动发送和接收功能。但是因为82C250为5V供电,而F2407采用3.3V供电,两芯片间需要电平转换电路。我们选用了只需3.3V供电的CAN总线收发驱动芯片SN65HVD230。

F2407的内部集成有CAN控制器。该控制器是一个16位的外设模块,支持CAN2.0B协议,具有6个8字节邮箱;具有可编程的中断配置、总线唤醒功能,以及自动回复、自动重发、错误诊断等功能。CAN模块的结构框图如图2所示。

2 CAN控制器结构框图

访问CAN模块可分为控制/状态寄存器和6个邮箱的访问。CAN控制器总共有15个16位的控制寄存器,控制着位定时器、邮箱的发送或接收使能、错误状态及CAN中断等。邮箱位于一个48×16位的RAM空间,每个邮箱由邮箱标示寄存器、邮箱控制寄存器及存储空间组成,最大可存储8字节数据。

3.CAN总线接口的程序设计

CAN的通讯采用短帧格式。每个数据帧由帧起始、仲裁域、控制域、数据域、校验域、应答域和帧结束组成。F2407支持标准帧格式和扩展帧格式,如图3所示。标识符是作为报文的名称,在接收器的验收判断和仲裁过程确定访问优先权中使用;远程发送请求位(RTR)确定发送远程帧还是数据帧;数据长度码(DLC)确定每帧发送几个字节数据。

3 CAN信息帧

在使用CAN控制器前必须对它的一些内部寄存器进行设置。如流程图4和流程图5所示,需配置位定时器和初始化邮箱。位定时器的BCR1和BCR2寄存器决定了CAN控制器的通信波特率、同步跳转宽度、采样次数和重同步方式。邮箱初始化需设置邮箱的标识符,发送的是远程帧还是数据帧及对发送的数据区赋初值。这样,邮箱就能进行正常的发送和接收工作了。


上一页 1 2 下一页

关键词: DSP CAN 总线 接口设计

评论


相关推荐

技术专区

关闭