您的位置 首页 IC

根据单片机和CAN控制器和CAN收发器完成多机体系体系的规划

基于单片机和CAN控制器和CAN收发器实现多机系统系统的设计-关于单片机的多机通信,许多文章及相关书籍都有介绍,但就其多机通信的方式而言大多为“主从式”,这一通信方式限制了单片机功能的发挥及广泛的应用。利用巧秒的硬件手段实现了单片机多机之间的“对等式”通信,但其通信方式实质上仍是“主从式”。本文介绍了一种基于CAN控制器的单片机多机系统,从本质上实现了任意两机之间直接相互通信,从而克服了“主从式”多机通信的缺点。

关于单片机的多机通讯,许多文章及相关书本都有介绍,但就其多机通讯的方法而言大多为“主从式”,这一通讯方法约束了单片机功用的发挥及广泛的使用。使用巧秒的硬件手法完结了单片机多机之间的“对等式”通讯,但其通讯方法实质上仍是“主从式”。本文介绍了一种根据CAN操控器的单片机多机体系,从本质上完结了恣意两机之间直接彼此通讯,然后克服了“主从式”多机通讯的缺陷。

1、CAN技能简介

CAN(Controller Area Net)即操控器局域网,是首要用于各种进程(设备)监测及操控的一种网络。CAN开始是则德国BOSCH公司为轿车的监测、操控体系而规划的。因为CAN具有杰出的特性的极高的牢靠必,特别适合于工业进程中监控设备的互连,因而,越来越遭到工业界的注重。具本来说,CAN具有如下特性:

(1) CAN能够多主方法作业,网络上恣意一个节点均能够在恣意时间主动地向网络上的其他节发送信息,而不分主从,通讯方法灵敏;

(2) CAN能够点对点、点对多点(成组)及大局播送方法传送接纳数据;

(3) CAN网络上的节点信息可分红不同的优先级,能够满意不同的实时要求;

(4) CAN选用非破坏性总线仲载技能。当两个节点是向网络上发送数据时,优先级低的点主动中止数据发送,而优先级高的节点可不受影响地持续传输数据,大大地节省了总线仲载抵触时间,在网络负载很重的状况下也不会呈现网络瘫痪;

(5) CAN的直接通讯间隔最大可达10km(速率小于5kbps),最高通信速率可达1Mkbps(此刻间隔最长为40m)。

2、根据CAN操控器的对等式单片机体系软硬件规划

2.1 体系硬件规划

2.1.1 体系组成原理及通讯进程

所谓对等式通讯,便是单片机多机体系中任一节均可主动地与其它节点直接交流数据,而无须经过第三方。从此视点动身,咱们规划的根据CAN操控顺的单片机多机体系组成如图1所示。

根据单片机和CAN操控器和CAN收发器完结多机体系体系的规划

体系中的每个节点由单片机、CAN操控器、CAN收发器组成。单片机首要用于体系的核算及信息处理等功用;CAN操控器首要用于体系的通讯;CAN收发器首要用于增强体系的驱动才能。体系的发送进程是:单片机将外围设备或其他节点传送过来的信息处理后,按CAN标准规则的格局将其写入CAN操控器的发关缓冲区,并发动发送指令,把数据发送到CAN总线上;接纳进程是:CAN操控器从CAN总线上主动接纳数据,并经过滤后存入CAN接纳缓冲区,且向单片机宣布中止恳求,此刻单片机可从CAN挡收缓冲区读要接纳的数据。

2.1.2 体系节点的硬件规划举例

图2是所研发的低成本农业温度操控体系中与本文相关部分的硬件电路图。

规划是应留意以下几点:

(1) 总线两头各有一个120Ω的电阻,关于匹配总线阻抗起着适当重要的效果。不然,数据通讯的抗干扰性及牢靠性大大下降,乃至无法通讯。

(2) 为了CAN与单片机之间时序的同步,一般选用CAN操控器给单片机供给时钟信号,此刻时钟信号对CHMOS型单片机应接XTALI引脚,对HMOS型单片机接XTAL2引脚。

(3) 若CAN收发缓冲器选用集成元器件,则RX1脚应接地,且CDR位应置逻辑1。不然,RXI引脚电位必需保持在内2.5V以上,且CDR寄存器中的CBP位应置逻辑0,以构成CAN要求的逻辑电平。

2.2 体系软件规划

体系软件规划的关键是通讯程序的规划。通讯软件由三部分组成:初如化程序、发送程序、接纳程序。因为体系中恣意一节点在恣意时间均可主动与其它节点通讯,所以,各世点的通讯程序相同。

2.2.1 初始化程序

初始化程序首要是经过对CAN操控器操控段中的寄存储器写入操控字然后确认CAN操控器作业方法等。有三种方法进入初始化调和:一是上电复位;二是硬件复位;三是软件复位,即运转期间经过给CAN操控器发一个复位恳求,置复位恳求位为1。在复位期间,必需初始化的寄存器有:MR(PeliCAN形式)形式寄存器、CDR时分寄存器、ACR接纳代码寄存器、MAR屏蔽寄存器、BTR总线守时寄存器、OCR输出操控寄存器。需求留意的是,这些寄存器仅能在复位期间可写拜访。因而,在对这些寄存器初始化前,有必要保证体系进入了复位状况。初始化程序的流程图如图3所示。

2.2.2 发送程序

信息从CAN操控器发送到CAN总线是由CAN发掘器主动完结的。发送程序只需把发送的信息帧送到CAN的发送缓冲区,且发动发送指令即可。发送程序可选用查询方法或中止方法比较简单,这儿仅评论中止方法发送程序的规划。关于中止方法,发送程序分为两部分:一是主程序;二是中止服务程序。主程序首要用于操控信息发送及当发送缓冲区满时,把发送的信息暂存到暂时存储区;中止发送程序担任把暂时存储区的暂存信息发送出去。两者的流程图如图别离见图4、图5。

2.2.3 接纳程序

信息从CAN总线到CAN接纳缓冲区是由CAN操控器主动完结的。接纳程序只需从接纳缓冲区读取要接的信息即可。接纳程序也可选用查询方法或中止方法,两者的繁简程度适当,此处经查询方法为例给出接纳程序的流程图(见图6)。

以上给出的流程图均为一般性流程图。在使用时应结合实际项目具体化,而且发送程序中或许会有应急处理,接纳程序中会有数据过载状况。限于篇幅,此处不予以评论。

根据CAN操控器的单片机多机通讯体系,因为其通讯效率高、抗干扰性强、传输间隔较远,适合于中小型分布式操控体系,且因为其价格低廉,在低成本主动化范畴有着广泛的使用空间。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/93962.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部