|
CAN总线控制器与DSP的接口 现场总线是一种开放式、 数字化、多点通信的控制系统局域网络, 是当今自动化领域中最具有应用前景的技术之一。CAN总线是现场总线中的应用热点,CAN总线支持分布式控制和适时控制的串行通信网络。由于 CAN总线具有通信速率高、开放性好、报文短、纠错能力强以及控制简单、扩展能力强、系统成本低等特点,越来越受到人们的关注。基于CAN总线的CAN控制器具有完成CAN总线通信协议所要求的全部必要功能,因此CAN总线控制器与其它微处理器的接口成为设计CAN总线系统的首要工作。当前已有一些微处理器将CAN控制器嵌入到系统之中,成为在片的微处理器,例如P8XC592 (其内核即为80C51的CPU),MCS96系列中的 87C196CA、87C196CB等,TMS320系列中的在片CAN微控制器TMS320F2407、TMS320F2810/F2812,但是仍有大量人们比较熟悉的微处理器并不带有CAN控制器。本文讨论这些微处理器与CAN控制器的接口问题,重点介绍CAN控制器与TMS320系列DSP的接口方法和接口电路。 1.CAN控制器的接口信号和时序 CAN控制器(以PCX82C200或SJA1000为例)提供的微处理器的接口信号主要有AD0~AD7共8根地址数据线和ALE、
表1 SJA1000引脚定义 从引脚定义和时序关系可知CAN控制器提供了与INTEL和MOTOROLA方式的直接接口信号,其中INTEL方式对于目前流行的51/96系列单片机 来说提供了方便快捷的直接接口设计。 2.DSP的接口信号和时序 DSP芯片以TI公司生产的TMS320系列产品为国内的主流产品,TMS320系列产品至今已经历了若干代,有'C1X、'C2X、'C2XX、'C5X、 'C54X、'C62X等定点DSP,有'C3X、'C4X、'C67X等浮点DSP和'C8X多处理器DSP。DSP采用了先进的哈佛结构,内部采用多总线结构和流水线的工作方式,从而大大地提高了系统的运行速度和数字信号的处理能力,DSP的指令执行时间在ns数量级,内部程序和数据存储器目前已达几十K字,并带有内部的硬件乘法器,这些都为DSP提供了广阔的应用空间。 DSP芯片的片外引脚一般采用地址线和数据线分离的设计方法,不再使用地址数据分时复用线,也没有ALE地址有效信号,这样就给CAN 控制器与DSP的接口带来一定困难,且不同的DSP芯片外部引脚和时序也略有区别。要设计CAN 控制器与DSP的接口,首先必须讨论一下DSP的时序,下面以DSP中较流行的TMS320LF2407和TMS320VC5402为例进行讨论。 2.1 TMS320LF2407 DSP的I/O时序 DSP的存储器分为三个空间:程序存储器空间、数据存储器空间和I/O空间。I/O空间有专用的的输入指令PORTR和输出指令PORTW以及专
用的I/O空间选择信号 2.2 TMS320VC5402 DSP的I/O时序 TMS320VC5402与TMS320LF2407一样,用 2.3 DSP的I/O时序分析 I/O的输入或输出工作周期内完成,在此期间, 3 CAN控制器与DSP的接口设计方法 从以上分析可以看到,TMS320系列DSP没有提供与SJA1000 CAN控制器的直接接口信号,以SJA1000的INTEL方式为例,为了使TMS320系列DSP满足SJA1000的接口信号要求,可以从以下几点进行设计。 3.1 地址数据复用线的设计 将DSP的数据线D0~D7作为CAN的地址/数据复用线,用DSP的数据线去选择CAN的内部端口和传送数据。 3.2 地址有效信号ALE的产生 对于TMS320LF2407,用地址线A0、写选通信号 3.3 读写信号的产生
对于TMS320LF2407,用读信号和A0的逻辑组合产生SJA1000的读选通信号,用写信号和A0的逻辑组合产生SJA1000
的写选通信号。对于TMS320VC5402,则用A0、
表2 TMS320LF2407和TMS320VC5402与SJA1000接口逻辑 3.4 片选信号的产生 用DSP的I/O空间选通信号 从以上的设计思想可以看到,这种方法是将DSP的数据线改为适应CAN控制器的数据地址线。为此将DSP的A0作为地址数据选择线。A0=1 时,地址有效;A0=0时,数据有效。即用奇数地址选择端口,用偶数地址传送数据。同时,通过信号的逻辑组合,在地址有效期间不产生读写信号,而是产生满足CAN的地址有效信号ALE;在数据有效期间产生满足CAN的读和写逻辑信号时序。 4 CAN与DSP的接口电路 以TMS320VC5402与SJA1000芯片为例设计的接口电路图略(详见《电子技术应用》2002.11)。图中,用一片GAL16V8B作为接口逻辑转换电路。为突出接口电路,其它部分从略。 摘编自《电子技术应用》2002.11 |