kaiyun官方注册
您所在的位置: 首页> 通信与网络> 设计应用> 基于ADSP2181的CAN总线通讯设计
基于ADSP2181的CAN总线通讯设计
EEworld
EEworld
摘要:现在CAN总线除了被用于汽车系统内部的数据通讯与控制,他已在工业自动化、各种控制设备、交通工具、医疗...
关键词: ADSP2181 CAN总线通讯
Abstract:
Key words :

关键字:ADSP2181CAN总线 通讯

  现在CAN总线除了被用于汽车系统内部的数据通讯与控制,他已在工业自动化、各种控制设备、交通工具、医疗仪器以及建筑、环境控制等各领域得到广泛的应用。而这里被用于成套测井仪器中各仪器之间的数据通讯。

1 CAN与DSP的接口电路

  以ADSP2181和SJA1000芯片设计的接口电路如图1所示。图1中,用1片GAL16V8作为逻辑转换电路。为突出接口电路,其他部分从略。

ADSP2181和SJA1000芯片设计的接口电路

  用FM书写的设计文件如下:

用FM书写的设计文件

  2 波特率的设定

  BTR0和BTR1是总线定时寄存器,通过对这2个寄存器的设置可以惟一地确定波特率和同步跳转宽度。BTR0各位功能如图2所示。BTR1各位功能如图3所示。

BTR0和BTR1

  总线长度在40 m以内(满足这里的设计需求),CAN总线的位速率可达到1 Mb/s,这里需要的波特率为1Mb/s,晶体震荡频率为24MHz,设BTR0=00H,BTR1=18H,计算总线传输速率。由给定的BTR0和 BTR1可知:BRP.5,BRP.4,BRP.3,BRP.2,BRP.1和BRP.0以及TSEG2.1,TSEG2.0,TSEG1.3均为0;另外,TSEG2.2,TSEG1.2,TSEG1.1,TSEG1.0均为1。因此有:

公式

  而波特率为1/tB,即为1 Mb/s。

  3 初始化子程序

  SJA1000的初始化只有在复位模式下才可以进行。初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器AMR和接收代码寄存器ACR的设置、波特率参数设置和中断允许寄存器IER的设置等。在完成SJA1000的初始化设置以后,SJA1000就可以回到工作状态,进行正常的通信任务。下面提供SJA1000初始化的ADSP汇编源程序。程序中寄存器符号表示的是SJA1000相应寄存器占用的片外存储器地址,这些符号可在程序的头部用伪指令对其定义。需要注意的事SJA_PORT位I/O接口,其地址为0x0600。

初始化子程序

  4 结 语

  CAN总线已在测井仪器系统中得到初步的应用,随着测井事业发展的需求,由于其良好的性能,他的使用将会更为广泛和深入。

此内容为AET网站原创,未经授权禁止转载。
Baidu
map