首页 » 技术文章 » 基于ADSP2181的CAN总线通讯设计

基于ADSP2181的CAN总线通讯设计

作者:  时间:2009-04-29 16:11  来源:
现在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总线已在测井仪器系统中得到初步的应用,随着测井事业发展的需求,由于其良好的性能,他的使用将会更为广泛和深入。

相关推荐

Gartner:抢移动通讯市场 模拟设计是关键

通讯  模拟  2013-07-11

全球GDP改善2013年晶片市场可成长6%

通讯  晶片  CAGR  2012-11-28

周鸿祎:360不会做即时通讯 看好雷军的小米

通讯  小米  2012-09-11

单片机应用技术综述

单片机  总线  2011-06-28

硬件可靠性测试设计分析

可靠性  Buffer  总线  2011-03-28

首个国产高性能芯片“安徽造”填补国产化空白

DSP  物联网  通讯  魂芯一号  2011-03-18
在线研讨会
焦点