8位單片機(jī)寶刀未老,在SoC中大有作為
過去15 年來,許多人都曾預(yù)測8 位微控制器即將退出舞臺,然而這卻是電子產(chǎn)業(yè)失誤最大的預(yù)測之一;事實(shí)上,雖然16 和32 位產(chǎn)品已極為常見,8 位微控制器的需求仍繼續(xù)成長,總值約達(dá)到今日100 億美元全球微控制器市場的一半。推動8 位市場快速發(fā)展及成長的動力主要來自于8 位產(chǎn)品效能的大幅提升,特別是以8051 系列為基礎(chǔ)的產(chǎn)品,其它原因還包括芯片內(nèi)建功能的加強(qiáng)以及不斷縮小的封裝體積。今天,這類組件已能提供高達(dá)100 MIPS 的產(chǎn)出,這是8 位微控制器在短短幾年前還無法想象的事情。然而重要的不僅是原始運(yùn)算效能,真實(shí)世界是個模擬世界,因此系統(tǒng)也需要模擬和混合訊號功能,而且最好內(nèi)建于芯片中。與外在世界的通訊也是問題,核心處理效能需要與其相稱的通訊能力,使它能夠很有效的聯(lián)絡(luò)系統(tǒng)其它組件,這樣才能將強(qiáng)大效能化為實(shí)際優(yōu)點(diǎn)。
8051 如何跟上今日的效能需求
最早的8051 是由英特爾在1980 年推出,它讓每一個指令的執(zhí)行跨越12 個頻率周期,使得硬件資源的需求減至最少。10 年后,Dallas Semiconductor (今天的Maxim) 利用新設(shè)計(jì)來改善這套架構(gòu),它移除了冗余的總線動作,讓典型指令只需要4 個頻率周期;他們還推出可直接取代8051 的兼容微控制器,可將既有系統(tǒng)的效能立刻提高三倍。
Silicon Laboratories 的8 位微控制器系列采用了新的專屬設(shè)計(jì)來實(shí)作8051 指令集架構(gòu),它能提供最大的指令產(chǎn)出,同時(shí)維持完整的目的碼 (object code) 兼容能力,以發(fā)展出采用「硬件連接」(hard wired) 實(shí)作方式的C8051F 中央處理器,而不是原來采用微碼(micro-coded) 的設(shè)計(jì)。新設(shè)計(jì)會將指令集映像到兩級式基本處理管線,以便提高產(chǎn)出,同時(shí)維持8 位的程序內(nèi)存寬度。這種方法帶來了一系列新組件,它們能在1 或2 個頻率周期內(nèi)執(zhí)行絕大多數(shù)的指令,效能超過原始8051 設(shè)計(jì)的20 至25 倍。有了這樣的效能,工程師只要利用成本更低的8 位產(chǎn)品,就能支持原本需要較昂貴的16 或32 位微控制器才能執(zhí)行的應(yīng)用。
微控制器現(xiàn)能整合那些功能而不會犧牲其效能?
在幾乎所有的電子系統(tǒng)中,工程師都想將最多功能整合至最小空間,這種做法有許多廣為人知的優(yōu)點(diǎn),包括零件數(shù)目降低、庫存組件減少、制造成本下降、以及可能帶來的更高效能與可靠性。因此,針對特定應(yīng)用評估所選擇的微控制器時(shí),重要的是從解決方案總成本的角度來考慮這些優(yōu)點(diǎn),而不僅是單顆零件的價(jià)格。近幾年來,隨著價(jià)格不斷下滑,芯片內(nèi)建閃存已變得日益流行;除了對于價(jià)格最敏感的高產(chǎn)量型應(yīng)用之外,其它應(yīng)用現(xiàn)都認(rèn)為值得付出少許的代價(jià),來換取超越「可程序一次」(one-time-programmable) 組件的更大彈性。
在線除錯 (In-system debug) 也是所想要的功能,由于它們能免除原先所需的昂貴仿真器,新組件的應(yīng)用成本將會下降,設(shè)計(jì)人員也能更自由的為特定應(yīng)用選擇最合適的組件。雖然32 位的微控制器和數(shù)字訊號處理器已廣泛提供在線除錯功能,但是在Silicon Laboratories 推出C8051F 組件系列之前,8 位產(chǎn)品卻極少提供在線除錯功能。精準(zhǔn)振蕩器、模擬數(shù)字轉(zhuǎn)換器和數(shù)字模擬轉(zhuǎn)換器是系統(tǒng)最常需要的模擬零件,溫度量測功能、電壓參考和比較器也很常用;在數(shù)字外圍方面,外部通訊最常使用的標(biāo)準(zhǔn)包括UART 以及SPI、I2C、USB 和CAN 界面,另外還會加入功能包括定時(shí)器和可程序計(jì)數(shù)器數(shù)組。 相較于采用離散零件的解決方案,把模擬數(shù)字轉(zhuǎn)換器和數(shù)字模擬轉(zhuǎn)換器整合至微控制器常會導(dǎo)致效能下降,特別是模擬功能的線性特性和訊號雜波比;即便如此,仍有些新組件的效能已不輸給使用最佳零件的解決方案或內(nèi)建16 位、1 MSPS 模擬數(shù)字轉(zhuǎn)換器的其它產(chǎn)品。
如前所述,8 位微控制器現(xiàn)已能提供高達(dá)100 MIPS 的峰值產(chǎn)出,圖1 就是這類組件的功能線路圖,它是由Silicon Laboratories 所提供的C8051F120,內(nèi)建128 kbytes 閃存、 8.25 kbytes RAM 、12 位模擬數(shù)字轉(zhuǎn)換器、12 位數(shù)字模擬轉(zhuǎn)換器以及各種數(shù)字外圍,包括UART、SPI 總線、I2C 總線、定時(shí)器模塊和外部內(nèi)存界面。這顆組件專門支持運(yùn)算量龐大、又需要高效能模擬數(shù)字轉(zhuǎn)換器及數(shù)字模擬轉(zhuǎn)換器的混合訊號嵌入式應(yīng)用,它還提供在線除錯功能。
圖1:模擬及數(shù)字功能的整合讓8 位微控制器得以提供接近系統(tǒng)單芯片的功能
典型應(yīng)用:高速電池充電器 考慮過現(xiàn)有產(chǎn)品后,我們將介紹一項(xiàng)應(yīng)用,其中的混合訊號微控制器就能提供我們在鋰離子電池高速充電電路中所討論的優(yōu)點(diǎn)。 電池必須能迅速、安全而有效的進(jìn)行充電,最佳充電方式通常包含三個階段:低電流調(diào)節(jié)階段,用來將早期的自我恢復(fù)-(early self healing) 減至最少,同時(shí)避免充電過程太早結(jié)束;定電流充電階段,用來提供大部份電力;以及定電壓階段/充電結(jié)束通常也是時(shí)間最長的階段。充電過程中,部份電能會轉(zhuǎn)變?yōu)闊崃浚?dāng)電池達(dá)到滿電力后,所有送給它的能量都會變成熱量,這可能造成危險(xiǎn)和傷害,因此必須監(jiān)視電池溫度以避免損害。
要判斷電池是否已充滿電力,絕大多數(shù)的鋰離子充電器會將電池電壓保持固定,然后監(jiān)測最小的電流值,圖2 即為充電曲線,它是利用降壓轉(zhuǎn)換器實(shí)作所得到的最有效曲線,這個降壓轉(zhuǎn)換器是一種交換式穩(wěn)壓器,它會使用電感或是變壓器做為儲能裝置,然后以個別封包的形式把能量從輸入端送到輸出端。回授回路則會透過晶體管來調(diào)節(jié)能量傳送,以便在電路的負(fù)載范圍內(nèi)維持定電壓或定電流。
圖2:鋰離子電池的充電曲線
利用8 位微控制器C8051F300 和它內(nèi)建的模擬數(shù)字轉(zhuǎn)換器、閃存、脈沖寬度調(diào)變器、溫度傳感器以及精準(zhǔn)時(shí)鐘電路,即可設(shè)計(jì)出適當(dāng)?shù)某潆婋娐?。圖3 所示即為這類充電器的方塊圖,芯片內(nèi)建高速模擬數(shù)字轉(zhuǎn)換器提供準(zhǔn)確的充電電壓監(jiān)測功能,用來避免過度充電,并提供最大的充電有效性和電池壽命。芯片內(nèi)建比較器和PWM 則為高速降壓轉(zhuǎn)換器的實(shí)作提供必要功能,使它們只需要一顆很小的外接電感。芯片內(nèi)建溫度傳感器提供穩(wěn)定的驅(qū)動電壓,可用來判斷電池溫度;若有必要,它也能使用外接的電阻性溫度感測組件。最后,這顆微控制器還提供組態(tài)配置及程序設(shè)定功能,這使它能支持不同類型的電池,協(xié)助客戶減少零件庫存,加快新產(chǎn)品上市時(shí)間。
圖3:鋰離子電池充電器的功能方塊圖
結(jié)論
8 位微控制器依然相當(dāng)活躍,由于日益豐富的模擬和數(shù)字外圍整合,8 位微控制器現(xiàn)能為許多常見應(yīng)用提供接近于系統(tǒng)單芯片的功能。當(dāng)這些組件以8051 架構(gòu)為基礎(chǔ)時(shí),工程師會對他們感到極為熟悉,使得設(shè)計(jì)和研發(fā)工作更簡單快速,而且成本更低。
評論