基于CPLD与DSP组成的声卡接口技术
数据总线,3为DSP内部地址总线,4为外部地址总线,5为数据总线收发电路使能信号,6为地址总线驱动电路使能信号,7为DSP输出控制总线,8为CPLD译码后输人DSP的信号线,9为DSP同步外围电路的时钟,10为DMA输人时钟,11为RAM,8237和声卡的读写信号,12为锁存信号,13为RAM的片选信号。
3 EPM7128S内部译码电路的逻辑实现
图3给出了EPM7128S内部译码电路主要的输入和输出信号以及它们的逻辑关系。其中DSP的地址选通信号和读写信号经译码分别得到IO读写信号和存储器读写信号;8237的DMA申请信号HRQ经反相后送到DSP的HOLD引脚以触发DSP中断,DSP在中断程序里发IDLE指令,HOLDA引脚变为低电子,响应DMA申请;同时数据总线和地址总线驱动电路的使能信号关闭,数据总线和地址总线为高阻态,从而8237可以接管总线,进行DMA操作。声卡的中断信号为高电子,须反相后再接DSP的中断引脚。
4系统工作原理及时序
系统工作的时序如图4所示。现结合图2、图3和图4将系统工作原理及操作顺序说明如下:
(1)声卡向8237发出DMA请求信号DREQ;
(2)8237通过CPLD向DSP发出HRQ信号;
(3)DSP的HOLD引脚检测到下降沿后,进入INTl中断,保护完断点和现场后,发IDLE指令,DSP的HOLDA引脚电平变低,u向应外部DMA请求;
(4)8237接管总线后,先向声卡DMA请求的响应信号DACK,表示允许声卡进行DMA传送,然后按事先设置的初始地址和需传送的字节数,依次发送地址和读写命令,使得在RAM和声卡之间直接交换数据,直至全部数据交换完毕;
(5)DMA传送结束后,自动撤消向CPU的总线请求信号HRQ,此时DSP检测到丽iS引脚的上升沿,DSP返回到IDLE指令的下一条指令,DSP获得总线的控制权,继续在INTl中执行程序。
从上面DSP系统的工作原理可以看出,由于DMA是在中断程序中完成的,故DSP的DMA执行频率受限于DSP每秒可执行的中断次数。
5 结束语
笔者曾用分立元件设计的DSP与声卡的接口电路中,用了2片74LS245,3片74LS244,1片74LS74,1片74LS573和3片GAL20V8,器件多,PCB布局、布线繁杂。尽管用的是表贴器件,但仍占相当大PCB面积,由引脚松动、虚焊等原因引发的故障率较高。采用CPLD器件后,接口电路全部集成在一片中,系统的可靠性、灵活性大大提高。复杂可编程逻辑器件因其使用方便、具有很高的性价比,必将拥有广阔的应用前景。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)