基于XCR3256的低功耗存儲測試器設(shè)計
摘要:本文介紹了基于XCR3256的存儲測試器的模塊化設(shè)計,利用XCR3256作為主控單元實現(xiàn)了數(shù)據(jù)的采編存儲重發(fā)技術(shù)。文中針對傳統(tǒng)的主要通過硬件電路降低功耗的方法,提出了具體的軟硬件相結(jié)合實現(xiàn)低功耗技術(shù)。分析了軟件操作對XCR3256及系統(tǒng)功耗的影響,介紹了幾種有效的實現(xiàn)低功耗的方法,并給出了部分的試驗數(shù)據(jù)。
0 引言
在各類飛行器系統(tǒng)的科研過程中,對動態(tài)數(shù)據(jù)的測試通常有兩種方式:一是無線電遙測法,二是利用專用傳輸線檢測飛行器工作狀態(tài)。然而,當(dāng)飛行系統(tǒng)再入大氣等離子中斷區(qū)或者在水下時,則無法及時動態(tài)獲得系統(tǒng)狀態(tài)信息。該存儲測試器,即黑匣子[1],即可在例如以上的惡劣環(huán)境中實時采集飛行器各種狀態(tài)信息,并把采集到的數(shù)據(jù)按照一定的數(shù)據(jù)格式存儲起來,事后再現(xiàn)飛行器在盲區(qū)的工作狀態(tài)。該存儲測試器為諸如上述測試過程中的故障模型建立及分析提供了重要依據(jù)。
隨著科學(xué)技術(shù)的不斷發(fā)展,元器件集成更多功能,對測試的要求,除了智能化、存儲容量大、安全可靠等之外,對測試設(shè)備小型化及低功耗的要求也持續(xù)增長。低功耗目標(biāo)的實現(xiàn)須從電子器件的開發(fā)到終端產(chǎn)品的設(shè)計各個環(huán)節(jié)中得到落實。
1 系統(tǒng)設(shè)計及工作原理
存儲測試器是一個有機的整體,它同時與被測系統(tǒng)又有信息交換。因此,其各個相關(guān)的系統(tǒng)必須互相匹配、兼容,協(xié)調(diào)工作。在模塊化設(shè)計中實現(xiàn)了時序匹配、阻抗匹配、精度匹配、動態(tài)范圍匹配等。
1.1 系統(tǒng)設(shè)計
該數(shù)據(jù)存儲測試器基于XCR3256主控,可實現(xiàn)采編存儲重發(fā)功能,能夠在指令控制下通過接口模塊采集多形式種信號,經(jīng)過數(shù)據(jù)處理將采集到的數(shù)據(jù)在幀、碼同步信號指令作用下按照32×32的幀格式存儲起來。系統(tǒng)框圖見圖1。
基于飛行器信號形式的多樣性,輸入接口設(shè)計中包括模擬量輸入、422差分串行數(shù)字量輸入以及并行數(shù)字量輸入。針對以上輸入數(shù)據(jù)進行的數(shù)據(jù)處理包括串行數(shù)據(jù)的光隔處理[2] 及串并轉(zhuǎn)換,對模擬量的采樣及A/D轉(zhuǎn)換,最終生成并行數(shù)據(jù),并在中心控制模塊的控制下分別寫入存儲器。數(shù)據(jù)處理單元見圖2。
當(dāng)系統(tǒng)斷電時,由于數(shù)據(jù)具有低功耗數(shù)據(jù)保持模塊,可將先前存儲來的數(shù)據(jù)保持下來,數(shù)據(jù)保持能力可達一年之久,再次上電可通過并行口、差分串行口或者高速USB口將數(shù)據(jù)讀出。
圖1 數(shù)據(jù)存儲測試器結(jié)構(gòu)圖
圖2 數(shù)據(jù)處理單元
1.2 工作原理
系統(tǒng)的工作狀態(tài)主要有數(shù)據(jù)采集狀態(tài)、數(shù)據(jù)存儲狀態(tài)、數(shù)據(jù)重發(fā)狀態(tài)以及低功耗數(shù)據(jù)保持狀態(tài)。數(shù)據(jù)存儲狀態(tài)與數(shù)據(jù)的采集狀態(tài)并行,而重發(fā)狀態(tài)可在數(shù)據(jù)存儲期間中斷存儲狀態(tài)進行,也可以通過判斷幀計數(shù)來完成計滿重發(fā),重發(fā)數(shù)據(jù)前加特殊字字頭以標(biāo)示重發(fā)周期的開始。也可在上電之后直接重發(fā),所有重發(fā)都可以實現(xiàn)循環(huán)重發(fā)。
圖3 數(shù)據(jù)存儲重發(fā)工作流程圖
數(shù)據(jù)存儲編幀實現(xiàn)方法:通過對存儲命令,啟動數(shù)據(jù)存儲狀態(tài)。幀同步信號共有2個,對應(yīng)每一主幀最后兩路的幀標(biāo)識EB,90。在主幀中包括三路計數(shù),分別為低計數(shù),中計數(shù)和高計數(shù)。低計數(shù)決定副幀的長度,當(dāng)?shù)陀嫈?shù)從00計到1F(十六進制,下同)時,低計數(shù)清零中計數(shù)進位,同時主幀的幀標(biāo)識由EB,90改寫為14,6F(此時對應(yīng)有副幀同步信號),從而實現(xiàn)了32×32的全幀數(shù)據(jù)格式。中計數(shù)計到FF時清零高計數(shù)進位??赏ㄟ^對幀計數(shù)是否連續(xù)的判斷來鑒別數(shù)據(jù)的記錄是否有丟數(shù),錯數(shù)。
對于每路副幀的數(shù)據(jù)格式安排如下:低計數(shù)為00,01時插入幀字頭,計到1E,1F時記錄當(dāng)前中計數(shù)和高計數(shù),中間的28幀記錄系統(tǒng)中的各工作狀態(tài)參數(shù)。全幀中同一位置為同一個參數(shù)的不同時刻的狀態(tài)。
2 低功耗的實現(xiàn)方法
降低系統(tǒng)功耗的傳統(tǒng)手段主要集中在硬件上, 如:選擇低功耗器件、安排不同的供電回路等。然而,硬件只是一個平臺,軟件的作用不容忽視,總線上幾乎每一個芯片的訪問、每一個信號的翻轉(zhuǎn)差不多都由軟件控制,如果軟件能減少外存的訪問次數(shù)、及時響應(yīng)中斷等都將對降低功耗作出很大的貢獻。
2.1 硬件
2.1.1 芯片級低功耗實現(xiàn)技術(shù)
在該設(shè)計中大部分器件如主控芯片、存儲器、總線驅(qū)動器、FIFO等都是采用的CMOS、HMOS低功耗器件。
主控芯片選用的Xilinx公司的CPLD,型號為XCR3256,3.3V工作電壓,低功耗運作,5V與3.3V兼容I/O端口。對于不用的I/O口全部設(shè)為輸出(外面不接任何有驅(qū)動的信號)。如果I/O懸空的話,受外界的一點點干擾就可能成為反復(fù)振蕩的輸入信號了,而CMOS器件的功耗基本取決于門電路的翻轉(zhuǎn)次數(shù)。此外,懸空的輸入引腳由于處于0, 1 之間的過渡區(qū), 可使電路中的反相器P 溝道和N 溝道都處于導(dǎo)通狀態(tài), 也將導(dǎo)致CPLD本身功耗增大。如果把它們上拉,每個引腳也會有微安級的電流。因此,在設(shè)計中將不同的I/O全部設(shè)為輸出。
2.1.2 電路級低功耗實現(xiàn)技術(shù)
公式(1)為CMOS電路功耗的計算公式[3]。式中:P為靜態(tài)和動態(tài)功耗總合;m為節(jié)點數(shù);n為器件總數(shù);VDD為工作電壓;fak為時鐘頻率;ILn為反向漏電流;ISCn為瞬態(tài)短路電流;am為節(jié)點充電率;cm為節(jié)點電容。
從該公式中可見降低系統(tǒng)工作電壓可達到降低系統(tǒng)功耗的目的。對于中心控制模塊采用專用的低電壓電源模塊TPS70358進行供電。TPS70358可以提供3.3V/2.5V兩組供電方式,同時它本身還具有電源管理功能。
圖4為低功耗數(shù)據(jù)保持電路,在存在系統(tǒng)供電時,可對電池進行充電,當(dāng)系統(tǒng)掉電時可由電池對存儲器進行供電,實現(xiàn)數(shù)據(jù)的自保持。存儲器的靜態(tài)功耗僅為10mW ,由計算可知該電路實現(xiàn)的數(shù)據(jù)保持期可達一年以上。
圖4 低功耗數(shù)據(jù)保持電路
2.2 軟件
正如我們所知,對于可編程邏輯器件,其內(nèi)部觸發(fā)器的翻轉(zhuǎn)次數(shù)以及開關(guān)量的輸出對器件本身的功耗影響非常大。該設(shè)計通過軟件實現(xiàn)了主控芯片自身的功耗調(diào)節(jié),通過控制系統(tǒng)內(nèi)芯片使能以及總線的工作狀態(tài)實現(xiàn)了系統(tǒng)級的低功耗[4]。
2.2.1 采用狀態(tài)機編碼
在主程序中采用狀態(tài)機編碼,對輸入輸出信號進行賦值保護。對最終輸出信號不需要更新的輸入信號利用狀態(tài)機控制阻止其傳播至下一個狀態(tài)或其他邏輯塊。僅在需要時改變輸出值,減少了不必要的開關(guān)輸出。
圖5 82C52的狀態(tài)機配置模塊及仿真結(jié)果
從數(shù)據(jù)采集處理模塊出來進入數(shù)據(jù)存儲模塊的數(shù)據(jù)其實為三路數(shù)據(jù),通過狀態(tài)機利用鎖存器使三路數(shù)據(jù)在不同時刻占用存儲器的數(shù)據(jù)總線,有效抑制了無效的開關(guān)活動。
2.2.2 充分利用了元器件的使能控制
在整個系統(tǒng)的工作過程中,有時候一些器件的行為對當(dāng)前的功能實現(xiàn)不是必須的,但增加了多余功耗。如存儲器的功耗在片選有效時,無論讀寫信號狀態(tài)如何,都將比片選無效時大幾十倍以上。在該系統(tǒng)中通過把一個控制系統(tǒng)映射到中心控制模塊,在滿足必要約束的條件下,盡可能的縮短了各芯片和控制邏輯的片選及使能。通過解除與當(dāng)前操作無關(guān)的器件的使用,有效地減少了系統(tǒng)的總開關(guān)活動,降低了系統(tǒng)的功耗。
2.2.3 采用門控時鐘技術(shù)
在整個程序中分為消抖模塊、82C52的配置模塊、地址發(fā)生器模塊、并串轉(zhuǎn)換模塊以及數(shù)據(jù)編幀模塊等幾大部分,其中又包括若干個進程。對于暫時不用的模塊停止其時鐘。因為有源時鐘緩沖器數(shù)目的減少直接導(dǎo)致了翻轉(zhuǎn)觸發(fā)器次數(shù)的減少,而觸發(fā)器輸出端可能的反轉(zhuǎn)也隨之減少。運用門控時鐘技術(shù)要求仔細規(guī)劃和分割算法,當(dāng)可節(jié)省可觀的系統(tǒng)功耗。
圖5(a)中82C52配置模塊中的BUFE即可實現(xiàn)門控作用。
此外,系統(tǒng)時鐘頻率越高,時鐘信號開關(guān)活動越頻繁,電容性負載就越大,系統(tǒng)功耗也就越大。因此,系統(tǒng)時鐘對系統(tǒng)功耗也有顯著的影響。結(jié)合實際情況,在該設(shè)計中選用9. 8306MHz的晶振。
3 結(jié)束語
該數(shù)據(jù)存儲測試器技術(shù)指標(biāo)如下:
◆數(shù)據(jù)存儲容量2MByte;
◆數(shù)據(jù)存儲波道30路;
◆80路模擬量采樣;
◆422差分串行數(shù)字量采樣;
◆并行數(shù)字量采集;
◆系統(tǒng)功耗:50mA;
相關(guān)技術(shù)已應(yīng)用于某某項目的測試,在運動過程中對系統(tǒng)的數(shù)字量和模擬量進行存儲和重發(fā),取得了良好的效果。
該技術(shù)的應(yīng)用已擴展到各個領(lǐng)域,不僅可為飛行器的重要參數(shù)的獲取提供了經(jīng)濟、高效的手段,也可為飛機、汽車、坦克、船舶、潛艇等地面、水上、水下運載工具的故障分析提供了充分的依據(jù),對不斷完善各類運載工具,降低其研制、維修成本具有一定的意義。