基于XCR3256的低功耗存儲測試器設計
本文引用地址:http://dyxdggzs.com/article/202518.htm
1.2 工作原理
系統的工作狀態(tài)主要有數據采集狀態(tài)、數據存儲狀態(tài)、數據重發(fā)狀態(tài)以及低功耗數據保持狀態(tài)。數據存儲狀態(tài)與數據的采集狀態(tài)并行,而重發(fā)狀態(tài)可在數據存儲期間中斷存儲狀態(tài)進(jìn)行,也可以通過(guò)判斷幀計數來(lái)完成計滿(mǎn)重發(fā),重發(fā)數據前加特殊字字頭以標示重發(fā)周期的開(kāi)始。也可在上電之后直接重發(fā),所有重發(fā)都可以實(shí)現循環(huán)重發(fā)。
圖3 數據存儲重發(fā)工作流程圖
數據存儲編幀實(shí)現方法:通過(guò)對存儲命令,啟動(dòng)數據存儲狀態(tài)。幀同步信號共有2個(gè),對應每一主幀最后兩路的幀標識EB,90。在主幀中包括三路計數,分別為低計數,中計數和高計數。低計數決定副幀的長(cháng)度,當低計數從00計到1F(十六進(jìn)制,下同)時(shí),低計數清零中計數進(jìn)位,同時(shí)主幀的幀標識由EB,90改寫(xiě)為14,6F(此時(shí)對應有副幀同步信號),從而實(shí)現了32×32的全幀數據格式。中計數計到FF時(shí)清零高計數進(jìn)位??赏ㄟ^(guò)對幀計數是否連續的判斷來(lái)鑒別數據的記錄是否有丟數,錯數。
對于每路副幀的數據格式安排如下:低計數為00,01時(shí)插入幀字頭,計到1E,1F時(shí)記錄當前中計數和高計數,中間的28幀記錄系統中的各工作狀態(tài)參數。全幀中同一位置為同一個(gè)參數的不同時(shí)刻的狀態(tài)。
2 低功耗的實(shí)現方法
降低系統功耗的傳統手段主要集中在硬件上, 如:選擇低功耗器件、安排不同的供電回路等。然而,硬件只是一個(gè)平臺,軟件的作用不容忽視,總線(xiàn)上幾乎每一個(gè)芯片的訪(fǎng)問(wèn)、每一個(gè)信號的翻轉差不多都由軟件控制,如果軟件能減少外存的訪(fǎng)問(wèn)次數、及時(shí)響應中斷等都將對降低功耗作出很大的貢獻。
2.1 硬件
2.1.1 芯片級低功耗實(shí)現技術(shù)
在該設計中大部分器件如主控芯片、存儲器、總線(xiàn)驅動(dòng)器、FIFO等都是采用的CMOS、HMOS低功耗器件。
主控芯片選用的Xilinx公司的CPLD,型號為XCR3256,3.3V工作電壓,低功耗運作,5V與3.3V兼容I/O端口。對于不用的I/O口全部設為輸出(外面不接任何有驅動(dòng)的信號)。如果I/O懸空的話(huà),受外界的一點(diǎn)點(diǎn)干擾就可能成為反復振蕩的輸入信號了,而CMOS器件的功耗基本取決于門(mén)電路的翻轉次數。此外,懸空的輸入引腳由于處于0, 1 之間的過(guò)渡區, 可使電路中的反相器P 溝道和N 溝道都處于導通狀態(tài), 也將導致CPLD本身功耗增大。如果把它們上拉,每個(gè)引腳也會(huì )有微安級的電流。因此,在設計中將不同的I/O全部設為輸出。
2.1.2 電路級低功耗實(shí)現技術(shù)
公式(1)為CMOS電路功耗的計算公式[3]。式中:P為靜態(tài)和動(dòng)態(tài)功耗總合;m為節點(diǎn)數;n為器件總數;VDD為工作電壓;fak為時(shí)鐘頻率;ILn為反向漏電流;ISCn為瞬態(tài)短路電流;am為節點(diǎn)充電率;cm為節點(diǎn)電容。
從該公式中可見(jiàn)降低系統工作電壓可達到降低系統功耗的目的。對于中心控制模塊采用專(zhuān)用的低電壓電源模塊TPS70358進(jìn)行供電。TPS70358可以提供3.3V/2.5V兩組供電方式,同時(shí)它本身還具有電源管理功能。
圖4為低功耗數據保持電路,在存在系統供電時(shí),可對電池進(jìn)行充電,當系統掉電時(shí)可由電池對存儲器進(jìn)行供電,實(shí)現數據的自保持。存儲器的靜態(tài)功耗僅為10mW ,由計算可知該電路實(shí)現的數據保持期可達一年以上。
圖4 低功耗數據保持電路
2.2 軟件
正如我們所知,對于可編程邏輯器件,其內部觸發(fā)器的翻轉次數以及開(kāi)關(guān)量的輸出對器件本身的功耗影響非常大。該設計通過(guò)軟件實(shí)現了主控芯片自身的功耗調節,通過(guò)控制系統內芯片使能以及總線(xiàn)的工作狀態(tài)實(shí)現了系統級的低功耗[4]。
2.2.1 采用狀態(tài)機編碼
在主程序中采用狀態(tài)機編碼,對輸入輸出信號進(jìn)行賦值保護。對最終輸出信號不需要更新的輸入信號利用狀態(tài)機控制阻止其傳播至下一個(gè)狀態(tài)或其他邏輯塊。僅在需要時(shí)改變輸出值,減少了不必要的開(kāi)關(guān)輸出。
圖5 82C52的狀態(tài)機配置模塊及仿真結果
評論