快捷搜索:  as  www.ymwears.cn  test

采用CAN总线控制器SJA1000实现控制电路接口的设计

小序

CAN-bus(Controller Area Network)即节制器局域网是国际上利用最广泛的现场总线之一。最初CAN-bus被设计作为汽车情况中的微节制器通讯对象,用于在车载各电子节制装配ECU之间互换信息,从而形成汽车电子节制收集。如今,CAN-bus作为一种技巧先辈、靠得住性高、功能完善、资源合理的远程收集通讯节制要领,已被广泛利用到各个自动化节制系统中。而且CAN-bus总线在通信能力、靠得住性、实时性、机动性、易用性、传输间隔等方面较RS-485总线有着显着的上风。因而用CAN总线取代RS-485总线将是大年夜势所趋。

1 、CAN总线的主要特点

CAN总线与其它通信网的不合之处有二:一是报文传送中不包孕目标地址,它因此全网广播为根基,各接管站根据报文中反应数据性子的标识符来过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接管;二是分外强化数据安然,可满意节制系统及其它较高数据要求的系统需求。CAN具有以下主要技巧特点:

(1)CAN服从ISO模型,采纳了此中的物理层、数据链路层与利用层。采纳双绞线,通信速度最高可达到1 Mbps/40 m,直接传输间隔最远可达10 kin/5 kbps。同一段总线内最多可挂接110个设备。

(2)CAN的旌旗灯号传输采纳短帧布局,每一帧有效字节数为8个。因而传输光阴短,受滋扰的概率低。当节点发生严重差错时,CAN可自动关闭该节点,同时堵截与总线的联系,以使总线上其它节点不受影响,是以CAN总线具有很强的抗滋扰能力。

(3)CAN可支持多主事情要领,收集上任一节点在任何时刻均可主动向其它节点发送信息,同时也支持点对点、一点对多点和全局广播要领来接管/发送数据。处于优先级低的节点会主动竣事发送,以此来避免总线冲突。

2 、CAN总线接口硬件电路的设计

硬件电路的设计主如果CAN通信节制器与微处置惩罚器之间和CAN总线收发器与物理总线之间的接口电路的设计。CAN通信节制器是CAN总线接口电路的核心,主要完成CAN的通信协议,而CAN总线收发器的主要功能是增大年夜通信间隔,前进系统的瞬间抗滋扰能力,保护总线,低落射频滋扰(RFI),实现热防护等。

2.1 CAN总线接口电路

SJA1000硬件接口道理图如图l所示。图中,CAN总线节制器SJA1000的ADO-AD7连接到AT89C51的P0口。片选端CS取反后连接到AT89C51的P2.7,当P2.7为1时,CPU片外存储器地址可选中SJA1000。CPU经由过程这些地址可对SJA1000履行响应的读/写操作(即:SJA1000首地址为8000H)。SJA1000的RD、WR、ALE分手与AT89C51的对应引脚相连。因为SJA1000是低电平复位,而AT89C51是高电平复位,以是两者的复位端接法不合。别的,当SJA1000的11脚MODE接高电日常平凡,可选择Intel二分频模式。SJA1000的16脚(INT)是中断旌旗灯号输出端,在中断容许的环境下,有中断发生时,16脚会输出由高电平到低电平的跳变,是以将AT89C51的外部中断输入脚(INT0)与该脚相连接,即可经由过程中断要领来造访SJA1000。为了增强CAN总线节点的抗滋扰能力,本设计采纳SJA1000的具有光电隔离的CAN总线接口。SJA1000的发送输出端TX0与接管输入端RXO、RX1分手经高速集成光电耦合器6N137隔离后,与CAN总线接口驱动芯片82C250的TXD和RXD相连,82C250直接与CAN物理总线相连。CAN总线驱动器PCA82C250是CAN节制器和物理总线之间的接口,具有可向总线的差动发送数据和CAN节制器的差动接管数据的功能。

2.2设计留意事变

在进行电路设计时应留意以下几点:

(1)总线两端必须接两个终端匹配电阻Rs,若轻忽掉落它们,会使数据通信的抗滋扰性及靠得住性大年夜大年夜低落。

(3)SJA1000的TX1脚悬空时,RX1引脚的电位必须保持在约0.5Vcc上,否则,将不能形成CAN协议所要求的电平逻辑。因本系统传输间隔近,情况滋扰小,可以不用电流隔离,这样可以直接把82C250的Vref端(约为0.5 Vcc)与SJA1000的RX1相连,从而简化了电路设计。

(4)设计时将SJA1000的CLOCKOUT的时钟旌旗灯号接至AT89C51的时钟电路输入端,来作为AT89C51的外部时钟输入,从而办理了时钟同步问题:同时将SJA1000中断输出旌旗灯号/INT接至AT89C51的/INT0端,经由过程中断要领与AT89C51进行通信。

3、系统软件设计

系统上电后首先对82C250和SJA1000进行初始化。以确定事情主频、波特率、输出特点等,然后经由过程查询要领获取模数转换采样值,并把该值经由过程SJA1000传送到CAN总线上由上位PC机来进行显示节制。而对来自CAN总线上的信息则采纳中断要领处置惩罚,系统每接管到一帧信息,便孕育发生一次中断以触发微处置惩罚器进入中断模式,然后在中断办事法度榜样中读取该帧信息并传送到现场。SJA1000的初始化法度榜样如下:

MOV DPTR,#CR:节制寄存器CR的地址送DPTR

MOVA,#01H

MOVX@DPTR,A:进入复位模式

MOV DPTR,#CDR

MOVA,#00H

MOVX@DPTR,A:选择BASIC CAN模式、时钟不输出

MOV A,#NODECODE

MOVX @DPTR,A;节点号NODECODE写入ACR

MOVX DPTR,#AMR

MOV A,#00H [page]

MOV @DPTR,A;AMR置为0,当且仅当RXID0=ACR时接管数据

MOV DPTR,#BTR0;设定总线时序寄存器BTR0,系统采纳12 MHz晶振

MOV A,#85H;分频后总线时钟频率为2MHz

MOVX @DPTR,A;同步跳转宽度为3tscl

MOV DPTR,#BTR1;设定总线时序寄存器BTR1

MOV A,#OB4H:位同步光阴为1个tsc1,采样开始位置TSEG1=5tsc1

MOVX @DPTR,A;TSEG2=4tsc1,每一位光阴10tsc1(200 kHz),每位采样3次

MOV DPTR,#OCR;设置输出节制寄存器

MOV A,#1AH:数据从TX0按正常输出模式同极性输出

MOV @DPTR,A;TX1不用

MOV DPTR,#CR;初始化完成,使节制器退出复位模式,进入事情模式事情。

MOV A,#06H

MOV @DPTR,A

SJA1000在颠末初始化后便开始接管或发送数据,其法度榜样流程分手如图2和图3所示。

4、停止语

该接口电路在经DP-51H单片机通讯仿真实验仪的调试后,结果注解它能模拟实现通信功能,且其抗滋扰机能精良,通信速度较高,电路也对照简单,是开拓与利用其它CAN总线产品的根基。

责任编辑:gt

您可能还会对下面的文章感兴趣: