基于CPLD的DSP與聲卡的接口技術(shù)
從以上分析可以看出C2XX的DMA操作與PC機中的DMA操作的區別。在PC機中,CPU收到DMA請求信號后,迫使CPU在現行的總線(xiàn)周期結束后,使其地址、數據和部分控制引腳處于三態(tài),從而讓出總線(xiàn)的控制權,并給出一個(gè)DMA響應信號;在DMA操作完成后,DMA請求信號無(wú)效以后,CPU再恢復對系統總線(xiàn)的控制。而在C2XX中,DMA申請信號將引起C2XX中斷,在中斷程序中發(fā)出軟件指令使C2XX各信號引腳處于三態(tài),同時(shí)也給出了一個(gè)DMA響應信號;在DMA操作完成后,C2XX檢測到DMA請求信號無(wú)效以后,雖然總線(xiàn)返回到正常狀態(tài),C2XX仍處在中斷程序中。從以上分析可知,盡管中斷需要保護斷點(diǎn)和現場(chǎng),使得C2XX的DMA的處理速度與PC機相比要低得多,但畢竟C2XX也實(shí)現了DMA操作,從而可借助DMA控制器8237實(shí)現對聲卡的DMA操作訪(fǎng)問(wèn)[4]。
整個(gè)系統結構框圖如圖2所示。從圖中可以看出,CPLD主要完成數據總線(xiàn)驅動(dòng)、地址總線(xiàn)驅動(dòng)、地址鎖存器、譯碼和時(shí)鐘分頻等功能,其中譯碼電路是整個(gè)電路的核心。數據總線(xiàn)驅動(dòng)電路和地址總線(xiàn)驅動(dòng)將DSP的內部數據與地址總線(xiàn)與外圍電路的數據和地址總線(xiàn)相互隔離;地址鎖存器生成8237在DMA服務(wù)周期通過(guò)數據線(xiàn)DB0~D7輸出的高8位地址A8~A15。時(shí)鐘分頻電路為外電路提供需要的各種頻率的同步時(shí)鐘。-譯碼電路為各單元電路以及外圍電路提供讀寫(xiě)信號、鎖存信號、片選信號和使能信號。

圖2中1為DSP內部系統總線(xiàn),2為外部數據總線(xiàn),3為DSP內部地址總線(xiàn),4為外部地址總線(xiàn),5為數據總線(xiàn)收發(fā)電路使能信號,6為地址總線(xiàn)驅動(dòng)電路使能信號,7為DSP輸出控制總線(xiàn),8為CPLD譯碼后輸人DSP的信號線(xiàn),9為DSP同步外圍電路的時(shí)鐘,10為DMA輸人時(shí)鐘,11為RAM,8237和聲卡的讀寫(xiě)信號,12為鎖存信號,13為RAM的片選信號。
3 EPM7128S內部譯碼電路的邏輯實(shí)現
圖3給出了EPM7128S內部譯碼電路主要的輸入和輸出信號以及它們的邏輯關(guān)系。其中DSP的地址選通信號和讀寫(xiě)信號經(jīng)譯碼分別得到IO讀寫(xiě)信號和存儲器讀寫(xiě)信號;8237的DMA申請信號HRQ經(jīng)反相后送到DSP的HOLD引腳以觸發(fā)DSP中斷,DSP在中斷程序里發(fā)IDLE指令,HOLDA引腳變?yōu)榈碗娮?,響應DMA申請;同時(shí)數據總線(xiàn)和地址總線(xiàn)驅動(dòng)電路的使能信號關(guān)閉,數據總線(xiàn)和地址總線(xiàn)為高阻態(tài),從而8237可以接管總線(xiàn),進(jìn)行DMA操作。聲卡的中斷信號為高電子,須反相后再接DSP的中斷引腳。
相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論