0 引 言
现场总线范畴中, CAN总线得到了核算机芯片商的广泛支撑,他们纷繁推出直接带有CAN接口的微处理器(MCU)芯片。带有CAN的MCU芯片总量现已到达1亿3千万片(不一定悉数用于CAN总线);因此在接口芯片技能方面,CAN现已遥遥领先于FF、PROFIBUS、LONWORKS等其它一切现场总线。
现场总线规范及其技能日益成为世界自动操控范畴重视的一大焦点,其原因是它改变了传统操控体系的结构,构成了全新的网络集成分布式操控体系。在我国,现场总线现已发展到推广运用阶段,我国现已成为各种现场总线剧烈抢夺的重要战场。因此研讨现场总线技能及其产品就显得尤为重要。
1 CAN总线技能的特色
CAN总线与其它通讯网的不同之处有二:一是报文传送中不包括方针地址,它是以全网播送为根底,各接纳站依据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不必。其优点是可在线上网下网、即插即用和多站接纳;二是特别强化了对数据安全性的重视,满意操控体系及其它较高数据要求的体系需求。CAN具有以下首要技能特性:
( 1)CAN遵照ISO/OSI模型,选用了其间的物理层、数据链路层与运用层。选用双绞线,通讯速率最高可到达1Mbps/40m,直接传输间隔最远可达10km/5kbps.同一段总线内最多可挂接110个设备。
( 2)CAN的信号传输选用短帧结构,每一帧有用字节数为8个。因此传输时间短,受搅扰的概率低。当节点发生严重错误时,具有自动封闭的功用,堵截该节点与总线的联络,使总线上其它节点不受影响,具有很强的抗搅扰才能。
( 3)CAN支撑多主工作方法,网络就任一节点均可在任何时候主意向其它节点发送信息,支撑点对点、一点对多点和大局播送方法接纳/发送数据,而优先级低的节点则自动中止发送,然后防止了总线抵触。
2 CAN总线接口硬件电路的规划
硬件电路的规划首要是 CAN通讯操控器与微处理器之间和CAN总线收发器与物理总线之间的接口电路的规划。CAN通讯操控器是CAN总线接口电路的中心,首要完结CAN的通讯协议,而CAN总线收发器的首要功用是增大通讯间隔,进步体系的瞬间抗搅扰才能,维护总线,下降射频搅扰(RFI),完成热防护等。
2.1 CAN节点中心器材及其挑选
现在广泛盛行的 CAN总线器材有两大类:一类是独立的CAN操控器,如82C200、SJA1000及Intel82526/82527等,另一类是带有在片CAN的微操控器,如P8XC582及16位微操控器87C196CA/CB等。本课题选取PHILIPS公司的SJA1000 CAN操控器以及82C250总线收发器,首要是考虑到SJA1000支撑CAN 2.0A/B规约。而82C250能够支撑110个CAN节点,而且国内市场上PHILIPS的产品型号比较多,购买比较便利。
2.2 CAN总线接口电路
SJA1000在电路中是一个总线接口芯片,经过它完成上位机与现场微处理器之间的数据通讯。该电路的首要功用是经过CAN总线接纳来自上位机的数据进行剖析组态然后下传给下位机的操控电路完成操控功用,当CAN总线接口接纳到下位机的上传数据,SJA1000就发生一个中止,引发微处理器发生中止,经过中止处理程序接纳每一帧信息并经过CAN总线上传给上位机进行剖析。AT89C51是CAN总线接口电路的中心,其承当CAN操控器的初始化、CAN的收发操控等使命。CAN总线接口框图见图1.
2.3 节点首要元件电路原理
接口首要元件电路原理图见图 2,在进行电路规划时应留意以下几点,不然达不到预期的作用。
( 1)总线两头有必要接两个终端匹配电阻R T ,疏忽掉它们,会使数据通讯的抗搅扰性及可靠性大大下降。
( 2)PCA82C250为CAN操控器和物理总线之间的接口,它能够供给向总线的差动发送才能和CAN操控器的差动接纳才能,TXD和RXD引脚别离发送经过驱动后的发送和接纳信号。其引脚8(R S )能够挑选2种不同的工作方法:把该引脚直接与地相连,体系将处于高速工作方法,在这种方法下,为防止射频搅扰,主张运用屏蔽电缆作总线;而在波特率较低,总线较短时,一般选用斜率操控方法,上升及下降的斜率取决于R S 的阻值,实践标明15-200k为R S 较抱负的取值规模,在这种方法下,能够运用双绞线作总线(本体系选用该工作方法)。
图 2 接口首要元件电路原理图
( 3)SJA1000的TX1脚悬空,RX1引脚的电位有必要维持在约0.5V CC 上,不然,将不能构成CAN协议要求的电平逻辑。因本体系传输间隔近,环境搅扰小,能够不必电流阻隔,这样能够直接把82C250的V REF 端(约为0.5V CC )与SJA1000的RX1相连,然后简化了电路。
( 4)规划时将SJA1000的CLOCKOUT的时钟信号接至AT89C51的时钟电路输入端,作为AT89C51的外部时钟输入,处理了时钟同步问题;SJA1000中止输出信号/INT接至AT89C51的/INT0端,经过中止方法与AT89C51通讯。