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

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