利用CPLD 的时序整合实现DSP 与其它器件的无缝连接

作者: 徐惠钢1,,张晓明   发布日期:2006-10-11 14:14   查看数:0
中文摘要:

  介绍了在对时序有不同要求的器件所组成的系统中,利用CPLD进行时序整合而实现无缝 连接的原理,提供了在设计电路时处理复杂时序的方法,文中对工程实现中的关键技术做了介绍。

英文摘要:

  A method to connect devices with different time sequence demands has been introduced in this paper.A CPLD device is used to occur proper logic and timing. Some key operations are also presented.


1  问题的提出
     在一个嵌入式随动控制系统中,由DSP 作为核心处理单元,它通过CAN 总线接受上位机的目标方位信息,同时采集被控制对象上数字码盘的高低、方位信息,再经过运算输出合适的控制信号给高低、方位的控制电机构成闭环,此外,还需采集一些开关量信号,进行限位等辅助控制。 DSP 除了连接扩展的ROM、RAM,还要连接CAN 总线控制器、数字码盘接口、开关量接口和D/ A 转换芯片。从系统的运算量、要求精度和通用性出发,DSP 选用了TMS320VC5410 ,ROM 为CY7C1041 ,RAM 为SST39VF400 ,CAN 总线控制器选用了SJA1000 ,D/ A 选用了AD7849。在这些器件中,有些通过译码、缓冲就可以直接与DSP 互连,但有些器件要求的时序和逻辑与DSP 所能提供的相差较大,不能与DSP 直接连接。如果采用常规的方法,利用很多逻辑器件实现时序转换就难以满足这个嵌入式系统要求的结构紧凑、可靠性高的要求,因此,必须找到一种高效的方法实现DSP 与其它器件之间的无缝连接
2  解决方案
     本设计中,将各部分器件组织起来时需要考虑以下问题: ·DSP 单元扩展外部RAM、ROM,需要使用一些地址译码电路。 ·DSP 与上位机通信的CAN 总线所用的总线控制器SJA1000 采用地址/ 数据分时复用的方式,无法与DSP 分开的地址口、数据口直接相接。现在一般利用MCS51 系列单片机进行时序转换实现对接,一种方法是利用IO 端口读写的方式将数据直接传送给单片机,再由单片机对CAN 总线控制器进行操作,将数据转发出去。另一种方法是通过双口RAM,单片机和DSP 分别从一个端口对双口RAM读写,实现DSPSJA1000 的数据通信。不管那种方法,都需要选用单片机。 ·DSP 与数字码盘接口通过串行口相连,码盘数据是按帧传输的,需要一个按帧传输方式控制的时钟信号;与AD7849 也通过串行口相连,该芯片需要由同步信号和一个时钟信号控制,TMS320VC5410 没有这样的现成信号,所以它们都不能直接连接。 ·TMS320VC5410 采用3. 3V 电平标准,当它与AD7849、SJA1000、码盘接口和开关量接口等5V 器件相接时,必须经过电平转换。 对于以上问题,若采用分立元件解决,则需要大量的与非门、译码器、锁存器等器件,不仅使电路变得复杂,降低了模块的可靠性和抗干扰能力,而且协调这些器件的工作会造成一定延时并降低DSP的效率。因此,我们采用了ALTERA 公司可编程逻辑芯片EPM7128AETC144 - 5 进行时序和逻辑的整合来实现以上功能。 EPM7128 芯片有2500 个与门、128 个宏单元,8 个逻辑阵列块,最大100 个用户引脚,5ns 的引脚间延时。采用了可编程逻辑芯片可以任意定义输入输出脚,方便PCB 板布线;可以实现与非门,译码器、锁存器等功能,方便电路设计;可以产生所需要的时序,减轻DSP 的负担;可以随时改写其内部逻辑,方便调试与改动。
4  结 论
     CPLD 具有易于仿真、可在线修改的特点,大大方便 了设计和调试。利用CPLD 整合复杂时序实现器件间的无 缝连接的方法对于设计工期紧、PCB 板面积有限制、可靠 性和抗干扰能力要求高以及需要加密的电路设计是一种 很好的选择。