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