Microchip Technology公司 MCU8產(chǎn)品部亞太區(qū)業(yè)務(wù)拓展經(jīng)理 徐進
?
Microchip全新8位MCU外設(shè)問世,突破嵌入式設(shè)計壁壘
Microchip Technology公司 MCU8產(chǎn)品部亞太區(qū)業(yè)務(wù)拓展經(jīng)理徐進
Microchip最新一代的8位單片機集成了所謂的“獨立于內(nèi)核的外設(shè)”,將設(shè)計的靈活性提升到了一個新的水平。從簡單的數(shù)字定時器到復(fù)雜的AC/DC電源,這些可配置外設(shè)與MCU集成的智能模擬相配合,可實現(xiàn)均衡的可定制解決方案來應(yīng)對許多設(shè)計挑戰(zhàn)。此外,新一代8位MCU突破了傳統(tǒng)8位MCU的不足,進一步拓寬了產(chǎn)品的應(yīng)用領(lǐng)域。
圖1 數(shù)控振蕩器應(yīng)用實例
從40多年前首款帶只讀存儲器(ROM)的MCU問世以來,單片機不斷發(fā)展,從簡單的邏輯控制器到帶有模擬功能的完全集成式的智能IC,8位MCU的發(fā)展尤為突出。就傳統(tǒng)的8位MCU外設(shè)而言,每個模塊僅設(shè)計用于執(zhí)行單一功能。而最新一代的8位MCU在設(shè)計之初即旨在創(chuàng)建與傳統(tǒng)完全不同的產(chǎn)品,這一變化更需要采用全新的終端產(chǎn)品設(shè)計方法。這些新的8位MCU集成了若干個獨特的外設(shè),可以按需執(zhí)行多個功能和任務(wù)。同時,設(shè)計人員可以通過配置和組合這些外設(shè)來創(chuàng)建新的功能,而這些新功能在其他類型的單片機上是無法或難以實現(xiàn)的。這些新型外設(shè)大多無需內(nèi)核監(jiān)管即可獨立運行,因而在執(zhí)行必要的任務(wù)時減少了對CPU的依賴。此外,這些外設(shè)多數(shù)也在休眠模式下使用,非常適合各類功耗敏感型應(yīng)用。
新器件中最常用的外設(shè)之一就是可配置邏輯單元(CLC),它是一個非常簡單但功能強大的模塊,可提供標(biāo)準(zhǔn)的邏輯功能,如AND、OR、XOR、SR鎖存器和J-K 觸發(fā)器,用戶可對這些功能進行配置以創(chuàng)建用于信號調(diào)理的邏輯門。CLC模塊的輸入、輸出信號可以經(jīng)由內(nèi)部連接與任何一個I/O、外設(shè)或寄存器相連,它可以用作一個簡單的信號路由器、粘合邏輯或控制喚醒的智能狀態(tài)機。傳統(tǒng)的單片機需要外部的可編程邏輯器件(PLD)或額外的編碼來實現(xiàn)所需的邏輯控制功能,然而即便是這樣的設(shè)置也并不能達到CLC那樣的靈活性。
另一個可配置模塊——數(shù)控振蕩器(NCO)可用作20位定時器或具有高分辨率、可變頻控制的PWM控制器,如圖1所示。這和傳統(tǒng)的PWM/定時器不同,彼此性能和特性幾乎完全相反。
NCO具有更高的分辨率和線性頻率控制功能,可通過對電路電流的高精度控制來簡化廣泛應(yīng)用于許多電源應(yīng)用中的復(fù)雜控制算法,例如帶有調(diào)光功能的照明鎮(zhèn)流器控制應(yīng)用。由于NCO可提供變頻控制來輕松改變警報聲音的音高,它還可用于驅(qū)動煙霧報警器的聲音警報。通過對所產(chǎn)生的頻率實施更精細的控制,NCO無需任何外部模擬組件即可對生成聲音的音調(diào)和音高進行更好的調(diào)節(jié)。
這種集成外設(shè)可以單獨使用,但是把多個模塊組合在一起來創(chuàng)建不同的功能才是其真正的絕妙之處。例如,曼徹斯特編碼廣泛應(yīng)用于各種電信和數(shù)據(jù)存儲應(yīng)用。傳統(tǒng)的曼徹斯特算法需要大量的固件資源支持,并且要占用CPU資源來進行任務(wù)管理,而通過串聯(lián)使用NCO和CLC模塊構(gòu)建出的曼徹斯特解碼器,可以完全在硬件環(huán)境中運行,無需占用任何CPU資源。順便提一下,曼徹斯特編碼器的設(shè)計可以僅由一個CLC模塊來實現(xiàn),而無需進行任何固件位拆裂。
相比于CLC或NCO模塊,諸如角度定時器(AT)、信號測量定時器(SMT)和數(shù)學(xué)加速器(MathAcc)等其他外設(shè)則較為復(fù)雜。無論電機速度還是信號頻率,AT均可用于測量電機控制和AC電源應(yīng)用中任意一種周期信號——如光學(xué)編碼器、過零檢測器和霍爾傳感器。AT模塊可在純硬件環(huán)境中執(zhí)行時間/角度域瞬間轉(zhuǎn)換,且同樣沒有任何額外的CPU開銷。而傳統(tǒng)單片機處理這一任務(wù)則往往需要多個定時器來計算和測量時間單位,然后借助數(shù)學(xué)計算(通過固件)將數(shù)值轉(zhuǎn)換成相角域;如果周期已知的話,則需要存儲在程序存儲器中的查找表。傳統(tǒng)方法需要進行更多的固件設(shè)置和更多的CPU資源來進行數(shù)學(xué)計算,還需要約束查找表的大小,這樣就限制了可用數(shù)值的數(shù)量,進而導(dǎo)致近似值和差錯。而AT模塊可以直接根據(jù)設(shè)計人員配置的相角值自動生成中斷和事件,此外,AT模塊還有三個比較/捕捉/PWM(CCP)功能供用戶自行支配。
另一個通過組合多個外設(shè)以簡化任務(wù)的實例便是廣泛應(yīng)用于小型內(nèi)燃機中的電容放電式點火(CDI)控制系統(tǒng),如圖2所示。
圖2 使用集成角度定時器外設(shè)的電容放電式點火系統(tǒng)
在數(shù)字控制CDI系統(tǒng)中,單片機有兩大主要任務(wù):
◆ 基于各個傳感器提供的信息,確定火花塞的點火提前角;
◆ 通過設(shè)置PWM信號占空比將觸發(fā)脈沖傳送至DC-DC 轉(zhuǎn)換器,以實現(xiàn)火花點火功能。
由于相關(guān)外設(shè)可有效管理RPM計算任務(wù)和控制發(fā)動機火花塞的點火時間,而只需要極少的CPU干預(yù),設(shè)計人員無需掌握內(nèi)燃發(fā)動機控制系統(tǒng)的所有設(shè)計細節(jié),即可將AT、CLC及諸如SMT和MathACC等其他一些外設(shè)組合起來實現(xiàn)基于PIC16F161x MCU的CDI,大幅提升整體性能。如果想對這一設(shè)計進行更深入的分析,請參閱參考文獻中列出的應(yīng)用筆記AN1980。
表1就使用傳統(tǒng)方法與采用獨立于內(nèi)核的外設(shè)來設(shè)計CDI系統(tǒng)做了一個對比。
如表1所列,運用AT方法,執(zhí)行時間和CPU使用率減少了50%以上,代碼空間也減少了40%,大大提升了系統(tǒng)性能。
有許多方式可以生成PWM信號,或通過固件或通過硬件,然而涉及到測量和從PWM輸入信號中提取信息時,選擇范圍就比較有限了。典型的方法是使用定時器和CCP,以及大量的CPU周期來確定脈沖、周期或占空比值。將CLC和NCO模塊組合起來,并進行一些額外的編碼工作,也有可能完成這些任務(wù)。
然而,前文例子中提及的SMT外設(shè)是一個帶有高級時鐘和門控邏輯功能的24位計數(shù)器/定時器,可支持不同的采集模式。這些模式包括自動測量并存儲周期和占空比值,且無需內(nèi)核的監(jiān)管或任何額外的計算。SMT外設(shè)對任何一個需要測量PWM信號的設(shè)計而言都是非常有用的,比如電機控制應(yīng)用。
表1電容放電式點火系統(tǒng)實現(xiàn)方法對比
盡管這些高級外設(shè)具有更多的功能,設(shè)計人員的顧慮之一是:如何管理有限的I/O及可用的MCU資源以實現(xiàn)器件性能最優(yōu)化。模塊太多,引腳卻不夠,一直是限制傳統(tǒng)低引腳數(shù)8位MCU功能的短板之一。而如今在增添了外設(shè)引腳選擇(PPS)等功能以后,設(shè)計人員現(xiàn)在無需使用任何外部組件即可將任意的數(shù)字信號實時發(fā)送到任意一個I/O引腳。而需要多個UART的傳統(tǒng)設(shè)計則需要一個具備多個UART 模塊的高引腳數(shù)單片機來實現(xiàn)?,F(xiàn)在有了新一代的8位MCU,任何一款單片機只需擁有一個UART和PPS或CLC來輕松發(fā)送通信信號至多個引腳,便可完成這項任務(wù)。
總之,最新一代的8位MCU比傳統(tǒng)的8位MCU功能更多、更強大。與以軟件為中心的32位MCU相比,它們往往可以借助集成的、獨立于內(nèi)核的硬件執(zhí)行許多功能,在性能上提升至新的高度。此外,獨立于內(nèi)核的外設(shè)為設(shè)計人員提供了更大的靈活性,他們可以通過配置和組合若干外設(shè)來創(chuàng)建多種應(yīng)用功能而無需犧牲CPU性能或功耗。這些新型硬件外設(shè)消除了傳統(tǒng)設(shè)計對內(nèi)核的依賴,同時增強了系統(tǒng)整體設(shè)計的決定性。
[1] 獨立于內(nèi)核的外設(shè)設(shè)計中心.
[2] DS41631B-Configurable Logic Cell Tips ‘n Tricks.
[3] AN1980-Capacitor Discharge Ignition Using the Angular Timer.
[4] AN1470-使用CLC和NCO實現(xiàn)曼徹斯特解碼器.
[5] AN1476-結(jié)合CLC和NCO實現(xiàn)高分辨率PWM.
[6] AN1779-Sensored Single-Phase BLDC Motor Driver using PIC16F1613.
[7] TB3129-PIC單片機的信號測量定時器.
[8] AN1473-多種計算脈沖與占空比的方法.
[9] Lucio Di Jasio. This is (not) rocket Science.
(責(zé)任編輯:楊迪娜2016-03-11)