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