嵌入式開發(fā),邏輯分析儀一定要會(huì)用
單片機(jī)開發(fā)工程師和電子愛好者,每天都要和各種各樣的數(shù)字電路打交道。在制作調(diào)試電路時(shí)除了使用萬用表、示波器等工具,邏輯分析儀也是必不可少的。
本文引用地址:http://2s4d.com/article/202505/470080.htm邏輯分析儀是利用時(shí)鐘從測(cè)試設(shè)備上采集和顯示數(shù)字信號(hào)的儀器,最主要的作用在于時(shí)序判定。
邏輯分析儀與示波器不同,它不能顯示連續(xù)的模擬量波形,而只顯示高低兩種電平狀態(tài)(邏輯1和0)。
在設(shè)置了參考電壓后,邏輯分析儀將采集到的信號(hào)與電壓比較器比較,高于參考電壓的為邏輯1,低于參考電壓的為邏輯0。
這樣就可以將被測(cè)信號(hào)以時(shí)間順序顯示為連續(xù)的高低電平波形,便于使用者進(jìn)行分析和調(diào)試。
使用邏輯分析儀,可以方便地設(shè)置信號(hào)觸發(fā)條件開始采樣,分析多路信號(hào)的時(shí)序,捕獲信號(hào)的干擾毛刺,也可以按照規(guī)則對(duì)電平序列進(jìn)行解碼,完成通信協(xié)議分析。
邏輯分析儀根據(jù)其硬件設(shè)備的功能和復(fù)雜程度,主要分為獨(dú)立式(單機(jī)型)邏輯分析儀和基于電腦(PC-Base)的虛擬邏輯分析儀兩大類。
獨(dú)立式邏輯分析儀是將所有的軟件,硬件整合在一臺(tái)儀器中,使用方便。虛擬邏輯分析儀則需要結(jié)合電腦使用,利用PC強(qiáng)大的計(jì)算和顯示功能,完成數(shù)據(jù)處理和顯示等工作。
專業(yè)邏輯分析儀,通常具有數(shù)量眾多的采樣通道,超快的采樣速度和大容量的存儲(chǔ)深度,但昂貴的價(jià)格也不是個(gè)人所能承受的。
作為工程師手頭常備的開發(fā)工具,目前有許多入門級(jí)的邏輯分析儀設(shè)計(jì),整體功能雖然不能和專業(yè)高檔儀器相比,但是用較低的成本來實(shí)現(xiàn)特定的功能,也是非常成功的設(shè)計(jì)。
本文以下討論的邏輯分析儀,主要是指這類入門級(jí)設(shè)計(jì)。
基于電腦并口的邏輯分析儀曾是主流,但是近年來電腦系統(tǒng)逐步不再配置并口,這類設(shè)計(jì)已經(jīng)成為明日黃花,僅僅還具有原理學(xué)習(xí)的價(jià)值。
另一類的邏輯分析儀,是以低速單片機(jī)為基礎(chǔ)的。很多愛好者用PIC、AVR等常見單片機(jī)設(shè)計(jì)了自己的作品。但這類單片機(jī)邏輯分析儀的共同弱點(diǎn)就是采樣速度太慢,通常不超過1MHz。
以USB IO芯片為基礎(chǔ)的入門級(jí)邏輯分析儀現(xiàn)在最為流行。
比如Saleae logic,還有類似的USBee等。這類產(chǎn)品主要采用一個(gè)USB IO芯片,例如CYPRESS公司的CY7C68013A-56PVXC,所有的信號(hào)觸發(fā)和處理工作都是電腦上的軟件完成的,硬件部分就只是一個(gè)數(shù)據(jù)記錄儀。
最高采樣速度為24MHz。它們可以“無限數(shù)量”地采樣,因?yàn)樗械臄?shù)據(jù)都是存儲(chǔ)在電腦里的。
目前一般最多是8個(gè)通道,更多的通道數(shù)量會(huì)成比例地降低最高采樣速度。這類產(chǎn)品構(gòu)造簡(jiǎn)單,方便易用,價(jià)格便宜,是調(diào)試單片機(jī)開發(fā)工作的好工具。
它的缺點(diǎn)主要是采樣速度只有24MHz、8個(gè)通道,對(duì)于分析高速并行總線就不能勝任了。
更進(jìn)一步的設(shè)計(jì),需要增加FPGA、SRAM等器件,才能解決速度不夠和通道數(shù)量不足的問題。
下面就以Saleae邏輯分析儀為例,通過采樣分析I2C總線波形和PWM波形,簡(jiǎn)單介紹它的特點(diǎn)和使用方法。
先介紹用邏輯分析儀采樣單片機(jī)對(duì)I2C器件AT24C16的寫數(shù)據(jù)過程。
硬件連接
1. 先將邏輯分析儀的GND與目標(biāo)板的GND連接,讓二者共地。
2. 選擇需要采樣的信號(hào),這里就是AT24C16的SDA和SCL,將SDA接入邏輯分析儀的通道1(Input 1),SCL接入通道1(Input 2)。
3. 將邏輯分析儀和電腦USB口連接,windows會(huì)識(shí)別該設(shè)備,并在屏幕右下角顯示USB設(shè)備標(biāo)識(shí)。
軟件使用
1.運(yùn)行Saleae軟件,此時(shí)邏輯分析儀的硬件已經(jīng)與電腦相連,軟件會(huì)顯示[Connected]。
2.設(shè)置采樣數(shù)量和速度,I2C為低速通信,所以速度設(shè)置不必太高,這里設(shè)置為20M Samples @ 4M Hz的速度,也就是能持續(xù)采樣5秒鐘。
3.設(shè)置協(xié)議,點(diǎn)右上角的“Options”按鈕,找到analyzer1,設(shè)置為I2C協(xié)議,詳見圖1。
4.按“Start”按鈕,開始采樣。
圖1
數(shù)據(jù)分析
采樣結(jié)束后,可以看到波形,見圖2。由于我們?cè)O(shè)置了是I2C分析,因此不光顯示出波形,還有根據(jù)I2C協(xié)議解碼顯示的字節(jié)內(nèi)容。
單片機(jī)對(duì)AT24C16進(jìn)行寫入操作,在0x00地址處寫入10000等數(shù)字。波形起始是“start”信號(hào),然后依次是AT24C16的標(biāo)識(shí)0xA2,寫入地址0x00,數(shù)據(jù)0x10,0x27等。由于寫入以字節(jié)為單位,因此0x2710 = 10000,表明采樣成功。
將鼠標(biāo)放在波形上,點(diǎn)擊左鍵,實(shí)現(xiàn)zoom in功能。結(jié)果見圖3,在“start”條件后,在SCL的8個(gè)連續(xù)脈沖的高電平處,SDA對(duì)應(yīng)的信號(hào)為10100010,即0xA2,第9個(gè)脈沖高電平處為0,是ACK標(biāo)志。
圖2
圖3
圖4
以上簡(jiǎn)單介紹了用邏輯分析儀進(jìn)行I2C分析的過程,可以看到操作起來非常簡(jiǎn)單。
下面再介紹利用邏輯分析儀采樣三相交流電機(jī)驅(qū)動(dòng)器的6路PWM波形。
硬件連接
1.?先將邏輯分析儀的GND與目標(biāo)板的GND連接,讓二者共地,見圖5。
2.?選擇需要采樣的信號(hào),這里就是單片機(jī)6路PWM波形的輸出引腳,將其接入邏輯分析儀的通道1(Input 1)至通道6(Input 6),并且把通道的名字改為Utop、Ubottom、Vtop、Vbottom、Wtop、WBottom,分別代表三路輸出的上下橋臂。
3.?將邏輯分析儀和電腦USB口連接,windows會(huì)識(shí)別該設(shè)備,并在屏幕右下角顯示USB設(shè)備標(biāo)識(shí)。
圖5
軟件使用
1.?運(yùn)行Saleae軟件,此時(shí)邏輯分析儀的硬件已經(jīng)與電腦相連,軟件會(huì)顯示[Connected]。
2.?設(shè)置采樣數(shù)量和速度,PWM的頻率為15kHz,這里設(shè)置為2M Samples @ 4MHz的速度。
3.?設(shè)置觸發(fā)條件,默認(rèn)“----”就可以了。
4.?按“start”按鈕,開始采樣。
數(shù)據(jù)分析
采樣結(jié)束后,可以看到波形,見圖6。
圖6
典型的三相電機(jī)驅(qū)動(dòng)PWM是互補(bǔ)型的,即一組信號(hào)的上下兩個(gè)波形的狀態(tài)是相反的,分別控制這組橋臂上下兩個(gè)開關(guān)管的狀態(tài),避免同時(shí)導(dǎo)通造成短路,見圖7。
圖7? 典型的三相電機(jī)驅(qū)動(dòng)電路
將鼠標(biāo)放在波形上,連續(xù)點(diǎn)擊左鍵,實(shí)現(xiàn)zoom in功能。見圖8。
圖8
在UBottom的下降沿和UTop的上升沿放置標(biāo)記線,在右下角的顯示框中,可以看到T2-T1=2.25μs,這就是先關(guān)斷后打開的時(shí)間差,專業(yè)上稱為“死區(qū)時(shí)間”(Deadtime)。
另外,還可以看到PWM的寬度45.5μs,周期66.6μs,占空比31.6%,頻率15.0376kHz等信息。這就是一個(gè)典型的三相電機(jī)變頻器的SVPWM波形。
以上兩個(gè)例子,簡(jiǎn)單介紹了邏輯分析儀的使用,希望能對(duì)廣大開發(fā)者有所幫助和啟發(fā)。
評(píng)論