如今,對成本敏感的微控制器市場需要可使產(chǎn)品功能緊密地適合應(yīng)用的高層次系統(tǒng)集成。PCB尺寸、電源消耗和材料成本的壓力也需要比以往更高層次的系統(tǒng)集成。此外,穩(wěn)壓器、電壓不足檢測器、上電復(fù)位等電源接口與晶振/PLL、系統(tǒng)定時(shí)器等定時(shí)單元一樣,都需要在片內(nèi)得到實(shí)現(xiàn)。
為緊密地適合應(yīng)用,存儲器、外圍設(shè)備與連接之間的正確組合非常重要。對存儲器的需求在類型和密度上是不同的。小容量的引導(dǎo)ROM、RAM工作區(qū)以及用于存儲軟件和參考數(shù)據(jù)的片上閃存都是必需的,但不同應(yīng)用對密度需求不一樣。NAND或NOR閃存、SDRAM等各種存儲器類型和密度都需要高效率的外部接口。在連接性方面,微控制器一般需要提供USB、以太網(wǎng)、CAN、SPI或USART總線連接,而為保證安全性,可能還需要AES或DES加速器。此外,許多應(yīng)用還需要微控制器具有模擬功能。
與外圍設(shè)備組合變化多樣不同,處理器內(nèi)核的可選范圍很窄。只有少數(shù)幾種工業(yè)標(biāo)準(zhǔn)MCU內(nèi)核占市場主導(dǎo)地位,ARM則是32位MCU內(nèi)核的代表之一。
圖題:基于ARM的MCU系統(tǒng)級芯片AT91SAM7S的架構(gòu)平臺。
應(yīng)用開發(fā)的簡易性是一個關(guān)鍵要求,而且常常是最重要的。最基本的要求就是工業(yè)標(biāo)準(zhǔn)開發(fā)工具必須易于使用且價(jià)格合理。此外,MCU還應(yīng)該提供所有片上外圍設(shè)備的低層器件驅(qū)動程序和標(biāo)準(zhǔn)通信接口的協(xié)議堆棧。這些都將大大減少應(yīng)用開發(fā)的時(shí)間和成本。如果應(yīng)用需要操作系統(tǒng),那么該操作系統(tǒng)應(yīng)該已具備與MCU架構(gòu)的接口,并且可以很容易集成到軟件開發(fā)環(huán)境中。
基于微控制器的應(yīng)用在不斷發(fā)展。一些產(chǎn)品的生命周期,特別是消費(fèi)類電子產(chǎn)品的生命周期只有短短數(shù)月的時(shí)間,因此新型產(chǎn)品必須具有更強(qiáng)的性能、更簡單的用戶接口以及更小的外形尺寸,而且其價(jià)格也更低。為支持這種最終用戶產(chǎn)品的發(fā)展趨勢,位于系統(tǒng)中心的微控制器必須不斷發(fā)展。不過,向更高級 MCU升級的過程必須簡單,并要盡可能避免發(fā)生風(fēng)險(xiǎn)。在硬件層面上,這要求同一系列中不同器件的封裝和引腳必須兼容;而在軟件層面上,關(guān)鍵是要能復(fù)用已有的軟件模塊,并能夠方便地集成新模塊。
基于ARM的模塊化系統(tǒng)構(gòu)件
Atmel公司應(yīng)對這些需求的策略是關(guān)注整個MCU產(chǎn)品生命周期,在工業(yè)標(biāo)準(zhǔn)ARM微處理器內(nèi)核的基礎(chǔ)上為存儲器、外圍設(shè)備和標(biāo)準(zhǔn)通信接口開發(fā)了一系列IP模塊。軟件設(shè)備驅(qū)動程序、通信接口的協(xié)議堆棧、操作系統(tǒng)以及應(yīng)用開發(fā)工具都對這些IP模塊提供支持。這些IP模塊將被嵌入到整個產(chǎn)品系列使用的公共架構(gòu)平臺中。同一系列的器件具有相同的封裝和引腳,這是為了實(shí)現(xiàn)最大化復(fù)用并快速開發(fā)出產(chǎn)品,以滿足用戶對降低產(chǎn)品成本和縮短開發(fā)周期的需求。
1. 架構(gòu)平臺
基于ARM的MCU系統(tǒng)級芯片的典型架構(gòu)平臺如圖所示。每個存儲器模塊、外圍設(shè)備和通信接口都是一個獨(dú)立的模塊。這些模塊經(jīng)過單獨(dú)開發(fā)和測試,可以針對每個實(shí)現(xiàn)進(jìn)行參數(shù)化處理(如閃存或SRAM存儲器的密度)。外圍設(shè)備模塊可被軟件設(shè)備驅(qū)動程序支持,這些用C/C++編寫的驅(qū)動程序已被集成到應(yīng)用代碼中。針對每個目標(biāo)應(yīng)用,可以選擇最佳的存儲器、外圍設(shè)備和通信接口配置。為盡可能滿足相同應(yīng)用領(lǐng)域中不同用戶的需要,Atmel還開發(fā)了一系列具有不同存儲器密度的器件,該系列中的每個器件都具有相同封裝和引腳。
這個架構(gòu)平臺具有許多公用特性。所有器件都采用相同的工業(yè)標(biāo)準(zhǔn)ARM處理器內(nèi)核,而且所有外圍設(shè)備和通信接口都具有一個被映射到處理器地址空間的公共寄存器結(jié)構(gòu)。通過復(fù)用已有的代碼,這將大大減少軟件開發(fā)的費(fèi)用。
所有器件都具有一個外圍設(shè)備DMA控制器,該控制器能以最小的處理器開銷處理存儲器到外圍設(shè)備的數(shù)據(jù)傳輸。高級中斷控制器(AIC)可增強(qiáng)處理器內(nèi)核的基本中斷功能,以便在很少幾個指令周期內(nèi)實(shí)現(xiàn)到中斷處理程序的傳遞。并行的輸入/輸出(PIO)控制器可使I/O線與多個通用輸入/輸出進(jìn)行復(fù)用,從而減少引腳數(shù)量、提高I/O編程的靈活性。所有這些器件都有一個快速閃存編程接口(FFPI)和基于ROM的引導(dǎo)輔助(SAM-BA)以便于進(jìn)行閃存編程。
所有器件都集成了以前片內(nèi)所沒有的多種系統(tǒng)功能,包括用于定時(shí)源的晶振和PLL,以及實(shí)時(shí)定時(shí)器、可編程間隔定時(shí)器和看門狗定時(shí)器等的眾多系統(tǒng)定時(shí)器。電源管理控制器(PMC)可通過關(guān)閉不用的外圍設(shè)備將器件功耗減至最小,并提供只有實(shí)時(shí)定時(shí)器工作的睡眠模式。穩(wěn)壓器則用來提供1.8V電壓供內(nèi)核和外圍設(shè)備使用,也可外接供外部1.8V器件使用。上電復(fù)位(POR)和電壓不足檢測器可確保在外部電源中斷時(shí)系統(tǒng)能安全地關(guān)閉和啟動。
2. PCB設(shè)計(jì)和應(yīng)用開發(fā)
在Atmel的方案中,有二個因素可簡化最終用戶產(chǎn)品的PCB設(shè)計(jì):高層的系統(tǒng)集成可大大減少元器件數(shù)量;相同系列中的所有器件都具有相同封裝和引腳,這意味著升級到更高存儲器密度只需進(jìn)行簡單替換。
應(yīng)用開發(fā)的簡易性和成本是選擇微控制器時(shí)的一個主要決定性因素。Atmel提供的基于ARM的構(gòu)件塊方法具有顯著好處,同一個低成本評估板可支持面向應(yīng)用的產(chǎn)品系列中的所有器件。
工業(yè)標(biāo)準(zhǔn)處理器內(nèi)核允許使用工業(yè)標(biāo)準(zhǔn)軟件開發(fā)工具進(jìn)行應(yīng)用開發(fā),從而縮短甚至不需要相關(guān)的學(xué)習(xí)過程。如果需要操作系統(tǒng),也有基本現(xiàn)成的版本可用于ARM內(nèi)核。用于外圍設(shè)備的軟件設(shè)備驅(qū)動程序、用于I/O模塊的通信協(xié)議堆棧,加上對傳統(tǒng)應(yīng)用代碼的復(fù)用,可有效減少軟件開發(fā)方面的費(fèi)用。使用閃存編程存儲器意味著器件在開發(fā)過程中可以用應(yīng)用代碼進(jìn)行反復(fù)編程,直到消除所有錯誤。如果使用片上引導(dǎo)裝載器(SAM-BA)對開發(fā)器件進(jìn)行快速編程,并且使用相關(guān)下載器(SAM-PROG)對產(chǎn)品系統(tǒng)進(jìn)行并行編程,那么這一過程還可進(jìn)一步簡化。
本文小結(jié)
所有電子產(chǎn)品都在不斷發(fā)展,在Atmel微控制器產(chǎn)品系列中采用模塊化方法,旨在使這一發(fā)展過程盡可能平滑順利。片上閃存可以被重復(fù)編程,這樣即使在用戶正在使用的產(chǎn)品上,也可增加新的功能。如果需要更高的存儲器密度,可以用增強(qiáng)型存儲器件進(jìn)行直接替換,所需的軟件升級非常少。如果需要增加新的外圍設(shè)備或通信接口,公共架構(gòu)平臺和開發(fā)工具可使軟件和PCB設(shè)計(jì)僅需做最少的改動。
因此,在MCU產(chǎn)品開發(fā)的各個方面(包括架構(gòu)、封裝、軟件、應(yīng)用開發(fā)和產(chǎn)品升級等)采用Atmel的模塊化方法,可對最終用戶產(chǎn)品周期進(jìn)行全面優(yōu)化。