微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > CAN总线节点电路的设计与实现

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

时间:08-03 来源:互联网 点击:
4 软件设计  

和硬件电路相比,软件的设计相对来说要复杂的多。而且,其中还涉及到有关通讯协议的问题,对于不同的控制系统、不同的功能要求,CAN总线通讯软件的差别很大,在此不可能一一列出。但是,对于基于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总线节点的一个模块,能够和仪器仪表等设备相结合,使其具有网络通讯的能力,有着广阔的应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top