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