數(shù)字IO卡是采集數(shù)字IO信號(hào)的儀器,,其功能類似于邏輯分析儀。北京坤馳科技公司的M2i.7011數(shù)字IO卡有16,、32與64bit版本可選,,且在16bit與32bit版本中高采樣率可達(dá)125MS/s。板卡具備高2GB板載內(nèi)存,,在FIFO下,,板卡持續(xù)流模式傳輸速度可達(dá)160MS/s,可滿足大部分使用需求,。
在本次應(yīng)用實(shí)驗(yàn)中經(jīng)過(guò)對(duì)過(guò)程中問(wèn)題的分析,、解決,實(shí)現(xiàn)了對(duì)藍(lán)牙信號(hào)的采集,。
1environment setup
我們可以根據(jù)m2i.7011的datasheet中的管腳定義,,可以清晰的找到數(shù)字IO信號(hào)、時(shí)鐘CLK信號(hào),、數(shù)字地信號(hào)GND等,。



基于m2i.7011是大32bit的IO可以使用,,用戶需要20bit的數(shù)字IQ信號(hào),其中包括I路信號(hào)10bit,,Q路信號(hào)10bit,,還有1路clk輸入信號(hào),外加GND數(shù)字地信號(hào),。


下圖是ADC采集的信號(hào),,用xilinx的chipscope軟件抓的ADC芯片量化出來(lái)的數(shù)據(jù),可以看到采集的波形很平滑,。

用Agilent 16822A Logic Analyzer測(cè)試ADC量化的10bit信號(hào),,如下圖所示,因?yàn)檫壿嫹治鰞x有電平判決,,ADC 1.8V CMOS電壓也可以兼容,,而且可以設(shè)置采樣的邊沿可以選擇rising edge還是falling edge,再加上邏輯分析儀的電纜線可以做到屏蔽性好,、等長(zhǎng)等特性,。
下圖是用邏輯分析儀,直接分析ADC量化的10bit的數(shù)據(jù),,不經(jīng)過(guò)FPGA處理,。

2io level
我們可以從m2i.7011數(shù)字IO卡的datasheet中,可以知道,,IO卡對(duì)于高低電平的判決是高于2.0V當(dāng)成高電平1來(lái)處理,,低于0.8V當(dāng)成低電平0來(lái)處理。
The high level ≥2.0V
The low level ≤0.8V

m2i.7011對(duì)于高低電平的判決是datasheet寫的是3.3V,,5V的TTL電平標(biāo)準(zhǔn),。

即使我們把輸入阻抗impedance調(diào)節(jié)成110ohm,電壓是2.5V還是不兼容1.8V,。

但是采集藍(lán)牙信號(hào)的ADC芯片輸出的是1.8V的CMOS電平,,這樣電平不一致將導(dǎo)致IO卡無(wú)法預(yù)知高低電平的信號(hào),一般高電平對(duì)于數(shù)字信號(hào)來(lái)說(shuō)是1,,低電平是0,。如果無(wú)法正確的預(yù)判是1還是0,對(duì)于數(shù)字IO卡來(lái)說(shuō),,就會(huì)采集不到正確的0和1的值,。
所以,需要把ADC的數(shù)據(jù)先進(jìn)入FPGA,,進(jìn)行電平轉(zhuǎn)換,轉(zhuǎn)換成3.3V的電平,,為了和IO卡匹配,。轉(zhuǎn)換完之后,,需要把FPGA的的管腳引到IO口的插針上,但是引到IO插針上的時(shí)候,,用Agilent的邏輯分析儀,,采集原理和IO卡一樣,就是多了電平判決和采樣時(shí)鐘沿的選項(xiàng),,這樣可以應(yīng)對(duì)許多種IO信號(hào),。m2i.7011卡,電平不可以可選,,m4i.77xx是可以選擇電平標(biāo)準(zhǔn)的,,m2i.7011默認(rèn)是上升沿采集信號(hào),不能使用下降沿采集信號(hào),。

LEADCORE公司的ADC芯片設(shè)計(jì)比較怪異,,因?yàn)橐话鉇DC芯片,TI或者ADI的ADC,,量化ADC數(shù)據(jù)adcdata的時(shí)候,,會(huì)有dclk,所謂dclk就是和adcdata一起同步出來(lái)的信號(hào),,這樣時(shí)鐘和數(shù)據(jù)都是同步的,,但是LEADCORE公司的ADC芯片只有adcdata,沒(méi)有隨路時(shí)鐘dclk,,他們選擇的方式是FPGA這邊直接給1個(gè)16MHz的時(shí)鐘,,16MHz的時(shí)鐘使用xilinx公司的virtex-5信號(hào)DCM,產(chǎn)生同頻率,,相位分別為0°,,90°,180°,,270°的16MHz時(shí)鐘,,xilinx virtex-5芯片的DCM產(chǎn)生時(shí)鐘,報(bào)低能產(chǎn)生32MHz的時(shí)鐘,,但是產(chǎn)生16MHz的時(shí)鐘,,拿示波器量確實(shí)是16MHz,可能是xilinx的一個(gè)bug,。
DCM產(chǎn)生的4個(gè)時(shí)鐘里面,,有1個(gè)或者2個(gè),可以讓dclk和adcdata盡量的滿足setup time和hold time,,保證采集的數(shù)據(jù)在時(shí)序上沒(méi)有violation,。這樣就能避免出現(xiàn)下圖的現(xiàn)象:

實(shí)際測(cè)試,發(fā)現(xiàn)沒(méi)有了IO delay的錯(cuò)誤,,反而多了一個(gè)周期性的干擾的毛刺,,而且毛刺的位置非常固定,。拿Agilent Logic Analyzer測(cè)試10bit的IO數(shù)據(jù),發(fā)現(xiàn)在1個(gè)周期的sinus波形里有個(gè)周期性的干擾,。

后再拿m2i.7011數(shù)字IO卡,,測(cè)試,采集完存成bin文件,,用MATLAB觀察,,現(xiàn)象和Agilent的邏輯分析儀現(xiàn)象一致。
再仔細(xì)觀察突變的位置,,剛好是512左右,,我們?cè)俜治?0bit的數(shù)據(jù)1000000000是512,也就是說(shuō)剛好高位從0到1翻轉(zhuǎn)的過(guò)程中突變了,,導(dǎo)致1變成0,,導(dǎo)致數(shù)據(jù)突然下跌。

我們知道,,對(duì)于數(shù)字電路來(lái)說(shuō),,10bit的數(shù)據(jù),在邏輯里面如果經(jīng)過(guò)D觸發(fā)器,,10bit的數(shù)據(jù)要發(fā)生翻轉(zhuǎn)都在在時(shí)鐘的上升沿或時(shí)鐘的下降沿,,因?yàn)镈觸發(fā)器屬于邊沿觸發(fā)器。對(duì)于邊沿比較敏感,。
那10bit的數(shù)據(jù),,就需要10個(gè)D觸發(fā)器,每個(gè)觸發(fā)器存1bit的值,,那如果是由時(shí)鐘邊沿引起的第10bit的數(shù)據(jù),,周期性的翻轉(zhuǎn)受干擾,那我們就用上面DCM產(chǎn)生的4個(gè)相位的時(shí)鐘,,分別試驗(yàn),。
如果4個(gè)時(shí)鐘都是同樣的現(xiàn)象,就可以定位是硬件上的問(wèn)題了,。
終,,經(jīng)過(guò)試驗(yàn),發(fā)現(xiàn)是ADC芯片引出的IO上有問(wèn)題,,所以更換了IO,,重新采集??梢圆杉狡交膕inus波形,。

3bluetooth signal
使用Agilent基于移動(dòng)領(lǐng)域的WiMAX矢量信號(hào)源MXG,產(chǎn)生藍(lán)牙信號(hào)包,,藍(lán)牙包里可以疊加噪聲,。

使用Rohde&Schwarz公司的無(wú)線通信CMW270,可以統(tǒng)計(jì)藍(lán)牙包的誤報(bào)率,。

當(dāng)把一切環(huán)境都搭建好,可以使用m2i.7011采集數(shù)字IO信號(hào)了,,數(shù)字IO卡使能的bit數(shù)可以從datasheet知道,。

8bit、16bit,、32bit,,因?yàn)椴杉疘Q兩路總共需要20bit,還需要1bit GND和1bit CLK,,所以需要使能32bit的IO,,采樣時(shí)鐘選擇外時(shí)鐘16MHz。
下圖是使用m2i.7011采集的IQ藍(lán)牙包IO波形,。

同樣用Agilent的邏輯分析儀看到藍(lán)牙包是一包一包出現(xiàn)的,。

我們使用chipscope抓取藍(lán)牙包,使用MATLAB把采集的32bit的IO數(shù)據(jù)進(jìn)行解析,,會(huì)看到IQ兩路的藍(lán)牙包,。

藍(lán)牙包根據(jù)不同的疊加噪聲會(huì)有不同的時(shí)域表現(xiàn)。


4summary
北京坤馳科技的數(shù)字IO卡基于采集的是數(shù)字IO信號(hào),,每個(gè)IO口對(duì)應(yīng)1bit的數(shù)據(jù),,其功能類似于邏輯分析儀,IO卡的優(yōu)點(diǎn)在于體積小,,可攜帶,,可插與普通電腦或者便攜式機(jī)的PCIE或PCI插槽使用,接口形式示采集卡是PCI還是PCIE接口,。數(shù)字IO卡支持可編程,,支持多個(gè)IO,多可使用64個(gè)IO口,,相比于Agilent 16822A邏輯分析儀,,邏輯分析儀缺點(diǎn)是數(shù)字IO口少,只支持16個(gè)數(shù)字IO口和1個(gè)CLK和1個(gè)GND,,無(wú)法滿足2路IQ產(chǎn)生的20bit數(shù)字信號(hào),。