基于ADmC812和DSP實時數據采集系統(tǒng)
引言
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實現(xiàn)數據的交換和通信。
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種不同的模式,實現(xiàn)單次轉換、連續(xù)轉換和dma模式的a/d轉換,可以根據具體的需要選擇,在dma模式下,允許adc在每次設置寄存器adccon1~3后連續(xù)采樣,并將結果寫入外部ram中。這種自動捕獲功能大大地方便了主從處理器之間的數據交換。 數字信號處理器tms320f206 tms320f206(以下簡稱f206)是ti公司生產的tms320c2000系列dsp之一。是繼c2x和c5x之后推出的低價格高性能的16位定點dsp,由于它采用了改進的哈佛結構,具有分離的程序總線和數據總線,采用四級流水線作業(yè),其運行速度可達40mips,具有高速運行的特點。同時提供豐富的指令集,增強的模塊化結構設計,使它通用化得以提高,應用領域不斷拓寬,現(xiàn)已成為高檔單片機的理想替代品。f206片內有32k的閃速存儲器,用戶通過f206自帶的、符合ieee標準1149.1的jtag接口,可以對程序進行仿真與調試,并將程序代碼燒錄到片內,極大地方便了用戶的系統(tǒng)設計與程序調試。 tms320f206提供直接存儲器訪問(dma)功能,通過使用hold操作允許對外部程序、數據以及i/o空間進行直接存儲器訪問。該過程是由、兩個信號控制。外部設備可以把引腳驅動到低電平,從而請求對外部總線的控制。如果中斷線被允許,那么將觸發(fā)中斷。f206在相應中斷時,軟件邏輯可以使處理器發(fā)出應答信號,表示它將放棄對外部總線的控制。根據,外部地址信號(a15~a0)、數據信號(d15~d0)以及存儲器控制信號(、、、、、、)被置為高阻狀態(tài),實現(xiàn)dma功能?! ∠到y(tǒng)硬件設計 系統(tǒng)的硬件結構如圖1所示,存貯器62256作為dsp的全局數據存儲器,同時又是admc812的外部存儲器,兩控制器分別通過總線和數據存儲器62256相連,實現(xiàn)存儲器共享。為了保證兩控制器能分別獨立地工作。在admc812和62256之間插入了4片74hc245進行總線隔離。這樣,在admc812的控制下,每一時刻只有一個控制器訪問62256。圖中62256作為admc812的外部存儲器,a15為片選信號,地址范圍為8000h~ffffh;作為f206的全局數據存儲器,用作片選線,使用高端32k字地址范圍(8000h~ffffh)。兩片選信號經一與非門和62256的片選線cs2相連,實現(xiàn)片選信號的隔離?! dmc812通過p1.0、p3.2(int0)分別和dsp的、xf腳相連,由p1.0向dsp申請總線控制,在dsp響應admc812的請求后,dsp的cpu被掛起,并出讓外部總線。admc812通過a15打開總線驅動器,并經與非門后選中62256,獲得62256的控制權,實現(xiàn)對62256的讀寫操作。而f206也可以通過向admc812請求中斷,admc812在響應中斷int0后,進行相關事務的處理。另一方面,admc812通過讀引腳的電平,可以確認f206是否被掛起;而通過對腳的控制,實現(xiàn)f206程序的分支轉移,增加系統(tǒng)的靈活性。
整個系統(tǒng)分為事務性模塊和數據處理模塊,admc812控制事務模塊,進行數據的采集、led顯示、開關量的輸入輸出,模擬量的輸出及串行通信等功能。f206控制數據處理模塊,主要進行數據的處理,完成復雜的算法。另外,也





