基于ADmC812和DSP實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
admc812是adi公司的以8051(8052)內(nèi)核為控制核心的新型微轉(zhuǎn)換器。由于admc812內(nèi)部集成了大量的外圍設(shè)備。它本身就是一個(gè)完全可編程、自校準(zhǔn)、高精度的數(shù)據(jù)采集系統(tǒng),可以取代傳統(tǒng)的mcu+a/d+rom+ram高成本、大體積產(chǎn)品,尤其是它的高精度和高速度a/d模塊,特別適應(yīng)于智能傳感、瞬時(shí)獲取、數(shù)據(jù)采集和各種通信系統(tǒng)。但是,對(duì)于需要采集數(shù)據(jù)量大、運(yùn)算復(fù)雜、實(shí)時(shí)性又要求較高的場(chǎng)合,由于在結(jié)構(gòu)和速度上的限制,往往是無(wú)法滿足要求的。本文針對(duì)這種情況,提出了基于admc812和dsp的數(shù)據(jù)采集系統(tǒng)。在這個(gè)系統(tǒng)中,admc812作為主機(jī),完成adc、dac、顯示、鍵盤等功能,而dsp作從機(jī),專注于復(fù)雜的數(shù)據(jù)運(yùn)算,兩者通過通用的sram實(shí)現(xiàn)數(shù)據(jù)的交換和通信。
admc812和tms320f206簡(jiǎn)介 admc812微轉(zhuǎn)換芯片 admc812是具有16位計(jì)數(shù)/定時(shí)和32條可編程i/o接口的8051/8052微控制器,內(nèi)置一個(gè)8通道、5ms轉(zhuǎn)換時(shí)間、精度自校正、12位逐次逼近的adc;2個(gè)12位dac,10.5kb的閃存eeprom,256字節(jié)的sram。還包括一些重要功能模塊,如看門狗定時(shí)器和電源監(jiān)控器,adc與數(shù)據(jù)存儲(chǔ)器之間的dma方式,存儲(chǔ)保護(hù)功能,一個(gè)通用異步串行收發(fā)器(uart)、spi和i2c總線接口。 admc812內(nèi)豐富的外設(shè),使它不需要外部總線擴(kuò)展就可以組成一個(gè)完整數(shù)據(jù)采集系統(tǒng),有很高的性價(jià)比。更值得注意的是在admc812內(nèi)集成了8路12位高精度、自校準(zhǔn)4ppm/℃的adc電路。而且,當(dāng)工作條件(如時(shí)鐘頻率、模擬輸入范圍、基準(zhǔn)電壓或電源電壓)發(fā)生變化時(shí),為了得到高精度的adc結(jié)果,可以用軟件對(duì)admc812內(nèi)4個(gè)用于校正的特殊功能的寄存器設(shè)置,達(dá)到進(jìn)一步校正adc的目的。admc812通過設(shè)置adcon1~3 三個(gè)特殊功能寄存器,可以使adc工作于3種不同的模式,實(shí)現(xiàn)單次轉(zhuǎn)換、連續(xù)轉(zhuǎn)換和dma模式的a/d轉(zhuǎn)換,可以根據(jù)具體的需要選擇,在dma模式下,允許adc在每次設(shè)置寄存器adccon1~3后連續(xù)采樣,并將結(jié)果寫入外部ram中。這種自動(dòng)捕獲功能大大地方便了主從處理器之間的數(shù)據(jù)交換。 數(shù)字信號(hào)處理器tms320f206 tms320f206(以下簡(jiǎn)稱f206)是ti公司生產(chǎn)的tms320c2000系列dsp之一。是繼c2x和c5x之后推出的低價(jià)格高性能的16位定點(diǎn)dsp,由于它采用了改進(jìn)的哈佛結(jié)構(gòu),具有分離的程序總線和數(shù)據(jù)總線,采用四級(jí)流水線作業(yè),其運(yùn)行速度可達(dá)40mips,具有高速運(yùn)行的特點(diǎn)。同時(shí)提供豐富的指令集,增強(qiáng)的模塊化結(jié)構(gòu)設(shè)計(jì),使它通用化得以提高,應(yīng)用領(lǐng)域不斷拓寬,現(xiàn)已成為高檔單片機(jī)的理想替代品。f206片內(nèi)有32k的閃速存儲(chǔ)器,用戶通過f206自帶的、符合ieee標(biāo)準(zhǔn)1149.1的jtag接口,可以對(duì)程序進(jìn)行仿真與調(diào)試,并將程序代碼燒錄到片內(nèi),極大地方便了用戶的系統(tǒng)設(shè)計(jì)與程序調(diào)試。 tms320f206提供直接存儲(chǔ)器訪問(dma)功能,通過使用hold操作允許對(duì)外部程序、數(shù)據(jù)以及i/o空間進(jìn)行直接存儲(chǔ)器訪問。該過程是由、兩個(gè)信號(hào)控制。外部設(shè)備可以把引腳驅(qū)動(dòng)到低電平,從而請(qǐng)求對(duì)外部總線的控制。如果中斷線被允許,那么將觸發(fā)中斷。f206在相應(yīng)中斷時(shí),軟件邏輯可以使處理器發(fā)出應(yīng)答信號(hào),表示它將放棄對(duì)外部總線的控制。根據(jù),外部地址信號(hào)(a15~a0)、數(shù)據(jù)信號(hào)(d15~d0)以及存儲(chǔ)器控制信號(hào)(、、、、、、)被置為高阻狀態(tài),實(shí)現(xiàn)dma功能?! ∠到y(tǒng)硬件設(shè)計(jì) 系統(tǒng)的硬件結(jié)構(gòu)如圖1所示,存貯器62256作為dsp的全局?jǐn)?shù)據(jù)存儲(chǔ)器,同時(shí)又是admc812的外部存儲(chǔ)器,兩控制器分別通過總線和數(shù)據(jù)存儲(chǔ)器62256相連,實(shí)現(xiàn)存儲(chǔ)器共享。為了保證兩控制器能分別獨(dú)立地工作。在admc812和62256之間插入了4片74hc245進(jìn)行總線隔離。這樣,在admc812的控制下,每一時(shí)刻只有一個(gè)控制器訪問62256。圖中62256作為admc812的外部存儲(chǔ)器,a15為片選信號(hào),地址范圍為8000h~ffffh;作為f206的全局?jǐn)?shù)據(jù)存儲(chǔ)器,用作片選線,使用高端32k字地址范圍(8000h~ffffh)。兩片選信號(hào)經(jīng)一與非門和62256的片選線cs2相連,實(shí)現(xiàn)片選信號(hào)的隔離?! dmc812通過p1.0、p3.2(int0)分別和dsp的、xf腳相連,由p1.0向dsp申請(qǐng)總線控制,在dsp響應(yīng)admc812的請(qǐng)求后,dsp的cpu被掛起,并出讓外部總線。admc812通過a15打開總線驅(qū)動(dòng)器,并經(jīng)與非門后選中62256,獲得62256的控制權(quán),實(shí)現(xiàn)對(duì)62256的讀寫操作。而f206也可以通過向admc812請(qǐng)求中斷,admc812在響應(yīng)中斷int0后,進(jìn)行相關(guān)事務(wù)的處理。另一方面,admc812通過讀引腳的電平,可以確認(rèn)f206是否被掛起;而通過對(duì)腳的控制,實(shí)現(xiàn)f206程序的分支轉(zhuǎn)移,增加系統(tǒng)的靈活性。
整個(gè)系統(tǒng)分為事務(wù)性模塊和數(shù)據(jù)處理模塊,admc812控制事務(wù)模塊,進(jìn)行數(shù)據(jù)的采集、led顯示、開關(guān)量的輸入輸出,模擬量的輸出及串行通信等功能。f206控制數(shù)據(jù)處理模塊,主要進(jìn)行數(shù)據(jù)的處理,完成復(fù)雜的算法。另外,也