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