

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