基于單片機系統采用DMA塊傳輸方式實(shí)現高速數據采集
3.2 數據線(xiàn)與地址線(xiàn)的控制
總線(xiàn)的選擇控制由DMA允許信號控制兩組74HC245三態(tài)總線(xiàn)收發(fā)器,使其分別處于開(kāi)通和高阻狀態(tài)。此兩組總線(xiàn)收發(fā)器一端并接至RAM,另一端分別接單片機系統總線(xiàn)和A/D轉換外部總線(xiàn)。當DMA禁止周期時(shí)DMA允許信號為低,選通系統總線(xiàn)允許單片機對RAM進(jìn)行讀寫(xiě)操作。反之當DMA周期時(shí)DMA允許信號為高,選通外部總線(xiàn)允許DMA控制器對RAM寫(xiě)操作。數據線(xiàn)有8根(D0~D7),對數據線(xiàn)的切換需要兩片74HC245,而地址線(xiàn)有16根(A0~A15),切換地址線(xiàn)需要4片74HC245才可以。另外還需兩片用以對RAM的讀寫(xiě)線(xiàn)的切換,對讀寫(xiě)線(xiàn)的控制采用相同的方法,也是由DMA允許進(jìn)行兩周期的控制權切換。
3.3 DMA塊數據傳輸
與非門(mén)輸出1MHz的振蕩信號,連接A/D芯片/RD腳,在低電平開(kāi)始時(shí)已采集的數據被輸出到數據線(xiàn)。地址計數器被設計為下降沿觸發(fā),因此下降沿開(kāi)始后地址計數器將在預設的起始地址的基礎上加1,形成新的地址輸出至地址線(xiàn)。數據和地址的形成均在下降沿后的160ns(由74HC系列計數器性能參數可知其最大傳輸延遲時(shí)間為40ns,有四片級連總計160ns。由MAX153CPP的手冊可知其讀寫(xiě)模式下Data-AcceessTime為160ns)內完成,其小于振蕩信號低電平停留時(shí)間500ns。在下一個(gè)振蕩的下降沿到來(lái)之前數據地址保持不變,在此后的上升沿時(shí)數據被寫(xiě)入RAM的指定地址,第二個(gè)下降到來(lái)后重復這樣的過(guò)程,地址計數器加1形成新的地址和讀出A/D轉換器中新的數據,再寫(xiě)入儲存器。工作時(shí)序參見(jiàn)圖4。
3.4 響應過(guò)程的結束
DMA過(guò)程的結束設計在地址溢出時(shí)。設計利用地址計數器的溢出位,當地址溢出即大于(FFFF)H時(shí)溢出位為1,經(jīng)反向器反向后至四輸入端與非門(mén)的輸入端,使其輸出常為高而達到封鎖的目的。直到單片機系統重新初始化地址計數器,清溢出標志,并重新DMA允許后才能再次進(jìn)入DMA準備就緒狀態(tài)。
4 軟件設計(主流程)
主程序流程圖見(jiàn)圖5。
單片機系統以其方便、簡(jiǎn)潔、靈活、廉價(jià)為主要特點(diǎn),所以在DMA電路設計中一定要結合實(shí)際應用簡(jiǎn)化設計,軟件硬件綜合設計避免系統過(guò)于復雜,才能達到優(yōu)質(zhì)廉價(jià)的最終目的。利用本設計研制的數字式磁通表綜合性能達到了預期指標,并獲得滿(mǎn)意的性能價(jià)格比
評論