历史上的今天

今天是:2026年03月14日(星期六)

2023年03月14日 | 基于EasyJTAG仿真器上采用LPC2292单片机实现CAN节点的设计

发布者:心愿成真 来源: elecfans关键字:仿真器  LPC2292  CAN节点 手机看文章 扫描二维码
随时随地手机看文章

引言

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控制系统具有实际意义,但对于不同系统,其软件和硬件需要作相应的改动。


关键字:仿真器  LPC2292  CAN节点 引用地址:基于EasyJTAG仿真器上采用LPC2292单片机实现CAN节点的设计

上一篇:可创建小型组合与时序逻辑电路的PLU可编程逻辑单元
下一篇:基于松乐RD-5VDC-SL-C继电器及电路图

推荐阅读

AirPower可同时给三种苹果设备无线充电  新浪数码讯 3月14日上午消息,多名产业链消息人士称,苹果公司的无线充电板AirPower将在3月底前上市。  AirPower是一款椭圆型配件,可同时给iPhone,Apple Watch和新款AirPods无线耳机充电,最大功率可以达到29瓦,有趣的是,它同时兼容两种无线充电标准,即Qi标准、用于iPhone,以及苹果自己的标准、用于App...
芯科技消息(文/罗伊)高速信号传输界面IC设计公司谱瑞去年获利表现不凡,全年合并营收为3.43亿美元,较前年增加0.8%,全年税后净利为6506万美元、每股税后盈余0.85美元(折合新台币约25.67元),创历年新高,董事会13日决议,拟配发每股现金股利12.41元新台币,今年股东常会预定6月18日召开,并将进行董监事改选。谱瑞董事长赵捷次前于财报会表示,由于...
ARM 处理器(以 ARM7TDMI 为例)的 7 中工作模式为: (1) 用户模式(usr):运行应用程序的普通模式。 (2) 系统模式(sys):运行具有特权的操作系统任务。 (3) 超级用户模式(svc):操作系统的保护模式,主要用于 SWI 和 OS。这 个模式有额外的特权,允许进一步控制处理器。 (4) 中断模式(irq):用作通用中断处理。这个模式也是有特...
去年三月份,比亚迪“刀片电池”的发布让如日中天的三元锂电池遭受暴击,也让不少担心电动车自燃的摇摆消费者坚定了购买信心。时隔一年,搭载磷酸铁锂“刀片电池”的比亚迪汉EV在终端市场持续走红,甚至跟豪华品牌同台竞技;刚刚发布的秦PLUS DM-i也收获颇丰,在终端市场反响强烈。比亚迪“刀片电池”的影响有多大?目前小鹏P7将搭载磷酸铁锂电池的消息传...

史海拾趣

问答坊 | AI 解惑

开关稳压电源技术报告

一份开关稳压电源技术报告,供参考   …

查看全部问答∨

发个单片机指令机

我是新手,第一次发错了…

查看全部问答∨

北电到底倒闭了没?

之前去北电的同学,有的在其宣称破产前就已经归入了索爱。 本以为北电已经不存在了,昨天听老公说,还有同学在北电。 具体是什么情况呢?…

查看全部问答∨

[招聘]七万美金年薪起,美国某著名通信/网络优化服务供应商招聘赴美员工

[招聘职位一:Telecom –OSS Engineer (Nokia OSS/ Netact Engineer) 工作地点:美国 工作类型:全职 签证种类:工作签证 工作待遇:$70,000/年(能力突出者可以面议); 每周工时:40小时/周 申请要求: 1. 本科以上学历; 2. 七年( ...…

查看全部问答∨

【藏书阁】贴片元器件应用手册

目录: 第一部分 贴片元器件基础知识 1.1片状电阻器 1.1.1片状电阻器的阻值和允差标注方法 1.1.2常见片状电阻器介绍 1.1.3片状电阻器的使用 1.2片状电容器 1.2.1片状电容器容量和允差标注方法 1.2.2常见片状电容器介绍 1.2 ...…

查看全部问答∨

Vxworks如何设定键盘无缓冲输入

我现在的firmware是键盘输入完后敲回车输入字符串才提交给系统。 可是我要做快捷键响应,要求每敲一个键就马上提交给系统,并且不 在屏幕上回显,类似TC的getch()函数,我应该 如何做,当我用ioctl(fd, FIORBUFSET, 0)把Read的缓冲区关闭 后 ...…

查看全部问答∨

CE50的GWES组件有没公开源码?LCD驱动里面的触摸屏坐标(已经知道怎么修正它了)怎么转成系统的坐标?这两个之间的转换关系是?

CE50的GWES组件有没公开源码?LCD驱动里面的触摸屏坐标(已经知道怎么修正它了)怎么转成系统的坐标?这两个之间的转换关系是?…

查看全部问答∨

能用PPC2003模拟器下东西到CPU为PXA270的PDA吗

我下载时老是提示 The ARM Unknow CPU does not support configuration Test -Win32(WCE AEMV4)Debug!  Executable will not run on device. 我的PDA  CPU为PXA270 多谢各位帮忙…

查看全部问答∨

430有没QQ讨论群的?

给位兄弟给个QQ群让小弟加进呗?我正在学msp430f5438…

查看全部问答∨

DSP flash被锁

由于程序问题,程序写入了密码区,导致flash被锁然后查编码,解码刚开始两块板子都解码成功,但是在擦除是又被锁了一块板子解了两次终于擦除成功但另外一块再解码,擦除到一半又被锁又解码,擦除到一半被锁现在解码都解不了了求助高手是什么原因, ...…

查看全部问答∨
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved