基于AT91RM9200的CAN智能节点设计

发布者:码梦创想最新更新时间:2010-08-14 来源: 现代电子技术关键字:AT91RM9200  CAN  智能节点 手机看文章 扫描二维码
随时随地手机看文章

 

  近年来工业测控系统从传统的集中测量控制系统转向网络化的集散控制系统。随着现场总线技术高速发展和标准化程度的不断提高,以现场总线技术为基础的开放型集散测控系统得到广泛应用。总线是控制器局域网(controller area network,CAN)属于现场总线范畴,是一种能有效支持分布式控制的串行通信网络,可将挂接在现场总线上作为网络节点的智能设备连接成网络系统,并进一步构成集散测控系统。CAN智能节点位于传感器和执行机构所在的现场,在集散控制系统中起着承上启下的作用。一方面,它必须和上位机进行通信,以完成数据交换;另一方面,它根据系统的需要以完成测量与控制的功能。因此,CAN智能节点的设计在工业集散测控系统中有着十分重要的作用。本文将提出一种基于ARM9处理器AT91RM9200和CAN控制器MCP25lO构建的CAN智能节点的设计方案,并介绍了该方案的软硬件设计及调试方法。

1 硬件设计

  CAN智能节点的设计涉及2个方面:需要实现的功能;如何实现CAN通信。因此本文基于AT91RM9200和MCP2510提出的CAN智能节点的设计框架如图1所示。在此首先介绍主要芯片的特性,然后再说明智能节点的设计原理。

  1.1 芯片特性

  AT91RM9200是Atmel公司生产的一款ARM9处理器,它是完全围绕ARM920T ARM Thumb处理器构建的系统。它有丰富的系统与应用外设及标准的接口,从而为低功耗、低成本、高性能的计算机宽范围应用提供一个单片解决方案。

  MCP2510是由美国微芯科技有限公司(MicrochipTechnology Inc.)生产的一款带SPI接口的CAN协议控制器,完全支持CAN总线V2.0A/B技术规范;能够发送和接收标准和扩展报文,通信速率最高可达1 Mb/s,同时具备验收过滤以及报文管理功能;通过SPI接口与MCU进行通信,最高数据传输速率高达5 Mb/s;包含3个发送缓冲器和2个接收缓冲器,还具有灵活的中断管理能力。所有这些特点使得MCU对CAN总线的操作变得非常简单。PCA82C250是由Philips半导体公司生产的一款CAN收发器,是CAN协议控制器和物理传输线路之间的接口。它可以用高
达l Mb/s的位速率在2条有差动电压的总线电缆上传输数据。

  1.2 设计原理

  本文将CAN智能节点需要实现的功能统称为功能模块。由于AT91RM9200处理器具有丰富的系统与应用外设及标准的接口,因此根据应用的需要很容易就可实现功能模块的扩展。本文着重说明AT91RM9200处理器如何实现CAN总线的扩展。

  AT91RM9200处理器提供4个SPI接口。其中MOSI(主机输出从机输入)、MISO(主机输入从机输出)、SPCK(串行时钟)3个引脚信号由4个SPI接口共用;而4个片选信号NPCSO,NPCSl,NPCS2,NPCS3则用于分别选通4个SPI接口。而CAN控制器MCP2510的SPI接口引脚定义:SI(数据输入)、SO(数据输出)、SCK(时钟输入)、CS(片选输入)。该设计将AT91RM9200第二个SPI接口与MCP2510的SPI接口相连(MOSI←→SI,MIS0←→SO,SPCK←→SCK,NPCSl←→CS),从而建立了它们之间通信的桥梁。同时将MCP2510芯片的中断输出引脚INT与AT91RM9200芯片的中断输入引脚IRQ5相连,从而可将MCP2510芯片产生的中断(包括发送、接收、报文错误、总线活动唤醒、错误等中断)事件通知AT91RM9200处理器,让其作出相应的处理。

  CAN控制器MCP2510可以通过串行数据发送引脚(TXCAN)和串行数据接收引脚(RXCAN)直接连接到CAN收发器PCA82C250。该设计为了实现MC-P2510与PCA82C250之间的电流隔离,在它们之间放置了2个光耦。然而,在协议控制器和收发器之间使用光耦,通常会增加总线节点的循环延迟。光耦6N137的典型传播延时为60 ns,比较适合传输速率小于等于125 Kb/s时的中低速应用场合;而在传输速率在125 Kb/s~1 Mb/s的高速应用场合中,应考虑使用传播延时小于40 ns的高速光耦,如HCPL-7101。

  [page]

      CAN收发器PCA82C250通过有差动发送和接收功能的2个总线终端CANH和CANL连接到总线电缆。PCA82C250的输入引脚Rs通过外接电阻Rext到地,可以选择3种不同的工作模式。第1种是高速模式,支持最大的总线速度和/或长度;第2种是斜率模式,其输出转换速度可故意降低以减少电磁辐射;第3种是准备模式,其在电池供电并对功耗消耗非常低的应用非常适合。该设计将PCA82C250的引脚RS外接阻值为47 kΩ的电阻,从而使它工作在斜率模式,这样可以使用非屏蔽的总线电缆,降低系统的成本。但总线信号转换速率被故意减低了,因此该设计只能应用在传输速率小于等于125 Kb/s时的中低速应用场合,相应光耦选择6N137即可。

2 软件设计

  CAN智能节点软件设计主要包括2个方面:CAN通信和CAN节点功能模块的软件设计。CAN节点功能模块软件的实现因需求而异,在此不做介绍。本文着重介绍CAN通信软件的设计,它主要由3部分组成:CAN初始化、CAN发送数据、CAN接收数据。

  2.1 CAN初始化

  由图2(a)可知,CAN初始化主要包括PIOA端口初始化、SPI初始化、MCP2510初始化、中断初始化。

  现分别介绍如下:

  (1)PIOA端口初始化。由于AT91RM9200每个引脚可配置为通用功能I/O线或与1个或2个外设I/O复用的I/O线。因此必须通过软件配置PIOA端口:将PA0,PAl,PA2,PA4引脚分别定义为MISO,MOSI,SPCK,NPCSl,从而完成CAN智能节点SPI接口的定义;将PA3引脚定义为IRQ5,从而完成CAN智能节点中断信号的定义。

  (2)SPI初始化。通过PIOA端口初始化,只是完成SPI接口的引脚定义。为了使SPI接口能够正常工作,首先配置电源管理控制器(PMC)以使能SPI时钟;如果允许SPI中断请求,必须对高级中断控制器(AIC)进行配置;最后通过SPI的模式寄存器SPI_MR。指定SPI为主机模式、固定外设选择、SPI时钟为MCK、片选信号NPCSl有效;通过SPI的片选1寄存器SPI_CSRl指定SPCK时钟极性、时钟相位以支持MCP2510的(O,O)或(1,1)的SPI模式,指定SPI接口以8位数据进行传输匹配MCP2510的命令及数据格式,指定SPI的串行时钟波特率以匹配与MCP2510的通信。

 [page] 

      (3)MCP2510初始化。在完成PIOA端口、SPI初始化的基础上,即可按照图2(a)虚线框中的流程进行MCP2510初始化:首先必须使MCP2510进入配置模式;然后对MCP2510相关寄存器(位定时配置寄存器、接收滤波寄存器、接收屏蔽寄存器、引脚控制和状态寄存器)进行配置;最后使MCP2510进入正常模式。根据MCP2510提供的SPI命令集(读指令、写指令、请求发送指令、状态读指令、位修改指令、复位指令),可以通过对
AT91RM9200的SPI接收数据寄存器SPI_RDR,SPI发送数据寄存器SPI_TDR,SPI状态寄存器SPI_SR的操作实现相应的函数:McpRdByte(),Mcp-WrByte(),WriteRTS(),McpRdStatus(),BitModify(),McpReset()。软件通过这些基本的指令函数完成MCP2510相关寄存器的配置。

  (4)中断初始化。通过AT91RM9200的高级中断控制器(AIC),首先配置IRQ5中断的优先级为最高,中断触发类型为下降沿触发;接着将中断服务程序IRQ5_ISR()的地址设置到中断向量寄存器;最后使能IRQ5中断。

  2.2 CAN发送数据

  当完成CAN的初始化后,即可使用3个发送缓冲器发送报文数据。由图2(b)可知:在发送数据前,首先通过发送缓冲器N(N=O,1,2)控制寄存器TXBNCTRL终止报文发送,并设定发送缓冲器N报文发送的优先级;接着通过发送缓冲器N标准标识符高低位寄存器TXBNSIDH,TXBNSIDL设定标准标识符,如果报文采用扩展标识符,还需通过发送缓冲器N扩展标识符高低位寄存器TXBNEID8,TXBNEID0设定扩展标识符。当发送缓冲器N相关寄存器初始化后,发送任务处于休眠等待状态。一旦有数据需要发送,即可将需要发送的数据(每次最多8 B)存放在发送缓冲器N的数据寄存器TXBND7~TXlBND0,并且通过送缓冲器N的数据长度寄存器TXBNDLC设定每次发送的字节数,最后通过发送缓冲器N控制寄存器TXB-NCTRL启动数据发送。当数据发送完毕,发送任务又处于休眠等待状态。

  2.3 CAN接收数据

  当完成CAN的初始化后,即可使用两个接收缓冲器接收报文数据。由图2(c)可知:在接收数据前,首先通过接收缓冲器N(N=0,1)控制寄存器RXBNCTRL,设定接收缓冲器的工作模式为接收符合滤波条件的所有带扩展标识符或标准标识符的有效报文;如果允许MCP2510接收中断,还需通过中断使能寄存器CANINTE允许接收缓冲器N装入报文时产生中断。

  当接收缓冲器N相关寄存器初始化后,接收任务处于休眠等待状态。当接收任务通过轮询或中断方法发现需要接收数据时,它通过接收缓冲器N标准标识符高低位寄存器RXBNSIDH,RXBNSIDL获取标准标识符;如果收到的报文是扩展帧,可通过RXBNSIDL及接收缓冲器N扩展标识符中间、低位寄存器RXBNEID8,RXBNEIDO获取扩展标识符;通过接收缓冲器N数据长度码寄存器RXBNDLC获取接收到的数据字节个数,进而通过接收缓冲器N数据寄存器RBNDm7~RBNDm0获取接收报文中的数据信息。当数据接收完毕,接收任务又处于休眠等待状态。

3 软硬件调试

  当CAN智能节点的硬件和软件设计完毕,需要对其进行软、硬件的调试以验证其设计的正确性。CAN智能节点软、硬件调试按以下步骤依次进行:

  (1)CAN自发、自收功能调试。只要在CAN初始化过程完成MCP2510相关寄存器的配置,将MCP2510设置为环回模式,即可使MCP2510器件内部发送缓冲器和接收缓冲器之间进行报文自发、自收,而无需通过CAN总线。

  (2)CAN通信功能调试。按照图3所示方案进行CAN通信功能的调试。其中USB_CAN适配器采用武汉吉阳光电科技有限公司一款带有USB接口和1路CAN接口的GY8507 USB_CAN总线适配器。通过该适配器,PC可以通过USB接口连接一个标准CAN网络,从而与CAN智能节点通信。使用厂家提供的CANTools工具软件可以方便进行CAN智能节点数据的发送和接收调试。

  (3)CAN功能模块调试。由于CAN智能节点具体实现的功能各异,不详细介绍CAN功能模块的调试。

4 结语

  目前已完成CAN智能节点通信电路的软、硬件设计及调试,并成功将软件移植到VxWorks 5.5操作系统上运行。基于功能强大的AT91RM-9200处理器以及高可靠和强实时的VxWorks 5.5操作系统,容易构建出满足应用需求的CAN智能节点。

关键字:AT91RM9200  CAN  智能节点 引用地址:基于AT91RM9200的CAN智能节点设计

上一篇:ADSL模拟前端中低噪声高速运算放大器的应用
下一篇:基于USB2.0的高速图像传输系统设计

推荐阅读最新更新时间:2024-03-16 10:54

Canalys:2020年全球PC和平板电脑或出货3.678亿台
市调机构Canalys最新的预测显示,由于疫情所致使的经济衰退将导致2020年PC和平板电脑的销售大幅下降。 图源:Canalys官网 根据Canalys的数据,2020年全球PC和平板电脑的出货量将从2019年的3.956亿台下降7%至3.678亿台。不过Canalys并同时预计全球PC市场将在2021年保持平稳,并在2022年恢复2%的增长。 Canalys指出,中国的供应链和工厂已经恢复正常,这将满足远程办公和教育等细分市场中已被压抑的需求,因此2020年第二、三、四季度PC和平板电脑的出货量同比下降幅度将小于第一季度。尽管如此,疫情对全球经济的衰退影响仍不可忽视。 对于中国市场的出货情况,Canalys表示,到2020
[手机便携]
<font color='red'>Can</font>alys:2020年全球PC和平板电脑或出货3.678亿台
汽车电子CAN总线分布式控制系统应用方案
CAN总线是一种用于实时应用的串行通讯协议总线,为汽车行业而开发,以此取代昂贵而笨重的配电线束。 自出现以来,CAN总线在车辆的各个领域有着广泛的应用,包括货车、客车、火车、缆车、叉车和许多其它车辆。因为其实现了复杂的故障限制机制和控制算法,CAN协议如今是车辆内部网络通信的技术标准,而CAN总线是能够实现整车各电子控制装置之间的通讯数据转发的智能电控设备,也是所有车辆类型中汽车控制网络的灵活性强且性价比较高的解决方案。 CAN总线分布式控制系统 传统油车 主要使用CAN进行连接的电子控制模块包括引擎管理、悬置装置、巡航控制、传输、点火、HVAC、远距离信息技术和后照明等。汽车方面的应用包括两个类别:车身控制(针对乘客舒适
[嵌入式]
CANopen现场总线在吹塑机中的应用
  BEKUM公司吹塑机可以用于生产5mL~3.000L的任何形状的塑料制品。对于材料使用方面来说,它又具有很强的实用性和经济性。德国柏林的BEKUM股份公司在几年以前就和位于东德卡塞尔的PMA(过程机械自动化)公司合作,共同在CANopen现场总线的基础上研究开发出了开放式、分散控制的吹塑系统。       KunSTstoff-Hohlk的成本很低,但它具有广泛的用途并且能够生产出高质量的产品,例如:它可生产洗涤瓶、液体器皿、雨箱等。       分散控制自动化技术的优点       虽然BEKUM公司一直生产系列产品,但他们的重点还是放在了异型产品的生产上。从十九世纪中期开始,BEKUM公司就已在分散控制方面占有绝对的优势。B
[嵌入式]
RS-485串口设备如何升级为CAN接口?
1.概述 由于RS-485 串行通讯存在时间长,设计简单,成本低廉,所以在过去的工业自动化各个行业有着非常广泛的应用,并且在一定程度上还将继续被应用。所以大量的RS-485串行设备存在于生产生活的各种场合。   随着工业的智能化发展,各行业的工业自动化系统对通讯传输的距离、速度、节点数和可靠性等方面的要求都不断的提高,成倍数或者积数的增长。部分的RS-485的设备不得不进行淘汰和升级。   2.什么情况下RS-485串口设备需要升级CAN? 情况一:现有的串口通讯距离不够,或者网络节点容量不够,或增加设备的可靠性和抗干扰性,就需要升级CAN网络。   情况二:上位网络是CAN网络,为了接入上位系统,就需要
[嵌入式]
CAN总线位定时参数的确定
引言 CAN总线是一种有效支持分布式控制和实时控制的、多主的异步串行通信网络。由于CAN总线具有较强的纠错能力,支持差分收发,适合高噪声环境,具有较远的传输距离,并且Philips和Intel等半导体公司都有支持CAN通信协议的集成器件。CAN总线已经在各个领域中得到了广泛应用。 在CAN通信协议中规定,通信波特率、每个位周期的取样位置和个数,都可以自行设定。这样的设计理念,为用户在自己的应用中,优化网络通讯性能提供了空间。为了通过设定位定时参数来优化网络通信性能,必须清楚位定时参数与参考时钟误差和系统内信号延迟的关系。如果位周期内的取样位置偏后,将能够容忍较大的信号传输延迟,相应的,总线传输距离可以延长;而如果周期内的取样位置
[嵌入式]
防腐电源智能监控节点的设计
摘 要: 介绍了一种防腐电源智能监控节点的设计方法及相关的硬件电路,用以实现野外防腐电源的无人化监控与检测。研究了系统硬件结构、信号调理电路以及有关芯片与微处理器的接口电路,阐述了监控软件的设计思路。试验表明,该系统结构简单、成本低廉、性能可靠,能满足工业现场的需要。  金属发生腐蚀的现象随处可见。腐蚀给金属材料造成的直接和间接损失是巨大的,以至造成灾难性的破坏事故,引起严重的环境污染。研究表明,因腐蚀造成的损失一般占国民生产总值的3%~4%,其中约有15%是可以通过现有的防腐技术避免的,而阴极保护技术的发展又是与防腐技术的进步分不开的。   防腐电源是阴极保护技术中最为关键的设备。由于易腐蚀的金属构件大部分分布在野外或者
[模拟电子]
防腐电源<font color='red'>智能</font>监控<font color='red'>节点</font>的设计
CAN总线节点的可靠性设计
CAN总线通讯已经从汽车电子行业逐渐向各行各业铺开使用了,例如轨道交通、矿井监控等。在设计CAN总线接口电路时需要注意哪些问题呢? 对于提高CAN总线节点的可靠性而言,离不开隔离、总线阻抗匹配、总线保护等,在设计CAN节点时要注意这些点以提高总线电路可靠性和安全性。 一、隔离 信号隔离 隔离收发器可将总线和控制电路进行电气隔离,将高压阻挡在控制系统之外,可以有效地保证操作人员的人身及系统安全。不仅如此,隔离可以抑制由接地电势差、接地环路引起的各种共模干扰,保证总线在严重干扰和其它系统级噪声存在的情况下不间断、无差错运行。如图 1所示,使用隔离收发器后,可以有效防止形成地环路,总线参考地可跟随共模电压的波动而波动
[嵌入式]
<font color='red'>CAN</font>总线<font color='red'>节点</font>的可靠性设计
基于CAN总线的小水电多功能自动化装置的研发
1引言 目前我国众多小水电站的自动化水平落后,机电设备陈旧老化,安全事故频繁,自动控制系统的运行需要多人值班,进行设备的维护及事故处理,严重影响小水电的经济效益。近几年,多数小水电站要求进行自动化设备的技术改造,提高测控技术水平,降低事故率,提出尽可能少人值班或无人值班的要求。 总线技术的发展及应用,为解决以上问题带来方便。采用高速现场总线技术——CAN总线,可将小水电站多种测控系统的功能要求进行模块化多功能集中设计,构成基于CAN总线的小水电多功能一体测控装置。 2小水电站测控系统的特点及CAN总线的确定 2.1小水电站测控系统的特点 小水电站的测控系统主要有发电机组保护、转速测控、温度巡检、综合测控、同期控制、顺序控制、
[工业控制]
基于<font color='red'>CAN</font>总线的小水电多功能自动化装置的研发
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新安防电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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