微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > SHARC DSP与SJA1000的CAN总线接口设计

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

时间:03-14 来源:电子设计应用 作者:宋捷 点击:

运行指令8、9、11、13各花费100ns,运行指令10、12、14各花费75ns,所以完成一次读或写需525ns。速度比前文的简化设计要慢一点,但这种设计更利于扩展,适合于多个外设接口,同时节省了两个Flag引脚。当SJA1000工作在最大传输速度1Mbit/s时,由于在一个数据帧中会插入约42bit其它帧信号,所以完成8bit传输的时间约为50?s。前两种设计的速度分别是其167倍和95倍。所以这两种设计都能满足SJA1000的传输速度要求。

CPLD程序设计

图4中,用74138进行译码,生成ALE、CS等信号。当执行指令6时,设置了外部空间的大小,在访问地址0x400000~0x4fffff时会使能MS0,74138的G2AN将有效。当地址A11~A8=0001,Y1N=0,CANCS的清零由DSP的RD控制,RD信号的低电平将使CANCS=0,指令11完成此功能。当地址A11~A8=0010,数据D19~D16=1000,则Y2N=0,DSP的WR信号的将使CANCS=1,指令14完成此功能;当地址A11~A8=0101,数据D19~D16=0111,则Y5N=0,DSP的WR信号沿将使ALEhigh=1,此时CANWE始终保持1,CANALE为WR取反,指令8完成此功能;当地址A11~A8=0110,则Y6N=0,RD信号的低电平将使ALEhigh=0,此时CANALE始终保持0,CANWE为WR,指令10完成此功能。

ADSP21062仅有3个外部中断,在挂多个外设时就显得资源紧张。图4中,低电平有效或下降沿有效的中断信号可以用与的关系连接到一个中断上,DSP在响应中断后,读相应的多个外设,判断是来自哪一个外设,这样就可以扩展更多的中断。

结语

SJA1000接口为地址/数据复用模式,DSP处理器通常为地址/数据总线分离的结构,本文提供了两种不同接口的思路和方法。测试表明,这种方法确实可行,传输效率高。

选择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所示。  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top