使用MCU的系統(tǒng)設(shè)計人員受益于摩爾定律,即通過更小封裝、更低成本獲得更多的豐富特性功能。嵌入式系統(tǒng)設(shè)計人員和MCU廠商關(guān)心數(shù)據(jù)采集系統(tǒng)的三個基本功能:捕獲、計算和通信。理解全部功能對設(shè)計大有幫助,本文將主要關(guān)注數(shù)據(jù)采集系統(tǒng)的捕獲階段。
捕獲
復雜的混合信號MCU必須能夠從模擬世界中捕獲某些有用信息,并且能夠把連續(xù)時間信號轉(zhuǎn)換成離散的數(shù)字形式。模數(shù)轉(zhuǎn)換器(ADC)是完成這項任務(wù)最重要的MCU外設(shè),因此ADC的性能往往決定何種MCU適用于何種應用。MCU也能夠通過各種串行或并行數(shù)字I/O接口捕獲來自外部信號源的數(shù)字形式的系統(tǒng)信息。
計算
信號捕獲后,需要對捕獲數(shù)據(jù)進行某些處理;有時僅僅需要模數(shù)轉(zhuǎn)換,但是更多情況下必須要對捕獲的數(shù)據(jù)樣本進行計算。MCU行業(yè)中持續(xù)進行的數(shù)字化演變,帶給系統(tǒng)開發(fā)人員更先進的信號處理水平和更高的處理器速度。因此,嵌入式開發(fā)人員現(xiàn)在對8位、16位和32位混合信號MCU有更多的選擇余地,以便適應各種成本/性能目標。開發(fā)人員也有更多片上選擇(on-chip options)可用于完成系統(tǒng)任務(wù)。此外,MCU的硬宏(hard-macro)能自動處理,在外設(shè)中集成的功能狀態(tài)機可完成常見的處理器任務(wù)。
通信
最后,為了控制過程中的信息交換,某種形式的通信是必要的。此功能可以相當簡單,也可以相當復雜。通信甚至可以是模擬輸出的電壓或電流,通常使用數(shù)模轉(zhuǎn)換器(DAC)把捕獲和處理的數(shù)據(jù)轉(zhuǎn)換到模擬形式來實現(xiàn)。
基于多功能MCU的數(shù)據(jù)采集系統(tǒng)
MCU數(shù)據(jù)采集系統(tǒng)的關(guān)鍵是ADC。在電子行業(yè)中最常見的ADC類型一般是逐次逼近型ADC(SAR ADC)。許多MCU使用SAR ADC是因為它在速度和性能組合上的靈活性。 在MCU中,SAR ADC的精確度可以從8位到16位,吞吐速率范圍可以從極慢的按需轉(zhuǎn)換請求到每秒超過100萬次轉(zhuǎn)換。但是ADC僅僅是完整數(shù)據(jù)采集系統(tǒng)中的一部分。數(shù)據(jù)采集系統(tǒng)的其他部分也可增加其靈活性,包括信號輸入接口、參考電壓接口、用于ADC的時鐘和采樣系統(tǒng)以及用于轉(zhuǎn)換后ADC輸出數(shù)據(jù)的數(shù)據(jù)管理。
通常情況下,模擬信號輸入接口共享一個通用輸入輸出(I/O)緩沖器結(jié)構(gòu)體,此結(jié)構(gòu)體可配置為數(shù)字域或模擬域,或者也可以由兩個域共用。多配置性實現(xiàn)方法允許設(shè)計人員根據(jù)其系統(tǒng)需求在多個芯片引腳上劃分模擬和數(shù)字功能。作為輸入多路復用器的一部分,最常見的輔助輸入之一是片上的溫度傳感器;其他的重要輸入包括內(nèi)部電壓。
一旦系統(tǒng)的輸入通道配置完成,嵌入式設(shè)計人員就可以利用程序代碼選擇任意通道,并請求ADC轉(zhuǎn)換。設(shè)計人員也可以選擇免除程序代碼,而允許ADC通道定序器根據(jù)預先設(shè)定的通道輸入進行循環(huán),直到檢測出重要事件。
數(shù)據(jù)采集
系統(tǒng)的另一個重要方面是ADC參考電壓(VREF)。參考電壓用來設(shè)置系統(tǒng)的輸入動態(tài)范圍或量程,并能顯著影響整體噪聲性能。多路轉(zhuǎn)換器通常用于從多種板上和外部參考電壓輸入中選擇VREF。常用的參考電壓包括MCU內(nèi)部生成的緩沖帶隙電壓的倍頻電壓、片外生成的精確參考電壓以及多種外部電源電壓,以上可選參考電壓都兼容I/O緩沖器結(jié)構(gòu)體和ADC限制。
如此多的輸入通道,使人們很容易想象到,在某些系統(tǒng)中一個或多個引腳的輸入動態(tài)范圍可能不兼容單一VREF電壓。為了解決這個問題,Silicon Labs Precision32 MCU集成輸入級聯(lián)增益,根據(jù)ADC型號不同可能有0.5或1倍的增益,這樣通過調(diào)整輸入信號可更好的兼容選擇VREF。
ADC轉(zhuǎn)換循環(huán)
ADC的時鐘系統(tǒng)要易于配置,以便支持MCU應用的多種用途。SAR ADC屬于奈奎斯特率轉(zhuǎn)換器,系統(tǒng)設(shè)計人員要仔細選擇以滿足采樣率至少兩倍于輸入信號帶寬的奈奎斯特準則。當配置ADC時,開發(fā)人員還必須考慮兩個計時任務(wù)。這兩個任務(wù)涉及ADC轉(zhuǎn)換循環(huán)和MCU系統(tǒng)內(nèi)的可用時鐘源。轉(zhuǎn)換循環(huán)有兩部分組成:一個是跟蹤周期,一個是轉(zhuǎn)換周期,如圖1所示。
圖1:ADC轉(zhuǎn)換循環(huán)。
跟蹤周期是轉(zhuǎn)換循環(huán)中當ADC輸入電路連接到輸入信號時所花費的那部分時間。輸入采樣發(fā)生在跟蹤周期結(jié)束并且輸入電路從輸入源斷開時。這一刻是由連接到ADC的數(shù)字控制信號引起的,稱為轉(zhuǎn)換啟動(CNVST)。該命名恰如其分,CNVST標志著跟蹤周期的結(jié)束和轉(zhuǎn)換周期的開始。
轉(zhuǎn)換周期是ADC執(zhí)行逐次逼近寄存器(SAR)邏輯時的那部分ADC轉(zhuǎn)換循環(huán)。ADC用于跟蹤輸入信號的時間量與ADC的輸入負載特性、信號源的驅(qū)動能力和測量所需的精度要求相關(guān)。MCU器件規(guī)格手冊列出ADC輸入模型,給出ADC輸入的輸入電容、電阻和漏電流值。為了精確測量,開發(fā)人員應當為輸入信號穩(wěn)定保留足夠的跟蹤時間,最好超過0.5 LSB。
雖然轉(zhuǎn)換周期通常是一個與SAR ADC時鐘周期有關(guān)的可配置時間量,即對于每一位的判別時間,但他最好是采用CNVST請求之間的時間量描述跟蹤時間,而不是SAR轉(zhuǎn)換周期。簡單的說,如果ADC沒有處于轉(zhuǎn)換狀態(tài),那他就處于跟蹤狀態(tài)。轉(zhuǎn)換請求之間的過長時間會導致更多的跟蹤時間。為了解決這個問題,Silicon Labs MCU系列產(chǎn)品提供在轉(zhuǎn)換請求之間關(guān)閉跟蹤電路的功能,從而可降低系統(tǒng)功耗。
ADC轉(zhuǎn)換吞吐速率是轉(zhuǎn)換請求的頻率,通常命名為符號Fs。最大吞吐速率的設(shè)定通常由ADC的最小跟蹤時間以及最小轉(zhuǎn)換時間限定。恒定的吞吐速率是通過發(fā)送同樣時間間隔的轉(zhuǎn)換請求流來實現(xiàn)的。對于管理兩個關(guān)鍵的計時任務(wù)來說,可配置的ADC時鐘系統(tǒng)是必不可少的。
計時任務(wù)之一是生成用于轉(zhuǎn)換周期期間的時鐘,用于執(zhí)行SAR算法。與轉(zhuǎn)換周期相關(guān)的SAR時鐘(SARCLK)通常來自MCU系統(tǒng)時鐘。SARCLK的可配性需要適應MCU系統(tǒng)時鐘,時鐘頻率范圍從不到1MHz到超過100MHz。由于ADC內(nèi)部的比較器設(shè)計,將產(chǎn)生SAR轉(zhuǎn)換邏輯被定時的最大速率。系統(tǒng)設(shè)計人員必須小心配置SARCLK頻率,避免超過其最大時鐘速率規(guī)格。另一個計時任務(wù)是生成轉(zhuǎn)換請求采樣速率,其不能超過給定適當轉(zhuǎn)換周期配置的ADC轉(zhuǎn)換器的最大吞吐速率。