大容量Flash型AT91系列ARM核微控制器
摘要:主要介紹美國Atmel公司最新推出的基于ARM7TDMI核的AT91FR40162微控制器的體系結(jié)構(gòu)及功能特性。AT91FR40162是對AT91R40008增加了16Mbit的Flash存儲器后形成的最終產(chǎn)品。本文對AT91FR40162新增的Flash存儲器以及AT91 Flash Uploader軟件作重點介紹。 關(guān)鍵詞:AT91FR40162 AT91R40008 SRAM Flash 微控制器 引 言 AT91FR40162是美國Atmel公司生產(chǎn)的AT91系列微控制器中的一員,具有ARM7TDMI核、大容量Flash存儲器以及片內(nèi)SRAM和外圍。這種微控制器的特點是高性能--32位RISC體系結(jié)構(gòu)、高密度--16位指令集、低功耗以及實時性,擴充的Flash存儲器還增加了開發(fā)者使用的靈活性。除此以外,大量的內(nèi)部分組寄存器加速了對異常的處理過程,從而使其更適合于實時控制的應(yīng)用。8級基于向量的優(yōu)先級中斷控制器和外圍數(shù)據(jù)控制器PDC大大增強了實時器件的性能。此器件適用于開發(fā)工業(yè)自動化系統(tǒng)、MP3、銷售終端、GPS接收機以及無線網(wǎng)絡(luò)產(chǎn)品等對功耗敏感且要求具有實時性的產(chǎn)品。AT91FR40162微控制器的特點是在一個121-ball BGA封裝中集成了256 KB的片內(nèi)SRAM和16 Mbit的Flash存儲器。它為許多計算密集的嵌入式控制應(yīng)用領(lǐng)域提供了功能強大、使用靈活且性價比高的解決方案,同時還可以幫助用戶減小PCB尺寸和系統(tǒng)成本。Flash存儲器可以通過JTAG/ICE接口或者廠家編寫的Flash Uploader軟件進行編程,從而使AT91FR40162適合于在系統(tǒng)可編程應(yīng)用。 1 功能框圖及產(chǎn)品特點 AT91FR40162的功能框圖如 圖1所示。 2 體系結(jié)構(gòu) AT91FR40162是由Atmel公司的AT91R40008 ARM/Thumb微控制器和1個AT49BV1604A/1614A 16Mbit Flash存儲器集成的121-ball BGA封裝器件。除了Flash存儲器使能信號以外的所有地址、數(shù)據(jù)和控制信號都是內(nèi)部互連的。 AT91R40008體系結(jié)構(gòu)包括2條主要總線:先進的系統(tǒng)總線ASB和先進的外圍總線APB。ASB被設(shè)計為最佳性能,由存儲控制器控制。ARM7TDMI通過ASB與片內(nèi)32位存儲器、外部總線接口EBI和AMBA橋進行接口。AMBA橋驅(qū)動APB,APB被設(shè)計用于訪問片內(nèi)外圍并且進行了低功耗優(yōu)化。 AT91FR40162將ARM7TDMI處理器的ICE端口接到一些專用的引腳上,從而為目標調(diào)試提供了完整、低價且易用的調(diào)試解決方案。 2.1 存儲器 AT91FR40162嵌入了256 KB的內(nèi)部SRAM。這個內(nèi)部存儲器是單周期訪問的,它直接與32位數(shù)據(jù)總線相連。這樣通過使用微控制器的ARM指令集在66 MHz下可以提供60 MIPS的最高性能,同時降低了系統(tǒng)功耗。AT91FR40162以擁有1個外部總線接口EBI為特性,它用于連接外部存儲器和專用外圍設(shè)備。EBI支持8或16位器件并且可以使用2個8位器件來仿真1個16位器件。EBI執(zhí)行早讀協(xié)議,與標準的存儲器接口相比,能夠提供更快的存儲器訪問速度。AT91FR40162嵌入了1個由1024K個16位字組成的Flash存儲器,通過EBI可以訪問它。Flash的主要功能是作為程序存儲器。1條16位的Thumb指令可以在1個訪問周期從Flash存儲器被加載。分離的MCU和Flash復(fù)位輸入(NRST和NRSTF)是為了得到最大的系統(tǒng)靈活性,方便用戶自由地根據(jù)應(yīng)用選擇復(fù)位操作。AT91FR40162集成了一個叫作AT91 Flash Uploader的駐留引導(dǎo)軟件。AT91 Flash Uploader軟件能夠向Flash存儲器加載應(yīng)用軟件。 2.2 外 圍 AT91FR40162集成了多個外圍,它們被分成2類:系統(tǒng)外圍和用戶外圍。所有的片內(nèi)外圍都可以通過AMBA橋接受32位的訪問。外圍寄存器由控制寄存器、模式寄存器、數(shù)據(jù)寄存器、狀態(tài)寄存器和使能/禁止/狀態(tài)寄存器組成。外圍數(shù)據(jù)控制器PDC在片內(nèi)USART和片內(nèi)或片外的存儲器之間傳輸數(shù)據(jù),并且無需處理器的介入。最重要的一點是,PDC消除了數(shù)據(jù)傳輸中斷的額外開銷,從而在不需要重新編程起始地址的情況下可以連續(xù)傳輸高達64 KB的數(shù)據(jù)。這樣不僅增加了微控制器的性能,而且降低了功耗。 (1)系統(tǒng)外圍 外部總線接口(EBI)通過1條8位或16位數(shù)據(jù)總線控制外部存儲器或外部設(shè)備,它通過APB被編程。每一條芯片選擇口線有它自己的編程寄存器。省電模塊(PS)實現(xiàn)空閑模式(ARM7TDMI核時鐘停止直到有下一個中斷),并且允許用戶根據(jù)應(yīng)用需求調(diào)整微控制器的功耗(由獨立的外圍時鐘控制)。先進的中斷控制器AIC控制來自內(nèi)部外圍的中斷源和4個外部中斷口線(包括FIQ),從而為ARM7TDMI提供中斷或/和外部中斷請求。它通過集成1個8優(yōu)先級中斷控制器以及使用自動向量特性,降低了中斷延遲時間。并行輸入/輸出控制器PIO控制高達32條I/O口線。它使用戶可以選擇特定的引腳作為片內(nèi)外圍的輸入輸出,或者作為通用的輸入/輸出信號??梢跃幊蘌IO控制器來檢測每條線上的信號發(fā)生變化引起的中斷??撮T狗定時器WD用于防止當軟件進入死鎖陷阱時產(chǎn)生系統(tǒng)鎖定。特殊功能SF模塊集成了芯片ID、復(fù)位狀態(tài)和保護寄存器。 (2)用戶外圍 2個獨立配置的USART可以高波特率進行同步或異步通信。每一個USART還包含1個超時寄存器和1個時間確保(Time Guard)寄存器,從而方便了2個專用外圍數(shù)據(jù)控制器PDC通道的使用。 3通道16位的定時器/計數(shù)器TC是高度可編程的,它支持捕獲或波形模式。每一個TC通道可以被編程為測量或生成不同類型的波形,并且可以檢測和控制2個輸入/輸出信號。TC有3個外部時鐘信號。 3 AT91FR40162性能概述 AT91FR40162主要由AT91R40008和16 Mbit的Flash存儲器組成。因此AT91FR40162的許多性能與AT91R40008是一樣的。 (1)電 源 AT91R40008微控制器有2種類型的供電引腳: ◇ VDDCORE引腳,它為內(nèi)核提供電源(包括ARM7TDMI、嵌入的存儲器和外圍); ◇ VDDIO引腳,它為I/O線提供電源。 一個獨立的I/O電源允許靈活地進行調(diào)整以適應(yīng)外部元件的信號電平。 (2)輸入/輸出 AT91FR40162的I/O引腳所接受的電平以VDDIO的供電為限。復(fù)位以后,微控制器的外圍I/O初始化成輸入以提供給用戶最大的靈活性。在每個應(yīng)用階段,微控制器的輸入最好保持在有效的邏輯電平,以降低功耗。 (3)主時鐘 如果MCKI引腳由1個外部源提供,那么AT91FR40162則為一個完全靜態(tài)的設(shè)計,并工作于主時鐘MCK(Master Clock)下。 主時鐘還在引腳MCKO上作為器件的輸出,這個引腳與一個通用I/O線復(fù)用。當NRST處于活動狀態(tài)并且發(fā)生復(fù)位后,MCKO有效并輸出MCK信號的映像。必須編程PIO控制器來使用這個引腳作為標準I/O線。 (4)復(fù) 位 復(fù)位操作將使用戶接口寄存器恢復(fù)其缺省狀態(tài)(在每一個外圍的用戶接口中定義),并強制ARM7TDMI從地址0執(zhí)行對下一條指令的取指操作。除了程序計數(shù)器之外的其它ARM7TDMI寄存器則沒有定義復(fù)位狀態(tài)。 (5)NRST引腳 NRST是低電平激活的輸入引腳。它被異步激活,但是從復(fù)位退出是與MCK內(nèi)部同步的。MCKI上出現(xiàn)的信號必須在NRST上升沿之前最少10個時鐘周期內(nèi)有效,以確保操作的正確性。第1個取指操作出現(xiàn)在NRST上升沿之后的80個時鐘周期。 (6)看門狗定時器復(fù)位 看門狗定時器可以被編程用來產(chǎn)生1個內(nèi)部復(fù)位。在這種情況下的復(fù)位操作與激活NRST引腳有同樣的效果,但是引腳BMS和NTRI不被采樣。引導(dǎo)模式和三態(tài)模式不被更新。如果NRST引腳被激活并且看門狗定時器觸發(fā)內(nèi)部復(fù)位,那么NRST引腳具有優(yōu)先權(quán)。 (7)仿真功能 ◇ 三態(tài)模式 AT91FR40162微控制器提供了1個用于調(diào)試目的的三態(tài)模式。它使能仿真探頭與目標板連接,而不必先從目標板焊下器件。在三態(tài)模式下,AT91R40008微控制器的所有輸出引腳驅(qū)動器都是禁止的。在三態(tài)模式下,提供通過外部引腳對Flash的直接訪問。這就使得在裝配板子之前可以使用傳統(tǒng)的Flash編程器對Flash進行編程。為了進入三態(tài)模式,NTRI引腳必須在NRST上升沿之前的最后10個時鐘周期內(nèi)保持低電平。對于正常的操作,NTRI引腳必須通過1個高達400 kΩ的電阻復(fù)位為高電平。NTRI與I/O線P21和USART1串行數(shù)據(jù)傳輸線TXD1多路復(fù)用。 ◇ JTAG/ICE調(diào)試 JTAG/ICE端口支持ARM標準的嵌入式在線仿真。引腳TDI、TDO、TCK和TMS專門用于這種調(diào)試功能,并且可以通過外部ICE接口與一個主機相連。在ICE調(diào)試模式下,ARM7TDMI核以非JTAG芯片ID作為響應(yīng)來標識微控制器。這一點不完全符合IEEE1149.1標準。 (8)存儲控制器 ARM7TDMI處理器的地址空間為4 GB。存儲控制器對內(nèi)部的32位地址總線進行譯碼并定義了3種地址空間: ◇ 位于最低4 MB的內(nèi)部存儲器空間; ◇ 中間的地址空間為EBI控制的外部設(shè)備(存儲器或外圍)所保留; ◇ 位于最高4 MB的內(nèi)部外圍空間。 不論在哪一個地址空間,ARM7TDMI只運行于小端模式。 ◇ 內(nèi)部存儲器 AT91FR40162微控制器集成了內(nèi)部SRAM。所有的內(nèi)部存儲器都是32位寬,并且支持字節(jié)(8位)、半字(16位)和字(32位)訪問,且這些訪問都是單周期的。內(nèi)部SRAM支持Thumb和ARM兩種取指方式,并且內(nèi)部存儲器可以存儲比ARM指令多1倍的Thumb指令。AT91FR40162微控制器集成了1個256 KB的SRAM存儲體。這個存儲體映射到地址0x0(重映射命令后),并且允許通過軟件修改0x0到0x20之間的ARM7TDMI異常向量。把SRAM放置在片內(nèi)并使用32位的數(shù)據(jù)總線帶寬增加了微控制器的性能,降低了系統(tǒng)功耗。32位總線與16位相比帶寬增加,從而提高了使用ARM指令集和數(shù)據(jù)處理的效率,這是對ARM7TDMI 先進性能的最佳使用。能夠在256 KB的SRAM中動態(tài)地更新應(yīng)用軟件是AT91FR40162的另一特性。 ◇ 引導(dǎo)模式選擇 ARM復(fù)位向量在地址0x0。NRST口線被釋放后,ARM7TDMI執(zhí)行存儲于這個地址的指令。這就意味著復(fù)位之后這個地址必須映射到非易失的存儲器中。NRST上升沿之前的10個時鐘周期期間BMS引腳上的輸入用來選擇引導(dǎo)存儲器的類型,如表1所列。如果嵌入的Flash存儲器用作引導(dǎo)存儲器,BMS輸入必須被外部拉低,并且NCS0必須在外部與NCS7連接。
引腳BMS與I/O線P24復(fù)用。復(fù)位以后,P24可以與任何標準的PIO線一樣被編程。 ◇ Flash存儲器 16 Mbit的Flash存儲器由1 048 576個16位字組成。Flash存儲器通過EBI進行16位字尋址。它使用地址線A1~A20。 除了Flash存儲器使能信號以外,所有的地址、數(shù)據(jù)和控制信號都是內(nèi)部互連的。用戶應(yīng)當把Flash存儲器使能信號(NCSF)和1個EBI上低電平有效的片選信號相連接。如果Flash存儲器作為引導(dǎo)存儲器使用,那么必須使用NCS0;同時BMS必須被外部拉低,以使處理器在復(fù)位后可以執(zhí)行正確的16位取指操作。 引導(dǎo)時,必須為EBI配置正確的標準等待狀態(tài)數(shù)目。例如,當微控制器運行于66 Hz時,需要5個標準等待狀態(tài)。 用戶必須確保所有的VDDIO、VDDCORE和所有的GND引腳通過最短的路線連接到各自的電源。Flash存儲器在讀模式下加電。命令序列用于將此器件置于其它的操作模式下,例如編程和擦除。 為了增加靈活性而提供的分離的Flash存儲器復(fù)位輸入引腳(NRSTF),使能復(fù)位操作以適應(yīng)具體應(yīng)用。當這個輸入為邏輯高電平時,存儲器處于它的標準操作模式;當這個輸入為邏輯低電平時,暫停當前的存儲器操作并使它的輸出置于高阻狀態(tài)。 Flash存儲器的一個特性是它采用數(shù)據(jù)查詢來檢測一個編程周期的結(jié)束。當處于編程周期時,一個試圖讀取最后一個寫入字的操作在I/O7上返回寫入數(shù)據(jù)的補碼值。開漏NBUSY輸出引腳提供另一種檢測編程周期或擦除周期是否結(jié)束的方法。當處于編程或擦除周期時,這個引腳被拉低,這個周期結(jié)束以后引腳恢復(fù)高電平。使用1個翻轉(zhuǎn)位提供了檢測編程或擦除周期是否結(jié)束的第3種方法。 Flash存儲器被分為2個存儲區(qū)(plane)。當從一個存儲區(qū)執(zhí)行讀操作時,在另一個存儲區(qū)可以同時執(zhí)行編程或擦除功能。這一特性使得在執(zhí)行讀操作之前不需要系統(tǒng)等待一個編程或擦除周期的完成,從而增強了系統(tǒng)的性能。 為了方便擦除操作,F(xiàn)lash存儲器被分成了39個扇區(qū)。為了進一步增強器件靈活性,還提供了擦除掛起特性。這一特性使得擦除周期被掛起一段不確定的時間,并允許用戶執(zhí)行從同一個存儲區(qū)內(nèi)任何一個其它扇區(qū)的讀數(shù)據(jù)操作或向其寫數(shù)據(jù)的操作。如果所讀的數(shù)據(jù)在另一個存儲區(qū),則不需要掛起擦除周期。 此器件具有保護存儲在任一扇區(qū)中的數(shù)據(jù)不被破壞的能力。一旦對于某個扇區(qū)的數(shù)據(jù)保護被使能,那么,當輸入電平處于地和VDDIO之間時,那個扇區(qū)的數(shù)據(jù)不能被改變。 1個可選的VPP引腳用于增加編程/擦除次數(shù)。 以6字節(jié)命令序列進入的單脈沖編程模式(Single Pulse Program Mode)允許器件使用寫控制線上的單脈沖直接被寫入。通過器件掉電或者使NRSTF引腳為低電平并至少保持50 ns,然后將其恢復(fù)為VDDIO,退出單脈沖編程模式。 以下硬件特性保護Flash存儲器,避免其不小心被編程: ◇ VDDIO敏感--如果VDDIO低于1.8 V(典型情況),編程功能被禁止; ◇ VDDIO上電延遲--一旦VDDIO到達VDDIO的敏感電平,器件將自動地在編程之前超時10 ms(典型情況); ◇ 編程禁止--保持OE為低、CE為高或WE為高中的任意一個,將禁止編程周期; ◇ 噪聲濾波--出現(xiàn)于WE或CE輸入上的低于15 ns(典型情況)的脈沖將不會啟動編程周期。 4 AT91 Flash Uploader軟件 所有基于Flash的AT91器件都配備一個叫作AT91 Flash Uploader的預(yù)編程軟件,它駐留在嵌入的Flash存儲器的第1個扇區(qū)。Flash Uploader允許通過串口向嵌入的Flash編程。Flash Uploader可以使用任一個片內(nèi)USART。Flash Uploader的運行環(huán)境如圖2所示。 (1)Flash Uploader操作 Flash Uploader軟件需要使用嵌入的Flash存儲器作為引導(dǎo)存儲器,還需要為MCKI提供1個有效的時鐘。復(fù)位以后,F(xiàn)lash Uploader立即復(fù)制軟件本身到內(nèi)部的SRAM并跳轉(zhuǎn)到那里。隨后的操作將只需要這個存儲器資源。所執(zhí)行的外部訪問只是編程嵌入的Flash存儲器。 開始以后,處理器初始化2個USART的RXD引腳的PIO輸入變化中斷。中斷出現(xiàn)時,啟動1個定時器/計數(shù)器通道;當在RXD線上檢測到下一個輸入變化時,則停止這個定時器/計數(shù)器通道。這就解釋了如何測量第1個字符長度,以及如何通過計算器件主時鐘和實際通信時的波特率速度之間的比率來初始化USART。然后,編程系統(tǒng)便可以按照編程Flash器件所規(guī)定的協(xié)議發(fā)送命令和數(shù)據(jù)。為了最低限度地降低Flash Uploader被擦除和電源被關(guān)閉的危險,最后才由編程系統(tǒng)來擦除和編程Flash的第1個扇區(qū)。當Flash Uploader從第1個扇區(qū)被擦除時,如果新的最終應(yīng)用程序還沒有被編程并且目標系統(tǒng)的電源被關(guān)閉,那么,將導(dǎo)致一個不可恢復(fù)的錯誤,并且AT91FR40162不能再通過使用Flash Uploader被重新編程。 (2)編程系統(tǒng) Atmel公司提供了一個免費的Host Loader軟件,運行于Windows 95或Windows 98操作系統(tǒng)下的IBM PC兼容機上??梢詮腁tmel網(wǎng)站下載此軟件,并且只需要1根串行電纜線來連接主機和目標機??梢赃x擇使用COM1或COM2實行通信,同時串行鏈路的速度被限制為115 200 baud。由于串行鏈路速度是配置瓶頸,因此,F(xiàn)lash編程每1 MB需要持續(xù) 110 s。 通過使用一個快速的編程系統(tǒng)可以減少編程時間。AT91評估板可以使一個串行鏈路運行到500 K位/s,并且可以匹配Flash所允許的最快編程速度。例如,當字編程成為瓶頸時,編程速度可以達到40 s/MB。 結(jié)束語 隨著后PC時代的進入,嵌入式系統(tǒng)已經(jīng)無所不在。手機、汽車、航空航天以及軍事裝備等各個領(lǐng)域都能看到嵌入式系統(tǒng)的身影;而微控制器則正是嵌入式系統(tǒng)的核心部件。AT91FR40162是Atmel公司AT91系列微控制器中的一種,這一系列的微控制器是低功耗、32位性能和16位系統(tǒng)價位的最佳組合。AT91FR40162在AT91R40008的基礎(chǔ)上增加了16 Mbit的Flash存儲器,F(xiàn)lash存儲器的可編程性為用戶使用該芯片提供了更大的靈活性。AT91FR40162為嵌入式應(yīng)用提供了又一種可選的性價比較高的微控制器。 | ||||||
評論