CS4235在DSP嵌入式系統(tǒng)的應(yīng)用研究
引 言
目前,由于采用的錄放音芯片結(jié)構(gòu)簡(jiǎn)單、采樣率過(guò)低而使得嵌入式系統(tǒng)中的音質(zhì)效果比較差,遠(yuǎn)遠(yuǎn)滿足不了人們對(duì)高檔生活、學(xué)習(xí)用嵌入式系統(tǒng)的要求。如果能將聲卡技術(shù)應(yīng)用到嵌入式系統(tǒng)中,由于聲卡的強(qiáng)大功能,必將使整個(gè)系統(tǒng)的聲音質(zhì)量上升一個(gè)新的臺(tái)階。通過(guò)分析,WSS(Windows Sound System)兼容聲卡和PC機(jī)ISA總線的接口原理,我們將其中的聲效芯片CS4235應(yīng)用到基于DSP的嵌入式系統(tǒng)中。不用現(xiàn)成的聲卡而利用其上的聲效芯片是因?yàn)檫@樣做設(shè)計(jì)起來(lái)更靈活方便,可根據(jù)系統(tǒng)需要增刪相應(yīng)的功能;不用MCS51系列而采用DSP,是因?yàn)閷?duì)聲卡操作需要太多的系統(tǒng)資源,MCS51并不具備此能力,否則硬件接口電路將相當(dāng)復(fù)雜。
DSP的DMA應(yīng)答信號(hào)也經(jīng)GAL16V8譯碼送回8237的HLDA引腳。地址鎖存器74LS573的作用是鎖存8237在DMA服務(wù)周期通過(guò)數(shù)據(jù)線D0"7輸出的高8位地址A8"15。由于DSP不直接提供、、和信號(hào),故這些信號(hào)只能由GAL16V8譯碼得到。
圖3所示電路提供了4個(gè)通道的外設(shè)請(qǐng)求DMA服務(wù)信號(hào),并且8237直接擁有AEN引腳,滿足了表1中的所有要求,從而就能正確實(shí)現(xiàn)DSP與聲卡的接口。實(shí)際工作中,我們根據(jù)聲卡在PC機(jī)中的使用情況設(shè)置8237的DREQ1和DACK1為聲卡的播放通道,8237的DREQ3和DACK3為聲卡的采集通道,聲卡的中斷申請(qǐng)信號(hào)IRQ7經(jīng)GAL16V8反向后與DSP的引腳連接。 2.3 系統(tǒng)工作原理及時(shí)序
圖3所示DSP系統(tǒng)對(duì)聲卡的DMA操作過(guò)程可用圖4來(lái)描述,工作時(shí)序如圖5所示?,F(xiàn)結(jié)合圖4、圖5將系統(tǒng)工作原理及操作順序說(shuō)明如下: ① CS4235向DMA控制器8237發(fā)出DMA請(qǐng)求信號(hào)DREQ; ② 8237向DSP發(fā)出總線請(qǐng)求信號(hào)HRQ; ③ DSP的引腳檢測(cè)到下跳沿后,進(jìn)入INT1中斷,保護(hù)完斷點(diǎn)和現(xiàn)場(chǎng)后,發(fā)IDLE指令,DSP的引腳電平變低,響應(yīng)外部DMA請(qǐng)求; ④ 8237接管總線后,先向CS4235發(fā)DMA請(qǐng)求的響應(yīng)信號(hào)DACK,表示允許CS4235進(jìn)行DMA傳送,然后按事先設(shè)置的初始地址和需傳送的字節(jié)數(shù),依次發(fā)送地址和讀寫(xiě)命令,使得在RAM CS4235之間直接交換數(shù)據(jù),直至全部數(shù)據(jù)交換完畢;
⑤DMA傳送結(jié)束后,自動(dòng)撤消向CPU的總線請(qǐng)求信號(hào)HRQ,此時(shí)DSP檢測(cè)到引腳的上升沿,DSP返回到IDLE指令的下一條指令,DSP獲得總線的控制權(quán),繼續(xù)在INT1中執(zhí)行程序。