使用微控制器(MCU)或數(shù)位信號處理器(DSP)來設計混合信號的內(nèi)嵌式系統(tǒng)時,,工程師向來習慣使用示波器加邏輯分析儀來測試和除錯...
使用微控制器(MCU)或數(shù)位信號處理器(DSP)來設計混合信號的內(nèi)嵌式系統(tǒng)時,,工程師向來習慣使用示波器加邏輯分析儀來測試和除錯。但稱為MSO混合信號示波器的量測工具在偵測和找出內(nèi)嵌式設計的問題時,,可以提供相當多的優(yōu)點,。
為了說明MSO具有的獨特優(yōu)點,,本文將針對使用微控制器之混合信號的內(nèi)嵌式設計,介紹一種典型的啟動(Turn On)與除錯測試方法,。我們會使用MSO來驗證脈沖式Chirp類型輸出信號的品質,,該信號是由一個MCU及相配合的週邊硬體,依據(jù)各種類型,、數(shù)位與序列I/O(I2C)等輸入條件所產(chǎn)生的,。
不過,在探討這個內(nèi)嵌式設計與說明如何啟動并利用MSO進行除錯之前,,先來定義所謂的MSO,。
快速波形更新速率
MSO是一種混合式的測試儀器,結合了數(shù)位儲存示波器(DSO)所有的量測能力與邏輯分析儀的部分量測能力,,成為單一部協(xié)同運作的儀器,。有了MSO,便可以在同一個顯示幕上,,觀察多個時間同步的類型和數(shù)位波形,,如圖1所示,。
MSO通常沒有全功能的邏輯分析儀具備的先進數(shù)位量測能力與為數(shù)眾多的數(shù)位采集頻道,但MSO較為簡單的特性,,卻可以避免如同全功能的邏輯分析儀在操作上可能會產(chǎn)生的複雜使用模式,。事實上,MSO的主要優(yōu)點就是它的使用模式,,您可以使用MSO就像是使用一般的示波器一樣,,而且由于MSO是高度整合的儀器,因此相較于組合鬆散的雙機式混合信號量測解決方桉,,確實容易使用得多,。
一部設計精良的MSO應該非常簡易好用,可提供快速的波形更新速率,,而且操作起來就像示波器一樣,,而不像邏輯分析儀。
圖2是一個內(nèi)嵌式Chirp產(chǎn)品的方塊圖,,這是位于美國加州Chico的Solutions Cubed公司針對內(nèi)嵌式的工業(yè)應用所開發(fā)出來的系統(tǒng),。此混合信號的內(nèi)嵌式產(chǎn)品的核心是一個內(nèi)部以16位元指令集運作的Microchip PIC18F452-I/PT微控制器,由于此MCU內(nèi)建了匯流排結構,,并且包含一個內(nèi)嵌式的類型/數(shù)位轉換器(ADC),,因此這個混合信號的設計及其相關的外部電路相當適合利用MSO來進行啟動與除錯測試。
除此之外,,雖然瞭解這個特殊設計的運作方式與您的設計應用之間沒有太大的關連,,但我們還是要簡單介紹一下這個系統(tǒng)的運作方式,以便了解MSO是如何應用在這種類型的混合信號量測作業(yè)上,。
這個設計的最終目標是要依據(jù)各種類型,、數(shù)位和序列I/O輸入條件,產(chǎn)生具有不同長度,、形狀和振幅的類型Chirp輸出信號,。
Chirp是一種RF的脈沖式類型信號,其中包含特定的周期數(shù),,常見于航太/國防及汽車的應用中,。MCU會同時監(jiān)測下列三種類型和數(shù)位輸入信號,以決定所要產(chǎn)生之Chirp輸出信號的類型特性,。
.使用MCU其中一個可用的并列數(shù)位I/O埠來監(jiān)測使用者控制面板的操作狀態(tài),,以決定所要產(chǎn)生之Chirp輸出信號的形狀。
.透過MCU其中一個可用的ADC輸入來監(jiān)測類型式加速度感應器的輸出位準,,以決定所要產(chǎn)生之Chirp輸出信號的振幅,。
.利用MCU上專用的I2C序列I/O埠來監(jiān)測序列I2C通訊連結的狀態(tài),,以決定輸出Chirp信號時所要產(chǎn)生的脈沖數(shù),。I2C通訊輸入信號是透過此內(nèi)嵌式設計中的另一個智慧型子系統(tǒng)組件來產(chǎn)生的,。
MCU會依據(jù)這三種類型、數(shù)位和序列輸入信號的狀態(tài),,產(chǎn)生一連串并列的輸出信號給外部的8位元DAC使用,,讓DAC產(chǎn)生一個具有不同振幅、形狀和長度的類型Chirp信號,。接著,,再將DAC未經(jīng)濾波、呈階梯狀的輸出信號匯入一個類型的低通濾波器中,,以便將輸出信號平滑化和降低雜訊,,此類濾波器也會造成輸出信號的相位出現(xiàn)一個預知的偏移量。最后,,MCU會透過另一個可用的數(shù)位I/O埠,,產(chǎn)生一個并列的數(shù)位輸出信號,以驅動LCD顯示面板,,提供系統(tǒng)狀態(tài)的資訊,。
內(nèi)嵌式Chirp進行啟動與除錯測試
設計此系統(tǒng)中的MCU時,第一步需先設定MCU的I/O以提供所需的類型和數(shù)位I/O埠數(shù),。MicroChip的這個微控制器可以讓您選擇使用少一點的類型I/O埠數(shù),,而得到多一點的數(shù)位I/O埠數(shù),反之亦然,。
在設計MCU的程式以監(jiān)測不同的輸入信號并產(chǎn)生最后指定的輸出信號之前,,我們決定先開發(fā)測試程式,一次啟動此內(nèi)嵌式設計的一個區(qū)塊,,然后驗證其運作是否正常以及信號的完整性,,之后再考慮交叉使用的複雜度。
我們啟動及偵錯的第一個區(qū)塊是外部的輸出DAC和類型濾波器,,為了驗證此電路及內(nèi)部的韌體能否正常運作,,我們一開始設定MCU產(chǎn)生一個連續(xù)/反覆的正弦波,且無論輸入控制/狀態(tài)信號的條件為何,,此正弦波的振幅都是固定的,。
圖3是MSO采集到MCU的數(shù)位I/O埠連續(xù)輸出之數(shù)位信號的螢幕畫面(下方的軌跡),該I/O埠會驅動外部DAC的數(shù)位輸入端,。此外,,我們也可以看到時間同步的階梯狀轉換器輸出(上方的軌跡),以及經(jīng)過類型濾波的輸出信號(中間的軌跡),。由于這個信號是一個相當?shù)臀粶实妮敵鲂盘?,只使?位元DAC(最多256個位階)的16個位階而已,因此我們可以輕易地在示波器的顯示幕上,,觀察到此轉換器未經(jīng)濾波呈階梯狀的輸出特性,。
我們設定當DAC的輸出達到最高的輸出位準(螢幕中心)時,,進行觸發(fā)采集。使用傳統(tǒng)示波器的觸發(fā)模式在這一點進行觸發(fā)是不可能的,,因為示波器觸發(fā)需要透過信號緣的轉態(tài)來啟動,,不可能使用示波器在信號的平頂處進行觸發(fā)。
為了在輸出信號的這個相位進行觸發(fā),,我們依據(jù)DAC的數(shù)位輸入信號(MCU I/O埠的輸出),,設定一組簡單的單一級碼型觸發(fā)條件,其代表的數(shù)值與外部轉換器的最高輸出類型位準是一致的,。
為了確切地在波形上的這一點進行觸發(fā),,我們輸入一個并列的二進位碼型HHHL LHHL做為觸發(fā)的條件。由于此MSO採用的是限定(Qualified)的碼型觸發(fā)模式,,因此一定會在指定的碼型開始出現(xiàn)的地方進行觸發(fā),,而不會在不穩(wěn)定轉態(tài)的情況下觸發(fā),這是因為這種示波器需要邏輯位準維持至少2ns的穩(wěn)定時間,,且要在出現(xiàn)穩(wěn)定的碼型時才能進行觸發(fā),。請注意,有些混合信號的量測解決方桉只要存在指定的碼型觸發(fā)條件就會進行觸發(fā),,這表示可能會在碼型的中間,,或是在轉換的狀態(tài)下進行觸發(fā)。若沒有限定的碼型觸發(fā)條件,,結果將會變成不穩(wěn)定的觸發(fā),。
精確觸發(fā)DAC輸出位準
圖4是MSO的一個觸發(fā)設定條件,可以精確地在DAC 50%的輸出位準進行觸發(fā),,之所以能夠如此是因為除了類型觸發(fā)條件之外,,還能再加入并列的數(shù)位輸入信號,做為碼型觸發(fā)條件的緣故,。需要謹記的是,,并非所有的MSO混合信號量測解決方桉都可以結合類型和數(shù)位條件來進行混合信號的觸發(fā)。然而,,由于兩組類型的輸出在50%的上升位準和50%的下降位準時,,都可能達到相同的位準,因此除了8位元輸入碼型的觸發(fā)條件之外,,還要再加入類型頻道2必須為低位準的條件,,示波器才能利用類型和數(shù)位碼型觸發(fā)的組合,在想要的相位進行觸發(fā),。請注意,,當類型信號高于類型觸發(fā)位準時,會被視為高位準,反之,,當它們低于觸發(fā)位準時,,會被視為低位準。此外,,圖4中還可以看到自動化的參數(shù)量測結果,包括經(jīng)過濾波的輸出信號相對于DAC階梯狀輸出的振幅,、頻率及相位偏移,。
在啟動并驗證外部DAC和類型濾波電路能否正常運作之后,此設計啟動程序的下一步是要依據(jù)序列I2C輸入信號,,產(chǎn)生一定數(shù)量的非反覆正弦波脈沖(Chirp),。圖5是使用標準示波器的信號源觸發(fā)模式,將不同長度的Chirp信號重疊顯示(無限持續(xù)時間)的結果,,使用傳統(tǒng)示波器的信號源觸發(fā)模式無法以特定長度的Chirp做為限定條件來進行觸發(fā),。
運用MSO混合信號示波器的I2C觸發(fā)能力,我們可以依據(jù)特定的序列輸入條件,,指示MCU產(chǎn)生特定長度(脈沖數(shù))的Chirp輸出,,進行同步的采集,如圖6所示,。
由圖6左可以看出,,MSO混合信號示波器可以在I2C中出現(xiàn)特定的序列位址和資料內(nèi)容時,觸發(fā)采集到3個週期的Chirp,,而圖6右則顯示出示波器可以觸發(fā)采集到1個週期的Chirp,。數(shù)位頻道D14和D15(最上面兩條藍色的數(shù)位軌跡)分別定義為I2C時脈和資料輸入觸發(fā)信號,實際上,,我們可以設定16個數(shù)位頻道或2到4個類型示波器頻道的任一個,,連續(xù)對這兩個序列輸入信號進行觸發(fā)。在監(jiān)測序列輸入和類型輸出信號之際,,我們也設定D0到D7來監(jiān)測DAC輸入(MCU輸出)信號(底下8條數(shù)位軌跡),,如圖6所示。
雖然圖中沒有顯示,,但我們可以另外依據(jù)會決定輸出信號振幅之類型式加速度感應器所輸出的類型信號,,設定示波器的另一個類型頻道來同步探量、采集,、以及觸發(fā)MSO,。此外,我們也可以利用MSO未使用的數(shù)位頻道,,監(jiān)測或進一步以數(shù)位控制面板的輸入信號或LCD輸出驅動信號做為限定條件來進行觸發(fā),。
以上介紹了如何運用MSO混合信號示波器,以更有效率且更有效的方式,,啟動及偵測採用微控制器(MCU)或數(shù)位信號處理器(DSP)之內(nèi)嵌式混合信號設計的問題,。未來您需要啟動及偵測內(nèi)嵌式混合信號設計的問題時,,不妨考慮使用MSO來取代現(xiàn)有的DSO或邏輯分析儀的量測解決方桉。