《嵌入式系统设计》课程论文-基于ARM的CAN总线智能节点的设计_第1页
《嵌入式系统设计》课程论文-基于ARM的CAN总线智能节点的设计_第2页
《嵌入式系统设计》课程论文-基于ARM的CAN总线智能节点的设计_第3页
《嵌入式系统设计》课程论文-基于ARM的CAN总线智能节点的设计_第4页
《嵌入式系统设计》课程论文-基于ARM的CAN总线智能节点的设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE《嵌入式系统设计》课程论文题目:基于ARM的CAN总线智能节点的设计专业化班级目录一、摘要 3二、关键字 3三、CAN总线 33.1简介 33.2特点 33.3应用 4四、智能节点的设计 44.1CAN智能节点系统构成 44.2智能节点的特点 44.3CAN总线智能节点设计 54.3.1硬件设计 54.3.2软件设计 54.3.2.1CAN控制器初始化 54.3.2.2数据发送 64.3.2.3数据接收 64.3.2.4异常情况处理 6五、总结 7六、参考文献 7基于CAN总线智能节点的设计摘要:控制器局域网CAN(ControllerAreaNetwork)是一种多主方式的串行通信总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。CAN在汽车上的应用,具有很多行业标准或者是国际标准,比如国际标准化组织(ISO)的ISO11992、ISO11783以及汽车工程协会(SocietyofAutomotiveEngineers)的SAEJ1939。CAN总线已经作为汽车的一种标准设备列入汽车的整车设计中。关键字:CAN总线串行通信CAN总线1:简介CAN通信协议规定了4种不同的帧格式,即数据帧、远程帧、错误帧和超载帧。基于以下几条基本规则进行通信协调:总线访问、仲裁、编码/解码、出错标注和超裁标注。CAN遵从OSI模型。按照OSI基准模型只有三层:物理层、数据链路层和哀告层,但应用层尚需用户自己定义。2:特点(1)多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权(CSMA/CA方式*1)。多个单元同时开始发送时,发送高优先级ID消息的单元可获得发送权(2)消息的发送在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier以下称为ID)决定优先级。ID并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。(3)系统的柔软性与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。(4)通信速度根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。(5)远程数据请求可通过发送“遥控帧”请求其他单元发送数据。(6)错误检测功能·错误通知功能·错误恢复功能所有的单元都可以检测错误(错误检测功能)。检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止。(7)故障封闭CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。(8)连接CAN总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。3:应用二、智能节点1:CAN智能节点系统构成由于CAN总线采用多主方式工作,可挂多达110个节点,控制系统的构成由计算机和智能节点组成,如图1所示。与DCS控制系统不一样的是它的拓扑结构。不是所有的下位机都以上位机为中心,而是所有的节点(包括上位计算机)都以平等主体的形式挂接在总线上。因为CAN总线是1种多主站总线,从网络结构上来看,它比BITBUS更具有优越性。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括零位的插入/删除、数据块编码、循环冗余检验、优等级判别等项工作。CAN协议的最大特点是废除传统的站地址编码,而代之为对通信数据块进行编码。采用这种方法的优点还可使网络内的节点个数在理论上不受限制。这种数据块编码方式还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中是非常有用的。2:智能节点的特点智能节点能够采集现场数据,并根据接收到的命令或者主动将数据发送到CAN总线。通过事先设置验收码和验收屏蔽码可以控制智能节点从总线上接收哪些数据命令。如果某些数据需要进一步复杂的处理,则上位计算机可以从总线上接收数据。当上位机需要对某个节点施加控制动作时,可以采用点对点的方式与该节点通讯;而当它要同时对所有的节点施加控制动作时,可以采用广播方式将命令发送到总线。这样当系统正常运行时完全可以没有上位机的参与。大大减少了数据的传输量,同时提高了系统的实时性和可靠性3:CAN总线智能节点设计

1:硬件设计

本文中的CAN总线智能节点通信模块采用ARMSTM32F107芯片作为CAN节点的微处理器,在CAN总线通信接口中,采用一款带隔离的通用CAN收发器芯片CTM8251T。本着智能节点结构简单、易于扩展以及能稳定可靠地进行通信的设计目标,设计了CAN总线智能节点硬件电路原理图,如图1所示。从图中可以看出,电路主要由两部分构成:ARM微控制器STM32F107和通用CAN收发器CTM8251T[3]。STM32F107芯片是意法半导体公司推出的一款STM32互连型系列、内核为ARMCortex-M3的32位高性能微控制器。通用CAN收发器CTM8251T是用于CAN控制器和CAN总线之间的接口芯片,波特率是自适应的,其内部集成了所有通信必需的CAN隔离及CAN收发器件。此外,该芯片还具有自动热关断保护、未上电节点或者处于欠压状态的节点不会影响CAN总线、高压瞬态保护等特点。2软件设计软件调试环境采用ARM公司的ARM核处理器集成开发工具ADSv1.2。ADSv1.2集成了汇编、C、C++编译器和调试器,编译效率高,提供了功能强大的系统库,支持软件调式、JTAG仿真调试及硬件调试。本设计采用的是JTAG仿真调试。对于一般的32位ARM应用系统,在运行主程序前必须初始化运行环境,即为ARM芯片编写启动代码。该启动代码包括异常向量表、堆栈初始化、存储系统初始化和目标板初始化等,一般用汇编语言编写。对于该设计来说,关键的是编写CAN驱动程序。主程序只需通过调用驱动程序提供的接口来实现数据的接收和发送,驱动程序包括四部分内容:CAN控制器的初始化、接收数据、发送数据和总线异常处理。(1)CAN控制器初始化初始化CAN控制器的操作包括:硬件使能、软件复位、设备报警界限、设备总线波特率、设备中断工作方式、设备验收滤波器工作方式、设备工作模式并启动CAN等。(2)数据发送将待发送的数据打包成符合CAN协议的帧格式后,便可写入发送缓站区,并自动发送。在写发送缓冲区前必须查询其状态。LPC2294中的每个CAN控制器有三个发送缓冲区,它们的状态可通过查询CANSR得知。只有当其中有空间的发送缓冲区即才将数据写入。在发送大量数据时,这一步显得尤其重要,否则发送可靠性将不能保证。启动发送成功后,只能通过查询CANGSR的TCS位或配置发送成功中断来判断数据是否发送成功。(3)数据接收接收数据可采用查询方式或中断方式。在某一段时间内,CAN总线并不是总是在活动,为了提高效率,可采用中断方式。在初始化程序中必须使能接收中断。在中断服务子程序中,读取CANICR,判断是否有接收中断标志,有则读取接收缓冲区数据。为了防止接收缓冲区数据溢出,可开辟一个循环接收数据队列来暂时存储数据,主程序则通过查询该队列来获得总线数据。(4)异常情况处理在线总线发生严重故障的情况下,CAN节点有可能脱离总线,此时以下寄存器位被置位:CANSR的BS位、CANIR的BEI位和EI位(如果使能)和CANMOD的RM位。RM将许多CAN控制器功能复位和禁止。软件下一步必须置零RM位。发送错误计数器将递减计数总线释放条件(11个连续的隐性位)的第128个事情。软件可通过读取Tx错误计数器对计数器递减计数的情况进行监测。在应用中,若前面传输到CAN控制器的数据未被读出,而接收缓冲区又没有及时释放,就有可能引起后面信息的丢失。这时必须通过写命令寄存器来清除CANSR的数据溢出位。这两种异常可通过异常中断来处理,只要在中断子程序中加入处理代码即可。其它的总线异常处理可根据使用情况决定是否在软件中处理。结论CAN总线在组网和通信功能上的优点以及它的高性能价格比决定了它在许多领域都有广阔的应用前景和发展潜力。大型仪器设备系统复杂,对多种信息进行采集、处理、控制、输出等操作。根据国内外资料报道,CAN技术已应用于家用电器和智能楼宇以及小区建设中。如安防系统、抄表系统、家电控制等。它投资少,每个节点可以随机访问,通信速度完全满足要求,且在这类应用中数据交换量都很少。适当的网关如CAN与TCP/IP协议的转换,可以使一个居室或一栋大楼的现场CAN信息转变为Internet的形式外传,或反过来通过这类网关把外部网传来的信息转换为CAN的形式,此即实现了所谓的远程控制。参考文献[1]《ARM嵌入式开发系统与CAN总线》百度百科/ca/_01-ABC00000000000046537.shtml[2]《CAN总线协议讲解》百度百科第4,6页/view/7c3907ee172ded630a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论