新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ADmC812和DSP實時數據采集系統(tǒng)設計

基于ADmC812和DSP實時數據采集系統(tǒng)設計

——
作者: 時間:2007-01-26 來源:《電子設計應用》 收藏
引言

admc812是adi公司的以8051(8052)內核為控制核心的新型微轉換器。由于admc812內部集成了大量的外圍設備。它本身就是一個完全可編程、自校準、高精度的數據采集系統(tǒng),可以取代傳統(tǒng)的mcu+a/d+rom+ram高成本、大體積產品,尤其是它的高精度和高速度a/d模塊,特別適應于智能傳感、瞬時獲取、數據采集和各種通信系統(tǒng)。但是,對于需要采集數據量大、運算復雜、實時性又要求較高的場合,由于在結構和速度上的限制,往往是無法滿足要求的。本文針對這種情況,提出了基于admc812和dsp的數據采集系統(tǒng)。在這個系統(tǒng)中,admc812作為主機,完成adc、dac、顯示、鍵盤等功能,而dsp作從機,專注于復雜的數據運算,兩者通過通用的sram實現數據的交換和通信。

本文引用地址:http://butianyuan.cn/article/21069.htm

admc812和tms320f206簡介

admc812微轉換芯片

admc812是具有16位計數/定時和32條可編程i/o接口的8051/8052微控制器,內置一個8通道、5ms轉換時間、精度自校正、12位逐次逼近的adc;2個12位dac,10.5kb的閃存eeprom,256字節(jié)的sram。還包括一些重要功能模塊,如看門狗定時器和電源監(jiān)控器,adc與數據存儲器之間的dma方式,存儲保護功能,一個通用異步串行收發(fā)器(uart)、spi和i2c總線接口。

admc812內豐富的外設,使它不需要外部總線擴展就可以組成一個完整數據采集系統(tǒng),有很高的性價比。更值得注意的是在admc812內集成了8路12位高精度、自校準4ppm/℃的adc電路。而且,當工作條件(如時鐘頻率、模擬輸入范圍、基準電壓或電源電壓)發(fā)生變化時,為了得到高精度的adc結果,可以用軟件對admc812內4個用于校正的特殊功能的寄存器設置,達到進一步校正adc的目的。admc812通過設置adcon1~3 三個特殊功能寄存器,可以使adc工作于3種不同的模式,實現單次轉換、連續(xù)轉換和dma模式的a/d轉換,可以根據具體的需要選擇,在dma模式下,允許adc在每次設置寄存器adccon1~3后連續(xù)采樣,并將結果寫入外部ram中。這種自動捕獲功能大大地方便了主從處理器之間的數據交換。

數字信號處理器tms320f206

tms320f206(以下簡稱f206)是ti公司生產的tms320c2000系列dsp之一。是繼c2x和c5x之后推出的低價格高性能的16位定點dsp,由于它采用了改進的哈佛結構,具有分離的程序總線和數據總線,采用四級流水線作業(yè),其運行速度可達40mips,具有高速運行的特點。同時提供豐富的指令集,增強的模塊化結構設計,使它通用化得以提高,應用領域不斷拓寬,現已成為高檔單片機的理想替代品。f206片內有32k的閃速存儲器,用戶通過f206自帶的、符合ieee標準1149.1的jtag接口,可以對程序進行仿真與調試,并將程序代碼燒錄到片內,極大地方便了用戶的系統(tǒng)設計與程序調試。

tms320f206提供直接存儲器訪問(dma)功能,通過使用hold操作允許對外部程序、數據以及i/o空間進行直接存儲器訪問。該過程是由、兩個信號控制。外部設備可以把引腳驅動到低電平,從而請求對外部總線的控制。如果中斷線被允許,那么將觸發(fā)中斷。f206在相應中斷時,軟件邏輯可以使處理器發(fā)出應答信號,表示它將放棄對外部總線的控制。根據,外部地址信號(a15~a0)、數據信號(d15~d0)以及存儲器控制信號(、、、、、、)被置為高阻狀態(tài),實現dma功能。

系統(tǒng)硬件設計

系統(tǒng)的硬件結構如圖1所示,存貯器62256作為dsp的全局數據存儲器,同時又是admc812的外部存儲器,兩控制器分別通過總線和數據存儲器62256相連,實現存儲器共享。為了保證兩控制器能分別獨立地工作。在admc812和62256之間插入了4片74hc245進行總線隔離。這樣,在admc812的控制下,每一時刻只有一個控制器訪問62256。圖中62256作為admc812的外部存儲器,a15為片選信號,地址范圍為8000h~ffffh;作為f206的全局數據存儲器,用作片選線,使用高端32k字地址范圍(8000h~ffffh)。兩片選信號經一與非門和62256的片選線cs2相連,實現片選信號的隔離。

admc812通過p1.0、p3.2(int0)分別和dsp的、xf腳相連,由p1.0向dsp申請總線控制,在dsp響應admc812的請求后,dsp的cpu被掛起,并出讓外部總線。admc812通過a15打開總線驅動器,并經與非門后選中62256,獲得62256的控制權,實現對62256的讀寫操作。而f206也可以通過向admc812請求中斷,admc812在響應中斷int0后,進行相關事務的處理。另一方面,admc812通過讀引腳的電平,可以確認f206是否被掛起;而通過對腳的控制,實現f206程序的分支轉移,增加系統(tǒng)的靈活性。

整個系統(tǒng)分為事務性模塊和數據處理模塊,admc812控制事務模塊,進行數據的采集、led顯示、開關量的輸入輸出,模擬量的輸出及串行通信等功能。f206控制數據處理模塊,主要進行數據的處理,完成復雜的算法。另外,也可以根據數據處理結果直接處理一些重要的出口控制功能,以彌補admc812 i/o端口的不足,加快系統(tǒng)的反應速度。兩個相對獨立的功能模塊通過62256進行數據交換。

系統(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轉換結束且采樣點達到預定的數量后,admc812就通過adc中斷,放棄對62256的控制并通知dsp進行數據處理。而后admc812進入顯示、鍵功能、i/o操作、串口通信等事務性的工作。

f206在接收到admc812的dma請求后,進入到等待狀態(tài),并放棄對外部總線的控制權。62256通過admc812獲得采樣數據,當采樣結束后,dsp從等待狀態(tài)返回到正常運行狀態(tài)并獲得總線的控制權,進行數據處理,將運算結果放回62256。f206的dma操作過程是:f206引腳/上獲得一個有效的下降沿,當cpu轉移到0002h地址單元,cpu從0002h地址單元提取中斷矢量并進入中斷服務程序,在對mode=0進行成功的測試后,該中斷服務程序就執(zhí)行一個idle指令,使f206進入到等待狀態(tài)。當檢測到/腳上的一個上升沿后,cpu退出idle狀態(tài),并使外部總線返回其正常狀態(tài),執(zhí)行數據處理程序。
軟件使用c語言設計,分別在兩個開發(fā)系統(tǒng)上進行程序設計和調試。利用adi公司提供的軟件開發(fā)工具,能夠快速高效地完成admc812應用程序的設計,并通過admc812的通用串行口在線調試和代碼下載。f206用聞亭公司提供的tds-510開發(fā)工具進行軟件設計。最后將admc812和f206進行聯(lián)機調試,完成整個軟件的開發(fā)。

結語

以上設計方案,適合于采集數據量大、算法復雜、有一定實時要求的應用領域。由于雙cpu系統(tǒng)無需額外的附加雙口ram、fifo及復雜的控制電路,降低了成本,簡化了電路,也擴展了admc812的應用范圍。




關鍵詞:

評論


相關推薦

技術專區(qū)

關閉