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