邏輯分析儀在通訊協(xié)議分析上的應(yīng)用
在科技時(shí)代里越來(lái)越多的電子裝置出現(xiàn),也越來(lái)越多的裝置電子化,而在這些許許多多的裝置就會(huì)需要相互溝通與控制以及傳遞訊息與數(shù)據(jù)等,因此這些裝置成了相互關(guān)系或是主從關(guān)系。所以這些裝置之間就會(huì)有傳遞數(shù)據(jù)或互相控制的需求,那就必須有一相同的通訊協(xié)議,才能確保數(shù)據(jù)傳輸?shù)恼_性。為了讓通訊協(xié)議簡(jiǎn)單化以及快速化,也因?yàn)榇惺接嵦?hào)傳輸才可以達(dá)到簡(jiǎn)單化以及快速化的目的,通訊協(xié)議的演進(jìn)幾乎都朝串行式的通訊協(xié)議來(lái)發(fā)展。例如傳統(tǒng)的硬盤(pán)或光盤(pán)的傳輸界面都是以P-ATA(ParallelATA)為傳輸界面,現(xiàn)今大部分都已經(jīng)改用S-ATA(SerialATA)。又如計(jì)算機(jī)界面卡的PCI界面,也開(kāi)始會(huì)進(jìn)入PCIExpress。
而不同類型的裝置也衍生出不同的通訊協(xié)議(Protocol)。在PC與外圍的應(yīng)用,常見(jiàn)的有USB、PS2、1394、UART…。在其它電路之間的則有I2C、SPI…。車(chē)用常見(jiàn)的有CANBus及LINBus。這些許許多多的通訊協(xié)議也會(huì)衍生出一些變異的通訊協(xié)議出來(lái)。然而這么多的通訊協(xié)議在開(kāi)發(fā)與測(cè)試維修的時(shí)候最大的問(wèn)題是什么呢?是如何正確的擷取想要觀看的波形以及將波形轉(zhuǎn)換成較為人性化的表示方式。
我們先談?wù)勈裁唇凶鲚^為人性化的表示方式呢?我們以RS232波形為例,使用示波器或邏輯分析儀等通用儀器量測(cè)到的波形。
當(dāng)您使用示波器或邏輯分析儀量測(cè)到上面這些波形時(shí),對(duì)您的開(kāi)發(fā)或是維修其實(shí)幫不了什么忙。因此開(kāi)發(fā)者或是維修人員必須借助特殊通訊協(xié)議的分析儀,例如RS232分析儀、USB分析儀、CANBus分析儀…等等,來(lái)分析通訊協(xié)議的內(nèi)容,這些通訊協(xié)議內(nèi)容才會(huì)包含對(duì)使用者有幫助的訊息。但是這些專屬的通訊協(xié)議分析儀通常市價(jià)不蜚,且通常只能分析單一種通訊協(xié)議,因此示波器與邏輯分析儀開(kāi)始陸陸續(xù)續(xù)出現(xiàn)許多串行通訊協(xié)議的分析能力。
通用儀器的演進(jìn)
早期的示波器與邏輯分析儀的內(nèi)部不是沒(méi)有操作系統(tǒng),就是自行開(kāi)發(fā)的一套操作系統(tǒng),所以使用者界面的開(kāi)發(fā)的難度就比較高,一臺(tái)儀器的研發(fā)過(guò)程都是相當(dāng)久。如今PC-Based的儀器已經(jīng)相當(dāng)普遍,連StandAlone的儀器內(nèi)部也漸漸使用工業(yè)計(jì)算機(jī)(IPC)來(lái)取代,使用操作系統(tǒng)不是Windows就是Linux。所以這些儀器的使用者界面的開(kāi)發(fā)變得非常簡(jiǎn)單,就好像在寫(xiě)PC上的軟件一般,沒(méi)有兩樣。而且因?yàn)镻C的運(yùn)算功能強(qiáng)大,這類儀器也會(huì)把需要大量運(yùn)算或儲(chǔ)存的事情交給PC來(lái)做,真正儀器的部份就只要處理儀器該做的事情,復(fù)雜與瑣碎的事通通交給PC來(lái)處理。PC-Based的儀器或是使用IPC的儀器就可以將其采集到的波形傳送到PC,再由PC上的軟件加以分析,所有這些常用的通訊協(xié)議就可以一一的被分析出來(lái)顯示在畫(huà)面上,讓使用者容易閱讀。因此這類運(yùn)用PC的儀器不再只是單純的顯示波形的儀器而已。舉凡通訊協(xié)議分析、頻域分析(FFT)、電源分析、溫度分析、影像分析等等數(shù)不完的分析,都可經(jīng)由PC上的軟件得到解決。以往客戶必須依照業(yè)者提供的二次開(kāi)發(fā)界面(SDK)來(lái)取得波形,再自行開(kāi)發(fā)一套軟件來(lái)分析這些波形數(shù)據(jù)。如今只要是市場(chǎng)被大量運(yùn)用的技術(shù),很快就有業(yè)者將分析程序給寫(xiě)出來(lái),使用者就不需要再花費(fèi)時(shí)間來(lái)撰寫(xiě)這些分析程序。因此傳統(tǒng)的示波器及邏輯分析儀不再只是一般的波形顯示儀器,而是功能越來(lái)越強(qiáng)大的分析儀器。
邏輯分析儀的趨勢(shì)
邏輯分析儀一直以來(lái)讓人覺(jué)得陌生或?qū)嵱眯圆桓叩目贪逵∠螅饕且驗(yàn)檫壿嫹治鰞x的高價(jià)位與使用復(fù)雜度。所以一般的工程師在除錯(cuò)時(shí),大部分都仰賴示波器來(lái)解決問(wèn)題。如今邏輯分析儀越來(lái)越普及,價(jià)格越來(lái)越低,且操作環(huán)境也拜PC之賜變得更簡(jiǎn)單,因此使用率也越來(lái)越高。況且在這數(shù)字化的時(shí)代里,數(shù)字電路不再是示波器就可以解決一切問(wèn)題。因?yàn)閿?shù)字電路通常都是有相當(dāng)多的測(cè)試點(diǎn)需要同時(shí)量測(cè),光靠示波器是不夠用的,邏輯分析儀的多信道特性正好可以解決這個(gè)問(wèn)題。
前面幾節(jié)提到的通訊協(xié)議分析或其它分析,我們統(tǒng)稱為波形資料后處理,而這節(jié)我們要提到的是通訊協(xié)議的觸發(fā)功能。以往邏輯分析儀總是在強(qiáng)調(diào)采樣率、通道數(shù)與儲(chǔ)存深度等問(wèn)題,然而在串行訊號(hào)掛帥的環(huán)境里,邏輯分析儀也開(kāi)始強(qiáng)調(diào)提供通訊協(xié)議觸發(fā)的功能,藉以提升邏輯分析儀的價(jià)值與實(shí)用性。
通訊協(xié)議分析與通訊協(xié)議觸發(fā)兩者之間有何不同呢?前面提到通訊協(xié)議分析就是所謂的通訊協(xié)議的后處理,也就是將邏輯分析儀采集到所有波形數(shù)據(jù)加以轉(zhuǎn)換成通訊協(xié)議的數(shù)據(jù)。換句話說(shuō),你可能任意采集一段電路運(yùn)作時(shí)的波形,或是利用觸發(fā)設(shè)定來(lái)采集該觸發(fā)訊號(hào)發(fā)生的同時(shí)所產(chǎn)生的波形。但是這樣采集到的波形通常都不是你除錯(cuò)時(shí)真正想要看到的波形。如果能使用通訊協(xié)議的觸發(fā),將通訊協(xié)議的數(shù)值設(shè)定成觸發(fā)參數(shù),邏輯分析儀就可以非常準(zhǔn)確的采集到真正事件發(fā)生當(dāng)時(shí)的波形,再配合后處理將數(shù)值顯示出來(lái),才能達(dá)到事半功倍的效果。因此有通訊協(xié)議后處理的邏輯分析儀,最好能有通訊協(xié)議觸發(fā)設(shè)定的功能。
邏輯分析儀串行分析實(shí)例
接下來(lái)我們來(lái)實(shí)作一個(gè)案例。假設(shè)我們?cè)O(shè)計(jì)了一個(gè)電路,他是使用I2C通訊協(xié)議來(lái)控制某些裝置,然而每次這個(gè)I2C控制信號(hào)在送出一串?dāng)?shù)據(jù)為”ABCDE”字符串后,就會(huì)造成電路工作不正常。首先我們可以將邏輯分析儀的某兩個(gè)通道接到I2C的SCK與SDA的接腳上,再接上一些需要觀測(cè)的控制訊號(hào)上。再來(lái)我們將I2C這兩個(gè)信道的顯示方式由波形方式改成I2CBus的通訊協(xié)議分析方式。最后,我們?cè)僭O(shè)定I2C的觸發(fā)參數(shù)”ABCDE”字符串。這樣就可以采集到真正的問(wèn)題點(diǎn)了。
結(jié)論
由市場(chǎng)上的產(chǎn)品來(lái)看,不管是示波器、邏輯分析儀或甚至是二合一的混合儀器,在功能方面不斷的根據(jù)應(yīng)用領(lǐng)域需求而改進(jìn),新產(chǎn)品的推出也越來(lái)越快,對(duì)使用者來(lái)說(shuō)當(dāng)然是一大福音。但是應(yīng)用領(lǐng)域不斷的在變化的同時(shí),能夠選擇一個(gè)軟件(通訊協(xié)議分析)可升級(jí),硬件(通訊協(xié)議觸發(fā))也可升級(jí)的儀器,或許是一個(gè)比較好的方案。