CAN总线控制器与DSP的接口的研究

本文讨论这些微处理器与can控制器的接口问题,重点介绍can控制器与tms320系列dsp的接口方法和接口电路。
1.can控制器的接口信号和时序
can控制器(以pcx82c200或sja1000为例)提供的微处理器的接口信号主要有ad0~ad7共8根地址数据线和ale、cs、 rd、wr、rst、mode、 reset和int,控制器的数据和地址是分时复用线,其中mode为接口方式选择信号,可选用intel方式或motorola方式。不同方式下引脚定义如表1:
引脚符号 intel (mode=vdd) motorola (mode=vss)
ale ale as
rd rd e
wr wr rd/wr
表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空间选择信号is,tms320lf2407的i/o信号与存储器操作信号复用,它们是存储器和i/o信号与存储器操作信号复用,它们是存储器和i/o设备选通信号stbr、写选通信号wr、读选通信号rd和读写信号r/w。
2.2 tms320vc5402 dsp的i/o时序
tms320vc5402与tms320lf2407一样,用is作为i/o空间选择信号,不同的地方是i/o空间有专用的i/o设备选通信号iostrb和通用的读写信号r/w,而不设读选通信号rd和写选通信号wr。
2.3 dsp的i/o时序分析
i/o的输入或输出工作周期内完成,在此期间,is信号和地址总线一直保持有效。对于tms320lf2407,i/o选通信号strb发生在第一个机器周期有效之后并持续一个周期以上,rd和we有效时数据有效。对于tms320vc5402,i/o设备选通信号iostrb的低电平有效发生在延迟了半个机器周期的上升沿到下一个机器周期的上升沿,持续一个机器周期,数据有效发生在第二个机器周期内。r/w读写信号在输入周期内一 直保持为“1”,在输出周期一直保持为“0”,仅起到控制数据流的方向作用。以上分析都没有考虑插入等待周期的情况,若插入一个等待周期,则每次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、写选通信号wr和端口选通信号strb的逻辑组合产生dsp的ale信号,对于tms320vc5402,则用地址线 a0、i/o端口选通信号iostrb的逻辑组合产生ale信号。
3.3 读写信号的产生
对于tms320lf2407,用读信号和a0的逻辑组合产生sja1000的读选通信号,用写信号和a0的逻辑组合产生sja1000 的写选通信号。对于tms320vc5402,则用a0、iostrb和r/w的逻辑组合产生sja1000的读和写选通信号。逻辑关系如表2所示。
tms320lf2407
a0 strb r/w we
1 0 0 x
0 0 0 0
0 0 1 1
tms320vc5402
a0 iostrb r/w
1 0 0
0 0 0
0 0 1
sja1000
ale we rd
1 1 1
0 0 1
0 1 0
表2 tms320lf2407和tms320vc5402与sja1000接口逻辑
3.4 片选信号的产生
用dsp的i/o空间选通信号is和高位地址的译码信号的逻辑组合产生can的片选cs。
从以上的设计思想可以看到,这种方法是将dsp的数据线改为适应can控制器的数据地址线。为此将dsp的a0作为地址数据选择线。a0=1 时,地址有效;a0=0时,数据有效。即用奇数地址选择端口,用偶数地址传送数据。同时,通过信号的逻辑组合,在地址有效期间不产生读写信号,而是产生满足can的地址有效信号ale;在数据有效期间产生满足can的读和写逻辑信号时序。
4 can与dsp的接口电路
以tms320vc5402与sja1000芯片为例设计的接口电路图略(详见《电子技术应用》2002.11)。图中,用一片gal16v8b作为接口逻辑转换电路。为突出接口电路,其它部分从略。用fm书写的设计文件如下:
gal16v8b
interface
ch sh apr 19. 2002
decoder
nc nc is iostrb a0 rw a14 a15
nc gnd
nc nc cs wr rd ale nc nc nc vcc
cs=a15*a14 *is
ale=a0*iostrb*r/w
rd=a0*iostrb*r/w
wr=a0*iostrb*r/w
description
5 总结 本文综述了can总线控制器与dsp的接口的研究

华灿光电加速半导体扩张 1亿元设广东全资子公司
抽样定理与脉冲调幅(PAM)实验
听了想哭!Rupert Neve Designs 发布 5211 双通道前级信号放大器
既高速又节能的新一代光子存储器
语音识别技术中的实时处理与云计算
CAN总线控制器与DSP的接口的研究
安集微电子:大客户为中芯国际,研发进入7nm节点
电力系统的中性点接地方式
集成电路设计企业认定管理办法
前沿技术中为什么还是没有出现超级电池?
WatchOS 5.2正式版更新: ECG心电图功能“解封”
台积电2nm再曝新进展 2nm比3nm速度快多少
【新品】重磅首发!8路串口服务器
怎样认识电阻
华为P10全曝光:超高颜值 惊喜售价
大联大世平集团推出基于TI AM335X电力智能抄表方案
研扬同步在GTC中宣布NVIDIA Jetson Orin Nano 边缘计算AI平台BOXER-8621AI上市
U2022XA峰值和平均功率传感器
微软预测2027年搜索框会消失 哪些职业会消失?
电动汽车电池回收或再利用,为什么不两者兼之