《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ADmC812和DSP實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
基于ADmC812和DSP實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
摘要: 本文針對(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ù)的交換和通信,。
Abstract:
Key words :

       引言 

       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í)性又要求較高的場合,,由于在結(jié)構(gòu)和速度上的限制,,往往是無法滿足要求的。本文針對(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ù)的交換和通信,。

 

sp;               系統(tǒng)結(jié)構(gòu)圖

 

       ADmC812和TMS320F206簡介

       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(以下簡稱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功能,。

          系統(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)的隔離,。

       ADmC812通過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ù)雜的算法,。另外,也可以根據(jù)數(shù)據(jù)處理結(jié)果直接處理一些重要的出口控制功能,,以彌補(bǔ)ADmC812 I/O端口的不足,,加快系統(tǒng)的反應(yīng)速度。兩個(gè)相對(duì)獨(dú)立的功能模塊通過62256進(jìn)行數(shù)據(jù)交換,。

       系統(tǒng)軟件設(shè)計(jì)

       由于系統(tǒng)的兩個(gè)模塊在功能上相對(duì)獨(dú)立,,相應(yīng)的軟件也包括兩個(gè)主要模塊,ADmC812在程序加載完成后,,就進(jìn)入程序正常運(yùn)行,。系統(tǒng)初始化后,首先通過P1.0向F206請(qǐng)求DMA操作,,且得到響應(yīng)后,,ADmC812獲得62256控制權(quán)。這時(shí),通過配置3個(gè)特殊功能寄存器ADCCON1~3,,可以使ADmC812工作在不同的模式下。其中在DMA模式下,,ADC可以連續(xù)轉(zhuǎn)換,,并把采樣值捕獲到外部RAM空間而不需要來自微處理器的任何干預(yù),由中斷位ADCCON2.7表示DMA轉(zhuǎn)換結(jié)束,。在A/D轉(zhuǎn)換結(jié)束且采樣點(diǎn)達(dá)到預(yù)定的數(shù)量后,,ADmC812就通過ADC中斷,放棄對(duì)62256的控制并通知DSP進(jìn)行數(shù)據(jù)處理,。而后ADmC812進(jìn)入顯示,、鍵功能、I/O操作,、串口通信等事務(wù)性的工作,。

       F206在接收到ADmC812的DMA請(qǐng)求后,進(jìn)入到等待狀態(tài),,并放棄對(duì)外部總線的控制權(quán),。62256通過ADmC812獲得采樣數(shù)據(jù),當(dāng)采樣結(jié)束后,,DSP從等待狀態(tài)返回到正常運(yùn)行狀態(tài)并獲得總線的控制權(quán),,進(jìn)行數(shù)據(jù)處理,將運(yùn)算結(jié)果放回62256,。F206的DMA操作過程是:F206引腳/上獲得一個(gè)有效的下降沿,,當(dāng)CPU轉(zhuǎn)移到0002H地址單元,CPU從0002H地址單元提取中斷矢量并進(jìn)入中斷服務(wù)程序,,在對(duì)MODE=0進(jìn)行成功的測(cè)試后,,該中斷服務(wù)程序就執(zhí)行一個(gè)IDLE指令,使F206進(jìn)入到等待狀態(tài),。當(dāng)檢測(cè)到/腳上的一個(gè)上升沿后,,CPU退出IDLE狀態(tài),并使外部總線返回其正常狀態(tài),,執(zhí)行數(shù)據(jù)處理程序,。

       軟件使用C語言設(shè)計(jì),分別在兩個(gè)開發(fā)系統(tǒng)上進(jìn)行程序設(shè)計(jì)和調(diào)試,。利用ADI公司提供的軟件開發(fā)工具,,能夠快速高效地完成ADmC812應(yīng)用程序的設(shè)計(jì),并通過ADmC812的通用串行口在線調(diào)試和代碼下載,。F206用聞亭公司提供的TDS-510開發(fā)工具進(jìn)行軟件設(shè)計(jì),。最后將ADmC812和F206進(jìn)行聯(lián)機(jī)調(diào)試,完成整個(gè)軟件的開發(fā)。

       結(jié)語

       以上設(shè)計(jì)方案,,適合于采集數(shù)據(jù)量大,、算法復(fù)雜、有一定實(shí)時(shí)要求的應(yīng)用領(lǐng)域,。由于雙CPU系統(tǒng)無需額外的附加雙口RAM,、FIFO及復(fù)雜的控制電路,降低了成本,,簡化了電路,,也擴(kuò)展了ADmC812的應(yīng)用范圍。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。