基于ARM的32位MCU提供SoC設(shè)計(jì)參考
隨著制造工藝的迅猛發(fā)展,mcu在外設(shè)集成、性能、功耗及降低成本方面都有了長(zhǎng)足的進(jìn)展,幾乎能提供與soc相類似的性能,而且應(yīng)用數(shù)量正日趨增長(zhǎng)。特別是基于arm的32位mcu,為soc設(shè)計(jì)人員提供了快速低廉的設(shè)計(jì)參考。
系統(tǒng)級(jí)芯片(soc)技術(shù)可以看作是專用集成電路(asic)的一種新的設(shè)計(jì)模式,較之a(chǎn)sic,其設(shè)計(jì)周期短,能為設(shè)計(jì)人員消除設(shè)計(jì)特殊應(yīng)用時(shí)遇到的障礙。soc的性能接近于成熟的asic,不過它仍需要掩膜,并不能節(jié)省asic所需的大部分設(shè)計(jì)成本。
隨著先進(jìn)的制造工藝將更多外設(shè)集成于芯片、降低功耗和提供更多的性能,asic和標(biāo)準(zhǔn)32位微控制器(mcu)的區(qū)別也在縮小。對(duì)于基于arm內(nèi)核的微控制器而言,當(dāng)集成了關(guān)鍵外設(shè)時(shí),這種趨勢(shì)更加明顯。如采用0.18 m閃存工藝并支持高性能架構(gòu)的mcu,為soc設(shè)計(jì)人員提供了很多設(shè)計(jì)幫助。
性能拓展
為了彌補(bǔ)產(chǎn)品在性能方面的不足,基于arm的lpc213x系列微控制器采用了多達(dá)4個(gè)32位的平行指令,也就是說20 mhz或30 mhz存儲(chǔ)控制器不再需要cpu等待指令。arm的流水線架構(gòu)使該技術(shù)能夠提供優(yōu)于其他實(shí)現(xiàn)方法近 4倍的性能。
外設(shè)
芯片上集成哪些外設(shè)是由應(yīng)用決定的。微控制器系列針對(duì)不同的應(yīng)用也集成了各種外設(shè)。 一個(gè)完整的微控制器系列可以滿足多種應(yīng)用,例如機(jī)器人技術(shù)、水電氣表、非接觸式讀卡器、生產(chǎn)設(shè)備控制、環(huán)境控制和高壓交流系統(tǒng)(hvac)、醫(yī)療設(shè)備和安全系統(tǒng)等。lpc213x系列通過集成32k到512k字節(jié)片上閃存、若干個(gè)32位定時(shí)器、脈寬調(diào)制(pwm)、通用通信接口如uart、spi/ssp及i2c、單或雙10位8通道adc和10位dac等外設(shè)支持上述應(yīng)用。lpc231x系列的架構(gòu)框圖如圖1所示。
廣泛的通信接口和片上sram(8k、16k和32 k字節(jié))使芯片成為網(wǎng)關(guān)和協(xié)議轉(zhuǎn)換器、軟件調(diào)制解調(diào)器、語(yǔ)音識(shí)別和低端成像器件的有力競(jìng)爭(zhēng)者。
功率及尺寸方面的考慮
優(yōu)化微控制器功率最有效的設(shè)計(jì)技巧是采用一個(gè)實(shí)時(shí)時(shí)鐘控制核處理器。這樣,鎖相環(huán)(pll)能被抑制以控制處理器的速度。lpc213x系列的另一個(gè)功能是對(duì)外設(shè)進(jìn)行管理,降低其速度或完全關(guān)閉。
由于采用了先進(jìn)的制造工藝,基于arm的微控制器系列提供了管腳兼容的小型封裝。表1給出了lpc213x系列的封裝形式及上述幾種可選外設(shè)。
功能介紹
lpc213x系列簡(jiǎn)化的架構(gòu)框圖如圖2所示。下面對(duì)其重要功能特點(diǎn)進(jìn)行逐一介紹。
片上程序閃存
閃存系統(tǒng)的編程可以通過幾種方式實(shí)現(xiàn)。串行端口可用于系統(tǒng)內(nèi)編程。當(dāng)應(yīng)用運(yùn)行時(shí),它也可以對(duì)應(yīng)用程序進(jìn)行擦除或編寫,這為現(xiàn)場(chǎng)固件升級(jí)提供了所需的靈活性。當(dāng)使用片上引導(dǎo)程序時(shí),閃存可作為用戶代碼使用。
功率控制
lpc213x系列支持以下兩個(gè)降低功率的模式:
空閑模式。在這種模式下,指令停止運(yùn)行。復(fù)位或中斷恢復(fù)指令運(yùn)行。該模式消除了處理器、存儲(chǔ)系統(tǒng)、相關(guān)控制器及內(nèi)部總線的功耗。繼續(xù)運(yùn)行的外設(shè)可產(chǎn)生中斷,告知處理器再次執(zhí)行指令。
掉電模式。在這種模式下,振蕩器關(guān)閉,芯片接收不到內(nèi)部時(shí)鐘。由于動(dòng)態(tài)運(yùn)行暫停,功率幾乎為零。不過,在掉電模式下,處理器的狀態(tài)和寄存器、外設(shè)寄存器及內(nèi)部sram值不受影響。芯片輸出引腳的邏輯層仍處于靜態(tài)。通過復(fù)位或無需時(shí)鐘即可運(yùn)行的特定的中斷,可以中止該模式。
此外,lpc213x系列還可以關(guān)閉不用的外設(shè)。
脈寬調(diào)制
pwm模塊是基于標(biāo)準(zhǔn)定時(shí)器的模塊,定時(shí)器能計(jì)算出外設(shè)模塊的周期,在達(dá)到特定的定時(shí)器值時(shí),會(huì)產(chǎn)生中斷或執(zhí)行其他操作 。它能分別控制上升沿和下降沿,因而能擴(kuò)大應(yīng)用范圍。例如,多相電機(jī)控制需要 3個(gè)非重疊的 pwm輸出,以分別控制3個(gè)脈寬和定位。
兩個(gè)匹配寄存器用于執(zhí)行一個(gè)單邊緣控制的pwm輸出。一個(gè)匹配寄存器在匹配時(shí)復(fù)位計(jì)數(shù)值,用于控制pwm的循環(huán)速度;另一個(gè)用于控制pwm邊緣定位。
每個(gè)外加的單邊緣控制的pwm輸出只需要 一個(gè)匹配寄存器。3個(gè)匹配寄存器可為pwm輸出提供雙邊緣控制。
對(duì)于雙邊緣控制pwm輸出,特定的匹配寄存器控制輸出的上升沿和下降沿。 這樣,正的pwm脈沖(上升沿先于下降沿發(fā)生)和負(fù)的pwm脈沖(下降沿先于上升沿發(fā)生)就能同時(shí)運(yùn)行。
中斷控制器
向量中斷控制器(vic)處理所有的中斷請(qǐng)求,并對(duì)快速中斷請(qǐng)求(fiq)、向量中斷請(qǐng)求(irq)或非向量irq加以分類。由于分配模式是可編程的,因而可以動(dòng)態(tài)地分配和調(diào)整來自外設(shè)的中斷優(yōu)先級(jí)。
fiq擁有最高的優(yōu)先級(jí)。 如果一個(gè)以上的請(qǐng)求被劃分為fiq,vic會(huì)將這些請(qǐng)求集中起來, 將fiq信號(hào)輸入arm處理器。這樣,fiq服務(wù)程序可以讀到來自vic的命令,以判斷哪一個(gè)或哪些fiq源正在請(qǐng)求中斷。
向量irq具有中等優(yōu)先級(jí)。多達(dá)16種中斷請(qǐng)求可以作為irq分配。任何一個(gè)中斷請(qǐng)求都可以被分配到16個(gè)向量irq通道(slot)中的任意一個(gè)。通道0優(yōu)先級(jí)最高,通道15優(yōu)先級(jí)最低。
非向量irq優(yōu)先級(jí)最低。通常,vic為正在請(qǐng)求的最高優(yōu)先級(jí)irq提供服務(wù)程序地址,或者為所有非向量irq提供共享的缺省程序地址。該缺省程序讀取另一個(gè)vic寄存器,以判斷哪些irq處于激活狀態(tài)。
uart和i/o控制器
除了標(biāo)準(zhǔn)傳輸和功能外,某些系列的兩個(gè)uart中有一個(gè)調(diào)制解調(diào)器控制信號(hào)握手接口。
每個(gè)微控制器擁有兩個(gè)i2c總線控制器。i2c為每個(gè)器件提供一個(gè)特定的地址,使器件可以在只接受或只傳輸?shù)哪J较逻\(yùn)行。器件可以分為主從兩種類型。i2c總線可以通過一個(gè)以上的總線主控進(jìn)行控制,某些還支持高達(dá)400 kb/s的傳輸速率。
該器件還將一個(gè)spi控制器和一個(gè)ssp控制器集成在一起。spi能處理多個(gè)主從操作, 其最大數(shù)據(jù)位速率是輸入時(shí)鐘速率的1/8。ssp控制器可與多個(gè)主從操作互動(dòng),但是只有一種主從組合能在特定的數(shù)據(jù)傳輸期間進(jìn)行通信。
結(jié)語(yǔ)
過去幾年,標(biāo)準(zhǔn)微控制器在性能、功耗及功能組合方面有了長(zhǎng)足的發(fā)展,同時(shí)保持了較低的單位成本。盡管微控制器不能提供與soc相同的性能,但是能提供與soc類似的足夠性能,且應(yīng)用數(shù)量正在不斷增長(zhǎng)。因此,除了其原有的市場(chǎng)外,32位微控制器,尤其是基于arm內(nèi)核的微控制器,可以幫助soc設(shè)計(jì)人員以低廉的成本迅速將產(chǎn)品推向市場(chǎng)。
評(píng)論