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