用户中心

资讯 > 嵌入式系统

基于CAN总线分布式控制系统智能节点的设计

来源:中国工控网2006.09.15阅读 2082

  前言
  
  现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
  
  首先,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码控制工程网版权所有,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统www.cechina.cn,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;
  
  其次,CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CAN
H端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会出现象在RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能www.cechina.cn,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。
  
  而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是目前 CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。
  
   硬件电路设计
  
  
  CAN遵循ISO的标准模型,分为数据链路层和物理层。在工程上,这两层通常由CAN控制器和收发器实现的。当前,市面上有两种CAN总线器件可供选择:一种是带有片上CAN的微控制器,如P8XC591/2、87C196CA/CB、MC68376、PowerPC555等,使用这种集成器件方便用户制作印制板,电路图也更紧凑;另外一种是独立的CAN控制器,如Philips SJA1000、Intel公司82526以及MCP2510(具有SPI接口CONTROL ENGINEERING China版权所有,方便MCU连接)等, 使用独立的CAN控制器的潜在优势是,系统开发人员可以根据所需从众多种类的单片机中选择最理想的系统设计方案。
  
  作者设计的智能节点硬件电路图略(详见《电子产品世界》2002.10)。
  
  节点微控制器选用单片机80C196KC,CAN接口由独立控制器SJA1000和CAN控制器接口芯片82C250组成。SJA1000在软件上和引脚上都是与它的前款PCA82C200独立控制器兼容的,并增加了许多新功能:标准帧数据结构和扩展帧数据结构,并且这两种帧格作为式都具有单/双接收过滤器;64字节的接收FIFO;可读写访问的错误计数器和错误限制报警以及只听方式等等。
  
  
  SJA1000有两种工作模式:Basic CAN模式和PeliCAN模式,其中PeliCAN模式全面支持CAN2.0B协议。SJA1000作为微控制器的片外扩展芯片www.cechina.cn,其片选引脚CS接在微控制器的地址译码器上,从而决定了CAN控制器各寄存器的地址。SJA1000通过CAN控制器接口芯片82C250连接在物理总线上。82C250器件提供对总线的差动发送能力和对CAN控制器的差动接受能力,完全和“ISO11898”标准兼容。其引脚8允许选择三种不同的工作方式:高速、斜率控制和待机。在低速和总线长度较短时,一般采用斜率控制方式,限制上升和下降斜率,降低射频干扰,斜率可通过由引脚8至地连接的电阻进行控制。斜率正比于引脚8上的电流输出。为进一步提高系统抗干扰能力,在CAN控制器SJA1000和CAN控制器接口82C250之间加接6N137光电隔离芯片,并采用DC-DC变换器隔离电源。通信信号传输到导线的端点时会发生反射,反射信号会干扰正常信号的传输,因而总线两端接有终端电阻R1、R2,以消除反射信号,其阻值约等于传输电缆的特性阻抗。
  
   软件设计
  
  
  CAN总线节点要有效、实时地完成通信任务,软件的设计是关键,也是难点。它主要包括节点初始化程序、报文发送程序、报文接收程序 以及CAN总线出错处理程序等等。CAN控制器芯片SJA1000
























版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688