示波器是嵌入式開發(fā)人員最流行和可用的 MCU 調(diào)試工具。示波器忠實地捕捉重復的模擬信號以及重復的 MCU I/O 數(shù)字信號,但 MCU 的擴展時序和不規(guī)則數(shù)字信號的能力帶來了復雜的時序挑戰(zhàn)。當今的 MCU 具有大量引腳、總線和 I/O,需要具有足夠內(nèi)存的高通道數(shù)測量系統(tǒng)來進行實時調(diào)試。
嵌入式系統(tǒng)測試包括波特率、等待時間和輸出電平狀態(tài)的檢查。在實際應用中,中檔 MCU 設備具有主同步串行端口 (MSSP) 模塊來實現(xiàn) I 2 C 通信協(xié)議。加長的 I 2 C 通信流直接挑戰(zhàn)示波器測量活動的能力。
在 I 2 C 協(xié)議環(huán)境中,有主設備和從設備。重要的協(xié)議通信要求是與 SDA 和 SCL 級別相關(guān)的 Start、Stop、ACK 和 NACK 信號的出現(xiàn)(圖 1)。
圖 1.典型 I 2 C 從機傳輸。
對于從機傳輸,主機想要從從機讀取數(shù)據(jù)并發(fā)送開始條件(S)。接收到的地址被加載,從機在第 9 位發(fā)送一個 ACK 脈沖。在 ACK 之后,從硬件降低 SCL 引腳,開始時鐘延長周期。有了這個延長的時鐘信號,主設備無法斷言另一個時鐘脈沖,直到從設備準備發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù)裝入從寄存器。
然后,SCL 引腳被釋放,8 個數(shù)據(jù)位在 SCL 輸入的下降沿同時移出,確保 SCL 高電平期間 SDA 信號有效。來自主機的 NACK 脈沖鎖存于第 9 個 SCL 輸入脈沖的上升沿。如果 NACK 為高電平,則數(shù)據(jù)傳輸完成。從機空閑并等待下一個起始位出現(xiàn)。如果 SDA 線為低電平(NACK),則必須將下一個發(fā)送數(shù)據(jù)加載到 SSPBUF 寄存器中。
每當 SDA 線被采樣為低電平時,就會發(fā)生總線沖突,而它正在輸出和預期的高電平狀態(tài)。一旦檢測到總線沖突,從機進入空閑狀態(tài)并等待再次尋址。
當今的嵌入式測試工具
在像上述 I 2 C 環(huán)境這樣的實時調(diào)試環(huán)境中,由于主觸發(fā)需要重復信號,示波器很快就會變得笨拙。在調(diào)試工具范圍的另一端,有成熟的邏輯分析儀。
邏輯分析儀支持更多通道數(shù),并且由于 PC 技術(shù)而價格下降。這也使他們能夠與更大的屏幕交互,從而更容易可視化長序列的數(shù)字事件。但是,它們以數(shù)字形式顯示信號,因此僅提供固件如何響應不同輸入的間接視圖。因此,它們通常更適合較低分辨率的調(diào)試任務。
軟件仿真是另一種廉價的替代方案,但它的執(zhí)行速度不如現(xiàn)代 MCU。隨著系統(tǒng)復雜性的增加,這個問題只會變得更加復雜。
因此,需要與示波器互補的調(diào)試解決方案,以及具有額外實時 MCU 調(diào)試功能的工具。
五合一測試:五線工具集
五線工具集通過 高速邏輯傳感、分析儀、碼型發(fā)生器和接口通道來應對這一嵌入式工程挑戰(zhàn)。
更簡潔地說,五線工具有五個主要組件:
實時邏輯
邏輯分析儀
邏輯源模式生成器
波形發(fā)生器
協(xié)議交互測試工具
這些與提供五線輸出數(shù)據(jù)的直觀視圖的免費 PC 軟件配對。
LiveLogic工具的操作類似于數(shù)字示波器。這個用戶友好的工具模擬了一個超便攜、輕量級的示波器。該工具有兩個使用示波器探頭的數(shù)字通道(圖 2 中的左下角),使用 10X 探頭的電壓輸入范圍為 0 至 16V。這兩個通道可以以高達每秒 400 兆樣本 (Msps) 的速率捕獲數(shù)字樣本,從而呈現(xiàn) 2.5 納秒 (ns) 的時間分辨率。
LiveLogic 工具可以方便地捕獲信號轉(zhuǎn)換。轉(zhuǎn)換之間的等待時間數(shù)據(jù)只是計算空閑時間和波形的數(shù)字電平。該工具在隨附的 PC 上提供實時、類似示波器的數(shù)字顯示(圖 3)。
圖 3. Five Wire 的 LiveLogic 工具結(jié)果的 PC 視圖
為了對比 LiveLogic 工具,五線邏輯分析儀通過九個通道收集數(shù)據(jù)(右下方 20 針插座,圖 2)。這些通道集成了同時支持多條總線的 10 ns 或 100 Msps 邏輯分析儀。LiveLogic 觸發(fā)器具有帶模式匹配的三級序列。使用此通道寬度,該工具可以捕獲整個 MCU 設置。此外,五線裝運包括一個 10 線邏輯分析儀探頭。
邏輯源模式生成器提供多種輸出模式。發(fā)生器有 9 個通道,時間分辨率為 10 ns。最大矢量數(shù)為 1,020 個矢量,信號持續(xù)時間為 30 ns 至 40 ms。三種多種生成模式包括單次、事件發(fā)生、連續(xù)、自定義和手動??刂泼畎ㄞD(zhuǎn)到、循環(huán)、等待事件和停止。
同時,波形發(fā)生器允許開發(fā)人員設置 MCU 集成 ADC 的幅度 (V) 和波形持續(xù)時間。協(xié)議交互式測試工具使用支持 SPI 和 I 2 C的 20 引腳總線仿真功能促進 PC 和五線夾具之間的通信。
補充和對比示波器體驗
五線工具集旨在作為實時調(diào)試任務中示波器的補充而非替代。工具集的某些部分旨在增強嵌入式工程師的“示波器輸出”。相反,工具集僅在信號變化時捕獲和存儲數(shù)字交易數(shù)據(jù)。
及時的事務內(nèi)存使用
因為測試工具只存儲信號轉(zhuǎn)換,所以信號分析所需的時間和事務內(nèi)存減少了。此功能允許五線平臺顯示更長、更精確的時間段,僅此一項就使用戶遠遠超出了示波器的功能。由于五線軟件套件在 PC 上運行,因此捕獲的信號可以顯示在多個大屏幕上,以便在實時分析期間增強可視化。
回到前面提到的 I 2 C 通信示例,LiveLogic 工具捕獲 I 2 C SDA 和 SCL 線以進行評估,并且可以在較長時間內(nèi)感測信號(圖 4)。
圖 4.五線 LiveLogic 工具檢測 I 2 C 信號。
如圖 4 所示,LiveLogic CH1 跟蹤 I 2 C SDA 引腳,CH2 跟蹤 SCL 引腳。由于圖 4 中的信號是二進制的,因此內(nèi)容很難直觀地解碼。
請注意,信號出現(xiàn)在大約 1.4588 秒的時間標記處,這遠遠超出了示波器準確跟蹤的能力。與傳統(tǒng)的示波器相比,五線工具套件顯示這些信號的時間更長,時間精度更精細。
LiveLogic PC 軟件可以解碼 SPI、I2C、RS232 或 LIN 信號。在圖 5 所示的測試中,Analyze Decoder 設置為 I2C。
圖 5.五線 LiveLogic 工具集設置為 I 2 C 解碼模式。
LiveLogic I 2 C 解碼模式將 I 2 C 信號解碼為 Addr:14,Write (圖 6)。從圖 6 中我們可以看到,a 的產(chǎn)生表明接收器沒有將數(shù)據(jù)線拉低以確認事務的終止,從而產(chǎn)生了失敗的通信事件。
圖 6. I 2 C 信號的解碼驗證器件是否處于寫通信模式。
五線工具集的精度和性能甚至可以用于調(diào)試基于 RTOS 的設計。
實現(xiàn)測試自動化的腳本
五線套件的另一個優(yōu)點是可以使用類似 C 的腳本語言來自動化測試設置。MBScript為五線工具集中的每個工具使用人類可讀的命令來正確配置給定測試的工具,還使用戶能夠模擬電路或生成具有條件分支和循環(huán)的復雜自定義波形。
測試數(shù)據(jù)同樣以人類可讀的格式輸出,可以在開發(fā)團隊之間共享。圖 7 顯示了返回數(shù)據(jù)數(shù)組的 MBScript 命令。
圖 7.從自定義波形返回數(shù)據(jù)數(shù)組的示例 MBScript 命令。
從理論上講,MBScript 編程功能允許五線工具集兼作 QA 工具,在各種條件和負載下模擬系統(tǒng)操作。事實上,它已經(jīng)在現(xiàn)實世界的制造設施中用于這種能力。
清理工作臺上的空間
五線工具通過在不增加成本的情況下增強性能,為嵌入式系統(tǒng)測試帶來了附加功能。事實上,五線工具套件的價格在低端示波器的范圍內(nèi),而其功能卻遠遠超過了許多高端解決方案。
因為數(shù)據(jù)很容易以易于使用、人類可讀的數(shù)據(jù)格式導出到 PC 終端,從而幫助工程師快速捕獲波形并分析系統(tǒng)的數(shù)字操作。來自測試平臺的可靠、準確的測量可以通過使用 MBScript 語言或其他流行的編碼范例(如 Python)開發(fā)的各種測試腳本運行。
而且,由于 Five Wire 軟件套件是免費的,并且可以獨立于硬件平臺運行,因此整個工程團隊可以在他們自己的基于 Windows 的 PC 上分析測試數(shù)據(jù)。工程和 QA 團隊可以共享單個五線工具集的多用途功能,而不是依賴多個單一用途的測試系統(tǒng)。
審核編輯:郭婷
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3623瀏覽量
92678 -
RTOS
+關(guān)注
關(guān)注
24文章
856瀏覽量
122215 -
python
+關(guān)注
關(guān)注
56文章
4848瀏覽量
88981
發(fā)布評論請先 登錄
用是德MSO-X 3024T高效調(diào)試嵌入式系統(tǒng)的實戰(zhàn)指南

嵌入式達到什么水平才能就業(yè)?
入行嵌入式應該怎么準備?
泰克示波器 MSO58 混合信號示波器在嵌入式系統(tǒng)調(diào)試中的核心技巧

普源示波器MSO5074在嵌入式系統(tǒng)聯(lián)合調(diào)試中的高效實踐

Linux嵌入式和單片機嵌入式的區(qū)別?
嵌入式開發(fā)入門指南:從零開始學習嵌入式
嵌入式適合自學嗎?
泰克MDO32示波器在嵌入式系統(tǒng)調(diào)試中的關(guān)鍵技術(shù)分析

如何提高嵌入式代碼質(zhì)量?
嵌入式主板的概述與發(fā)展

ARM嵌入式實時操作系統(tǒng)比較
掌握調(diào)試技巧是攻克嵌入式學習難點的關(guān)鍵

使用高級事件觸發(fā)調(diào)試高速嵌入式微處理器系統(tǒng)中的實時問題

評論