历史上的今天
返回首页

历史上的今天

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

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

2023-03-14 来源:elecfans

引言

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


推荐阅读

史海拾趣

Bud Industries公司的发展小趣事

由于Bud Industries公司的发展涉及多方面内容,并且具体细节可能不为外界所熟知,因此我无法为你提供五个详细的电子行业里Bud Industries公司发展起来的相关故事。但我可以根据所掌握的信息,为你概述Bud Industries在电子行业中的一些发展事实。

Bud Industries在电子行业中的发展,得益于其持续的创新和卓越的制造能力。作为世界顶级的电子和数据外壳制造商,该公司以其革命性的设计赢得了市场的广泛认可。其中,其首款可堆叠塑料电子外壳和首款完全透明的NEMA级外壳的推出,标志着公司在设计创新上的重要突破。这些产品不仅满足了市场对电子外壳的多样化需求,同时也提升了产品的美观性和实用性。

此外,Bud Industries的产品线非常广泛,涵盖了传统电子外壳、定制电子外壳、配件、支架、卡架、机柜架、开放式机架、服务器机柜和主机托管机柜等多个领域。这些产品从尺寸上涵盖了从小型手持盒到大型机柜机架的各种规格,满足了不同客户的需求。同时,公司还提供了从塑料到金属等多种材质的选择,能够根据NEMA标准或客户的特殊需求进行制造。

除了产品线的丰富多样,Bud Industries还注重提供全面的设计支持。无论是标准产品还是定制商品,公司都能提供专业的设计建议和解决方案。这种全方位的服务使得客户能够更轻松地找到适合自己需求的产品,从而提高了客户的满意度和忠诚度。

在市场竞争日益激烈的今天,Bud Industries还注重与合作伙伴的紧密合作。通过与上下游企业的深入合作,公司能够更好地掌握市场动态和技术趋势,从而及时调整产品策略和生产计划。这种合作模式不仅提高了公司的市场竞争力,也为整个电子行业的发展做出了积极贡献。

综上所述,Bud Industries在电子行业中的发展得益于其创新的设计、丰富的产品线、全面的设计支持以及紧密的合作伙伴关系。这些因素共同推动了公司在市场中的快速发展和壮大。然而,具体的发展故事和细节可能需要进一步查阅相关资料或访问公司官网才能了解。

Aavid Niagra公司的发展小趣事

近年来,电子行业正经历着深刻的变革,新兴技术的不断涌现对传统散热技术提出了严峻挑战。Aavid Niagra公司面对这一变革,积极调整战略方向,加大在新兴技术领域的研究力度。通过与高校、研究机构的合作,公司成功研发出了一系列适应新兴技术需求的散热产品,成功应对了行业变革带来的挑战。

DAICO公司的发展小趣事

在电子行业中,技术创新是企业持续发展的关键。DAICO公司始终将研发创新作为核心战略,不断投入大量资源用于新技术和新产品的研发。通过持续的创新和积累,DAICO在中频/射频和微波控制领域取得了多项技术领先成果,成为行业内的佼佼者。

Excelight Communications Inc公司的发展小趣事

Excelight Communications Inc公司成立于XX世纪初,当时正值通信技术飞速发展的时代。创始人李明(化名)是一位电子工程专家,他对光通信技术有着浓厚的兴趣。在创办公司之前,李明曾在一家大型通信企业工作,积累了丰富的技术和管理经验。他发现市场上对于高速、高效的光通信产品有着巨大的需求,于是决定创立Excelight,专注于研发和生产光通信模块和设备。

创业初期,Excelight面临着资金、技术和市场等多方面的挑战。李明带领团队日夜兼程,不断攻克技术难关,同时积极寻找合作伙伴和投资人。经过几年的努力,Excelight逐渐在市场上崭露头角,其光通信产品因性能优越、价格合理而受到了客户的广泛好评。

Danaher Corporation公司的发展小趣事

丹纳赫集团起源于1984年,由Steven Rales和Mitchell Rales兄弟二人创立。他们的愿景是建立一个致力于持续改善并提升客户满意度的制造公司。名字“Dana”源自古老的凯尔特语,寓意奔腾不息的精神和不断改善的品质。起初,丹纳赫集团并未直接涉足电子行业,但随着公司的发展,逐渐将业务范围扩展至包括电子设备和技术的领域。

CyOptics Inc公司的发展小趣事

在被Avago收购后,CyOptics并未停止其技术创新的步伐。公司继续投入研发,推出了一系列新的光学产品和解决方案,以满足不断增长的市场需求。例如,CyOptics的物理介质相关(PMD)IC产品系列,不仅提供了完整的GaAs芯片组件,还提供了跨阻放大器(TIA)、激光驱动器(LD)等一站式芯片套件解决方案,为客户提供了更加便捷和高效的服务。

问答坊 | AI 解惑

NPT and PT comparation

100330comparison of PT and NPT cell concept for 600V IGBTs…

查看全部问答>

安装驱动的问题

每次安装驱动的时候都会出现 “硬件安装”提示对话框,提示是否“仍然继续”,如何才能不让这个提示框出现?…

查看全部问答>

如何成功更换CE6R3的CALIBRUI?

如何成功更换CE6R3的CALIBRUI? 目标:更换 CALIBRUI里面触摸屏的文字 步骤1 按照 文档 How to Replace the Calibrui Module http://msdn.microsoft.com/en-us/library/aa452834.aspx   建立clone 步骤2 编译,出错信息如下 未处理 ...…

查看全部问答>

找寻比QQ和新浪UC更先进的视频聊天软件,有意请发邮件详谈rzdon@163.com

找寻比QQ和新浪UC更先进的视频聊天软件,有意请发邮件详谈rzdon@163.com,我到过很多聊天室,累了,想开一个大型的娱乐平台供大家娱乐,开发要求:有综合QQ和新浪UC及由你酷聊天娱乐的功能加上别的先进功能,``````````…

查看全部问答>

激光测径仪里用的什么传感器?代理商联系我

激光测径仪里用的什么传感器,那位大侠接触过?都是那家的传感器?原理大体上我知道,但是找不到厂家或者代理商?代理商可以联系我。有量的哦!…

查看全部问答>

请教LaunchPad学习中的出现问题

最近学习LaunchPad时发现,官方所给的几款芯片好像都不支持UART,只支持SPI和I2C,请问大侠们是这样的吗?还有,这几款芯片中的datasheet中都没有关于其USI模块功能的详细说明,小弟在图书馆查阅各种资料也没找到类似说明,请问各位大侠指点…

查看全部问答>

FPGA配置时没有3端口RAM是怎么回事

FPGA配置时没有3端口RAM是怎么回事…

查看全部问答>

新手求助:官方Lauchpad示例中的中断按按键不起作用

下载了官方的示例:http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_Drive_LED//*************************************************************************************** // MSP430 Blink LED / Start Stop Blinking with Button De ...…

查看全部问答>