新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CAN总线节点电路的设计与实现

CAN总线节点电路的设计与实现

作者:时间:2013-04-06来源:网络收藏


图 1 原理图

(1)SJA1000并没有和单片机共用复位电路,而是通过单片机的一I/O口来控制,这样,SJA1000的复位就可以方便地由单片机通过软件来控制。

(2)SJA1000的地址/数据端和单片机的P0口相连时,不需要再加锁存器,因为它内部已经有地址锁存功能。

(3)SJA1000 的TX1 脚悬空, RX1 引脚的电位必须维持在约0.5VCC上, 否则将不能形成 协议所要求的逻辑电平。

(4)总线上电阻R3、R4一定不能省略,它们对匹配总线阻抗起着相当重要的作用,如果去掉它们,系统通讯的可靠性和抗干扰能力就会大大降低,甚至不能正常工作。

4 软件设计

和硬件电路相比,软件的设计相对来说要复杂的多。而且,其中还涉及到有关通讯协议的问题,对于不同的控制系统、不同的功能要求,总线通讯软件的差别很大,在此不可能一一列出。但是,对于基于SJA1000的CAN总线系统,它们开始时都必须对SJA1000进行初始化,而这种初始化的流程是基本一致的。下面给出用汇编语言编制的SJA1000的初始化程序,假设SJA1000的首地址为0100H,其中设置波特率的有关参数是针对晶振为12M,波特率为500Kbit/s计算出来的。另外,在整个CAN总线系统中,所有节点设置的波特率必须一致,否则,系统就不能正常工作。

MODE EQU 0100H

BTR0 EQU MODE+6

BTR1 EQU MODE+7

ACR0 EQU MODE+16

AMR0 EQU MODE+20

OCR EQU MODE+8

RBSA EQU MODE+30

CDR EQU MODE+31

MOV A,#01H

MOV DPTR,#MODE

MOVX @DPTR,A

MOV A,#0C0H

MOV DPTR,# CDR

MOVX @DPTR,A

MOV A,#1AH

MOV DPTR,# OCR

MOVX @DPTR,A

MOV A,#85H

MOV DPTR,# BTR0

MOVX @DPTR,A

MOV A,#0B4H

MOV DPTR,# BTR1

MOVX @DPTR,A

MOV A,#00H

MOV DPTR,# RBSA

MOVX @DPTR,A

MOV A,#0FFH

MOV DPTR,# AMR0

MOV R0,#04H

BEGIN10:MOVX @DPTR,A

INC DPTR

DJNZ R0,BEGIN10

MOV A,#00H

MOV DPTR,#MODE

MOVX @DPTR,A

5 结束语

CAN 具有较强的纠错能力,适用于高噪声环境, 并具有较远的传输距离, 现已广泛应用于许多领域,该设计作为CAN的一个模块,能够和仪器仪表等设备相结合,使其具有网络通讯的能力,有着广阔的应用前景。


上一页 1 2 下一页

关键词: CAN 总线节点 PCA82C250

评论


技术专区

关闭