基于DSP的DMA控制技術(shù)

①I(mǎi)/O設備準備好后,向DMA控制器(DMAC)發(fā)出DMA請求信號DMARQ。
?、贒MAC向CPU發(fā)出總線(xiàn)請求信號BUSRQ。
?、郯凑疹A定的DMAC占用總線(xiàn)方式,CPU響應BUSRQ,向DMAC發(fā)出總線(xiàn)確認信號BUSAK。從這時(shí)起,CPU總線(xiàn)控制權交由DMAC接管,開(kāi)始進(jìn)入DMA有效周期,如圖1中陰影部分所示。
?、蹹MAC接管總線(xiàn)后,先向I/O設備發(fā)出DMA請求的響應信號DACK,表示允許外設進(jìn)行DMA傳送。然后按事先設置的初始地址和需傳送的字節數,依次發(fā)送地址和讀寫(xiě)命令,使RAM和I/O設備直接交換數據,直至全部數據交換完畢。
?、軩MA傳送結束后,自動(dòng)撤消向CPU的總線(xiàn)請求信號BUSRQ,從而使BUSAK和DACK相繼變?yōu)闊o(wú)效,CPU又重新控制總線(xiàn),恢復正常工作。
3 DSP與DMA控制器8237-5的接口電路
通過(guò)上述分析可以知道,DSP與8237-5的接口關(guān)鍵是要解決DSP的/HOLD、/HOLDA信號與8237-5的總線(xiàn)保持請求輸出信號HRQ(即BUSRQ)、總線(xiàn)保持響應輸入信號HLDA(即BUSAK)之間的聯(lián)系問(wèn)題。圖2給出DSP與8237-5的接口電路。
(1)數據線(xiàn)、地址線(xiàn)可以直接相連,8237-5僅使用8根數據線(xiàn)和地址線(xiàn)。
(2)由于8237-5要向DSP申請對外部總線(xiàn)的控制,所以DSP的/HOLD信號決定于HRQ,而二者的有效電平正好是反相關(guān)系;另一方面,當DSP在合適程序代碼的協(xié)助下使/HOLDA有效,從而對/HOLD有效作出響應時(shí),它就應該通知DMAC可以獲得總線(xiàn)控制權,那么可以將/HOLDA反相后發(fā)給8237-5的HLDA,從而使得該信號變高成為有效,8237-5得以接管總線(xiàn)。因此HLDA、/HOLD信號線(xiàn)的譯碼邏輯關(guān)系如下:
HLDA=/HOLDA
/HOLD=HRQ
一次DMA操作的時(shí)序關(guān)系如圖3所示。
評論