CS4235在DSP嵌入式系统的应用研究
引 言
目前,由于采用的录放音芯片结构简单、采样率过低而使得嵌入式系统中的音质效果比较差,远远满足不了人们对高档生活、学习用嵌入式系统的要求。如果能将声卡技术应用到嵌入式系统中,由于声卡的强大功能,必将使整个系统的声音质量上升一个新的台阶。通过分析,WSS(Windows Sound System)兼容声卡和PC机ISA总线的接口原理,我们将其中的声效芯片CS4235应用到基于DSP的嵌入式系统中。不用现成的声卡而利用其上的声效芯片是因为这样做设计起来更灵活方便,可根据系统需要增删相应的功能;不用MCS51系列而采用DSP,是因为对声卡操作需要太多的系统资源,MCS51并不具备此能力,否则硬件接口电路将相当复杂。
① 。外部设备可以把该引脚驱动到低电平从而请求对外部总线的控制。如果HOLD/INT1中断线被允许,那么这将触发中断。 ② ,在响应中断时,软件逻辑可以使处理器发出应答信号,表示它将放弃对其外部总线的控制。根据,外部地址信号(A15A0)、数据信号(D15D0)以及存储器控制信号()被置为高阻状态。
从①、②可以看出,F206的HOLD操作允许对外部程序、数据以及I/O空间进行直接存储器访问,但该功能是在INT1中断程序中实现的,因而中断线INT1对下降沿和上升沿二者都应敏感。当F206检测到下降沿时,它完成正在执行的当前指令,然后迫使程序控制转到中断服务子程序,此子程序执行IDLE(空闲)指令。根据IDLE,变为有效而外部总线被置为高阻状态。只有在检测到HOLD/INT1引脚上的上升沿之后,CPU才退出IDLE状态,变为无效,并使外部总线返回到正常状态。
从以上分析可以看出,F206的DMA操作与PC机中的DMA操作的区别。在PC机中,CPU收到DMA请求信号后,迫使CPU在现行的总线周期结束后,使其地址、数据和部分控制引脚处于三态,从而让出总线的控制权,并给出1个DMA响应信号;在DMA操作完成且DMA请求信号无效以后,CPU再恢复对系统总线的控制。而在C2XX中,DMA申请信号将引起F206中断,在中断程序中发出软件指令使F206各信号引脚处于三态,同时也给出1个DMA响应信号;在DMA操作完成后,但F206检测到DMA请求信号无效以后,虽然总线返回到正常状态,但但F206仍处在中断程序中。从以上分析可知,尽管中断需要保护断点和现场,使得F206的DMA的处理速度与PC机相比要低的多,毕竟F206也实现了DMA操作,从而可借助DMA控制器8237实现对声卡的DMA操作访问。 2.2 DSP与DMA控制器8237的接口电路
8237是一个高性能的可编程DMA控制器芯片,可以方便地与CPU相连,实现外部设备与存储器之间的直接数据交换。其内部结构和引脚信号可参阅文献[4]。该控制器通过编程可提供多种类型的控制特性,以优化系统性能,增大数据吞吐量,最高数据传输速率可达1.6 MB/s。图3给出了F206与8237接口的主电路,其中8237送给DSP的要求控制总线的DMA请求信号HRQ,经GAL16V8译码后送到DSP的HOLD/INT1引脚;同样,
DSP的DMA应答信号也经GAL16V8译码送回8237的HLDA引脚。地址锁存器74LS573的作用是锁存8237在DMA服务周期通过数据线D07输出的高8位地址A815。由于DSP不直接提供、、和信号,故这些信号只能由GAL16V8译码得到。
图3所示电路提供了4个通道的外设请求DMA服务信号,并且8237直接拥有AEN引脚,满足了表1中的所有要求,从而就能正确实现DSP与声卡的接口。实际工作中,我们根据声卡在PC机中的使用情况设置8237的DREQ1和DACK1为声卡的播放通道,8237的DREQ3和DACK3为声卡的采集通道,声卡的中断申请信号IRQ7经GAL16V8反向后与DSP的引脚连接。 2.3 系统工作原理及时序
图3所示DSP系统对声卡的DMA操作过程可用图4来描述,工作时序如图5所示。现结合图4、图5将系统工作原理及操作顺序说明如下: ① CS4235向DMA控制器8237发出DMA请求信号DREQ; ② 8237向DSP发出总线请求信号HRQ; ③ DSP的引脚检测到下跳沿后,进入INT1中断,保护完断点和现场后,发IDLE指令,DSP的引脚电平变低,响应外部DMA请求; ④ 8237接管总线后,先向CS4235发DMA请求的响应信号DACK,表示允许CS4235进行DMA传送,然后按事先设置的初始地址和需传送的字节数,依次发送地址和读写命令,使得在RAM CS4235之间直接交换数据,直至全部数据交换完毕;
⑤DMA传送结束后,自动撤消向CPU的总线请求信号HRQ,此时DSP检测到引脚的上升沿,DSP返回到IDLE指令的下一条指令,DSP获得总线的控制权,继续在INT1中执行程序。
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- SHARC引领第四代通用DSP高端应用潮流(09-27)
- 在应用可编程测控网络设计(03-15)
- 基于dsPIC33F系列单片机的应用程序升级方法(04-03)
- 采用混合时钟模式提高Linux时钟精度的方法(05-10)
- MSP430低功耗原理及其在海温测量中的应用(06-06)