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