0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于EasyJTAG仿真器上采用LPC2292单片机实现CAN节点的设计

牵手一起梦 来源:王玉玲 作者:电子元器件应用 2020-04-11 17:21 次阅读

引言

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

基于EasyJTAG仿真器上采用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来提高其可靠性。

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控制器的发送缓存区,然后启动发送即可。当然,在向发送缓冲区送报文之前,必须先做一些判断。发送程序分为发送远程帧和数据帧两种,其中远程帧无数据场。

3.4 接收过程

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

4 、结束语

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

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43982

    浏览量

    620916
  • 控制器
    +关注

    关注

    112

    文章

    15239

    浏览量

    171244
  • 仿真器
    +关注

    关注

    14

    文章

    988

    浏览量

    82998
收藏 人收藏

    评论

    相关推荐

    基于LPC2292 和DS18B20 的测温节点设计The Des ign of Temperature measure node B

    基于LPC2292 和DS18B20 的测温节点设计 摘要:本文介绍了一种基于LPC2292 和数字式温度传感DS18B20 的测温节点
    发表于 10-19 14:52

    向懂LPC2292的人请教请教!

    LPC2292CAN总线,没有一个硬件(学校比较穷,不给经费),能进行软仿么?还有程序怎么写,能否给写个例程,学习学习!谢谢啦!
    发表于 05-02 18:45

    【CMSIS-DAP Mini仿真器申请】玩转红牛板、LPC2292

    申请理由:自己手里有一个STM32的红牛板(老师给的)、LPC2292的开发版,资料都有。就是还没有仿真器(肯定有下载功能了),有这样的机会,想申请下,可以把红牛板和LPC2292的程序跑一下,自己
    发表于 06-12 15:47

    基于LPC2292的手持JPEG图像显示设计

    基于LPC2292的手持JPEG图像显示设计
    发表于 09-23 14:49

    怎么利用LPC2292嵌入式微处理设计监护系统?

    如何利用LPC2292嵌入式微处理设计监护系统?
    发表于 07-31 06:10

    微控制LPC2292资料推荐

    微控制LPC2292资料下载内容主要介绍了:LPC2292功能和特性LPC2292引脚功能LPC2292内部方框图
    发表于 03-31 07:40

    基于LPC2292的手持JPEG图像显示器设计

            文章介绍了基于32 位ARM7 芯片LPC2292 实现的软件JPEG 解码算法及应用了此算法的手持JPEG 图像显示器的设计。文章从JPEG 的编码原理入手,针对
    发表于 09-05 09:17 21次下载

    基于LPC2292CAN-以太网网关的设计

              本文介绍一个CAN 与以太网之间网关的设计;电路采用了以ARM7 为核心的LPC2292
    发表于 09-14 10:13 19次下载

    基于LPC2292的发声程序

    本内容提供了基于LPC2292的发声程序 #include LPC22XX.H /* LPC22XX Peripheral Registers */ extern long volatile
    发表于 05-03 15:51 27次下载

    应用LPC2292与DS18B20设计测温节点系统

    本文为应用LPC2292与DS18B20设计 测温 节点系统,给出了程序代码。
    发表于 06-29 15:08 41次下载
    应用<b class='flag-5'>LPC2292</b>与DS18B20设计测温<b class='flag-5'>节点</b>系统

    基于LPC2292的USB接口适配器设计

    本文为基于LPC2292的USB接口适配器设计,解决了 CAN总线 PC机的通信问题,给出了软硬件结构设计方法。
    发表于 06-29 15:14 39次下载
    基于<b class='flag-5'>LPC2292</b>的USB接口适配器设计

    ADS集成开发环境 EasyJTAG仿真器应用

    ADS集成开发环境 EasyJTAG仿真器应用 ADS集成开发环境 EasyJTAG仿真器应用
    发表于 05-16 15:53 1次下载

    基于LPC2292微控制器和CAN控制器实现车辆行驶监控系统的设计

    选用带有ARM7TDMI-S内核的LPC2292微控制器,可实现对车速、转速信号、开关量信号以及水温、刹车气压、轮胎压力等模拟量信号的采集、处理以及数据的实时存储和显示,通过串口、USB接口可以实现与PC机之间的数据通信,通过
    的头像 发表于 04-02 09:13 2238次阅读
    基于<b class='flag-5'>LPC2292</b>微控制器和<b class='flag-5'>CAN</b>控制器<b class='flag-5'>实现</b>车辆行驶监控系统的设计

    基于LPC2292CAN总线USB接口适配器的设计

    电子发烧友网站提供《基于LPC2292CAN总线USB接口适配器的设计.pdf》资料免费下载
    发表于 10-09 16:53 1次下载
    基于<b class='flag-5'>LPC2292</b>的<b class='flag-5'>CAN</b>总线USB接口适配器的设计

    基于LPC2292数字自整角机转换控制的研究

    电子发烧友网站提供《基于LPC2292数字自整角机转换控制的研究.pdf》资料免费下载
    发表于 10-25 10:52 0次下载
    基于<b class='flag-5'>LPC2292</b>数字自整角机转换控制的研究