陳建華
[摘 ? ? ? ? ? 要] ?為了完成對信號的高精度測量,以ADS8364和DSP為基礎(chǔ)設(shè)計了高精度數(shù)據(jù)采集體系方案。給出該體系硬件結(jié)構(gòu)圖和重要電路模塊的設(shè)計思路,并解釋系統(tǒng)軟件的框架與設(shè)計流程以及如何通過軟件編程來提高數(shù)據(jù)采集的速度。該數(shù)據(jù)采集系統(tǒng)可以廣泛地應(yīng)用于傳感器信號采集、工業(yè)控制等場合中,具有非常好的市場應(yīng)用前景。
[關(guān) ? ?鍵 ? 詞] ?DSP;ADS8364;高精度;數(shù)據(jù)采集
[中圖分類號] ?TP274+.2 ? ? ? ? ? ? ? ? [文獻標志碼] ?A ? ? ? ? ? ? ? ? ? ?[文章編號] ?2096-0603(2019)16-0048-02
隨著大規(guī)模集成電路技術(shù)的發(fā)展,美國德州儀器公司于1983年推出了自身的第一代DSP芯片,并取得了很大的成功。該芯片選用了哈佛結(jié)構(gòu),并擁有16比特的字長,具有獨立的數(shù)據(jù)存儲器和指令功能,并且另有個特殊的指令集來進行累乘、累加讀入等運算,一乘加運算的時間只要390ns。在當(dāng)時DSP5600是另一個比較成功的DSP芯片,它是由Motorola公司生產(chǎn)的。DSP32芯片是早期具有高性能浮點型的芯片,它是AT&T公司于1984年推出的。
一、國內(nèi)研究現(xiàn)狀
近幾年來,伴隨著我國信息產(chǎn)業(yè)的蓬勃發(fā)展,數(shù)字信號處理學(xué)科發(fā)展較快。DSP處理器已經(jīng)在我國的許多方面得到了廣泛的應(yīng)用,尤其是在數(shù)字通信、電子對抗、圖像處理、信號處理、雷達等方面,為國民經(jīng)濟和科學(xué)技術(shù)建設(shè)創(chuàng)造了很大的價值。我國的科研人員經(jīng)過對先進的DSP芯片的研究,在PCB板設(shè)計方面汲取了寶貴的設(shè)計經(jīng)驗,并研制出少許高性能處理設(shè)備的解決方案。
二、國外研究現(xiàn)狀
簡略國際DSP處理發(fā)展的近況,能夠看出國外的商業(yè)化信號處理設(shè)備一向保持著快速的發(fā)展勢頭,歐美等科技大國保持著國際領(lǐng)先的地位。他們中很多已經(jīng)發(fā)展到相當(dāng)大的規(guī)模,譬如,美國DSP research公司,加拿大Dy4公司等,他們之間的競爭也變得越來越劇烈。
三、整體結(jié)構(gòu)設(shè)計
(一)系統(tǒng)的基本參數(shù)
(1)DSP系統(tǒng)工作主頻150MHZ;(2)電壓測量精度優(yōu)于0.5%;(3)實現(xiàn)DSP的串口通信。
(二)DSP的選型
TMS320F2812數(shù)字信號處理器采用DSP和微控制器最佳功能的集成,當(dāng)前已發(fā)展至150MHz的Flash模式。
綜合以上性能指標以及本設(shè)計所要達到的技術(shù)指標,本設(shè)計選用TMS320F2812芯片。該芯片是TI公司在C2000微處理器平臺上推出的新一代32位定點/浮點DSP芯片,具有多種外設(shè)和存儲器配置,可滿足不同的控制要求。
(三)硬件系統(tǒng)總體設(shè)計
圖為一個典型的DSP系統(tǒng)。先讓AD采集外部電壓送入DSP處理,然后經(jīng)過串口通信送入上位機進行顯示電壓數(shù)據(jù)。
(四)系統(tǒng)軟件總體設(shè)計
本方案采用的是TI公司的數(shù)字信號控制器TMS320F2812,主要利用其強大的計算能力和高速的指令周期,確??刂破骺梢钥焖夙憫?yīng)ADS8364的數(shù)據(jù)請求。軟件分為DSP初始化、ADS8364初始化、數(shù)據(jù)讀取三部分。
1.軟件初始化
定義初始化函數(shù),主要工作完實現(xiàn)DSP的定時器、I/O口輸入輸出、SPI、外部中斷等功能的初始化。定義了初始化函數(shù),通過SPI傳輸數(shù)據(jù),實現(xiàn)對ADS8364的初始化。
2.數(shù)據(jù)讀取與處理
設(shè)置完成,ADS8364將進入自動采集模式,進行高頻率的掃描,其通道得到采樣值后發(fā)送中斷信號至DSP2812的外部間斷,DSP2812進行中斷響應(yīng)并讀取通道電壓采樣值。以上數(shù)據(jù)是通過SPI讀到的。在程序結(jié)構(gòu)設(shè)計時,不要將數(shù)據(jù)讀取、數(shù)據(jù)分析和數(shù)據(jù)轉(zhuǎn)換放入外部中斷功能里,應(yīng)在中斷函數(shù)里置標記位,返回主程序處理。
四、數(shù)據(jù)采集單元
數(shù)據(jù)信號收集電路是電子系統(tǒng)中常用到的功能模塊,A/D是重要的數(shù)據(jù)采集模塊轉(zhuǎn)變電路。使用ADS8364實現(xiàn)A/D數(shù)據(jù)采集轉(zhuǎn)換,輸入的是直接從外部采集到的電壓信號,經(jīng)過ADS8364內(nèi)部的量化編碼,將外部采集到的模擬信號通過ADS8364轉(zhuǎn)化為數(shù)字信號傳輸?shù)紻SP中運行,再通過內(nèi)部RAM的代碼搬運加快運行速度,并且在電壓測量中使電壓測量的相對誤差小于0.5%。
(一)A/D選擇及電路設(shè)計
為了確保體系處理結(jié)果的準確度,A/D轉(zhuǎn)換器必須有充足的轉(zhuǎn)換精度,改變時間控制、檢測精度達到快速轉(zhuǎn)變信號的目的。A/D轉(zhuǎn)換器是數(shù)據(jù)采集體系的核心器件,主要有采樣通道數(shù)、輸入范圍、輸入方法、采樣率、分辨率、精度、碼元寬度以及A/D轉(zhuǎn)換器精度等重要技術(shù)指標,直接影響數(shù)據(jù)采集系統(tǒng)的精度。因此,本次采用型號為TI公司的ADS8364芯片。ADS8364的主要特性如下所示:
(1)集成了6個16位ADC,且6個通道可以同時工作;(2)每個通道的單次轉(zhuǎn)換時間為4us;(3)可以采用單端輸入或差分輸入;(4)最高采樣率為250KSPS;(5)簡單易用的數(shù)據(jù)接口。
(二)ADS8364工作原理
ADS8364的最大工作頻率可達5MHz,采樣/轉(zhuǎn)換可在20 個轉(zhuǎn)換時鐘周期內(nèi)完成。ADS8364的6個通道能夠同時進行采樣/轉(zhuǎn)換,吞吐率最大可達250ksps。ADS8364選用+5V工作電壓,并帶有80dB共模抑制的全差分輸入通道和6個4μs連續(xù)近似的模數(shù)轉(zhuǎn)換器、六個差分采樣放大器。ADS8364的差分輸入可在-vref到+vref之間轉(zhuǎn)變。此外,在REFIN和REFOUT引腳里面還帶有+2.5V參考電壓。
ADS8364模數(shù)轉(zhuǎn)換器的六個16位ADCs可能成對的同步運轉(zhuǎn)。三個維持信號(■,■,■),開關(guān)可以驅(qū)動指定通道。當(dāng)三個維持信號都選通時,將結(jié)果存儲在寄存器里面。對于每一個讀操作,ADS8364都傳出16位數(shù)據(jù),地址/模式信號(A0,A1,A2)不妨選取從ADS8364讀取數(shù)據(jù),也能夠選擇單通道、單周期或FIFO模式。在ADS8364的■延續(xù)最少20ns的低電平時,轉(zhuǎn)變打開。
(三)數(shù)據(jù)采集電路
數(shù)據(jù)采集過程的基本工作原理為:
(1)DSP的定時器中斷定時觸發(fā)A/D啟動轉(zhuǎn)換;(2)DSP期待ADS8364的EOC外部間斷;(3)檢測到EOC后,開始數(shù)據(jù)讀取;(4)發(fā)送數(shù)據(jù)處理緩存。
DSP和ADS8364采集系統(tǒng)是以TMS320F2812為系統(tǒng)控制中心,通過ADS8364模數(shù)轉(zhuǎn)換器對外部電壓信號進行采集,實現(xiàn)將采集結(jié)果經(jīng)DSP處理送入PC機顯示等功能。
五、DSP概述
TMS320F2812系列DSP有如下特征:
支持JTAG邊界掃描接口;
高性能32位CPU;
16×16位以及32×32位的乘法疊加操作;
16×16位的雙乘法累加器;
哈佛總線結(jié)構(gòu);
快速的間斷相應(yīng)和處置本領(lǐng);
統(tǒng)一的尋址模式;
4MB的程序/數(shù)據(jù)尋址空間;
高效的代碼轉(zhuǎn)換功效(C/C++和匯編);
片上存儲器;
能夠達到128K的×16(F2812)閃存;
最多達128K×16位的ROM;
1K×16位的OTP ROM;
H0:一塊8K×16位的單周期訪問RAM(SRAM)。
(一)最小系統(tǒng)
DSP2812最小系統(tǒng)主要由時鐘系統(tǒng)、調(diào)試測試接口、供電電源以及復(fù)位和存儲器系統(tǒng)構(gòu)成。其中存儲器是可選的,這是因為很多DSP芯片內(nèi)部已經(jīng)集成了程序存儲器和數(shù)據(jù)存儲器,但是對很多DSP應(yīng)用系統(tǒng)來說數(shù)據(jù)處理量比較大,一般都要外擴RAM存儲器。
(二)晶振電路
本設(shè)計采用30M的晶體配合C25和C26兩個電容構(gòu)成晶振電路,是為了更好的起振。C25接外部晶體的一個引腳,C26接外部晶體的另一端。
(三)電源電路
DSP2812的電源分為兩部分:3.3V的FLASH電壓和1.8V的內(nèi)核電壓,DSP采用5V電源供電。本設(shè)計在考慮了DSPCPU內(nèi)核電壓、DSP外設(shè)電壓、Flash編程電壓以及模擬電路電壓等諸多方面的因素,其芯片型號為TPS70151。而且,為了減少電源噪聲和相互干擾,數(shù)字電路和模擬電路要獨立供電,數(shù)字地和模擬地也要分隔開,并最終通過一個磁珠在一點連在一起。
(四)FLASH模塊
TMS320F2812內(nèi)部具有128K×16位的Flash空間(4個8K×16位和6個16K×16位的空間),由于本設(shè)計DSP中所編譯的代碼段高于FLASH的存儲容量。
(五)RAM模塊
F2812的片內(nèi)存儲空間比較?。?8K×16位),基于本設(shè)計是一個需要較多數(shù)據(jù)和程序存儲空間的系統(tǒng),所以不得不外擴RAM。
六、系統(tǒng)軟件功能模塊
(一)AD采集子程序的設(shè)計
為了實現(xiàn)數(shù)據(jù)采集的功能,需要進行AD采集程序的設(shè)計。首先設(shè)置采樣通道和采樣接口,再復(fù)位ADS8364,緊接著開啟采樣電路,設(shè)置請求標志,如果沒有則返回請求,如果有則啟動采樣程序進行采樣,采樣結(jié)束后將請求標志清零,最后再返回申請采樣標志,等待下一次采樣信號的到來。
(二)DSP代碼搬運子程序的設(shè)計
F2812最高采樣時鐘頻率為150MHz,但當(dāng)程序?qū)懙紽lash中運行時,可能會降到原來在內(nèi)存中運行時的60%~70%。在F2812里,代碼從內(nèi)部Flash里運行時,比從內(nèi)部RAM里運行要慢 30%左右,所以對運行時間苛刻的程序直接在Flash里運行,往往不能滿足要求。在這個時候,對時間更敏感或計算量比較大的子程序能夠在內(nèi)存中運行,如A/D采樣子程序。但問題是,所有的代碼都是儲存在快閃記憶體中,必須把Flash程序復(fù)制到RAM中運行,加快步伐。
(三)DSP串口通信子程序的設(shè)計
首先是接收移位寄存器工作,進入SCI數(shù)據(jù)寄存器,處理后進入MCU內(nèi)部總線再返回發(fā)送移位寄存器,完成整個串口通信的任務(wù)。
參考文獻:
[1]顧衛(wèi)剛.手把手教你學(xué)DSP[M].北京:北京航空航天出版社,2011.
[2]冬雷.DSP原理及開發(fā)技術(shù)[M].北京:北京交通大學(xué)出版社,2007.
[3]馬永軍.DSP原理與應(yīng)用[M].北京:北京郵電大學(xué)出版社,2008.
[4]何加銘.嵌入式32位微處理器系統(tǒng)設(shè)計與應(yīng)用[M].北京:電子工業(yè)出版社,2006.
[5]易先軍.基于DSP的多路同步數(shù)據(jù)采集系統(tǒng)的開發(fā)與應(yīng)用[D].武漢:華中科技大學(xué),2005.
[6]鄧少軍.基于DSP的電能質(zhì)量監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[D].沈陽:東北大學(xué),2006.
編輯 王 敏