java怎么拦截某个对象
390
2022-11-02
采用CAN总线控制器SJA1000实现控制电路接口的设计
引言
1 、CAN总线的主要特性
CAN总线与其它通信网的不同之处有二:一是报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符来过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接收;二是特别强化数据安全,可满足控制系统及其它较高数据要求的系统需求。CAN具有以下主要技术特性:
(1)CAN遵从ISO模型,采用了其中的物理层、数据链路层与应用层。采用双绞线,通信速率最高可达到1 Mbps/40 m,直接传输距离最远可达10 kin/5 kbps。同一段总线内最多可挂接110个设备。
(2)CAN的信号传输采用短帧结构,每一帧有效字节数为8个。因而传输时间短,受干扰的概率低。当节点发生严重错误时,CAN可自动关闭该节点,同时切断与总线的联系,以使总线上其它节点不受影响,因此CAN总线具有很强的抗干扰能力。
(3)CAN可支持多主工作方式,网络上任一节点在任何时候均可主动向其它节点发送信息,同时也支持点对点、一点对多点和全局广播方式来接收/发送数据。处于优先级低的节点会主动停止发送,以此来避免总线冲突。
2.1 CAN总线接口电路
2.2设计注意事项
在进行电路设计时应注意以下几点:
系统上电后首先对82C250和SJA1000进行初始化。以确定工作主频、波特率、输出特性等,然后通过查询方式获取模数转换采样值,并把该值通过SJA1000传送到CAN总线上由上位PC机来进行显示控制。而对来自CAN总线上的信息则采用中断方式处理,系统每接收到一帧信息,便产生一次中断以触发微处理器进入中断模式,然后在中断服务程序中读取该帧信息并传送到现场。SJA1000的初始化程序如下:
MOV DPTR,#CR:控制寄存器CR的地址送DPTR
MOVA,#01H
MOVX@DPTR,A:进入复位模式
MOV DPTR,#CDR
MOVA,#00H
MOV A,#NODECODE
MOVX @DPTR,A;节点号NODECODE写入ACR
MOVX DPTR,#AMR
MOV A,#00H [page]
MOV @DPTR,A;AMR置为0,当且仅当RXID0=ACR时接收数据
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、结束语
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~