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