李祖博,陳昌鑫,馬鐵華,張志偉
(中北大學 電子測試技術國家重點實驗室 儀器科學與動態測試教育部重點實驗室,太原 030051)
裝甲車輛動力艙在運動過程中的動態參數[1]的獲取對于艙的設計和合理布局起著至關重要的作用。隨著當今科技工業的快速發展,裝甲車輛動力系統的設計已經由原來單一的動力源發展到了現在的混合動力源[2-4],動力艙的設計越來越復雜,艙內的各種器件配合也更加緊密,艙的內部結構緊湊、空間狹小、存在較強的電磁干擾。傳統的引線電測法將傳感部件置于測試現場,信號記錄器及計算機等設備置于遠離現場的掩體內,測試信號通過電纜傳輸,對于動力艙這種特殊環境,存在布線不靈活,易引入噪聲等問題[5-6]。20世紀90年代出現的存儲測試技術,將傳感器、適配電路、A/D變換器、控制器、存儲器、接口電路以及電源集成在一個裝置里置于測試現場,測試完畢后回收裝置進行數據處理[7]。該技術在信號源處進行數據存儲,解決了引線過程帶來的干擾,但是存在測試系統布設不便,測試裝置需要回收讀數等不足。
針對以上問題,提出了一種基于光纖傳輸的存儲測試技術,實現測試點和遠端的多組數據同時存儲,測試點存儲數據做備份,遠端數據方便讀取。選用MSP430單片機作控制器實現了低功耗、微體積設計[8],光纖傳輸數字信號抗電磁干擾能力強。在此,重點進行系統分析,提升采樣頻率,采用等時無縫傳輸方法,成功實現多個參數的數據存儲。
以光纖為界,系統分為發送端(本地)和接收端(遠端)兩部分。發送端位于艙內,包括模擬傳感電路、信號調理電路、信號采集電路、接口電路、電光信號轉換電路等[8]。接收端位于艙外可靠近的地方,包括數字控制電路、光電信號轉換電路、接口電路等。測試原理框圖如圖1所示。

圖1 測試原理框圖Fig.1 Diagram of the test
為了驗證測試系統的可行性,模擬測試4路信號(1路溫度信號和三軸加速度的3路電壓信號)。本地模塊感知溫度和加速度變化,在MSP430的控制下一方面將數據存儲在測點本地存儲單元,另一方面通過光纖向遠端傳輸數據,接收端在MSP430的控制下將本地傳來的數據存儲在外置Flash芯片中。本地和遠端模塊都可以通過上位機讀取數據,遠端模塊在容易接近的地方,方便讀數,當遠端模塊發生故障或光纖傳輸數據過程異常,可取出本地模塊讀取備份數據,保證了數據的可靠性。
針對雙冗余存儲系統來說,可選的存儲方法:方法1,本地存儲完畢,再遠端存儲;方法2,兩邊同時進行存儲。選用方法1,系統的存儲時間明顯較長,不利于長時間工作,而且在測試過程中本地電路發生問題,導致無法向遠端傳輸數據,之前測得的數據將成為無用數據。因此,從系統節能和可靠性方面考慮,選用方法2更適合。方法2的存儲模式如圖2所示。

圖2 存儲模式Fig.2 Storage mode
車艙溫度和加速度是緩變量,頻率很低,不超過300 Hz,根據奈奎斯特定律,采樣頻率大于信號頻率的2倍才可以還原信號,工程應用中一般5~10倍,為了提高信號品質,可以通過提高采樣頻率的辦法。由于本地系統的每個采樣周期既要完成數據的存儲,又要完成數據的傳輸以及遠端系統完成接收數據的存儲,提高系統采樣頻率很困難,以下重點分析主要影響因素——Flash和光纖。
本地系統選用MSP430為控制器,利用其內置AD進行模數轉換,將轉換的數據存儲在Samsung公司的K9WAG08U1A芯片中[9]。將AD設置為序列通道單次轉換模式,系統通過定時器中斷的方式來控制AD的采樣頻率,每個采樣周期內既要完成AD的轉換還要完成對Flash的寫操作。AD最高轉換速率可達200 ks/s,其與Flash的寫操作時間相比很小,令其轉換時間忽略不計,則1個定時器周期至少要完成對Flash的寫操作[10]。
1個定時器周期內要轉換4路模擬信號,由于采用MSP430內置AD,每路模擬信號轉換為數字量需要2 B,所以每個定時周期產生8 B的數據需要寫入Flash。由Flash的頁寫時序可知,如圖3所示,數據先存放在頁寄存器中,每個寫周期時間tw,c時間存入1 B,當寄存器中的數據存滿2048 B時,開始進行頁編程,此時頁寄存器不再接收數據,數據源仍有數據將導致數據丟失,頁寫框圖如圖4所示。由于 tw,c的時間很短,而頁編程典型時間 200 μs,故兩次采樣之間的間隔不得小于200 μs,即定時器周期t>200 μs,否則會造成數據丟失,所以系統采樣頻率f=t-1<5 kHz,故用MSP430直接將轉換數據存入Flash要求系統采樣頻率不得大于5 kHz。

圖3 Flash頁寫時序Fig.3 Flash page write timing

圖4 Flash頁寫框圖Fig.4 Block diagram of Flash page writing
采取在單片機內部建緩存的方式,如圖5所示,則仍可以在頁編程的200 μs時間內進行AD轉換,故AD的采樣頻率不再僅由頁編程時間決定,而且還與緩存的大小有關。

圖5 建緩存的頁寫框圖Fig.5 Block diagram of page writing with built cache
表1給出了系統最大采樣頻率在不建緩存和建立緩存2種情況下的大小關系??紤]到C程序每條語句本身執行需要時間,系統實際所能達到的最大頻率都要比表中的小。

表1 系統最大采樣頻率與建緩存和不建緩存的關系Tab.1 Relationship of the maximum sampling frequency between the buffered and uncached buffers
為了減少引線和簡化電路,采用了單根光纖串行通信,選用武漢原創公司的光纖收發模塊。發送模塊是實現數字電信號轉換為光信號適合光纖傳輸數據,接收模塊是將光信號轉換為電信號,滿足遠端控制電路對數據處理的要求[11]。該模塊具有SC/FC插拔式或FC尾纖型光接口,接口電平兼容標準TTL電平和CMOS電平,發射器件的工作波長為1310 nm或850 nm,傳輸速率低至直流,上限速率可選,最高可達10 Mb/s,通過將其SD和TD與單片機串口收發管腳連接即可實現光纖通信[12-13]。
對于模塊提供的最高10 Mb/s傳輸速度,系統利用率遠遠不足。其主要限制因素是單片機串口的傳輸速度,串口是按幀格式傳輸的,采用10 b的幀格式,如圖6所示。

圖6 幀格式Fig.6 Frame format
在此涉及2個變量,一個是串口的波特率baud,另一個是串口2次傳輸數據的間隔時間t(假設每次傳輸的時間間隔是相同的),則系統數據傳輸速率 s=10/[10(baud+t)-1]。 為了提高數據的傳輸速率,令t=0,則s=baud。對于常用的波特率有9600,19200,56000,115200 b/s 等,根據系統每次轉換需要傳輸8 B數據,按8幀80 b數據計算,系統最高采樣頻率fmax=baud/80,表2列出了系統最高采樣頻率和常用串口波特率之間的對應關系。

表2 系統最高采樣頻率和常用串口波特率的對應關系Tab.2 Correspondence between system maximum sampling frequency and common serial port Baud rate
可見,通過提高串口波特率有助于提高系統采樣頻率,為了最大化提高光纖利用率,將MSP430串口配置為過采樣模式,使波特率達到460800 b/s,系統最高采樣頻率理論上應該為fmax=460800 b·s-1/80 b=5.76 kHz,考慮到串口每發送1 B需要的時間為t=(10/460800)μs=21.7 μs,只有當發送緩存為空時才能發送下一個字節,所以為了減小誤碼率和提高系統的穩定性,給每個字節留出大于21.7 μs的發送時間,故系統采樣頻率不應高于5.76 kHz。
由2.2分析可知,限制系統采樣頻率的關鍵因素是光纖通信速度。串口每次只能發送1 B,且發送時間的長短與波特率有關,系統每次AD轉換需要傳輸8 B,而只有一根光纖串行傳輸數據,當波特率一定的情況下,提出了等時無縫光纖傳輸方法。所謂等時無縫,是指將8 B分成8個連續相等的時間段發送,將字節的發送時間平鋪整個采樣周期,這樣可以保證每個字節都有足夠的發送時間,沒有縫隙可以最大化利用時間資源。
系統的時間資源分配框圖如圖7所示,每個定時器A周期包括定時器A中斷的時間和8個定時器B的周期,在定時器A中斷里判斷AD轉換完成并設置數據標志位以區分不同通道數據,在中斷結束的時候打開定時器B中斷,每隔相同時間進一次中斷,實現1 B的發送,總共8次中斷,在最后一次關閉定時器B中斷使能,防止定時器A和B發生中斷嵌套。這樣就實現了8幀數據依次等間隔光纖傳輸,且可以最大限度地將剩余時間用來對Flash寫操作。

圖7 系統時間資源分配Fig.7 Allocation map of time system resources
通過試驗,對測試方法進行驗證,溫度傳感器中途置入熱水中,一段時間后取出,給裝置施加若干次振動。本地數據在上位機中讀取,如圖8所示。

圖8 本地數據上位機讀數圖Fig.8 Reading figure of local data
通道4是溫度的變化情況,通道1,2,3分別是x,y,z軸加速度的變化情況。圖8的橫軸(時間)表示采樣點,縱軸(幅值)是AD轉換后的電壓。由圖可見,溫度曲線隨著時間的增加先升高后下降,加速度隨著時間的增加出現若干次尖峰,與理論相符。將遠端數據同樣在上位機中讀取,結果與圖8一致。然而,對比二者的data文件,才能驗證該系統的正確性。如圖9所示,通過對比data文件,本地和遠端數據完全一樣,從而驗證了測試方法的正確性。

圖9 本地與遠端Flash存儲數據的對比Fig.9 Storing data of local Flash and distal Flash
基于光纖傳輸的雙冗余存儲測試技術在信號源頭進行數據存儲,光纖進行傳輸,采用等時無縫的傳輸方法,使本、地遠端同時存儲多組數據,保證了數據的可靠性。系統選用MSP430單片機作控制器和單根光纖傳輸數據,一方面減小電路體積、降低功耗,另一方面抗電磁干擾。通過模擬實驗,驗證了基于光纖傳輸的雙冗余存儲測試方法的正確性,對于像動力艙這種空間狹小、電磁干擾強烈的場合低頻參數測試具有重要的參考價值。
[1]顧強.動力艙動態參數測試與抗干擾設計研究[D].太原:中北大學,2014.
[2]范錦彪.存儲測試技術在坦克裝甲車輛中的測試研究[D].太原:華北工學院,2001.
[3]金松濤,劉青松.混合動力汽車電磁兼容技術研究[J].客車技術與研究,2010,32(2):45-47.
[4]田麗媛.雙電機混合動力系統電磁干擾分析及FlexRay網絡設計[D].吉林:吉林大學,2015.
[5]馬鐵華,祖靜.沖擊波超壓存儲測試技術研究[J].儀器儀表學報,2004,25(S1):134-135,146.
[6]石正全,李新娥,郝曉劍.一體化瞬態高溫智能存儲測試系統設計[J].解放軍理工大學學報:自然科學版,2014,15(5):434-439.
[7]王健,裴東興,王薇.XXX爆炸威力場遠距離多參數數據采集系統[J].傳感技術學報,2013,26(4):516-519.
[8]馮彥君.基于大容量Flash的微型應變測試儀的設計[D].太原:中北大學,2012.
[9]陳國,高楊.NAND Flash在大容量存儲技術中的應用[J].航空計算技術,2009,39(2):113-116.
[10]李晴.高速大容量NAND Flash存儲系統的設計與實現[D].北京:北京理工大學,2015.
[11]韓晗.基于FPGA的實時數字化光纖傳輸方案研究[D].杭州:浙江大學,2010.
[12]龔華軍,嚴小軍,黃子安,等.時分復用多路光纖傳輸在飛控系統中的應用[J].數據采集與處理,1998,13(1):37-41.
[13]李巖.基于同步時分復用技術的數字光纖傳輸系統[D].長春:中國科學院研究生院 (長春光學精密機械與物理研究所),2006.