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