二進(jìn)制數(shù)據(jù)處理方法分享
隨著不斷增長的測試需求、更加復(fù)雜的系統(tǒng)集成和更多的數(shù)據(jù)處理,程序控制在示波器的應(yīng)用中越來越多。在程序控制中很重要的一部分就是如何把數(shù)據(jù)從示波器中傳輸?shù)轿覀兊?a target="_blank">上位機(jī)上,并且當(dāng)數(shù)據(jù)傳輸?shù)轿覀兊纳衔粰C(jī)上時,我們?nèi)绾稳ソ馕鰯?shù)據(jù)并且應(yīng)用它們。本次的技術(shù)分享文章,我們就從如何傳輸數(shù)據(jù)和解析二進(jìn)制數(shù)據(jù)來一步一步剝絲抽繭,搞清楚他的運(yùn)作原理和二進(jìn)制數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
首先介紹一下力科示波器波形的保存格式,如圖1所示,力科示波器可以把波形保存成多種格式:Binary、ASCII、Excel、Matlab和Mathcad等。 Binary的格式其實(shí)就是原始的二進(jìn)制數(shù)據(jù)。對ASCII、Excel、Matlab這三種格式其實(shí)示波器已經(jīng)對原始的二進(jìn)制波形進(jìn)行了解析,已經(jīng)轉(zhuǎn)換成了string類型,雖然這幾種格式便于觀察,已經(jīng)解析出了幅值和時間,但是他們最大的問題就是保存下來的波形文件非常的巨大而且保存的時間相對較長,因?yàn)槭静ㄆ鬟€要對其運(yùn)算和解析來得到string類型。使用二進(jìn)制的格式來保存波形無論是對數(shù)據(jù)的后期處理和保存速度相對于前幾種都是有很大優(yōu)勢的,通常情況下二進(jìn)制波形的大小只有前幾種格式大小的十分之一左右,問題就是我們?nèi)绾谓馕龊妥x懂其中的波形內(nèi)容?
圖1:示波器保存波形界面
在保存的二進(jìn)制波形數(shù)據(jù)中,我們每一個采樣點(diǎn)的電壓值是用一串二進(jìn)制數(shù)字表示的,力科的HDO系列示波器使用的是12位的ADC,也就是說一個采樣點(diǎn)的電壓會被量化成一串12bit的數(shù)據(jù),使用2個字節(jié)去傳輸,2個字節(jié)是16bit,多出的四個字節(jié)補(bǔ)零處理即可。
想解析二進(jìn)制波形那么就必須知道我們保存下來的二進(jìn)制文件中都有些什么?力科官網(wǎng)有相應(yīng)的格式模板(如圖2),目前的版本是template2_4。其中解釋了二進(jìn)制波形文件中都包含哪些數(shù)據(jù)塊,每個數(shù)據(jù)塊的內(nèi)容和含義是什么還有每個數(shù)據(jù)塊出現(xiàn)的順序。
圖2:力科波形解析模板
通常情況下我們的波形包括幾部分(如圖3):頭字節(jié)(一些數(shù)字);WAVEDESC1(波形描述符,解析二進(jìn)制數(shù)據(jù)的關(guān)鍵);DATA_ARRAY_1(其中存儲的就是我們采樣點(diǎn)的數(shù)據(jù))。在我們使用上位機(jī)指令去讀取波形時,數(shù)據(jù)塊也就是block是指令中的可選參數(shù),通常情況下解析出波形需要WAVEDESC1和DATA_ARRAY_1就足夠了。在這里的DATA_ARRAY_1里面的數(shù)據(jù)是示波器ADC采到的原始數(shù)據(jù),我們稱它為raw data,它在這里只有大小沒有單位,可以把它理解成一個波形的形狀,通過raw data乘上相應(yīng)的系數(shù)再加上相應(yīng)的偏置才可以得到我們最終的電壓值。
圖3:數(shù)據(jù)block示意圖
上面提到了原始數(shù)據(jù)需要加工才能得到最終的電壓值,那么需要乘的系數(shù)和加的偏置從哪里獲得呢?就是需要從WAVEDESC1這個數(shù)據(jù)塊獲得。WAVEDESC1數(shù)據(jù)塊由346字節(jié)組成,每幾個字節(jié)就會代表一些信息,這些信息對我們解析波形有至關(guān)重要的作用,我們可以把WAVEDESC1理解成解析二進(jìn)制數(shù)據(jù)的字典。
圖4:WAVEDESC1數(shù)據(jù)塊描述
可以看到WAVEDESC1中包含的內(nèi)容非常的多。
圖5:WAVEDESC1數(shù)據(jù)塊內(nèi)部結(jié)構(gòu)(1)
圖6:WAVEDESC1數(shù)據(jù)塊內(nèi)部結(jié)構(gòu)(2)
圖7:WAVEDESC1數(shù)據(jù)塊內(nèi)部結(jié)構(gòu)(3)
下面介紹一些在WAVEDESC1中比較重要的參數(shù)。0-15字節(jié)是他的一個標(biāo)識符用ASCII編碼翻譯過來就是WAVEDESC,標(biāo)志著WAVEDESC1數(shù)據(jù)塊的開始(如圖8)。
圖8:wavedesc標(biāo)識符示意圖
第34字節(jié)開始的COMM_ORDER字段就代表著高位讀取還是低位讀取。第60字節(jié)開始的WAVE_ARRAY1字段讀取出的內(nèi)容就是DATA_ARRAT1的字節(jié)長度也就是它的數(shù)據(jù)量。(如圖9)
圖9:字段截圖
第156字節(jié)開始的VERTICAL_GAIN字段和第160字節(jié)開始的VERTICAL_OFFSET字段就是我們需要加工raw data(DATA_ARRAY1)的比例系數(shù)和偏置。
在圖10中,也可以看到最終數(shù)據(jù)的計(jì)算方式VERTICAL_GAIN*data -VERTICAL_OFFSET。
圖10:VERTICAL_GAIN和VERTICAL_OFFSET字段
總結(jié)
在處理二進(jìn)制數(shù)據(jù)的時候,我們需要DATA_ARRAY1和WAVEDESC1兩個數(shù)據(jù)塊。在WAVEDESC1中最重要的就是VERTICAL_GAIN和VERTICAL_OFFSET。找到這些信息就可以解析出具體的電壓,連點(diǎn)成線恢復(fù)出我們采集的波形。
關(guān)于我們
特勵達(dá)力科(Teledyne Lecroy)是高端示波器、協(xié)議分析儀和其他測試儀器的專業(yè)制造商,可快速全面地驗(yàn)證電子系統(tǒng)的性能和合規(guī)性,并進(jìn)行復(fù)雜的調(diào)試分析。
1964 年成立以來,公司一直專注于將強(qiáng)大的工具整合到創(chuàng)新產(chǎn)品中,以提高“洞察時間”。更快的洞察時間使用戶能夠快速查找和修復(fù)復(fù)雜電子系統(tǒng)中的缺陷,從而顯著縮短產(chǎn)品的上市時間。
-
示波器
+關(guān)注
關(guān)注
113文章
6731瀏覽量
189713 -
adc
+關(guān)注
關(guān)注
99文章
6728瀏覽量
549584 -
二進(jìn)制
+關(guān)注
關(guān)注
2文章
808瀏覽量
42372 -
數(shù)據(jù)處理
+關(guān)注
關(guān)注
0文章
628瀏覽量
29333
原文標(biāo)題:技術(shù)文章 | 二進(jìn)制數(shù)據(jù)處理方法分享
文章出處:【微信號:美國力科TeledyneLeCroy,微信公眾號:美國力科TeledyneLeCroy】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
對二進(jìn)制數(shù)據(jù)處理。
二進(jìn)制相對調(diào)相(二進(jìn)制差分調(diào)相2DPSK)的工作原理

二進(jìn)制

二進(jìn)制編碼和二進(jìn)制數(shù)據(jù)
什么是二進(jìn)制計(jì)數(shù)器,二進(jìn)制計(jì)數(shù)器原理是什么?
二進(jìn)制電平,什么是二進(jìn)制電平
二進(jìn)制加法程序【匯編版】
二進(jìn)制加法程序【C語言版】
二進(jìn)制數(shù)據(jù)壓縮算法
二進(jìn)制數(shù)據(jù)及取值范圍的計(jì)算方法

評論