引言
Datalight 這家公司專門從事嵌入式系統(tǒng)相關(guān)的軟件開發(fā),他們有一套移動(dòng)終端設(shè)備的數(shù)據(jù)存儲(chǔ)方案,用來保證手機(jī)、筆記本、電腦醫(yī)療設(shè)備、汽車設(shè)備等等的數(shù)據(jù)安全。
Cameron Dahl,是一名華盛頓大學(xué)的電子工程系應(yīng)屆生,他在Datalight實(shí)習(xí)期間,參與了一項(xiàng)存儲(chǔ)系統(tǒng)功耗對(duì)比的項(xiàng)目,本文是他自述的一段測(cè)試經(jīng)歷:使用PicoScope 4424示波器測(cè)試eMMC功耗的過程,并給出了測(cè)試結(jié)果。以下是Dahl提供的報(bào)告:
項(xiàng)目概覽
Datalight開發(fā)了一種容錯(cuò)的文件系統(tǒng),以及一些提升eMMC性能的驅(qū)動(dòng),供移動(dòng)設(shè)備使用。最初我被分配的一項(xiàng)任務(wù)是:給好幾種不同的eMMC閃存模塊測(cè)量功耗,對(duì)比使用Datalight軟件前后的提升,給市場(chǎng)部門提供一些圖表方便宣傳展示。
圖1:PicoScope 4424 測(cè)試eMMC案例
收集數(shù)據(jù)
從一開始我就在想怎么從移動(dòng)設(shè)備收集數(shù)據(jù),有效地表征eMMC的功耗,為了模仿真實(shí)的應(yīng)用,我先在使用Datalight文件系統(tǒng)的Linux上運(yùn)行性能跑分軟件,結(jié)果會(huì)在命令行或者圖形界面里面顯示出來。
然后,我再測(cè)試了一組使用標(biāo)準(zhǔn)Linux文件系統(tǒng)的情況,對(duì)比它和Datalight之間的區(qū)別。
eMMC卡通常使用一個(gè)很小的方形封裝,它可以直接焊接到PCB上面,也可以跟USB-SD讀卡器連接。封裝的尺寸有3種,每種的讀卡器都不相同,大部分的讀卡器都沒有把Vcc供電引腳印出來,他們基本上都是當(dāng)作SD卡槽來用的。另外一些有Vcc引出的讀卡器,會(huì)帶有一個(gè)兩針的跳線,他們就是專門用來測(cè)量eMMC功耗用的。
在測(cè)試過程中,我用到了兩個(gè)讀卡器的型號(hào),MicronNumonyx 和SamDisk iNAND,他們都引出了Vcc信號(hào),我在Vcc跳線的兩根針之間插入一個(gè)1Ω的電阻,借此測(cè)量功耗。
通過這種方法,我測(cè)試了許多種不同的eMMC卡,并且把它們的功耗做了對(duì)比。
測(cè)量功耗
上面已經(jīng)提到我用了1Ω電阻,測(cè)量?jī)啥说膲翰钊缓蠓此汶娏鳌?shí)際測(cè)試時(shí),我用兩根示波器的表筆分別測(cè)量電阻兩端的電壓。當(dāng)然,為了測(cè)試報(bào)告好看,最終的結(jié)果還需要換算成功率數(shù)值。eMMC的供電電壓大約是3.315V,所以最終eMMC功耗是:Pr= i x 3.315 – i*i 其中i是電流值。
大量數(shù)據(jù)怎么辦
剛開始我是用Excel來收集數(shù)據(jù)的,后來發(fā)現(xiàn)它最多只能存100萬(wàn)行左右,而我需要記錄500萬(wàn)個(gè)數(shù)據(jù)點(diǎn),直接把數(shù)據(jù)保存成Excel格式行不通。所以我用了一個(gè)開源軟件CSVed,每次記錄100萬(wàn)個(gè)數(shù)據(jù),分5次記錄,然后把它們拼起來。
圖2:CSVed測(cè)試結(jié)果記錄界面
測(cè)試設(shè)備方面,我曾嘗試用自己熟悉的TektronixMSO/DPO 2000系列,把數(shù)據(jù)保存成csv格式,同時(shí)保留波形截圖。但是很快就遇到了問題:
雖然我可以用Tektronix示波器抓到500萬(wàn)個(gè)數(shù)據(jù)點(diǎn),但是不幸地是當(dāng)我抓取這么長(zhǎng)時(shí)間波形的時(shí)候,采樣率就變得太低了。我理想的測(cè)試時(shí)長(zhǎng)是15分鐘甚至更長(zhǎng),在這個(gè)過程當(dāng)中,我不但要記錄整段的功耗波形,還需要放大去分析局部的一些細(xì)節(jié),比如在eMMC進(jìn)行讀寫操作的時(shí)候?qū)?yīng)的功耗變化。換句話說我需要示波器在記錄長(zhǎng)時(shí)間波形的同時(shí),采樣率也足夠高。
圖3:Tektronix 波形截圖
另外,每測(cè)量一組結(jié)果我都要把數(shù)據(jù)和截圖用優(yōu)盤導(dǎo)入到電腦上,這非常耗時(shí),在后面進(jìn)行大量測(cè)試的時(shí)候這會(huì)浪費(fèi)很多時(shí)間,所以我開始調(diào)研有沒有基于PC控制的示波器。
入手PicoScope
后來我查到了PicoTechnology,在官網(wǎng)上我瀏覽了各種PicoScope的型號(hào),然后一個(gè)本地的代理商給我講解了它們各自的特點(diǎn)和區(qū)別。在我的測(cè)試應(yīng)用里面,Tektronix只能工作在12.5KS/s采樣率下,歸根結(jié)底是存儲(chǔ)深度的限制。而PicoScope同檔次的產(chǎn)品存儲(chǔ)深度可以達(dá)到Tektronix的10倍以上,因此記錄同樣長(zhǎng)度的時(shí)間,采樣率也就能高出10倍。
我立刻向Datalight公司申請(qǐng)買一臺(tái)PicoScope 4424, 一個(gè)星期就到貨了。