tag 标签: SJA1000

相关博文
  • 热度 23
    2013-12-14 21:47
    1483 次阅读|
    0 个评论
       0 引 言   众所周知,虽然目前8位单片机正逐渐被速度高,性能强的16位或32位微处理器所取代,但8位单片机仍以其低廉的价格、丰富的外围芯片以及众多的多功能产品而在低端应用市场占据主流地位。数字信号处理器(Digital Signal Processor,DSP)作为一种具有高速数字信号处理能力的新型单片机,在通信、自动控制、航天航空、军事、医疗等领域广泛应用。在比较复杂的测控系统中,如微机电动机保护装置,要求在毫秒级的短时间内对电动机实现实时保护和测量,所以对装置硬件系统的实时数据处理能力要求较高,而传统的基于单 CPU微处理器的方案己经难以胜任。因此,这里采用数字信号处理器与单片机构成的双CPU结构。由数字信号处理器完成多通道A/D转换、各种判据算法的运算等功能,而单片机作为整个装置的控制单元,主要负责实时时钟控制、参数管理、人机接口及串并行通信接口的控制等。这种双CPU结构充分发挥数字信号处理器与单片机各自的功能特点。其中,双CPU系统之间的数据通信可采用双口RAM、串行通信等方式,但这两种方式存在只能实现点对点通信,通信速度慢,可靠性差等缺点,不利于系统扩展。因而研究通信速度快,可靠性高,实时性强的CAN总线通信系统具有重要意义。    1 CAN总线介绍   控制器局域网络(Controller Area Network,CAN)是一种串行多主站控制器局域网总线。它具有很高的网络安全性、通信可靠性和实时性,而且简单实用,网络成本低,特别适用于环境温度恶劣、电磁辐射强和振动大的工业环境。CAN总线可有效支持分布式控制或实时控制。该总线的通信介质可以是双绞线、同轴电缆或光纤。其主要特点如下:   (1)CAN总线为多主站总线,各节点可在任意时刻向网络上的其他节点发送信息,且不分主从;   (2)CAN总线采用独特的非破坏性总线仲裁技术,高优先级节点优先传送数据,故实时性好;   (3)CAN总线具有点对点、一点对多点及全局广播传送数据的功能;   (4)CAN总线采用短帧结构,每帧有效字节数最多为8个,数据传输时间短,并有CRC及其他校验措施,数据出错率极低;   (5)CAN总线上某一节点出现严重错误时,可自动脱离总线,而总线上的其他操作不受影响;   (6)CAN总线系统扩充时,可直接将新节点挂在总线上,因而走线少,系统扩充容易,改型灵活;   (7)CAN总线的最大传输速率可达1 Mb/s,直接通信距离最远可达10 km(速率在5 Kb/s以下);   (8)CAN总线上的节点数取决于总线驱动电路,在标准帧(11位报文标识符)时,可达到110个,而在扩展帧(29位报文标识符)时,个数不受限。    2 单片机与数字信号处理器CAN通信系统接口电路设计   单片机与数字信号处理器种类较多,在研究其通信系统时,以广泛使用的MCS-51单片机以及适于运动控制的美国德州仪器(TI)公司TMS320LF2407为例进行研究。    2.1 单片机通信系统接口电路设计   MCS-51单片机组成CAN通信系统需要扩展CAN控制器,本系统采用的CAN控制器是SJA1000。SJA1000是PHILIPS公司生产的既支持CAN 2.0B,又支持CAN 2.0A的CAN控制器。与SJA1000配套使用的CAN总线驱动器是PCA82C250,它是PHILIPS推出的CAN控制器和物理总线接口芯片,可提供对总线的差分发送和接收。CAN模块总线控制器、总线驱动器连接基本方法如图1所示。为增强CAN总线节点的抗干扰能力,SJA1000通过高速光耦6N137后与PCA82C250相连,这样就能很好地实现本系统与CAN总线的电气隔离。电源的隔离采用小功率电源隔离模块。这些部分虽然增加了接口电路的复杂性,但是却提高了系统的稳定性和安全性。   TMS320LF2407内部集成一个完全的CAN控制器,但CAN控制器必须通过CAN驱动芯片才能与其他CAN控制器进行通信,这里采用 PCA82C250。因为TMS320LF2407用3.3 V供电,而PCA82C250用5 V供电。TMS320LF2407通过高速光耦6N137后与82C250相连,不仅增强了CAN总线节点的抗干扰能力,而且实现了电平转换。    3 数字信号处理器与单片机通信系统软件设计   数字信号处理器与单片机组成的CAN总线通信系统进行数据通信时,应约定通信协议,如帧格式、波特率、标识符等。各节点软件设计均包括数据发送和接收子程序以及CAN总线控制器初始化子程序。这里着重研究CAN总线控制器的初始化。    3.1 单片机通信系统软件设计   单片机CAN通信系统软件设计主要是指SJA1000总线控制器的初始化程序设计。   CAN总线控制器初始化程序主要是通过对SJA1000寄存器写入相应的控制字,从而确定SJA1000的工作方式。SJA1000需要初始化的寄存器有:模式寄存器MODE、时钟分频寄存器CDR、接收代码寄存器ACR、接收屏蔽寄存器AMR、中断使能寄存器IER、总线定时寄存器BTR、输出控制寄存器OCR等。其中,总线定时寄存器BTR的值决定CAN通信波特率,而波特率正确与否,是数字信号处理器与单片机实现CAN通信的关键。因为这些寄存器仅能在SJA1000复位期间进行写访问,因此在对这些寄存器初始化之前,必须确保系统进入复位状态,在初始化后,须清除复位请求位,使SJA1000返回正常运行状态,其初始化子程序如下:    3.2 数字信号处理器通信系统软件设计   在使用数字信号处理器CAN控制器前必须对它的一些内部寄存器进行设置,如对位定时器的设置及对邮箱进行初始化。位定时器主要由CANBCR1和CANBCR2两个寄存器组成,配置对位定时器也就是设置这两个寄存器,其值决定了CcAN控制器的通信波特率、同步跳转宽度、采样次数和重同步方式等。对邮箱初始化主要是对邮箱进行配置,设置邮箱的标识符以及接收滤波器的设置等。 CAN控制器初始化子程序如下:    4 结 语   单片机与数字信号处理器CAN总线通信系统实验过程中,发送端采用查询方式,接收端采用中断方式,利用键盘改变发送数据,接收端利用液晶显示器实时显示接收数据。反复试验表明,该系统工作稳定性较高;该系统硬件电路或软件程序稍加改动可用于单片机与数字信号处理器或数字信号处理器与数字信号处理器等双 CPU或多CPU测控系统中,且应用前景广阔。
相关资源
  • 所需E币: 1
    时间: 2021-4-13 15:15
    大小: 138.33KB
    上传者: ZHUANG
    CAN控制器SJA1000与DSP接口设计
  • 所需E币: 0
    时间: 2021-3-15 21:03
    大小: 192.08KB
    上传者: Goodluck2020
    SJA1000硬件电路设计.docx
  • 所需E币: 5
    时间: 2019-12-26 09:57
    大小: 718.67KB
    上传者: 微风DS
    SJA1000独立CAN控制器……
  • 所需E币: 3
    时间: 2019-12-25 21:37
    大小: 38.08KB
    上传者: rdg1993
    TMS320F2812是TI公司新推出的DSP芯片,内嵌CAN总线控制器eCAN模块(以下简称为eCAN),性能较已有的DSP(如TMS320C24x)内嵌的控制器有很大的提高;数据传输更加灵活方便,数据量较大,可靠性更高,功能更加完备。而SJA1000是Philips半导体公司推出的新型独立CAN控制器,是PCA82C200的替代产品,支持CAN2.0B协议,完全兼容CAN2.0A,是目前应用比较多的CAN独立控制器之一……
  • 所需E币: 3
    时间: 2019-12-25 15:54
    大小: 344.29KB
    上传者: 2iot
    本文介绍军用车辆综合电子信息系统中虚拟仪表内部的计算机上扩展的基于PCI总线的CAN接口卡及其VxWorks环境下驱动程序的设计.硬件设计方面介绍的主要内容是:PCI9052及其与PCI总线的连接,PCI9052与SJA1000的连接,SJA100...第29卷第4期电子器件V01.29No.4chille∞JournalOf2006年12月ElectronDevicesDec.2006Desi弘0fo蝌洲D瞅麒ledonPCIBllsandItsDl雨盯Develop删iIIv】圆№Z’HUXi72一^“n,HL7:f4NGLin7zg―Zi口,zg,A014Y乱,z―二ci口7zg,L工己厂Y≯60……
  • 所需E币: 4
    时间: 2019-12-24 23:12
    大小: 729.21KB
    上传者: 238112554_qq
    本应用笔记介绍了恩智浦LPC2000控制器CAN的完整的CAN驱动程序。AN10674NXPLPC2000CANdriverwithFullCANmodeRev.01―10January2008ApplicationnoteDocumentinformationInfoContentKeywordsApplicationNote,CANBus,FullCAN,LPC2000,ARM7,SJA1000AbstractThisapplicationnotedescribestheFullCANdriverroutinesfortheCANcontrollerofNXPLPC2000.AlsoprovidesthedemoprojectdevelopedunderKEILuVision3,usingevaluationboardMCB2300.ThisdemousedUART0forcommunicationwithPC,andprintCANtransferinformationwithTeratermterminal.NXPSemiconductorsAN10674……
  • 所需E币: 4
    时间: 2019-12-24 23:11
    大小: 1.12MB
    上传者: 238112554_qq
    本应用笔记介绍了飞利浦LPC2000系列CAN控制器硬件应用和CAN控制器的编程接口驱动程序。AN10438PhilipsLPC2000CANdriverRev.01―02March2006ApplicationnoteDocumentinformationInfoContentKeywordsCANBUS,MCU,LPC2000,ARM7,SJA1000AbstractThisapplicationnotedescribestheCANcontrollerhardwareapplicationprogramminginterfacedriverroutinesfortheCANcontrollerofPhilipsLPC2000.AlsoprovidesthedemoprojectdevelopedunderKEILuVision3withARMtoolsADS1.2,usingevaluationboardMCB210.ThisdemousedUART0forcommunicationwithPC,andprintCANcommunicationinformationwithHyperterminal.PhilipsSemiconductors……