帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
有效為嵌入式設計混合訊號進行除錯
利用16通道混合訊號示波器

【作者: Tektronix】   2007年09月04日 星期二

瀏覽人次:【3857】

今日的嵌入式設計工程師面臨了系統複雜度不斷增加的挑戰。典型的嵌入式設計可能結合了多種類比訊號、高速和低速串列數位通訊,以及微處理器匯流排,這還只是其中一小部分。如I2C和SPI等串列通訊協定,經常用於晶片與晶片間的通訊,但是卻無法在所有的應用程式中取代並列匯流排。


微處理器、FPGA、類比轉數位轉換器(ADC)和數位轉類比轉換器(DAC)都是今日嵌入式設計中代表IC特殊量測挑戰的例子。工程師可能必須在同一塊系統主機板上,解碼兩個IC之間的SPI匯流排,並且同時觀察ADC的輸入和輸出。此類混合訊號系統的範例,如(圖一)所示。



《圖一 簡化的擷取/儀器系統》
《圖一 簡化的擷取/儀器系統》

對於擁有4通道示波器的工程師而言,為圖一所示的硬體進行除錯,是件困難且令人氣餒的工作。許多對於目前擁有的示波器感到滿意,並希望能藉此節省時間的工程師,可能會選擇使用3、4台示波器同時量測多種訊號,邏輯分析儀雖然可提供量測許多數位訊號的能力,但是複雜的除錯工作可能不值得使用邏輯分析儀需要的設定及學習曲線。擁有16通道邏輯分析儀的基本功能,以及4通道的混合訊號示波器,將協助工程師面臨這項挑戰。本文會實際展示嵌入式設計混合訊號和多個串列通訊協定的除錯。


嵌入式設計工程師通常使用串列通訊協定如I2C和SPI,以簡化電路板上各系統區塊之間的通訊。雖然這些串列通訊協定可以減少佈線的複雜度,但是使用傳統示波器為這些協定進行除錯仍感吃力。設計師通常被迫手動為擷取到的串列資料進行解碼,或是從示波器匯出資料,以進行後處理和解碼。讓示波器進行串列資料的解碼,能夠讓嵌入式設計工程師即時看見硬體和軟體的影響,為工程師節省無數的除錯時間。



《圖二 擷取系統和探測點的一部分》
《圖二 擷取系統和探測點的一部分》

有些示波器能夠使用最多四個通道量測串列資料,但常見的串列通訊協定有許多需要三條以上的線路。工程師通常需要具備同時解碼和顯示多條串列匯流排,以及觀察其時間關聯的能力,混合訊號示波器系列(Mixed Singal Oscilliscope series;MSO)擁有串列觸發和解碼能力,和16個額外的數位通道。除了I2C、SPI和CAN之外,混合訊號示波器中增加了對RS-232及並列匯流排的觸發和解碼之支援。利用混合訊號示波器工程師就能在同一時間,對多個串列匯流排及自訂的並列匯流排進行量測和解碼。在下列的例子中,我們使用混合訊號示波器MSO4000為圖一所示的嵌入式設計,進行複雜的多晶片通訊錯誤除錯。



《圖三 MSO4000以CH1類比顯示I2C、SPI和並列匯流排》
《圖三 MSO4000以CH1類比顯示I2C、SPI和並列匯流排》

在系統除錯的初期,如圖一所示,系統偶爾會遇到電路板上的狀態LED顯示錯誤存在的狀況。狀態LED曖昧不明的錯誤報告,讓系統工程師無法確認問題是和硬體或軟體有關。之前曾因類比MUX輸入的訊號品質不佳而造成類似的錯誤,但是引起該訊號完整性問題的硬體已更換成功。由於系統工程師懷疑錯誤可能是來自MUX輸入以外的來源,因此決定量測通往MUX的類比輸入以及數條數位匯流排,以取得廣泛的系統視圖。混合訊號示波器透過可用於除錯的4條類比和16條數位通道,連接至(圖二)中標示為1至4的訊號。


如(圖三)顯示MSO4000同時探測SPI匯流排、I2C匯流排、3位元並列匯流排和類比輸入時的螢幕擷取畫面。由於錯誤可以用特定的副程式隔離,因此混合訊號示波器設定為針對在特定I2C活動上進行的觸發進行單次擷取。將記錄長度設定為1M個點,可以確保準確地擷取到I2C匯流排上之事件附近的所有有用資訊。工程師執行該副程式,並快速參照混合訊號示波器,以查看系統中發生了什麼事。


CH1上的MUX輸入處所顯示的純淨類比波形,證實了工程師的懷疑,即硬體已經修復,錯誤發生在其他地方。混合訊號示波器在從微處理器寫入的I2C資料上進行觸發和解碼。工程師注意到SPI匯流排上的活動,以及I2C資料傳送後隨即出現之標示為D1和D2的顯示訊號。這些匯流排上的活動受到懷疑,因為執行的功能應該與LCD控制器有關。由於混合訊號示波器已經解碼了I2C資料的值,工程師可以看到微處理器已將I2C資料寫入位址0x77。位址0x77是FPGA的位址,但是副程式應該要將資料寫入位址0x76,這是LCD控制器的位址。



《圖四 使用Wave Inspector放大並顯示封包細節》
《圖四 使用Wave Inspector放大並顯示封包細節》

如(圖四)顯示相同的擷取,但使用Wave Inspector 放大SPI和並列匯流排的細節。SPI資料在螢幕上解碼為從主控(FPGA)將資料值0x15寫入從屬(MUX)。這個SPI命令只是輸入MUX變更其用作訊號路徑的輸入。輸入訊號中非預期的改變導致FPGA將錯誤代碼送至並列匯流排上的狀態LED。訊號D2上的活動顯示,錯誤代碼和並列匯流排解碼同樣可在圖四上觀察到。嵌入式設計工程師很快就能判斷出系統中的故障是由軟體錯誤造成的,因為混合訊號示波器可以同時檢視和解碼所有您感興趣的訊號。軟體程式在封包針對的是LCD控制器時,誤將資料寫入從微控制器到FPGA的I2C資料。



《圖五 MUX_OUT上的白色邊緣代表存在更多細節》
《圖五 MUX_OUT上的白色邊緣代表存在更多細節》

新一代數位波形顯示透露問題所在

在修改了系統軟體,以修正上一段所描述的位址錯誤之後,嵌入式設計工程師繼續測試更多本系統的功能。在此過程中,他們注意到狀態LED上偶爾出現的錯誤。這與前段所描述的錯誤不同,工程師不知道如何重新建立所看到的錯誤。這些錯誤其實是隨機出現的,而且無法以特定功能或系統的副程式隔離。



《圖六 Wave Inspector顯示MUX_OUT訊號上的突波》
《圖六 Wave Inspector顯示MUX_OUT訊號上的突波》

嵌入式設計工程師為了錯誤的隨機性質而感到疑惑,同時不確定要從何處開始尋找其來源。一個尋找錯誤來源的選擇,就是使用示波器在系統四周隨機量測,期待能擷取到隨機事件。雖然工程師過去曾經使用過這個方法,但他們知道若將配置適當的混合訊號示波器連接至所有感興趣的訊號,可讓尋找錯誤的時間大幅縮短。前段中的大多數量測點仍然連接到混合訊號示波器,而CH1探棒則移動到現行的MUX輸入,即感測器3的數位訊號。除了這4個探測點,在探測MUX輸出時還使用了一個數位通道。


FPGA透過3位元並列匯流排傳送0x7值表示錯誤發生。為了隔離此問題,我們將混合訊號示波器設定為對並列匯流排0x7值設定成觸發事件以進行單次擷取,如(圖五)所示。在這種情況下,並列匯流排可以節省解碼和觸發時間並避免混淆,因為錯誤狀況可以輕易隔離。本擷取中使用到的1M記錄長度,可讓工程師觀察觸發事件之前和之後的關鍵訊號細節。



《圖七 CH2顯示更多MUX_OUT的細節》
《圖七 CH2顯示更多MUX_OUT的細節》

乍看之下,圖五中顯示的訊號似乎一切正常,但是系統工程師很快便能辨識出MUX_OUT訊號上的兩個邊緣轉態出現不尋常的現象。圖五中顯示的MUX_OUT訊號上的白色轉態,可提醒使用者該訊號的這些部分中存在著更多資訊。MSO的多邊緣偵測功能,標示出放大後可能可以顯露出更高頻率之數位脈衝的波形區域。(圖六)則顯示使用Wave Inspector放大波形細節時的第一個白色轉態背後的細節。在圖五中被畫成白色轉態部分的訊號,實際上是MUX_OUT訊號上的突波。


圖六顯示MSO4000中類比和數位通道之間的時間關聯。MUX的輸入顯示在CH1(SENSOR_3)上,而MUX輸出可在數位通道D14(MUX_OUT)上觀察到。工程師注意到,雖然MUX輸出上有突波,但是MUX的輸入看起來卻沒有突波。在以數位通道辨識出突波後,工程師決定將CH2連接至MUX輸出,看得更仔細一點。



《圖八 CH1顯示進入MUX_OUT訊號之串音的來源》
《圖八 CH1顯示進入MUX_OUT訊號之串音的來源》

(圖七)則顯示使用同樣設定為對並列匯流排0x7值進行觸發的MSO4000所產生的擷取。在圖七中,SPI和I2C匯流排的波形已被關閉,以突顯有興趣的主要訊號。在MUX輸入和輸出上使用類比探棒,可以發現輸出上存在的突波並不存在於輸入訊號中。圖七顯示MUX_OUT訊號上的突波會在FPGA送出錯誤代碼之前的一小段時間內出現。這兩個訊號之間的時間關聯表示突波可能就是工程師觀察到的問題。工程師以相同設定重複進行數次擷取,而且無論何種狀況都能觀察到類似圖七的行為。



《圖九 PCB修正移除了串音》
《圖九 PCB修正移除了串音》

在研究過混合訊號示波器的螢幕擷取畫面後,嵌入式設計工程師懷疑MUX_OUT訊號上的突波來源可能是串音。他們在圖五中監測到的訊號,沒有一個被識別為串音的來源。在更詳細地檢查電路板配置的時候,工程師在印刷電路板(PCB)上發現一條位於MUX_OUT軌跡旁邊的通路。工程師使用CH1量測PCB上的通路,並等待來自並列匯流排的下一次觸發。產生的螢幕畫面擷取如(圖八)所示,圖八顯示CH1上擷取到的訊號從低至高的轉態,在時間上直接與MUX_OUT訊號上的正向突波相關。相對的,從高至低的轉態也直接和MUX_OUT訊號上的負向突波相關。


在花了一些時間重新配置電路板上的干擾訊號路線後,工程師將混合訊號示波器設定在CH1上進行觸發。(圖九)顯示MSO4000在CH1轉態上進行觸發,但是並未顯示出MUX_OUT訊號上的突波。由於MUX_OUT訊號上未有突波出現,因此並列匯流排沒有產生錯誤狀況。電路板修正可移除串音,並讓嵌入式設計工程師能夠完成系統的評估。


---本文由Tektronix太克科技提供---


相關文章
今天的工程師對示波器有什麼需求?
PCIe技術躍升主流 高速數位測試需求持續升溫
混合訊號挑戰艱鉅 MSO讓測試得心應手
數位分析不可或缺 邏輯分析儀為除錯而生
邏輯分析儀與時俱進 快速找出數位問題
comments powered by Disqus
相關討論
  相關新聞
» Tektronix電源儀表新突破 協助客戶在日益電氣化的世界快速創新
» Anritsu Tech Forum 2024 揭開無線與高速技術的未來視界
» 安立知獲得GCF認證 支援LTE和5G下一代eCall測試用例
» 資策會與DEKRA打造數位鑰匙信任生態系 開創智慧移動軟體安全商機
» 是德科技推動Pegatron 5G最佳化Open RAN功耗效率


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.138.124.28
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw