关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于SJA1000的CAN总线控制系统的设计与实现

基于SJA1000的CAN总线控制系统的设计与实现

作者: 时间:2010-03-30 来源:网络 收藏


(4)时将的CLOCKOUT的时钟信号接至AT89C51的时钟电路输入端,来作为AT89C51的外部时钟输入,从而解决了时钟同步问题:同时将中断输出信号/INT接至AT89C51的/INT0端,通过中断方式与AT89C51进行通信。

3系统软件

系统上电后首先对82C250和进行初始化。以确定工作主频、波特率、输出特性等,然后通过查询方式获取模数转换采样值,并把该值通过SJA1000传送到上由上位PC机来进行显示控制。而对来自上的信息则采用中断方式处理,系统每接收到一帧信息,便产生一次中断以触发微处理器进入中断模式,然后在中断服务程序中读取该帧信息并传送到现场。SJA1000的初始化程序如下:

MOV DPTR,#CR:控制寄存器CR的地址送DPTR
MOVA,#01H
MOVX@DPTR,A:进入复位模式
MOV DPTR,#CDR
MOVA,#00H
MOVX@DPTR,A:选择BASIC模式、时钟不输出
MOV A,#NODECODE
MOVX @DPTR,A;节点号NODECODE写入ACR
MOVX DPTR,#AMR
MOV A,#00H
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总线产品的基础。

本文引用地址://m.amcfsurvey.com/article/163182.htm

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭