<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于XCR3256的低功耗存儲(chǔ)測(cè)試器設(shè)計(jì)

          基于XCR3256的低功耗存儲(chǔ)測(cè)試器設(shè)計(jì)

          作者: 時(shí)間:2010-08-27 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/202518.htm

            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ù)期間中斷存儲(chǔ)狀態(tài)進(jìn)行,也可以通過判斷幀計(jì)數(shù)來完成計(jì)滿重發(fā),重發(fā)數(shù)據(jù)前加特殊字字頭以標(biāo)示重發(fā)周期的開始。也可在上電之后直接重發(fā),所有重發(fā)都可以實(shí)現(xiàn)循環(huán)重發(fā)。

          圖3 數(shù)據(jù)存儲(chǔ)重發(fā)工作流程圖

            數(shù)據(jù)存儲(chǔ)編幀實(shí)現(xiàn)方法:通過對(duì)存儲(chǔ)命令,啟動(dòng)數(shù)據(jù)存儲(chǔ)狀態(tài)。幀同步信號(hào)共有2個(gè),對(duì)應(yīng)每一主幀最后兩路的幀標(biāo)識(shí)EB,90。在主幀中包括三路計(jì)數(shù),分別為低計(jì)數(shù),中計(jì)數(shù)和高計(jì)數(shù)。低計(jì)數(shù)決定副幀的長(zhǎng)度,當(dāng)?shù)陀?jì)數(shù)從00計(jì)到1F(十六進(jìn)制,下同)時(shí),低計(jì)數(shù)清零中計(jì)數(shù)進(jìn)位,同時(shí)主幀的幀標(biāo)識(shí)由EB,90改寫為14,6F(此時(shí)對(duì)應(yīng)有副幀同步信號(hào)),從而實(shí)現(xiàn)了32×32的全幀數(shù)據(jù)格式。中計(jì)數(shù)計(jì)到FF時(shí)清零高計(jì)數(shù)進(jìn)位??赏ㄟ^對(duì)幀計(jì)數(shù)是否連續(xù)的判斷來鑒別數(shù)據(jù)的記錄是否有丟數(shù),錯(cuò)數(shù)。

            對(duì)于每路副幀的數(shù)據(jù)格式安排如下:低計(jì)數(shù)為00,01時(shí)插入幀字頭,計(jì)到1E,1F時(shí)記錄當(dāng)前中計(jì)數(shù)和高計(jì)數(shù),中間的28幀記錄系統(tǒng)中的各工作狀態(tài)參數(shù)。全幀中同一位置為同一個(gè)參數(shù)的不同時(shí)刻的狀態(tài)。

            2 的實(shí)現(xiàn)方法

            降低系統(tǒng)功耗的傳統(tǒng)手段主要集中在硬件上, 如:選擇器件、安排不同的供電回路等。然而,硬件只是一個(gè)平臺(tái),軟件的作用不容忽視,總線上幾乎每一個(gè)芯片的訪問、每一個(gè)信號(hào)的翻轉(zhuǎn)差不多都由軟件控制,如果軟件能減少外存的訪問次數(shù)、及時(shí)響應(yīng)中斷等都將對(duì)降低功耗作出很大的貢獻(xiàn)。

            2.1 硬件

            2.1.1 芯片級(jí)低功耗實(shí)現(xiàn)技術(shù)

            在該設(shè)計(jì)中大部分器件如主控芯片、存儲(chǔ)器、總線驅(qū)動(dòng)器、FIFO等都是采用的CMOS、HMOS低功耗器件。

            主控芯片選用的Xilinx公司的CPLD,型號(hào)為,3.3V工作電壓,低功耗運(yùn)作,5V與3.3V兼容I/O端口。對(duì)于不用的I/O口全部設(shè)為輸出(外面不接任何有驅(qū)動(dòng)的信號(hào))。如果I/O懸空的話,受外界的一點(diǎn)點(diǎn)干擾就可能成為反復(fù)振蕩的輸入信號(hào)了,而CMOS器件的功耗基本取決于門電路的翻轉(zhuǎn)次數(shù)。此外,懸空的輸入引腳由于處于0, 1 之間的過渡區(qū), 可使電路中的反相器P 溝道和N 溝道都處于導(dǎo)通狀態(tài), 也將導(dǎo)致CPLD本身功耗增大。如果把它們上拉,每個(gè)引腳也會(huì)有微安級(jí)的電流。因此,在設(shè)計(jì)中將不同的I/O全部設(shè)為輸出。

            2.1.2 電路級(jí)低功耗實(shí)現(xiàn)技術(shù)

            公式(1)為CMOS電路功耗的計(jì)算公式[3]。式中:P為靜態(tài)和動(dòng)態(tài)功耗總合;m為節(jié)點(diǎn)數(shù);n為器件總數(shù);VDD為工作電壓;fak為時(shí)鐘頻率;ILn為反向漏電流;ISCn為瞬態(tài)短路電流;am為節(jié)點(diǎn)充電率;cm為節(jié)點(diǎn)電容。

            從該公式中可見降低系統(tǒng)工作電壓可達(dá)到降低系統(tǒng)功耗的目的。對(duì)于中心控制模塊采用專用的低電壓電源模塊TPS70358進(jìn)行供電。TPS70358可以提供3.3V/2.5V兩組供電方式,同時(shí)它本身還具有電源管理功能。

            圖4為低功耗數(shù)據(jù)保持電路,在存在系統(tǒng)供電時(shí),可對(duì)電池進(jìn)行充電,當(dāng)系統(tǒng)掉電時(shí)可由電池對(duì)存儲(chǔ)器進(jìn)行供電,實(shí)現(xiàn)數(shù)據(jù)的自保持。存儲(chǔ)器的靜態(tài)功耗僅為10mW ,由計(jì)算可知該電路實(shí)現(xiàn)的數(shù)據(jù)保持期可達(dá)一年以上。
          圖4 低功耗數(shù)據(jù)保持電路


            2.2 軟件

            正如我們所知,對(duì)于可編程邏輯器件,其內(nèi)部觸發(fā)器的翻轉(zhuǎn)次數(shù)以及開關(guān)量的輸出對(duì)器件本身的功耗影響非常大。該設(shè)計(jì)通過軟件實(shí)現(xiàn)了主控芯片自身的功耗調(diào)節(jié),通過控制系統(tǒng)內(nèi)芯片使能以及總線的工作狀態(tài)實(shí)現(xiàn)了系統(tǒng)級(jí)的低功耗[4]。

            2.2.1 采用狀態(tài)機(jī)編碼

            在主程序中采用狀態(tài)機(jī)編碼,對(duì)輸入輸出信號(hào)進(jìn)行賦值保護(hù)。對(duì)最終輸出信號(hào)不需要更新的輸入信號(hào)利用狀態(tài)機(jī)控制阻止其傳播至下一個(gè)狀態(tài)或其他邏輯塊。僅在需要時(shí)改變輸出值,減少了不必要的開關(guān)輸出。


          圖5 82C52的狀態(tài)機(jī)配置模塊及仿真結(jié)果



          關(guān)鍵詞: 3256 XCR 低功耗 存儲(chǔ)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();