【導讀】在半導體領(lǐng)域,微控制器(MCU)是一個很卷的賽道。為了能夠從眾多競爭者中脫穎而出,MCU產(chǎn)品一直在不斷添加新“技能”,以適應(yīng)市場環(huán)境的新要求。因此,時至今日,如果你“打開”一顆MCU,會發(fā)現(xiàn)其早已不再是一顆傳統(tǒng)意義上簡單的計算和控制芯片,而是集成了CPU內(nèi)核以及豐富外設(shè)功能模塊的SoC。
在半導體領(lǐng)域,微控制器(MCU)是一個很卷的賽道。為了能夠從眾多競爭者中脫穎而出,MCU產(chǎn)品一直在不斷添加新“技能”,以適應(yīng)市場環(huán)境的新要求。因此,時至今日,如果你“打開”一顆MCU,會發(fā)現(xiàn)其早已不再是一顆傳統(tǒng)意義上簡單的計算和控制芯片,而是集成了CPU內(nèi)核以及豐富外設(shè)功能模塊的SoC。
尤其是在CPU內(nèi)核趨向同質(zhì)化的今天,想要在產(chǎn)品設(shè)計上實現(xiàn)差異化,MCU廠商更是要在CPU內(nèi)核之外的外設(shè)功能的集成上大做文章,讓自己的產(chǎn)品具有與眾不同的賣點。
“可以將哪類外設(shè)功能集成到MCU中”,對于這個問題,MCU廠商已經(jīng)進行了諸多嘗試:存儲器、定時器、模擬外設(shè)、通信接口,甚至是射頻收發(fā)器……不一而足。今天,Microchip更是腦洞大開,給出了一個新思路——將一個“微型FPGA”集成到MCU中!
在8位MCU中集成可編程邏輯
電子工程師都知道,在相當長的時間里,MCU和以FPGA為代表的可編程邏輯,是兩個特性迥異的開發(fā)平臺:前者是在通用CPU架構(gòu)的基礎(chǔ)上,通過軟件編程去滿足不同應(yīng)用的設(shè)計要求,具有較高的靈活性和可擴展性,不過代價就是在性能和功耗上有所折中;而后者由于具有硬件可編程特性,開發(fā)者可以根據(jù)應(yīng)用“定制”所需的硬件電路,在性能和功耗上自然更勝一籌,不過開發(fā)門檻相對較高。
之前也有?商將兩者結(jié)合在?起,開發(fā)出兼具靈活性和?能效的異構(gòu)平臺,不過它們?都定位于中?端的產(chǎn)品。將可編程邏輯與8位MCU整合在?起的嘗試,并不多?。?Microchip正是找到了這個獨特的市場切?點,推出了PIC16F13145 系列MCU。
圖1:PIC16F13145系列MCU
(圖源:Microchip)
具體來講,與傳統(tǒng)的8位MCU不同,PIC16F13145系列的外設(shè)中,除了ADC、DAC、?較器和定時器等這些“常規(guī)”配置,還有?個特別的可配置邏輯塊(CLB)模塊。
CLB由32個基本邏輯元件(BLE)陣列(每個BLE都能夠模擬AND / OR / NAND / NOR?)以及緩沖器/反相緩沖器、D觸發(fā)器、JK觸發(fā)器、多路復(fù)?器或四輸?LUT構(gòu)成。
這意味著,開發(fā)者可以利?CLB直接在MCU內(nèi)創(chuàng)建基于硬件的定制組合邏輯功能,實現(xiàn)??想要的硬件電路,?不受通?MCU固定硬件架構(gòu)的限制,就好像在MCU中添加了?個“微型FPGA”。
圖2:可配置邏輯塊(CLB)架構(gòu)
(圖源:Microchip)
從架構(gòu)上看,CLB與FPGA的可編程邏輯結(jié)構(gòu)很相似。構(gòu)成CLB的每個BLE由?個4輸?LUT(Lookup-Table, 查找表)和?個D觸發(fā)器組成。CLB的輸入接口提供了16個輸入的選擇鎖存器,每個選擇鎖存器可以選擇最多40種不同的信號之一的信號來作為輸入,這些信號可以是通過外部引腳輸入的信號,內(nèi)部外設(shè)的輸出信號以及軟件操作的寄存器的信號。CLB輸入端都嵌入了可編程的邊沿檢測器,這些邊沿檢測器默認由上升沿觸發(fā),但可以編程為由下降沿觸發(fā)或完全旁路。
另外,CLB支持8路輸出可以路由到外部引腳、內(nèi)部寄存器或內(nèi)部外圍設(shè)備的輸?。CLB還包含?個3位硬件計數(shù)器,以幫助使?CLB構(gòu)建狀態(tài)機。當MCU需要執(zhí)?簡單的多任務(wù)并?處理,或者需要實現(xiàn)少量硬件級實時處理時,CLB的作?就會更?程度地顯現(xiàn)出來。開發(fā)者可以使?CLB來實現(xiàn)狀態(tài)機或“?速”外設(shè),例如軟件驅(qū)動的信號多路復(fù)?器、計數(shù)器、正交解碼器、步進電機控制器或?速PWM(脈寬調(diào)制器)等。
全新的開發(fā)體驗
實際上,對于Microchip來說,在MCU中集成可編程邏輯功能并不是?個全新的課題。早在?多年前,Microchip就曾在其MCU中引?了?種被稱為可配置邏輯單元(CLC)的可編程邏輯外設(shè),這?設(shè)計思路的價值已經(jīng)被市場所驗證。隨著實際應(yīng)?中對更復(fù)雜的可編程邏輯需求的增加,終在PIC16F13145系列中演化出了CLB這個規(guī)模更?、更復(fù)雜的可編程邏輯塊,完成了?次重要的迭代升級,也使得該系列MCU能夠?于以往屬于獨?可編程邏輯器件的應(yīng)?領(lǐng)域。
PIC16F13145系列MCU這一獨特的定位,可以為開發(fā)者帶來諸多好處。
首先,集成到MCU的CLB,是通過硬件的方式實現(xiàn)邏輯功能,在性能上明顯優(yōu)于“通用MCU+軟件”的模式,有利于優(yōu)化嵌入式控制系統(tǒng)的速度和響應(yīng)時間,提升整體的系統(tǒng)性能。而且由于在系統(tǒng)設(shè)計時,無需增加額外的外部邏輯器件,還可以降低BOM成本,可謂是一舉兩得。
其次,作為獨立于CPU內(nèi)核的外設(shè),PIC16F13145中的CLB可以在CPU處于睡眠模式時運行,以響應(yīng)和處理來自外部和內(nèi)部的任務(wù),更大限度地降低MCU的功耗。CLB還可以與其他外設(shè)(如定時器、ADC、PWM模塊等)結(jié)合使用,進一步優(yōu)化系統(tǒng)功耗性能。
此外,CLB還有助于PIC16F13145系列MCU實現(xiàn)更強的可擴展性。在實際工作中,隨著需求的變化,設(shè)計的調(diào)整在所難免,而PIC16F13145系列MCU所具備的可編程邏輯功能,使得開發(fā)者無需“從頭再來”徹底修改整個設(shè)計,就能夠通過靈活的硬件編程快速完成設(shè)計迭代,簡化整個設(shè)計流程。
由此可見,憑借CLB模塊而帶來的更高的性能、更低的功耗以及更強的可擴展性,加之其他豐富的片上資源(包括具有內(nèi)置計算功能的快速10位ADC、8位DAC、快速比較器、8位和16位定時器,以及I2C和SPl等通信模塊),PIC16F13145系列MCU無疑為嵌入式開發(fā)者提供了一個強大而靈活的開發(fā)利器。
完善的開發(fā)生態(tài)
當然,?個嵌?式硬件平臺,加上配套的軟件開發(fā)?具以及相關(guān)技術(shù)資源,才能夠提供完整的開發(fā)體驗。具體到PIC16F13145系列MCU這個創(chuàng)新的硬件架構(gòu),更是需要完善開發(fā)?態(tài)的?持,盡可能降低開發(fā)者上?“嘗鮮”的?檻。
好消息是,這?點Microchip已經(jīng)準備好了。PIC16F13145 系列MCU 的開發(fā), 可以得到MPLAB? 代碼配置器(MCC)的?持,MCC是Microchip的MPLAB X IDE中?個免費軟件插件,為開發(fā)者提供了?個基于GUI的簡便開發(fā)界?,?于配置器件和片上外設(shè)(包括CLB)。CLB所需的?定義邏輯配置可通過MCC創(chuàng)建原理圖,因此??減少了開發(fā)時間,?且?戶可以使?硬件描述語?(Verilog)作為開發(fā)語言,增加了開發(fā)的靈活性。自定義邏輯配置的原理圖也可以通過在線方式創(chuàng)建(logic.microchip.com)。
同時,PIC16F13145 Curiosity Nano評估套件可為使?PIC16F13145系列MCU進?設(shè)計提供全??持,?需外部?具、編程和調(diào)試,簡單易?,有助于開發(fā)者實現(xiàn)?縫嵌?式開發(fā)體驗,縮短產(chǎn)品上市時間。
本文小結(jié)
今天,競爭激烈的MCU市場,迫切需要差異化的創(chuàng)新產(chǎn)品。Microchip的PIC16F13145系列MCU,創(chuàng)造性地將可編程邏輯外設(shè)功能與8位MCU架構(gòu)相結(jié)合,在繼承MCU固有優(yōu)勢特性的同時,?帶來了更佳的性能、低功耗特性和可擴展性,在實時控制、數(shù)字傳感器節(jié)點,以及?業(yè)和汽?等細分市場,為嵌?式開發(fā)者提供了全新的想象空間和開發(fā)體驗。
免責聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理。
推薦閱讀: