基于LPC11C24微控制器组成的CAN网络,实现对节点MCU的软件更新

发布者:星光闪耀最新更新时间:2023-02-08 来源: elecfans关键字:LPC11C24  微控制器  CAN网络  节点 手机看文章 扫描二维码
随时随地手机看文章

0引言

分散型控制系统中的现场终端一般由控制器和各检测模块构成,它们之间通过一定的通信网络建立数据的交换链路。这种系统具有高可靠、开放性、灵活性、协调性、易维护等优点。然而,该分散型系统也具有终端数量多、分布范围广的特点。一旦终端系统软件存在缺陷或用户提出新的功能和指标要求时,其升级、维护的工作量和成本都非常大。本文针对上述情况,设计了一种方便、灵活、快速及稳定地对MCU节点进行在线更新的机制。基于LPC11C24微控制器组成的CAN网络,采用IAP编程技术(In Application Programming),实现了对目标节点MCU的软件更新功能。


1 LPC11C24单片机和CAN总线

恩智浦半导体(NXP)推出业界首款内嵌易用型片上CANopen驱动,集成高速CAN物理层收发器的微控制器LPC11C22和LPC11C24.作为一种独特的系统级封装解决方案,LPC11C22和LPC11C24集成了TJF1051CAN收发器,在低成本LQFP48封装中实现了完整的CAN功能。


控制器局域网络(Controller Area Network,CAN)是由研发和生产汽车电子产品着称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。它是国际上应用最广泛的现场总线之一。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。


2在线更新机制架构

系统架构主要由2部分组成:由各个MCU组成的CAN网络;安装在PC机上的USB-CAN通信卡,可以使PC机连上CAN网络,进行数据通信,系统构架如图1所示。软件也包括2部分:运行在PC机的上位机软件,提供用户操作界面,将应用程序代码通过CAN总线发送给节点;运行在节点的启动程序,主要是响应下载命令,接受代码,把代码写入FLASH,引导应用程序。

基于LPC11C24微控制器组成的CAN网络,实现对节点MCU的软件更新

图1 系统架构


3在线更新机制的设计

3.1 IAP编程技术

IAP是应用在FLASH程序存储器的一种编程模式,即在某段程序的控制下完成对FLASH的读/写操作,可以控制对某段、某页、甚至某个字节的读写操作。

LPC11C24单片机支持并提供9条IAP命令:

①准备写操作的扇区;

②将RAM内容复制到FLASH;

③擦除扇区;

④扇区查空;

⑤读器件ID;

⑥读Boot代码版本;

⑦比较;

⑧重新调用ISP;

⑨读UID.


3.2 FLASH空间分配

LPC11C24有32KB的FLASH空间,共分为8个扇区,每个扇区的大小为4KB.为了使程序更新和应用程序更加独立,本文将FLASH空间分为3个区,分别为启动程序区,应用程序区,用户数据区。

基于LPC11C24微控制器组成的CAN网络,实现对节点MCU的软件更新

其中①启动程序是一段特定的驻留代码,专门用于接收来自主机新的代码,将其烧写到相应的FLASH空间,完成后跳转到应用代码区去执行新的程序,代码比较少,编译生成的映像文件小于4KB,每次系统上电或重启后先执行启动程序。

②应用程序是真正实现用户功能的代码。

③用户数据区是用于存储应用程序的一些设置和数据。


3.3中断向量表重映射与复制

LPC11C24支持32个向量中断,中断向量表默认位于FLASH的第一个4KB空间,地址从0x00000000~0x00000079.按照前面的设计,启动程序占用第一个4KB的空间,当跳转到应用程序时,实际的中断向量表是位于0x00001000~0x00001079的空间。但LPC11C24系列的单片机不支持自定义中断向量表的地址,只支持将中断向量表从FLASH重映射到RAM.


为了能让应用程序实现正常的中断处理,启动程序在跳转到应用程序之前还需要将应用程序的中断向量表复制并映射到RAM[10].

代码实例如下:

基于LPC11C24微控制器组成的CAN网络,实现对节点MCU的软件更新

3.4启动程序和应用程序的设计与固化

程序都在Keil for ARM集成环境下编写并编译。

首先在Keil软件下新建基于LPC11C24的工程,并配置FLASH和SRMA的起始地址和大小。具体如表2所示。

基于LPC11C24微控制器组成的CAN网络,实现对节点MCU的软件更新

3.5启动程序与应用程序之前的跳转

在启动程序中定义应用程序的地址,#defineAPP_CODE_ADDR (0x00001000),程序跳转的代码采用汇编语言编写,代码实例如下:

基于LPC11C24微控制器组成的CAN网络,实现对节点MCU的软件更新


关键字:LPC11C24  微控制器  CAN网络  节点 引用地址:基于LPC11C24微控制器组成的CAN网络,实现对节点MCU的软件更新

上一篇:基于LPC1752的独立按键的原理及实现
下一篇:如何使用ARM7-LPC2148微控制器中的PWM控制LED的亮度

推荐阅读最新更新时间:2024-10-17 19:58

基于LPC11C24微控制器组成的CAN网络,实现对节点MCU的软件更新
0引言 分散型控制系统中的现场终端一般由控制器和各检测模块构成,它们之间通过一定的通信网络建立数据的交换链路。这种系统具有高可靠、开放性、灵活性、协调性、易维护等优点。然而,该分散型系统也具有终端数量多、分布范围广的特点。一旦终端系统软件存在缺陷或用户提出新的功能和指标要求时,其升级、维护的工作量和成本都非常大。本文针对上述情况,设计了一种方便、灵活、快速及稳定地对MCU节点进行在线更新的机制。基于LPC11C24微控制器组成的CAN网络,采用IAP编程技术(In Application Programming),实现了对目标节点MCU的软件更新功能。 1 LPC11C24单片机和CAN总线 恩智浦半导体(NXP)推出业界首款
[单片机]
基于<font color='red'>LPC11C24</font><font color='red'>微控制器</font>组成的<font color='red'>CAN</font><font color='red'>网络</font>,实现对<font color='red'>节点</font><font color='red'>MCU</font>的软件更新
如何保证CAN网络中通讯的可靠性和节点
在CAN-bus电路设计中,理论上收发器支持节点数最多可做到110个,但实际应用中往往达不到这个数量。这里我们谈谈如何通过合理的CAN-bus总线设计,保证CAN网络中的通讯的可靠性和节点数量。 1. 影响CAN总线节点数的因素 影响总线节点数的因素有多种,本文我们从满足接收节点的差分电压幅值方面来讨论,只有满足了这个前提条件,我们才能考虑总线的其他因素如寄生电容、寄生电感对信号的影响。 1) 发送节点的CAN接口负载 为何考虑CAN接口负载? CAN接口负载即为CANH、CANL之间的有效电阻值大小,该电阻会影响发送节点输出的差分电压的幅值,组网后网络中各个节点的负载电阻 RL接近,如图 1我们测试了CTM1051M小体积CAN
[网络通信]
如何保证<font color='red'>CAN</font><font color='red'>网络</font>中通讯的可靠性和<font color='red'>节点</font>数
基于Can总线的嵌入式网络控制节点的设计与实现
引言 近年来,基于各种总线标准的网络化 控制系统 已经在工业控制领域内得到广泛应用。网络化 控制系统 采用了完全分散化的控制节点结构,将控制的权力很大部分交给了处于控制现场的智能节点,系统内各种交互信息通过 现场总线 传送。 当前已实用化的总线标准有许多种,如WorldFIP, Profibus, LONWORKS, CAN等。其中,CAN(Controller Area Network)是Bosch公司在现代汽车应用技术中领先推出的一种串行通信网络。CAN主线采用多主站工作方式,根据优先权进行总线访问仲裁,能够检测出通信过程产生的任何错误。 CAN总线 还具有卓越的信号传输性能,当信号传输距离达到l0km时,它仍可提供高
[单片机]
基于<font color='red'>Can</font>总线的嵌入式<font color='red'>网络</font>控制<font color='red'>节点</font>的设计与实现
基于C8051F040的CAN总线技术的多节点通信网络设计
引言 CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。传统的CAN总线实现方式是将单片机与总线控制器和总线收发器连接后接入总线作为一个节点,这种方式外部电路要求较多,器件之间会造成不必要的干扰,因此提出一种方法利用内部集成CAN控制器的C8051F040单片机作为CAN节点的处理器。利用这个节点控制器控制其他节点上的传感器,同时为了方便利用Pc机实时监测总线数据,设计了USB-CAN转换模块,利用上位机软件使PC机与总线能进行实时通信。 1 多点通信网络的总体设计 CAN总线总体结构
[单片机]
基于C8051F040的<font color='red'>CAN</font>总线技术的多<font color='red'>节点</font>通信<font color='red'>网络</font>设计
智能断路器的CAN 总线网络节点设计
  0 引言   近年来,智能脱扣器技术在国内有了较快的发展。智能脱扣器的成功应用,使得断路器的功能更加强大。目前,国内外研究生产的智能脱扣器能显示开关状态、三相电流、电压、功率因数、有功功率等参数。而控制器局域网(CAN) 能有效支持具有高安全级的分布式实时控制,凭借其在噪声环境中的可靠性及其故障状态检测,以及从故障状态恢复的能力,被广泛应用于工业控制等领域。因此,国内外大都将比较成熟的CAN 现场总线技术应用在智能脱扣器的通信方面,实现上下位机的“四遥”功能,即遥测、遥控、遥信和遥调。上位机CAN 主要对下位机采集到的信号进行监控、调度和管理。上位机作为一个特殊的CAN 节点,其设计相对复杂。本文将重点介绍上位机CAN 智
[嵌入式]
基于EasyJTAG仿真器上采用LPC2292单片机实现CAN节点的设计
引言 CAN(Controller Area Network)总线控制器局域网络是在1986年2月的SAE大会上,由RoberBosch公司首先提出的。CAN总线是一种串行通信协议,它能有效支持高安全等级的分布式实时控制,其最初的目的是用在汽车上。但由于采用了许多新技术及独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性,目前的应用范围已不局限于汽车行业,而是扩展到了机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、家用电器及传感器等诸多领域。CAN节点的设计多采用单片机,为此,本文给出了一种基于本身已经嵌入了CAN控制器的单片机LPC2292的CAN总线智能节点的设计方案。 1、
[单片机]
基于EasyJTAG仿真器上采用LPC2292<font color='red'>单片机</font>实现<font color='red'>CAN</font><font color='red'>节点</font>的设计
基于MCS-51单片机CAN总线控制器实现总线节点的设计
CAN(Controller Area Network)即控制器局域网络。由于其具有较强的抗干扰能力、通讯中没有地址的概念及节点数不受限制等优点,已经被广泛应用于汽车、数控机床、仪器仪表、现场总线控制等领域。在CAN总线的节点设计中,目前应用较多的是通过单片机的控制来实现。有的单片机已经嵌入了CAN控制器的功能,比如Philips的P8XC592,Motorola的68HC05X4等,但这类单片机的应用并不普及,而且价格相对较高。对于目前应用最为普及、价格也很便宜的MCS-51系列单片机,本身并不嵌有CAN控制器的功能。下面就给出一种基于MCS-51单片机和SJA1000的CAN总线节点设计方法。 1、 CAN总线简介 CAN
[单片机]
基于MCS-51<font color='red'>单片机</font>和<font color='red'>CAN</font>总线控制器实现总线<font color='red'>节点</font>的设计
采用MCUCAN控制器和收发器实现燃料电池汽车空调智能节点的设计
在能源日趋紧张、空气污染日益严重的今天,开发具有自主知识产权的新型燃料电池汽车是我国汽车产业的一个重要飞跃和里程碑,也是国家重点扶持的主要领域之一。燃料电池汽车与传统燃油汽车相比具有环保、节能(氢气为燃料)、运行平稳无噪声等特点。燃料电池汽车系统的核心是它的动力系统,即燃料电池发动机,同时配备高功率锂离子电池,能够回收下坡和制动能量。整个汽车系统由若干控制单元组成,各单元通过汽车总线彼此相连,其中空调控制系统是这种新型能源汽车的一个辅助控制单元,但它也是汽车系统的一个重要组成部分。本文将给出一种采用通用微控制器(MCU)和独立CAN控制器和收发器为核心的智能节点,完成与汽车系统之间的通信和控制由数字信号处理器DSP2407为控制芯
[嵌入式]
采用<font color='red'>MCU</font>、<font color='red'>CAN</font>控制器和收发器实现燃料电池汽车空调智能<font color='red'>节点</font>的设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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