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