位置:51电子网 » 技术资料 » 接口电路

SHARC DSP与SJA1000的CAN总线接口设计

发布时间:2008/6/3 0:00:00 访问次数:452

摘 要: 本文讨论了dsp与can控制器sja1000的总线接口的差别,提出了sja1000和sharc系列dsp接口设计的简单方法和通用方法。测试表明,这种方法的稳定性好,传输效率高。
关键词: sharc dsp; sja1000; can现场总线

引言
当前,有一些微处理器将can控制器嵌入到系统之中,但是仍有大量人们比较熟悉的微处理器并不带有can控制器。采用微处理器和can控制器组合的设计成为必要,而且,can控制器具有完成can总线通信协议所要求的全部必要功能,因此,can控制器与其它微处理器的接口设计成为设计can总线系统的首要工作。本文重点介绍以sharc dsp为核心的、基于sja1000的can总线接口设计。


图1 sja1000和can总线的连接

图2 adsp21062和sja1000的简化设计图


图3 基于cpld的adsp21062和sja1000设计图


图4 cpld的逻辑图

sja1000简介
sja1000是一种独立的can控制器,用于移动目标和一般工业环境中的控制器局域网络(can)。它是philips公司早期can控制器pca82c200(basic can)的替代品,而且增加了一种新的工作模式(pelican),这种模式支持具有很多新功能的can2.0b协议。

sja1000与微处理器的接口主要由8根数据和地址分时复用线完成:ad0~ad7、ale/as、、/e、、、mode和,其中mode为接口方式选择信号,可设置成intel方式或motorola方式。两者的区别在于:intel模式下,处理器对sja1000写时,用、作为读、写数据信号,ale下降沿锁存地址(此时地址信号要保证基本的建立保持时间),仅在读、写数据时为低;motorola模式下,读、写信号用区分(高电平读、低电平写),用/e选通数据(下降沿锁存),as和cs类似于intel的ale和。目前流行的mcs51/96系列单片机提供了方便快捷的直接intel方式接口,出于普遍性的考虑,本文以下的接口设计都是基于intel模式的。

dsp的接口信号和时序
与早期的处理器不同,dsp芯片的片外引脚都采用地址线和数据线分离的设计方法,不再使用地址数据分时复用线,也没有ale信号,这样就给can控制器与dsp的接口带来一定困难,且不同的dsp外部引脚和时序也略有区别。要设计can控制器与dsp的接口,首先必须比较dsp与can控制器的时序。
本文选用的dsp为adsp21062,主频为40mhz,单周期(零等待)访问存储器时,要求存储器的响应(读或写)周期小于17ns,但许多存储器或外设的响应速度没有这么快,于是就要通过加等待来延长访问时间。adsp2106x支持两种等待方式,即内等待(软等待)和外等待(硬等待)。
  
sja1000和can总线的连接
选择82c250作为收发器,选择6n137高速光电隔离器实现系统和can总线的隔离。其连接方法如图1所示。这种设计既能做好电气隔离,又能保证数据的传输速度。

can控制器与dsp的接口设计方法
sja1000的数据和地址信号为分时复用,而dsp为数据、地址信号分离的结构,而且dsp不提供ale信号,设计的关键就是dsp要把sja1000的地址当成数据写入并同时产生ale信号。分析读写信号所要求的最短有效时间,由于读低电平到数据有效的时间最长为50ns,所以要保证读信号有效时间至少50ns,adsp21062在用2个软等待时,其低电平时间为62.5ns(25ns/2+2×25ns),刚好能满足要求。

adsp21062和sja1000接口的简化设计
在外围设备连接不多的情况下,接口电路可以使用几个逻辑门实现。由于访问外部数据时,数据总线的低16位未用,所以使用的数据线从data16起始。当flag1=1时,sja1000的wr始终为1,其ale为dsp的wr的反向,当dsp把地址当成数据写入sja1000时,低电平dsp的wr信号会转换成高电平的ale,并在ale的下降沿把数据锁存。当flag1=0时,ale始终为0,无地址锁存操作。sja1000的wr直接受dsp的wr信号控制。由flag2直接控制cs。其连接如图2所示。  

adsp21062和sja1000简化接口设计的相应程序如下:
1) #define canaddr 0x400000
2) bit set mode2 flg1o|flg2o;
/

摘 要: 本文讨论了dsp与can控制器sja1000的总线接口的差别,提出了sja1000和sharc系列dsp接口设计的简单方法和通用方法。测试表明,这种方法的稳定性好,传输效率高。
关键词: sharc dsp; sja1000; can现场总线

引言
当前,有一些微处理器将can控制器嵌入到系统之中,但是仍有大量人们比较熟悉的微处理器并不带有can控制器。采用微处理器和can控制器组合的设计成为必要,而且,can控制器具有完成can总线通信协议所要求的全部必要功能,因此,can控制器与其它微处理器的接口设计成为设计can总线系统的首要工作。本文重点介绍以sharc dsp为核心的、基于sja1000的can总线接口设计。


图1 sja1000和can总线的连接

图2 adsp21062和sja1000的简化设计图


图3 基于cpld的adsp21062和sja1000设计图


图4 cpld的逻辑图

sja1000简介
sja1000是一种独立的can控制器,用于移动目标和一般工业环境中的控制器局域网络(can)。它是philips公司早期can控制器pca82c200(basic can)的替代品,而且增加了一种新的工作模式(pelican),这种模式支持具有很多新功能的can2.0b协议。

sja1000与微处理器的接口主要由8根数据和地址分时复用线完成:ad0~ad7、ale/as、、/e、、、mode和,其中mode为接口方式选择信号,可设置成intel方式或motorola方式。两者的区别在于:intel模式下,处理器对sja1000写时,用、作为读、写数据信号,ale下降沿锁存地址(此时地址信号要保证基本的建立保持时间),仅在读、写数据时为低;motorola模式下,读、写信号用区分(高电平读、低电平写),用/e选通数据(下降沿锁存),as和cs类似于intel的ale和。目前流行的mcs51/96系列单片机提供了方便快捷的直接intel方式接口,出于普遍性的考虑,本文以下的接口设计都是基于intel模式的。

dsp的接口信号和时序
与早期的处理器不同,dsp芯片的片外引脚都采用地址线和数据线分离的设计方法,不再使用地址数据分时复用线,也没有ale信号,这样就给can控制器与dsp的接口带来一定困难,且不同的dsp外部引脚和时序也略有区别。要设计can控制器与dsp的接口,首先必须比较dsp与can控制器的时序。
本文选用的dsp为adsp21062,主频为40mhz,单周期(零等待)访问存储器时,要求存储器的响应(读或写)周期小于17ns,但许多存储器或外设的响应速度没有这么快,于是就要通过加等待来延长访问时间。adsp2106x支持两种等待方式,即内等待(软等待)和外等待(硬等待)。
  
sja1000和can总线的连接
选择82c250作为收发器,选择6n137高速光电隔离器实现系统和can总线的隔离。其连接方法如图1所示。这种设计既能做好电气隔离,又能保证数据的传输速度。

can控制器与dsp的接口设计方法
sja1000的数据和地址信号为分时复用,而dsp为数据、地址信号分离的结构,而且dsp不提供ale信号,设计的关键就是dsp要把sja1000的地址当成数据写入并同时产生ale信号。分析读写信号所要求的最短有效时间,由于读低电平到数据有效的时间最长为50ns,所以要保证读信号有效时间至少50ns,adsp21062在用2个软等待时,其低电平时间为62.5ns(25ns/2+2×25ns),刚好能满足要求。

adsp21062和sja1000接口的简化设计
在外围设备连接不多的情况下,接口电路可以使用几个逻辑门实现。由于访问外部数据时,数据总线的低16位未用,所以使用的数据线从data16起始。当flag1=1时,sja1000的wr始终为1,其ale为dsp的wr的反向,当dsp把地址当成数据写入sja1000时,低电平dsp的wr信号会转换成高电平的ale,并在ale的下降沿把数据锁存。当flag1=0时,ale始终为0,无地址锁存操作。sja1000的wr直接受dsp的wr信号控制。由flag2直接控制cs。其连接如图2所示。  

adsp21062和sja1000简化接口设计的相应程序如下:
1) #define canaddr 0x400000
2) bit set mode2 flg1o|flg2o;
/

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!