基于LPC2292的CAN总线智能节点设计

2007-07-05 11:09:09来源: 电子元器件应用

引言

CAN(Controller Area Network)总线控制器局域网络是在1986年2月的SAE大会上,由RoberBosch公司首先提出的。CAN总线是一种串行通信协议,它能有效支持高安全等级的分布式实时控制,其最初的目的是用在汽车上。但由于采用了许多新技术及独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性,目前的应用范围已不局限于汽车行业,而是扩展到了机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、家用电器及传感器等诸多领域。CAN节点的设计多采用单片机,为此,本文给出了一种基于本身已经嵌入了CAN控制器的单片机LPC2292的CAN总线智能节点的设计方案。

1 LPC2292控制器

LPC2292是一个可以支持实时仿真和跟踪的16/32位ARM7TDMI-S CPU微控制器,它带有256K字节的嵌人式高速Flash存储器,并具有的128位宽度的存储器接口和独特的加速结构,可使32位代码在最大时钟速率下运行。而对代码有严格控制要求的应用则可使用16位Thumb模式,这样可将代码规模降低30%以上,而性能的损失却很小。LPC2292采用144脚封装、可使用的GPIO高达76(使用外部存储器)~112个(单片应用)、并具有极低的功耗。LPC2292内含多个32位定时器、4路10位ADC、2路CAN以及多达9路外部中断等,特别适用于汽车、工业控制应用、医疗系统和容错维护总线。

LPC2292内部集成的2路CAN控制器符合CAN规范2.0B ISO 11898-1;可访问32位的寄存器和RAM;每个总线的数据速率为1 MB/s;全局验收滤波器可识别所有总线的11位和29位Rx标识符;验收滤波器为选择的标准标识符提供有FullCAN-style自动接收功能。

2 节点硬件电路设计

CAN总线的节点硬件主要包括LPC2292、CAT1024、82C250、6N137以及B0505S。其中,LPC2292是节点的微处理器及CAN通信控制器,CAN总线驱动器采用82C250。为了增强CAN总线节点的抗干扰能力,在TD1、RD1与82C250之间应通过高速光耦6N137相连,这样可以很好的实现总线上各CAN节点间的电气隔离。要注意的是:光耦电路部分采用的两个电源VCC和VDD必须完全隔离。这里的B0505S就起这个作用。另外,节点复位电路采用CAT1024来提高其可靠性。图1所示是CAN总线的节点硬件电路。

3 软件设计

该系统的软件调试可在ADS1.2调试环境及EasyJTAG仿真器上进行。

和硬件电路设计相比,软件的设计相对来说要复杂些。CAN总线智能节点的软件设计主要包括三部分:CAN节点初始化、报文发送和报文接收。除此之外,还必须编写LPC2292的启动代码,即对系统进行初始化。

3.1 LPC2292的启动代码

启动代码包括异常中断向量表、堆栈初始化、目标板初始化及存储系统初始化等,一般都用汇编语言编写。这里不作详细介绍。

3.2 CAN控制器初始化

CAN总线控制器的初始化过程主要包括相应的引脚功能设置、工作方式设置、波特率参数设置以及出错警告界限设置等,下面是对CAN1的初始化代码(CAN2与之类似):


上面所述是对CAN控制器初始化的主要步骤,另外,还可以根据具体情况对其它CAN寄存器的值进行设置。

LPC2292中有个全局验收滤波器,该模块可为所有CAN控制器提供接收标识符的查询功能(即验收滤波)。另外,验收滤波器还可为选择的标准标识符提供fullCAN-style自动接收功能。在上面对CAN控制器的初始化中,为了简化程序,设计时将验收滤波器设置为旁路。但在实际应用中,应根据需要对它进行设置。事实上,让它参与接收滤波的工作有助于改善节点接收信息的选择性。CAN控制器初始化完成后,即可开始发送和接收信息。

3.3 发送过程

发送子程序主要负责节点报文的发送。发送时,用户只需要将待发送的数据按特定的格式组合成一帧报文送入CAN控制器的发送缓存区,然后启动发送即可。当然,在向发送缓冲区送报文之前,必须先做一些判断。发送程序分为发送远程帧和数据帧两种,其中远程帧无数据场。图2是发送过程流程图。

3.4 接收过程

接收子程序主要负责节点报文的接收以及其它情况的处理。接收子程序相对要复杂一些。因为在处理接收报文的过程中,同时也要对总线关闭、错误报警、接收溢出等情况进行处理。CAN控制器报文的接收主要有两种方式:中断接收方式和查询接收方式。如果对通信的实时性要求不是很强,建议采用查询接收方式。两种接收方式的编程思想基本相同。图3给出了用查询方式接收报文的流程图。

4 结束语

该智能节点可利用EasyJTAG仿真器进行调试仿真,并可在实验环境下完成通讯功能。该方法与51系列单片机相比,其通信速度较高。因此,在此基础上构建CAN控制系统具有实际意义,但对于不同系统,其软件和硬件需要作相应的改动。

关键字:存储  加速  时钟  封装

编辑: 引用地址:http://www.eeworld.com.cn/gykz/CDYZX/200707/4021.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
存储
加速
时钟
封装

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved