国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的多路數(shù)字位移傳感器的分析系統(tǒng)設(shè)計

2011-10-09 09:45沈瑞
電子設(shè)計工程 2011年23期
關(guān)鍵詞:溫度傳感器特性頻率

沈瑞

(西南交通大學(xué) 電磁所,四川 成都 610031)

位移傳感器是新技術(shù)革命和信息社會的重要技術(shù)基礎(chǔ),傳感器技術(shù)是實現(xiàn)測試與自動控制的重要環(huán)節(jié)。在傳統(tǒng)的傳感器研究當(dāng)中,以各種以模擬信號輸出的位移傳感器為主,對這類傳感器的工作原理以及特性進(jìn)行了分析說明。然而,隨著工業(yè)的不斷發(fā)展,要求各種傳感器具有智能——自診斷,自識別以及自決策功能,要實現(xiàn)這些功能,則必須要配合一些控制器核,比如專用集成電路(ASIC),或者專用指令處理器(ASIP)等。由于模擬信號相對于數(shù)字信號而言,處理起來更加的復(fù)雜,而且抗干擾能力相對于數(shù)字信號而言,也比較弱,因此,數(shù)字位移傳感器在未來的應(yīng)用性上,具有更好的適應(yīng)能力。

對于一個系統(tǒng)而言,為了更加準(zhǔn)確利用數(shù)字位移傳感器測試位移量,往往需要在一個系統(tǒng)中加入多個數(shù)字位移傳感器,這樣通過數(shù)據(jù)對比,得到更加準(zhǔn)確的位移。同時,需要考慮到溫度對傳感器的影響,還需要在系統(tǒng)中加入溫度傳感器,從而使得位移傳感器能夠隨著溫度的變化而做出適當(dāng)?shù)恼{(diào)整,保證輸出數(shù)據(jù)的精確與正確性?;谏鲜龅囊螅笙到y(tǒng)內(nèi)部含有多個傳感器,并且傳感器的測試量是不同的。

當(dāng)前傳感器的數(shù)據(jù)采集方式主要以微控制器或者微處理器進(jìn)行采集;由于控制器的接口限制,無法在同一時刻對多個傳感器的數(shù)據(jù)進(jìn)行采集;如果同時使用多個微處理器對多個傳感器進(jìn)行數(shù)據(jù)采集,一方面使系統(tǒng)成本增加,另一方面對采集的數(shù)據(jù)進(jìn)行整合的時候,需要采取相應(yīng)的比較繁瑣的整合方案,這樣不利于對于數(shù)據(jù)的分析,特別是在需要進(jìn)行數(shù)據(jù)融合的地方,無法保證采集數(shù)據(jù)具有同一個時間坐標(biāo)。

傳感器的數(shù)據(jù)形式多種多樣,對傳感器的控制信號也是形式多樣的,這就要求傳感器的控制系統(tǒng)具有很強(qiáng)的靈活性。在對不同的傳感器進(jìn)行控制時,要求不同的操作步驟。如果采用傳統(tǒng)的以微控制器或者微處理器為主的系統(tǒng),由于針對不同的操作步驟具有先后次序,導(dǎo)致采集數(shù)據(jù)具有先后次序,從而無法保證數(shù)據(jù)的實時性,同時,操作起來也相當(dāng)復(fù)雜[1]。

FPGA具有豐富的I/O資源,一般可用的I/O資源至少上百個,這就意味了FPGA可以與相當(dāng)可觀的傳感器進(jìn)行連接,加上FPGA內(nèi)部的豐富資源以及靈活的數(shù)字信號處理方式,能夠在同一時間控制多個傳感器,從而可以實時性的采集不同傳感器的數(shù)據(jù)。如果資源足夠多,完全可以在FPGA內(nèi)部對采集的數(shù)據(jù)進(jìn)行一些數(shù)字信號處理的算法。

1 數(shù)據(jù)采集系統(tǒng)

數(shù)據(jù)采集系統(tǒng)主要由4部分組成:1)數(shù)字位移傳感器的數(shù)據(jù)采集模塊;2)溫度傳感器的數(shù)據(jù)采集模塊;3)UART控制模塊;4)數(shù)據(jù)輸出控制模塊。

1.1 設(shè)計的整體構(gòu)架

數(shù)據(jù)采集系統(tǒng)的整體構(gòu)架如圖1所示。

數(shù)字位移傳感器模塊用于采集數(shù)字位移傳感器的數(shù)據(jù)。由于數(shù)字位移傳感器傳輸?shù)紽PGA的位移數(shù)據(jù)是頻率格式的數(shù)據(jù),所以需要進(jìn)行一個數(shù)據(jù)轉(zhuǎn)換,即把頻率格式的數(shù)據(jù)轉(zhuǎn)換成精度足夠高的16位的數(shù)據(jù)。

圖1 數(shù)據(jù)采集系統(tǒng)的整體構(gòu)架Fig.1 Architecture of data acquisition

溫度傳感器采集模塊用于采集溫度傳感器的數(shù)據(jù)。這里所使用的溫度傳感器是DS18B20,要采集該傳感器的數(shù)據(jù),要經(jīng)過初始化,寫入命令字等步驟,這通過FPGA可以十分方便的進(jìn)行控制,它的輸出是16位的溫度數(shù)據(jù)[2]。

數(shù)據(jù)輸出控制模塊的作用就是把采集的位移數(shù)據(jù)以及溫度數(shù)據(jù)以一定的格式,通過UART口發(fā)送出去,發(fā)送的格式可以按照如下描述:

首先發(fā)送采集數(shù)據(jù)的序號,接著分別發(fā)送10路位移傳感器數(shù)據(jù)的高八位以及第八位,然后發(fā)送溫度傳感器的高八位以及第八位,最后發(fā)送采集數(shù)據(jù)的序號。

之所以采用這種格式,一方面是傳感器數(shù)目的要求,另一方面是由于采用了UART口進(jìn)行傳輸?shù)脑?。由于UART最大支持8位的數(shù)據(jù)傳輸,所以在傳輸?shù)倪^程中,需要把16位的數(shù)據(jù)分為高8位和低8位進(jìn)行傳輸。

UART控制模塊在數(shù)據(jù)輸出控制模塊的控制下,向通過電腦的串口向電腦發(fā)送數(shù)據(jù),從而用電腦將接收到的傳感器數(shù)據(jù)進(jìn)行處理。

1.2 數(shù)字位移傳感器模塊的構(gòu)架

數(shù)字位移傳感器的工作原理可以簡單的描述為:隨著位移的改變,它的輸出頻率相應(yīng)的會加以改變。對于這種頻率信號的處理,有兩種簡化的處理方式:1)直接法。就是設(shè)定一個時間窗口(時間段),在這個時間窗口內(nèi)計算采集到的周期數(shù),然后以該周期數(shù)作為位移數(shù)據(jù)進(jìn)行輸出;2)間接法。該方法的原理是應(yīng)用一個比傳感器輸出頻率高的參考頻率,利用該參考頻率計算一個傳感器頻率中有多少個參考頻率,從而得到傳感器的16位精度的輸出數(shù)據(jù)[3]。

兩者各有優(yōu)缺點(diǎn)。直接法使用起來相對比較簡單,但是為了保證精度足夠,需要設(shè)置較長的時間窗口,這就要求更長的采集時間,比如傳感器的輸出頻率在2 MHz左右,如果設(shè)置的時間窗口是300,也就意味著每采集一次數(shù)據(jù),需要使用150 μs;間接法需要額外產(chǎn)生一個較高頻率的參考頻率,但是能夠?qū)崟r的獲得位移數(shù)據(jù),比如傳感器的輸出頻率是2 MHz,那么采集一次數(shù)據(jù)只需要500 ns,然而,它的缺點(diǎn)就是只有頻率足夠高的時候,才能滿足所需的精度。這里所使用的FPGA是Xilinx的Spartan DSP 3A,該FPGA支持的最大頻率是300 MHz。綜合考慮兩種方法的優(yōu)缺點(diǎn),在設(shè)計中選用間接法進(jìn)行設(shè)計,選用的參考頻率是200 MHz。

數(shù)字位移傳感器的頻率輸出由于受到外界因素的干擾,其頻率會在一定的范圍內(nèi)改變,導(dǎo)致采集的數(shù)據(jù)值出現(xiàn)參差不齊的變化,為了減小這種變化帶來的分析麻煩,對于采集到的數(shù)據(jù)還要經(jīng)過一個求平均值的濾波處理。

傳感器的均值濾波模塊的原理是:對最新采集到的16個數(shù)據(jù)求平均值,然后作為16位數(shù)據(jù)輸出。為了加快系統(tǒng)整體的頻率,采用流水線的處理方式求平均值[4]。其過程可以描述如下:

第1個周期:緩存最新的數(shù)據(jù);

第2個周期:同時進(jìn)行8個加法運(yùn)算,b1=a1+a2,b2=a3+a4, b3=a5+a6, b4=a7+a8,……,b8=a15+a16;

第3個周期:同時進(jìn)行4個加法運(yùn)算,c1=b1+b2,c2=b3+b4, c3=b5+b6, c4=b7+b8;

第4個周期:同時進(jìn)行2個加法運(yùn)算,d1=c1+c2,b2=c3+c4;

第5個周期:進(jìn)行1個加法運(yùn)算,s=d1+c2;

第6個周期:對第5個周期的結(jié)果向右移動4位,相當(dāng)于除16運(yùn)算;

第7個周期:輸出均值數(shù)據(jù);

1.3 溫度傳感器數(shù)據(jù)采集的架構(gòu)

溫度傳感器采用的是DS18B20,該傳感器的溫度測量范圍是-55~+125℃,在-10~+85℃的精度是±0.5℃。 由于該傳感器是一款“一線總線”傳感器,對于它的操作有些復(fù)雜,但是由于FPGA具有很大的靈活性,在一定程度上降低了它的復(fù)雜性。

要獲取該傳感器的溫度數(shù)據(jù),需要經(jīng)過以下幾個步驟:

1)初始化 DS18B20;

2)寫入“跳過序列號命令字 skip rom”(0xCC);

3)寫入“溫度轉(zhuǎn)換命令字 convenrt”(0x44);

4)初始化 DS18B20;

5)寫入“跳過序列號命令字 skip rom”(0xCC);

6)寫入“讀取數(shù)據(jù)字 read”(0xBE);

針對該傳感器的控制特性,可以設(shè)計分成3個子模塊,它們分別是:狀態(tài)控制模塊,字節(jié)控制模塊及比特位控制模塊。

狀態(tài)控制模塊的作用是控制整個溫度傳感器的初始化以及命令字的產(chǎn)生,它是一個狀態(tài)機(jī)。 它的狀態(tài)對應(yīng)于上述的每個步驟,每當(dāng)一個步驟完成之后,該模塊就會收到一個指示信號,然后跳轉(zhuǎn)到下一個狀態(tài),直到每個步驟完成。

字節(jié)控制模塊接收來自狀態(tài)控制模塊的各種命令字,然后將這些命令字轉(zhuǎn)換成一個一個的比特位發(fā)送出去,同時控制傳感器溫度轉(zhuǎn)換過程當(dāng)中所需要的延時。

比特位控制模塊的作用是控制各種操作,對數(shù)據(jù)總線進(jìn)行適當(dāng)?shù)牟僮?,比如什么時候釋放總線,什么時候拉高總線,同時,讀取總線的串行數(shù)據(jù),將其轉(zhuǎn)換成16位的數(shù)據(jù)。

由于溫度數(shù)據(jù)不是一個直觀的溫度數(shù)據(jù),需要進(jìn)行一定的計算得到,所以在分析數(shù)據(jù)的時候,還要使用一些計算工具,比如matlab對其進(jìn)行計算,從而得到準(zhǔn)確的溫度數(shù)據(jù)。

1.4 數(shù)據(jù)輸出控制模塊

數(shù)據(jù)輸出控制模塊的作用是緩存來自數(shù)字位移傳感器以及溫度傳感器的16位數(shù)據(jù),然后將這些數(shù)據(jù)分別分為高8位和低8位的形式,控制UART發(fā)送出去。

如果需要增加傳感器的個數(shù),只需要增大內(nèi)部常量thick_no的值,以及增加內(nèi)部常量thick_ram的個數(shù)便可以方便地將各個傳感器的值有次序的進(jìn)行輸出。

1.5 UART控制模塊

UART控制模塊根據(jù)串口協(xié)議,把8位的并行數(shù)據(jù)按照規(guī)定格式的比特位發(fā)送出去。除了串口數(shù)據(jù)的發(fā)送與接收功能外,它還擁有一個控制功能:定時發(fā)送數(shù)據(jù)的功能,即在規(guī)定的時間內(nèi)只發(fā)送規(guī)定的數(shù)據(jù)個數(shù)。之所以需要這樣一個功能,是因為在分析傳感器數(shù)據(jù)的時候,不僅僅需要分析某個時刻的數(shù)據(jù),而且需要分析某個時間段的數(shù)據(jù),這就需要長時間的發(fā)送傳感器的數(shù)據(jù)。對于PC機(jī)而言,PC機(jī)能夠緩存串口的數(shù)據(jù)個數(shù)是有限的,一旦緩存的個數(shù)達(dá)到上限,則不再存儲從串口發(fā)送的數(shù)據(jù)。為了能讓PC機(jī)內(nèi)緩存的數(shù)據(jù)是一個較長時間內(nèi)的數(shù)據(jù),需要控制FPGA發(fā)送的數(shù)據(jù)個數(shù)。

傳感器的數(shù)據(jù)是來自數(shù)據(jù)輸出控制模塊輸出的8位數(shù)據(jù);連接控制模塊與發(fā)送模塊的控制信號就是控制某個時間段內(nèi)發(fā)送的數(shù)據(jù)個數(shù)[5]。在測試傳感器的一些特性,比如精度,線性度的時候,可以把時間間隔設(shè)置為0或者其它合適的短時間段;然而,在測試其他一些特性,比如數(shù)字位移傳感器與溫度的特性的時候,需要把時間間隔設(shè)置長一些,這是由于試驗中沒有專門改變溫度的設(shè)備,只能通過環(huán)境溫度的自然變化來觀測與分析數(shù)字位移傳感器與溫度的關(guān)系。

2 數(shù)據(jù)分析

通過基于FPGA的數(shù)據(jù)采集系統(tǒng),可以得到多個傳感器的數(shù)據(jù),同時,可以根據(jù)需要,改變數(shù)據(jù)的采集方式。對于數(shù)據(jù)的分析也可以靈活把握,如果只是針對數(shù)字位移傳感器的線性度以及精度進(jìn)行測試,可以不用分析溫度數(shù)據(jù);如果是針對數(shù)字位移傳感器與溫度之間的關(guān)系,則需要將兩者的數(shù)據(jù)相結(jié)合起來分析。

采集到的部分?jǐn)?shù)據(jù)如圖2所示。

圖2 采集的部分?jǐn)?shù)據(jù)Fig.2 Part of data acquired

其格式正如前面所述的,第1列與最后1列是數(shù)據(jù);第2列到倒數(shù)第4列是數(shù)字位移傳感器的數(shù)據(jù),倒數(shù)第2列到倒數(shù)第3列是溫度傳感器的數(shù)據(jù)。

對于所采集的數(shù)據(jù),需要分析3個特性:1)線性度。即數(shù)字位移傳感器的輸出數(shù)據(jù)隨著位移變化的特性;2)精度。即相鄰位移之間的數(shù)據(jù)之差,用于表現(xiàn)位移每變化單位距離,數(shù)據(jù)將改變多少,該特性用于評定該位移傳感器是否靈敏;3)溫度漂移。對于任何傳感器的分析都少不了溫度的影響,因為傳感器的輸出數(shù)據(jù)會受到溫度的影響,只有考慮到溫度的因素,才可以讓傳感器在不同的溫度環(huán)境下,根據(jù)具體的溫度進(jìn)行特性調(diào)整,從而讓輸出數(shù)據(jù)正確。

把采集到的數(shù)據(jù)導(dǎo)入到matlab中,然后根據(jù)不同的分析方式編寫不同的分析代碼,可以繪制如圖3所示的曲線。

圖3 各種特性曲線Fig.3 Variety of characteristic

圖3(a)是線性度的特性曲線,圖 3(b)是精度的特性曲線,圖3(c)是溫度漂移的特性曲線,下面分別對各個曲線進(jìn)行分析。

圖3(a)中,橫坐標(biāo)是數(shù)字位移傳感器的輸出數(shù)據(jù),縱坐標(biāo)是對應(yīng)的位移量。通過曲線,可以直觀的看到數(shù)字位移傳感器的輸出數(shù)據(jù)隨著位移的增大而不斷變大,但是隨著位移的不斷增大,變化的幅度逐漸變小。

圖3(b)中,橫坐標(biāo)是數(shù)字位移傳感器的輸出數(shù)據(jù),縱坐標(biāo)是對應(yīng)的位移量。通過曲線可以直觀的看到隨著位移的不斷增大,精度(需要對橫坐標(biāo)取絕對值)不斷的變小,也就意味著當(dāng)位移相對于傳感器不是很大的時候,該傳感器是靈敏的,隨著位移的不斷增大,靈敏度變小[6]。

圖3(c)中,黑色的曲線是位移傳感器的輸出數(shù)據(jù),藍(lán)色的曲線是溫度傳感器的輸出數(shù)據(jù)。通過兩種傳感器的數(shù)據(jù)對比,可以發(fā)現(xiàn):位移傳感器的輸出數(shù)據(jù)隨著溫度的增大而減小,兩者變化的趨勢是相反的。

通過上述3種特性的分析,基本上可以了解數(shù)字位移傳感器的特性。

3 結(jié)束語

文中介紹了如何通過FPGA,對多路且不同類型的傳感器進(jìn)行數(shù)據(jù)采集與數(shù)據(jù)分析,顯示了FPGA在處理復(fù)雜傳感器系統(tǒng)方面的優(yōu)勢。如今數(shù)字位移傳感器受到了越來越廣泛的應(yīng)用,并且隨著智能儀器的發(fā)展,要求傳感器系統(tǒng)能夠智能的對數(shù)據(jù)進(jìn)行處理,將不同類型的傳感器結(jié)合在一個系統(tǒng)中是很好的解決方式,而FPGA豐富的資源以及強(qiáng)大的數(shù)字信號處理能力,為復(fù)雜傳感器系統(tǒng)的發(fā)展提供了很好的平臺。

[1]何林.高速數(shù)據(jù)采集系統(tǒng)的關(guān)鍵技術(shù)[J].高新技術(shù)產(chǎn)業(yè)發(fā)展,2011(13):37.

HE Lin.Key technology of high speed data acquisition[J].Development of Hi-tech Industry,2011(71):37.

[2]王春俠,聶翔.基于FPGA的溫度控制系統(tǒng)設(shè)計與實現(xiàn)[J].陜西理工學(xué)院學(xué)報,2011(2):15-19.

WANG Chun-xia,NIE Xiang.Design and implementation of temperature control system based on FPGA[J].Journal of Shanxi University of Technolog,2011(2):15-19.

[3]N.V.基里阿納基,S.Y.尤里斯.智能傳感器數(shù)據(jù)采集與信號處理[M].北京:化工工業(yè)出版社,2006.

[4]IanGrout,黃以華.基于FPGA和CPLD的數(shù)字系統(tǒng)設(shè)計[M].北京;電子工業(yè)出版社,2009.

[5]蘇明,姚冬蘋.專用異步串口通信電路的FPGA實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2011(3):65-67.

SU Ming,YAO Dong-ping.FPGA implementation of special asynchronous serialcommunication interface circuit[J].Internet of Things Technologies,2011(3):65-67.

[6]彭冬亮,文成林,薛安克.多傳感器多源信息融合理論及應(yīng)用[M].北京:科學(xué)出版社,2010.

猜你喜歡
溫度傳感器特性頻率
谷稗的生物學(xué)特性和栽培技術(shù)
振動與頻率
色彩特性
溫度傳感器DS18B20在溫度計設(shè)計中的應(yīng)用
一種高性能CMOS溫度傳感器
進(jìn)一步凸顯定制安裝特性的優(yōu)勢 Integra DRX-5.2
XTR105電流變送器在溫度傳感器中的應(yīng)用
Quick Charge 4:什么是新的?
無線電頻率的特點(diǎn)
溫度傳感器在筆記本電腦散熱系統(tǒng)中的應(yīng)用