使用混合信號示波器調(diào)試混合信號嵌入式設(shè)計
為了在相同的系統(tǒng)中滿足高性能模擬與低成本數(shù)字控制這對相互矛盾的要求,我們在許多電池供電的嵌入式測量應(yīng)用中均采用了專門針對應(yīng)用設(shè)計的模擬前端 (AFE) 電路與分離數(shù)字微控制器 ( MCU) 相結(jié)合的辦法。這種提取并將模擬功能集成到特殊電路中的辦法既優(yōu)化了專門的功能集,又實化了系統(tǒng)通用的數(shù)字控制。但是,隨著現(xiàn)代深亞微米硅技術(shù)的到來,通常其最低量產(chǎn)為 10 萬單位,一套掩模的一次性工程設(shè)計成本 (NRE) 接近 100 萬美元,加上設(shè)計超大型的定制電路有風險,而且也面臨著加快產(chǎn)品上市時間的壓力,因此專門定制的解決方案對除了用于少數(shù)高容量應(yīng)用之外,在其他情況下都是不現(xiàn)實的。
本文引用地址:http://2s4d.com/article/81711.htm目前的趨勢不是采用定制的 AFE,而是采用針對具體應(yīng)用的標準產(chǎn)品 ( ASSP),在低成本、可重復(fù)使用的系統(tǒng)中平衡了高性能模擬、低成本數(shù)字控制并縮短投放市場的時間等多項要求。ASSP 作為優(yōu)化的外設(shè)提供了可配置的混合信號模擬特性,而設(shè)備其他部分則作為可重復(fù)使用的功能實施,可跨越許多平臺共享??扉W微控制器單元 (MCU) 是共享功能的主機與解決方案?;旌闲盘柨扉W MCU 的集成功能顯示于 圖1 的 MSP430FG43x 中。除了作為計時器及串行端口等數(shù)字外設(shè)的完全配套之外,我們現(xiàn)在還可以在單一的 ASSP 上集成高精度模數(shù)轉(zhuǎn)換器 ( ADC)、數(shù)模轉(zhuǎn)換器 (DAC)、運算放大器 (OA)、電源電壓監(jiān)控器 (SVS) 以及液晶顯示驅(qū)動程序等。利用混合信號基于快閃 MCU 的 ASSP,設(shè)計工程師不必再為高風險完全定制硬件實施集中投入其資源,而是可以開發(fā)靈活的、可編程的功能,并能快速地將其投放市場。
典型的混合信號 MCU 解決方案
ASSP可在其中發(fā)揮很好作用的混合信號應(yīng)用常見實例就是手持式醫(yī)療設(shè)備。典型的手持式醫(yī)療設(shè)備要求精確的傳感器接口電路、用戶顯示、日歷功能、非易失性存儲器、通信特性、電源管理以及可編程的快閃 MCU 等。
我們用生物催化劑試件測量小血樣的葡萄糖含量。應(yīng)用血樣時,應(yīng)用參考電壓將試件生成的電子轉(zhuǎn)化為電流。用于試件的參考電壓從混合信號快閃 MCU 的兩個內(nèi)部 12 位 DAC 之一提供。生物催化劑產(chǎn)生的電流很小,其范圍在 uA 再降至 nA 之內(nèi)。為了將傳感器的小電流輸出轉(zhuǎn)化為電壓,我們采用其中的一個集成運算放大器實施互阻抗功能。運算放大器的輸出放大至一定的范圍時,可由采用反饋電阻器的嵌入式 12 位 ADC測量。
試件的化學反應(yīng)是溫度敏感型的,而測量周期可能長達 30 秒,這也使情況復(fù)雜化。例如,血樣可能在溫暖的環(huán)境中放在試件上,比如在用戶的家中,而轉(zhuǎn)換結(jié)果則是在外部冬天的環(huán)境中完成的。有鑒于此,必須在測量周期開始與結(jié)束時測量溫度,而如果二者之間溫差太大,那么測試結(jié)果就會作廢,應(yīng)當提醒用戶注意到這種情況。我們采用嵌入式 12 位 ADC 中的集成溫度傳感器測量溫度。
用戶或用戶的醫(yī)師常常記錄測量日志,下載后存入 PC 進行分析。數(shù)據(jù)日志記錄是采用快閃 MCU 的主要原因。由于快閃是系統(tǒng)內(nèi)可編程的 (ISP),因而快閃的一部分用于數(shù)據(jù)存儲,不再需要外部數(shù)據(jù)存儲器。先進的嵌入式快閃可進行高達 10 萬次擦寫操作與再編程,其壽命比設(shè)備壽命還長。
管理系統(tǒng)電源的基本要求
當前的嵌入式設(shè)計工程師面臨著系統(tǒng)復(fù)雜程度日益提高的挑戰(zhàn)。典型的嵌入式設(shè)計可能會包括各種模擬信號、高速和低速串行數(shù)字通信、微處理器總線等等。I2C和SPI等串行協(xié)議通常用于芯片間通信,但不能在所有應(yīng)用中代替并行總線。微處理器、FPGA、模數(shù)轉(zhuǎn)換器(ADC)和數(shù)模轉(zhuǎn)換器(DAC)等集成電路給當前嵌入式設(shè)計帶來了獨特的測量挑戰(zhàn)。工程師可能需要解碼兩個IC之間的SPI總線,同時在同一塊系統(tǒng)電路板上觀察ADC的輸入和輸出。圖1 是混合信號系統(tǒng)實例。
對配備4 通道示波器的工程師來說,調(diào)試圖1所示的硬件是一件困難而又讓人畏縮的任務(wù)。許多工程師用慣了示波器,同時為了節(jié)約時間,可能會選擇購買三四臺示波器,以便一次探測多個信號。邏輯分析儀可以探測多個數(shù)字信號,但調(diào)試任務(wù)非常復(fù)雜,使用邏輯分析儀所帶來的設(shè)置和學習過程有些不值得。幸運的是,對面臨這一任務(wù)的工程師,泰克提供了一種新型儀器,稱為混合信號示波器(MSO),有效地滿足了他們的需求。泰克MSO4000系列混合信號示波器把16 通道邏輯分析儀的基本功能與泰克4通道示波器倍受信任的性能結(jié)合在一起。本應(yīng)用指南介紹了混合信號嵌入式設(shè)計的調(diào)試,演示了泰克MSO4000提供的業(yè)內(nèi)領(lǐng)先的性能。
圖1. 簡化的采集/ 儀器系統(tǒng)。
使用MSO4000 同時調(diào)試多個串行協(xié)議
嵌入式設(shè)計工程師通常使用串行協(xié)議,如I2C和SPI,以簡化電路板上系統(tǒng)模塊之間的通信。這些串行協(xié)議可以降低布線的復(fù)雜性,但傳統(tǒng)示波器一直很難調(diào)試其實現(xiàn)方案。設(shè)計人員一般會被迫手動解碼采集的串行數(shù)據(jù),或從示波器導(dǎo)出數(shù)據(jù),以進行后期處理和解碼。使用示波器解碼串行數(shù)據(jù)可以為嵌入式設(shè)計工程師節(jié)約無數(shù)個小時的調(diào)試時間,允許工程師實時查看硬件和軟件的影響。
盡管DPO4000系列示波器可以使用最多四條通道探測串行數(shù)據(jù),但許多常用串行協(xié)議要求三條或三條以上的線。工程師通常需要同時解碼和顯示多條串行總線,觀測其時間相關(guān)性。泰克MSO4000系列把DPO4000 系列的串行觸發(fā)和解碼功能與16條新增數(shù)字通道結(jié)合在一起。除I2C、SPI 和CAN 外,MSO4000還支持觸發(fā)和解碼RS-232和并行總線。通過MSO4000,工程師可以同時探測和解碼多條串行總線及自定義并行總線。下面的實例使用MSO4000,調(diào)試圖1所示的嵌入式設(shè)計中復(fù)雜的多芯片通信錯誤。
在系統(tǒng)最初調(diào)試過程中(如圖1 所示),系統(tǒng)偶爾遇到電路板上狀態(tài)LED指示燈表明發(fā)生故障的情況。狀態(tài)LED指示燈報告的錯誤不明確,導(dǎo)致系統(tǒng)工程師不能確定問題是由硬件導(dǎo)致的還是由軟件導(dǎo)致的。以前,類似錯誤一直源于模擬復(fù)用器輸入上的信號質(zhì)量差,但工程師已經(jīng)成功更換了導(dǎo)致信號保真度問題的硬件。由于系統(tǒng)工程師懷疑錯誤可能源于復(fù)用器輸入之外的其它來源,他決定探測到復(fù)用器的模擬輸入及多條數(shù)字總線,以全面查看系統(tǒng)狀況。MSO4000 為調(diào)試提供了4 條模擬通道和16 條數(shù)字通道,它連接到圖2 中標為1-4 的信號上。
圖2. 帶有探測點的采集子系統(tǒng)。
圖3. MSO4000顯示了I2C、SPI和并行總線及CH1模擬信號。
圖3 顯示了MSO4000 同時探測SPI 總線(1)、I2C 總線(2)、3位并行總線(3)和模擬輸入(4)的屏幕快照。由于錯誤可以被隔離到某個子例程,因此MSO4000配置成單次采集,觸發(fā)特定的I2C活動。把記錄長度設(shè)置成1M點保證了可以準確地捕獲I2C總線上事件周圍的所有有用信息。工程師運行子例程,迅速查看MSO4000,了解系統(tǒng)中發(fā)生的情況。CH1上顯示的MUX 輸入上清楚的模擬波形確認了工程師的疑問,表明硬件問題已經(jīng)得到解決,錯誤發(fā)生在其它地方。MSO4000觸發(fā)和解碼從微處理中寫入的I2C 數(shù)據(jù)。工程師注意到SPI上的活動及在傳輸I2C數(shù)據(jù)后很快顯示了標有D1和D2的信號。工程師懷疑這些總線上的活動,因為他認為執(zhí)行的功能主要涉及LCD控制器。由于MSO4000已經(jīng)解碼I2C數(shù)據(jù)值,因此工程師可以看到微處理器已經(jīng)把I2C數(shù)據(jù)寫入地址0x77。地址0x77是FPGA 的地址,但工程師認為子例程把數(shù)據(jù)寫入地址0x76,這是LCD控制器的地址。
圖3. MSO4000顯示了I2C、SPI和并行總線及CH1模擬信號。
圖4 顯示了同一采集,其中使用Wave Inspector放大SPI 和并行總線的細節(jié)。SPI 數(shù)據(jù)在屏幕上解碼成從主設(shè)備(FPGA)到從設(shè)備(MUX)的寫入,數(shù)據(jù)值為0x15。這一SPI 命令指示LWTYMUX 改變信號路徑使用的輸入。輸入信號中這種意想不到的變化導(dǎo)致FPGA向并行總線上的狀態(tài)LED指示燈發(fā)送一個錯誤代碼。在圖4中也可以觀察到這些并行總線的錯誤代碼和解碼。嵌入式設(shè)計工程師可以迅速確定是軟件漏洞導(dǎo)致了系統(tǒng)問題,因為MSO4000能夠同時查看和解碼所有相關(guān)信號。軟件編程人員錯誤地從微控制器到FPGA 寫入I2C 數(shù)據(jù),而分組的預(yù)計目標是LCD 控制器。
圖4. Wave Inspector 用來放大和顯示分組細節(jié)。
下一代數(shù)字波形顯示幫您揭示問題 在改動系統(tǒng)軟件,校正上一節(jié)中介紹的地址漏洞后,嵌入式設(shè)計工程師繼續(xù)測試更多的系統(tǒng)功能。在進行測試時,他注意到狀態(tài)LED指示燈偶爾指明錯誤。與上一節(jié)中描述的錯誤不同,工程師不確定怎樣重建看到的錯誤。錯誤似乎具有隨機特點,不能隔離到系統(tǒng)的某個功能或子例程。
嵌入式設(shè)計工程師對錯誤的隨機特點感到很迷惑,不確定從哪兒入手查找來源。查找錯誤來源的一個選項是使用示波器隨機探測系統(tǒng),以期捕獲隨機事件。盡管工程師過去一直使用這種方法,但他知道,連接到所有相關(guān)信號、正確配置的MSO4000可以用少得多的時間找到錯誤。上一節(jié)中大多數(shù)探測點仍連接到MSO4000上。CH1 探頭移動到活動的MUX 輸入上,這是來自傳感器3 的數(shù)字信號。除這4個探測點外,工程師使用一條數(shù)字通道探測MUX 輸出。
圖5. MUX_OUT 上的白色邊沿表明提供了更詳細的信息。
FPGA 通過3 位并行總線傳送值0x7,表明已經(jīng)發(fā)生錯誤。為隔離問題,MSO4000配置成捕獲單次采集,它把觸發(fā)事件設(shè)置成并行總線值0x7。圖5 顯示了采集結(jié)果。在這種情況下,并行總線解碼和觸發(fā)節(jié)約了時間,減少了混淆,因為可以簡便地隔離錯誤條件。這一采集過程中使用的1M記錄長度允許工程師觀察觸發(fā)事件前和觸發(fā)事件后信號的關(guān)鍵細節(jié)。乍一看,圖5 所示的信號似乎行為正常,但系統(tǒng)工程師很快確定MUX_OUT信號上出現(xiàn)了獨特的兩個邊沿轉(zhuǎn)換。圖5所示的MUX_OUT信號上的白色轉(zhuǎn)換向用戶表明這些信號部分存在著更多的信息。MSO4000的多邊沿檢測功能突出顯示了波形區(qū)域,通過縮放可以揭示頻率較高的數(shù)字脈沖。在使用Wave Inspector放大波形細節(jié)時,圖6 揭示了第一個白色轉(zhuǎn)換背后的細節(jié)。圖5中畫出的白色轉(zhuǎn)換的信號部分實際上是MUX_OUT信號上的一個毛刺。
圖6. Wave Inspector 揭示了MUX_OUT 信號上的毛刺。
圖6顯示了MSO4000中模擬通道和數(shù)字通道之間的時間相關(guān)性。CH1(SENSOR_3)上顯示了到MUX的輸入,數(shù)字通道D14(MUX_OUT)上則可以觀察到MUX輸出。工程師注意到,盡管MUX 輸出有一個毛刺,但到MUX的輸入似乎沒有毛刺。在使用數(shù)字通道識別毛刺后,工程師決定把CH2連接到MUX輸出上,更仔細地進行考察。圖7顯示了采集結(jié)果,其中MSO4000 仍配置成觸發(fā)并行總線值0x7。圖7 關(guān)閉了SPI 和I2C總線的波形,把重點放在相關(guān)的主要信號上。在MUX 輸入和輸出上使用模擬探頭,發(fā)現(xiàn)輸出上存在的毛刺在輸入信號上并不存在。圖7顯示,MUX_OUT信號上的毛刺出現(xiàn)了很短的時間,然后FPGA發(fā)送錯誤代碼。這兩個信號之間的時間關(guān)系表明,毛刺可能是工程師看到的問題。工程師使用同一配置重復(fù)采集幾次,看到每次的行為都與圖7類似。
圖7. CH2 顯示MUX_OUT 的更多細節(jié)。
在分析MSO4000的屏幕快照后,嵌入式設(shè)計工程師懷疑串擾可能是MUX_OUT信號上的毛刺來源。在檢查圖5 中監(jiān)測的所有信號后,沒有任何信號是串擾來源。在更詳細地檢查電路板布局時,工程師找到印刷電路板(PCB)上MUX_OUT軌跡旁邊有一個通路。工程師使用CH1探測PCB上的通路,等待并行總線的另一個觸發(fā)。得到的屏幕快照如圖8所示。圖8 顯示,CH1 上捕獲的信號從低到高轉(zhuǎn)換在時間上與MUX_OUT信號的正毛刺直接相關(guān)。相應(yīng)地,從高到低轉(zhuǎn)換直接與MUX_OUT信號的負毛刺直接相關(guān)。
在用一段時間在電路板上對干擾信號重選路由后,工程師把MSO4000 配置成觸發(fā)CH1。圖9顯示MSO4000觸發(fā)CH1轉(zhuǎn)換,但在MUX_OUT信號上沒有顯示毛刺。由于MUX_OUT信號不存在毛刺,因此并行總線沒有生成錯誤條件。在改動電路板之后,串擾消失了,允許嵌入式設(shè)計工程師完成系統(tǒng)評估。
圖8. CH1 顯示了MUX_OUT 信號中的串擾來源。
圖9. 在改動PCB 后,串擾消失了。
小結(jié)
如本應(yīng)用指南所示,MSO4000 為開發(fā)和調(diào)試嵌入式設(shè)計的工程師提供了一個異常強大的工具。MSO4000 把16條時間相關(guān)的數(shù)字通道與泰克4通道示波器倍受信任的性能和直觀的界面結(jié)合在一起。工程師現(xiàn)在可以使用MSO4000,而不用搜索多臺示波器或?qū)W習怎樣操作邏輯分析儀。MSO4000能夠同時觸發(fā)和解碼并行總線和串行標準,如I2C、SPI、CAN 和RS-232,對評估當前嵌入式設(shè)計中硬件和軟件復(fù)雜交互的工程師提供了寶貴的工具。
評論