用MSO測(cè)試和調(diào)試混合信號(hào)系統(tǒng)設(shè)計(jì)
嵌入式系統(tǒng)中,MCU和DSP的應(yīng)用非常普遍,模擬信號(hào)和各種數(shù)字信號(hào)同時(shí)存在。傳統(tǒng)上,工程師分別使用示波器和邏輯分析儀來(lái)進(jìn)行測(cè)試和驗(yàn)證。但由于混合信號(hào)的復(fù)雜性,要實(shí)現(xiàn)對(duì)各種信號(hào)的同步觸發(fā)非常困難。隨著一種被稱為混合信號(hào)示波器(MSO)的出現(xiàn),工程師們發(fā)現(xiàn)嵌入式設(shè)計(jì)調(diào)試容易了很多。
本文引用地址:http://butianyuan.cn/article/194297.htmMSO是一種把數(shù)字存儲(chǔ)示波器(DSO)的所有測(cè)量能力與邏輯分析儀的某些測(cè)量能力整合到一起的混合測(cè)試儀器,并且讓示波器和邏輯分析儀共享觸發(fā)電路,以便讓它們能同時(shí)觸發(fā),波形被同時(shí)顯示和刷新。有了MSO,就能在同一顯示器上看到如圖1所示的在時(shí)間上對(duì)齊的多個(gè)模擬和數(shù)字波形,而且示波器通道和邏輯通道間的時(shí)延幾乎可以忽略不計(jì)(=30ps)。
圖1:安捷倫6000系列混合信號(hào)示波器。
MSO 通常缺乏專用邏輯分析儀的復(fù)雜分析能力(如反匯編等)和大量的邏輯通道數(shù);MSO的相對(duì)簡(jiǎn)單性也使得它們避免了專用邏輯分析儀的復(fù)雜操作。事實(shí)上,MSO 的主要優(yōu)點(diǎn)之一正是它的使用模型。MSO的使用幾乎和使用示波器沒(méi)有任何區(qū)別,由于MSO 是高度集成的,它的使用要比使用兩臺(tái)獨(dú)立的儀器方案容易得多。好的 MSO 應(yīng)具備友好的用戶界面,能提供快的波形更新率,儀器操作很像示波器而不是像邏輯分析儀。
嵌入式“chirp”設(shè)計(jì)
圖 2 是Solutions Cubed 公司為一項(xiàng)嵌入式工業(yè)應(yīng)用所開發(fā)的嵌入式“chirp”產(chǎn)品的方框圖。該混合信號(hào)嵌入式產(chǎn)品的核心是Microchip PIC18F452-I/PT微控制器,它執(zhí)行內(nèi)部16位的指令集。由于這種特殊的 MCU 有內(nèi)部總線結(jié)構(gòu)并包括嵌入式ADC,因此該混合信號(hào)器件及相應(yīng)的外圍電路是最適合利用MSO來(lái)進(jìn)行設(shè)計(jì)和調(diào)試的對(duì)象。盡管了解這項(xiàng)特殊設(shè)計(jì)不一定與讀者的特定設(shè)計(jì)應(yīng)用有非常密切的聯(lián)系,但我們?nèi)詫⑼ㄟ^(guò)全面講述該系統(tǒng)的工作,使讀者了解MSO 如何用于這種類型的混合信號(hào)測(cè)量應(yīng)用。
這項(xiàng)設(shè)計(jì)的最終目標(biāo)是依據(jù)各種模擬、數(shù)字和串行 I/O 輸入條件,產(chǎn)生各種長(zhǎng)度、形狀和幅度的“chirp”信號(hào)(該信號(hào)是包括特定周期數(shù)的RF脈沖模擬信號(hào),在宇航M國(guó)防和汽車應(yīng)用中經(jīng)常見到)。該MCU 同時(shí)檢測(cè)如下三種模擬和數(shù)字輸入,以確定需產(chǎn)生的輸出chirp信號(hào)的模擬特性:
圖2:依據(jù)模擬、數(shù)字和串行 I/O產(chǎn)生模擬“chirp”輸出的混合信號(hào)嵌入式設(shè)計(jì)。
1. 利用 MCU 并行數(shù)字 I/O 端口之一來(lái)監(jiān)測(cè)用戶控制面板的狀態(tài),從而確定所產(chǎn)生的輸出chirp信號(hào)的形狀(正弦波、三角波或方波)。
2. 通過(guò) MCU 上的一個(gè) ADC的輸入來(lái)監(jiān)測(cè)加速度模擬輸入傳感器的輸出電平,來(lái)確定所產(chǎn)生輸出chirp信號(hào)的幅度。
3. 使用 MCU 上的專用 I2C 串行 I/O 端口,來(lái)監(jiān)測(cè)串行 I2C 通信鏈路的狀態(tài),從而確定輸出chirp信號(hào)中產(chǎn)生的脈沖數(shù)。這一 I2C通信輸入信號(hào)從該嵌入式設(shè)計(jì)的另一智能子系統(tǒng)部件中產(chǎn)生。
根據(jù)模擬、數(shù)字和串行這三個(gè)輸入狀態(tài),MCU 向外部 8位DAC連續(xù)輸出并行信號(hào),以產(chǎn)生各種幅度、形狀和長(zhǎng)度的模擬chirp信號(hào)。未經(jīng)濾波的DAC輸出階梯信號(hào),被送入一個(gè)模擬低通濾波器,在這里對(duì)信號(hào)進(jìn)行平滑濾波并降低噪聲。這一模擬濾波器也為該輸出信號(hào)引入預(yù)先確定的相移量。最后,MCU 通過(guò)另外的數(shù)字 I/O 端口產(chǎn)生并行數(shù)字輸出,來(lái)驅(qū)動(dòng)顯示系統(tǒng)狀態(tài)信息的 LCD 顯示器。
圖3:MSO 捕獲由 MCU 控制的 DAC的并行數(shù)字輸入和模擬輸出。
用 MSO 啟用和調(diào)試嵌入式“chirp”設(shè)計(jì)
在這項(xiàng)應(yīng)用設(shè)計(jì)中,設(shè)計(jì)M編程 MCU 的第一步是為 MCU 的 I/O配置適當(dāng)數(shù)量的模擬和數(shù)字I/O 端口。您要折衷平衡配置MicroChip公司的這種特殊微控制器中的模擬 I/O 端口和數(shù)字 I/O 端口的數(shù)量。
在嘗試編碼 MCU來(lái)監(jiān)測(cè)各種輸入和產(chǎn)生規(guī)定的最終要求的輸出信號(hào)之前,我們決定首先產(chǎn)生啟用該嵌入式設(shè)計(jì)某一部分M某項(xiàng)功能的測(cè)試代碼,在增加交互式的復(fù)雜性之前,先驗(yàn)證它的正確工作和信號(hào)完整性。所啟用和調(diào)試的第一部分電路M功能是外部的輸出 DAC和模擬濾波器。為驗(yàn)證該電路和內(nèi)部固件的工作是否正確,我們最初對(duì)MCU 編碼,使其產(chǎn)生固定幅度的連續(xù)和重復(fù)的正弦波,而不考慮輸入控制M狀態(tài)信號(hào)條件。
圖 3 所示為MSO的屏幕圖像,即用來(lái)捕獲驅(qū)動(dòng)外部 DAC 數(shù)字輸入的該MCU數(shù)字 I/O端口的連續(xù)數(shù)字輸出(下方的藍(lán)色跡線)。此外我們還能看到在時(shí)間上對(duì)準(zhǔn)的轉(zhuǎn)換器階梯波輸出(上方的黃色跡線)和經(jīng)模擬濾波的輸出信號(hào)(中間的綠色跡線)。這些特定信號(hào)的輸出電平較低,僅為 8位DAC(最大256級(jí))的 4位 (16級(jí)電平),我們能容易地在示波器上觀察該轉(zhuǎn)換器的未經(jīng)濾波的階梯波輸出特性。
圖4:利用模擬和數(shù)字碼型觸發(fā)相結(jié)合,MSO在 50%交叉點(diǎn)觸發(fā)。
當(dāng) DAC輸出到達(dá)其最高輸出電平(屏幕中央)時(shí),我們把這一特定采集設(shè)置到觸發(fā)狀態(tài)。傳統(tǒng)示波器在這種指定點(diǎn)的觸發(fā)是不可能的,因?yàn)槭静ㄆ饔|發(fā)需要沿的跳變 —— 示波器不能在具有一定范圍的信號(hào)的“波頂”觸發(fā)。為在輸出信號(hào)的這一點(diǎn)M相位處觸發(fā),我們?cè)O(shè)置了簡(jiǎn)單的單電平碼型觸發(fā)條件,該條件基于DAC的(MCU I/O 端口的輸出)數(shù)字輸入信號(hào),而該信號(hào)與外部轉(zhuǎn)換器最高輸出模擬電平相一致。為在波形的某一精確點(diǎn)觸發(fā),我們送入“HHHL LHHL”的并行二進(jìn)制碼型進(jìn)行觸發(fā)。由于該 MSO 使用“有資格的”碼型觸發(fā),示波器始終在規(guī)定碼型的開始處觸發(fā),而絕不會(huì)在不穩(wěn)定M跳變處觸發(fā),因?yàn)槭静ㄆ饕笤撨壿嬰娖街辽俜€(wěn)定2ns,然后只有在送入穩(wěn)定的碼型時(shí)才會(huì)觸發(fā)。注意對(duì)于某些混合信號(hào)測(cè)量解決方案M選件,只要存在規(guī)定的碼型觸發(fā)條件時(shí)就能觸發(fā)。這意味著它們有可能在碼型的中間態(tài),或在跳變M切換狀態(tài)進(jìn)行觸發(fā)。沒(méi)有“有資格的”碼型觸發(fā),其結(jié)果將會(huì)是不穩(wěn)定的觸發(fā)。
圖 4 顯示 MSO在DAC的 50% 輸出電平處提供精確觸發(fā)的一次觸發(fā)建立情形。實(shí)現(xiàn)這樣的觸發(fā),除了模擬觸發(fā)條件外,我們還利用觸發(fā)在并行數(shù)字輸入信號(hào)上的觸發(fā)碼型。應(yīng)記住并非所有 MSOM混合信號(hào)測(cè)量解決方案都允許模擬和數(shù)字觸發(fā)條件組合的混合信號(hào)觸發(fā)。但對(duì)于相同電平(50%上升電平和 50% 下降電平)的兩個(gè)模擬輸出條件,與上升或下降點(diǎn)一致的觸發(fā)要求的觸發(fā)電平比8位輸入碼型中略大一點(diǎn)。通過(guò)另外限定模擬通道 2 上的電平到“低”電平,示波器就能使用模擬和數(shù)字碼型觸發(fā)的組合,在所需要的相位上觸發(fā)(模擬信號(hào)在高于模擬觸發(fā)電平時(shí)被視為“高電平”,在低于觸發(fā)電平時(shí)被視為“低電平”)。
圖 4 中也顯示了自動(dòng)參數(shù)測(cè)量,包括與DAC 階梯波輸出相關(guān)的、經(jīng)濾波后的輸出信號(hào)的幅度、頻率和相移。
圖5:傳統(tǒng)示波器的邊沿觸發(fā)無(wú)法同步特定長(zhǎng)度的chirp。
在啟動(dòng)和驗(yàn)證了外部 DAC 和模擬濾波電路正確運(yùn)行后,該設(shè)計(jì)M啟動(dòng)過(guò)程的下一步是根據(jù)串行 I2C 輸入產(chǎn)生規(guī)定數(shù)量的非重復(fù)正弦波脈沖(chirp)。圖 5 顯示使用標(biāo)準(zhǔn)的示波器沿觸發(fā),所得到的不同長(zhǎng)度chirp的重疊(無(wú)限余輝)。傳統(tǒng)示波器的沿觸發(fā)不可能實(shí)現(xiàn)對(duì)規(guī)定長(zhǎng)度chirp的觸發(fā)。
使用 MSO 的 I2C 觸發(fā)能力,示波器就能同步特定串行輸入條件下的捕獲,用來(lái)指示 MCU 產(chǎn)生規(guī)定長(zhǎng)度(脈沖數(shù))的輸出chirp,如圖 6 和圖 7 所示。
圖 6 顯示了MSO利用在特定的串行地址和數(shù)據(jù)內(nèi)容上的I2C 觸發(fā)來(lái)觸發(fā)只有 3 個(gè)周期長(zhǎng)的chirp信號(hào)的能力。而圖 7則顯示對(duì)長(zhǎng)度僅有 1 周期的chirp的觸發(fā)能力。數(shù)據(jù)通道 D14 和 D15(上方的兩條藍(lán)色數(shù)字跡線)分別被定義為 I2C 時(shí)鐘和數(shù)據(jù)輸入觸發(fā)信號(hào)。實(shí)際上我們能規(guī)定16個(gè)數(shù)字通道中的任何一個(gè)以及2到4個(gè)模擬示波器通道連續(xù)觸發(fā)在這2 個(gè)串行輸入信號(hào)上。在監(jiān)測(cè)串行輸入和模擬輸出信號(hào)時(shí),D0-D7 被設(shè)置來(lái)檢測(cè)DAC 輸入(MCU 輸出)信號(hào)(下方的 8 條藍(lán)色跡線和讀數(shù)字跡線),如圖 6 和圖 7 所示。
雖然圖中沒(méi)有顯示,但我們可以根據(jù)用來(lái)確定輸出信號(hào)幅度的輸入模擬加速度傳感器的其它模擬輸入信號(hào),把示波器的其它模擬通道設(shè)置到同步探測(cè)、采集并觸發(fā) MSO。此外,我們還能利用未使用的 MSO 數(shù)字通道,用以監(jiān)測(cè)和M或進(jìn)一步實(shí)現(xiàn)對(duì)數(shù)控面板輸入或 LCD 輸出驅(qū)動(dòng)器信號(hào)的高質(zhì)量觸發(fā)。
圖6:用 MSO 中的 I2C 觸發(fā)一個(gè) 3 周期長(zhǎng)的chirp信號(hào)。圖7:用 MSO 中的 I2C 觸發(fā)僅有 1 周期長(zhǎng)的chirp信號(hào)。
評(píng)論