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

如何提高嵌入式代碼質(zhì)量?
ARM嵌入式實(shí)時(shí)操作系統(tǒng)比較
使用高級(jí)事件觸發(fā)調(diào)試高速嵌入式微處理器系統(tǒng)中的實(shí)時(shí)問題

評(píng)論