基于ADmC812和DSP實時數(shù)據(jù)采集系統(tǒng)設(shè)計2
——
整個系統(tǒng)分為事務(wù)性模塊和數(shù)據(jù)處理模塊,ADmC812控制事務(wù)模塊,進(jìn)行數(shù)據(jù)的采集、LED顯示、開關(guān)量的輸入輸出,模擬量的輸出及串行通信等功能。F206控制數(shù)據(jù)處理模塊,主要進(jìn)行數(shù)據(jù)的處理,完成復(fù)雜的算法。另外,也可以根據(jù)數(shù)據(jù)處理結(jié)果直接處理一些重要的出口控制功能,以彌補(bǔ)ADmC812 I/O端口的不足,加快系統(tǒng)的反應(yīng)速度。兩個相對獨立的功能模塊通過62256進(jìn)行數(shù)據(jù)交換。
系統(tǒng)軟件設(shè)計
由于系統(tǒng)的兩個模塊在功能上相對獨立,相應(yīng)的軟件也包括兩個主要模塊,ADmC812在程序加載完成后,就進(jìn)入程序正常運行。系統(tǒng)初始化后,首先通過P1.0向F206請求DMA操作,且得到響應(yīng)后,ADmC812獲得62256控制權(quán)。這時,通過配置3個特殊功能寄存器ADCCON1~3,可以使ADmC812工作在不同的模式下。其中在DMA模式下,ADC可以連續(xù)轉(zhuǎn)換,并把采樣值捕獲到外部RAM空間而不需要來自微處理器的任何干預(yù),由中斷位ADCCON2.7表示DMA轉(zhuǎn)換結(jié)束。在A/D轉(zhuǎn)換結(jié)束且采樣點達(dá)到預(yù)定的數(shù)量后,ADmC812就通過ADC中斷,放棄對62256的控制并通知DSP進(jìn)行數(shù)據(jù)處理。而后ADmC812進(jìn)入顯示、鍵功能、I/O操作、串口通信等事務(wù)性的工作。
F206在接收到ADmC812的DMA請求后,進(jìn)入到等待狀態(tài),并放棄對外部總線的控制權(quán)。62256通過ADmC812獲得采樣數(shù)據(jù),當(dāng)采樣結(jié)束后,DSP從等待狀態(tài)返回到正常運行狀態(tài)并獲得總線的控制權(quán),進(jìn)行數(shù)據(jù)處理,將運算結(jié)果放回62256。F206的DMA操作過程是:F206引腳/上獲得一個有效的下降沿,當(dāng)CPU轉(zhuǎn)移到0002H地址單元,CPU從0002H地址單元提取中斷矢量并進(jìn)入中斷服務(wù)程序,在對MODE=0進(jìn)行成功的測試后,該中斷服務(wù)程序就執(zhí)行一個IDLE指令,使F206進(jìn)入到等待狀態(tài)。當(dāng)檢測到/腳上的一個上升沿后,CPU退出IDLE狀態(tài),并使外部總線返回其正常狀態(tài),執(zhí)行數(shù)據(jù)處理程序。
軟件使用C語言設(shè)計,分別在兩個開發(fā)系統(tǒng)上進(jìn)行程序設(shè)計和調(diào)試。利用ADI公司提供的軟件開發(fā)工具,能夠快速高效地完成ADmC812應(yīng)用程序的設(shè)計,并通過ADmC812的通用串行口在線調(diào)試和代碼下載。F206用聞亭公司提供的TDS-510開發(fā)工具進(jìn)行軟件設(shè)計。最后將ADmC812和F206進(jìn)行聯(lián)機(jī)調(diào)試,完成整個軟件的開發(fā)。
結(jié)語
以上設(shè)計方案,適合于采集數(shù)據(jù)量大、算法復(fù)雜、有一定實時要求的應(yīng)用領(lǐng)域。由于雙CPU系統(tǒng)無需額外的附加雙口RAM、FIFO及復(fù)雜的控制電路,降低了成本,簡化了電路,也擴(kuò)展了ADmC812的應(yīng)用范圍。
評論