基于DMA方式的實時數(shù)據(jù)采集處理系統(tǒng)設(shè)計
隔離電路采用4片74LVC245雙向緩沖器實現(xiàn),由于ADuC841的P0口是分時復(fù)用的地址/數(shù)據(jù)總線,所以需采用一片74LVC373地址鎖存器將P0端口的地址信號從地址/數(shù)據(jù)總線中分離出來。而ADuC841的16位數(shù)據(jù)總線需要雙向緩沖,由于ADuC841要對HM62256進行讀寫操作,所以緩沖器的方向由ADuC841的讀信號RD控制,當(dāng)ADuC841讀數(shù)據(jù)時,RD為低電平,使數(shù)據(jù)緩沖方向為HM62256至ADuC841;寫數(shù)據(jù)時,RD為高電平,數(shù)據(jù)緩沖方向為ADuC841至HM62256。緩沖器的使能線由A15反向信號控制,當(dāng)A15為高電平時,選通緩沖器,否則緩沖器為高阻態(tài)。A15還是HM62256的片選信號,若要ADuC841和TMS320VC5402都能選通HM62256,需將A15和PS的與非信號作為HM62256的片選信號。ADuC841選通時,PS為高電平,ADuC841的A15有效。TMS320VC5402選通時,當(dāng)A15為低電平時,PS有效。
本文引用地址:http://butianyuan.cn/article/152155.htmADuC841通過P3.5、P3.2(INT0)分別與TMS320VC5402的HOLD、XF引腳相連,P3.5向TMS320VC5402申請總線控制,TMS320 VC5402響應(yīng)ADuC841的請求后,HOLDA信號變低,TMS320VC5402的CPU掛起,并出讓外部總線。ADuC841通過A15打開總線驅(qū)動器,并經(jīng)與非門后選中HM62256,獲得HM62256的控制權(quán),實現(xiàn)對HM62256的讀寫操作。而TMS320VC5402可通過XF向ADuC841請求中斷,ADuC841在響應(yīng)中斷INT0后,通過P3.5將HOLD信號轉(zhuǎn)換為高電平,此時總線控制權(quán)重新交給TMS320VC5402。
3系統(tǒng)軟件設(shè)計
系統(tǒng)上電時,ADuC841由P3.5向DSP申請總線控制HM62256,設(shè)置DMA方式,通過配置3個特殊功能寄存器ADCCON1~ADCCON3,ADuC841的ADC工作在不同模式下。其中在DMA模式下,ADC可連續(xù)轉(zhuǎn)換,并將采樣值直接輸出并存儲到片外的HM62256中而無需來自CPU的任何軟件干預(yù),從而保證ADC能以最高速度(420 kHz)完成采樣和轉(zhuǎn)換并進行高速信號傳輸。A/D轉(zhuǎn)換后,ADuC841通過ADC中斷,P3.5發(fā)送高電平至TMS320VC5402的HOLD引腳,向TMS320VC5402申請放棄總線控制,HM62256的總線控制權(quán)重新交換給TMS320VC5402,由TMS320VC5402進行數(shù)據(jù)處理。當(dāng)TMS320VC5402處理完數(shù)據(jù)后,首先將運算結(jié)果放回HM62256,然后通過XF信號線通知ADuC841,ADuC841響應(yīng)后,向DSP申請總線控制接管HM62256,讀出運算結(jié)果,然后進行下一步處理。以下是ADuC841的部分DMA接口程序代碼:
4 結(jié)束語
對于實時數(shù)據(jù)采集處理系統(tǒng),選取合理有效的核心算法是至關(guān)重要的,然而,選擇數(shù)據(jù)傳輸方法也是相當(dāng)重要,在一些實際情況下,數(shù)據(jù)傳輸時間可能超過數(shù)據(jù)處理的時間。通過合理使用DMA高速數(shù)據(jù)傳輸是提高數(shù)據(jù)傳輸效率的一種途徑,有助于產(chǎn)品的開發(fā)。
評論