AT91FR40161微控制器:嵌入式設計的理想之選
在嵌入式系統開發領域,選擇一款合適的微控制器至關重要。今天,我們就來深入探討Atmel公司的AT91FR40161微控制器,了解它的特性、架構、應用以及相關設計要點。
文件下載:AT91FR40161-CI.pdf
一、產品概述
AT91FR40161是Atmel AT91 16/32位微控制器家族的一員,基于ARM7TDMI處理器內核。它具有高性能的32位RISC架構和高密度的16位指令集,功耗極低。大量內部存儲的寄存器使得異常處理速度極快,非常適合實時控制應用。其八層優先級向量中斷控制器與外設數據控制器相結合,顯著提升了實時設備的性能。
該微控制器將超過1 Mbit的片上SRAM、豐富的外設功能和16 Mbits的Flash存儲器集成在一個緊湊的120球BGA封裝中,為許多計算密集型嵌入式控制應用提供了強大、靈活且經濟高效的解決方案,同時還能顯著減小電路板尺寸和降低系統成本。
二、特性亮點
處理器內核與架構
- ARM7TDMI內核:采用ARM7TDMI? ARM? Thumb?處理器內核,具備高性能32位RISC架構和高密度16位指令集,在MIPS/Watt方面表現出色,還集成了嵌入式ICE(在線仿真)功能。
- 雙總線架構:由高級系統總線(ASB)和高級外設總線(APB)組成。ASB用于ARM7TDMI處理器與片上32位存儲器、外部總線接口(EBI)和AMBA?橋的接口,以實現高性能;APB則用于訪問片上外設,優化了功耗。
存儲器配置
- SRAM:片內集成136 Kbytes的SRAM,直接連接到32位數據總線,單周期可訪問,使用處理器的ARM指令集在33 MHz時可實現30 MIPS的最大性能,降低了系統功耗。
- Flash存儲器:擁有1024K字的16位Flash存儲器(2M字節),支持單電壓讀寫,具有扇區擦除架構和擦除暫停功能,雙平面組織允許同時進行讀和編程/擦除操作,還具備數據輪詢、切換位和就緒/繁忙程序周期結束檢測等特性。此外,還集成了AT91 Flash Uploader軟件,方便程序應用軟件的上傳。
- 外部總線接口(EBI):可編程的外部總線接口,支持最多八個片選信號,最大外部地址空間為64M字節,軟件可編程8/16位外部數據總線,采用早期讀取協議,可實現比標準存儲器接口更快的存儲器訪問。
外設功能
- 中斷控制器:8級優先級、可單獨屏蔽的向量中斷控制器,包含四個外部中斷,其中一個為高優先級低延遲中斷請求。
- I/O端口:32個可編程I/O線,可靈活配置為各種外設的輸入輸出。
- 定時器/計數器:3通道16位定時器/計數器,每個通道有三個外部時鐘輸入和兩個多功能I/O引腳。
- USART:兩個USART,每個USART有兩個專用的外設數據控制器(PDC)通道,可實現高速同步或異步通信。
- 看門狗定時器:可編程看門狗定時器,可防止軟件陷入死鎖導致系統鎖定。
- 電源管理:具備先進的節能特性,CPU和外設可單獨停用,支持0 Hz至33 MHz的內部頻率范圍(3.0V,85°C),工作電壓范圍為2.7V至3.6V,溫度范圍為 -40°C至85°C。
三、引腳配置與功能
AT91FR40161的引腳配置豐富,涵蓋了地址總線、數據總線、片選信號、時鐘信號、復位信號等多種功能引腳。每個引腳都有明確的功能定義,例如:
- 地址總線(A0 - A23):用于傳輸地址信息,復位后有效,注意不要將A20重新編程為I/O,因為它是Flash地址的最高有效位。
- 數據總線(D0 - D15):用于數據的輸入輸出。
- 片選信號(NCS0 - NCS3、CS4 - CS7):用于選擇外部設備,有低電平有效和高電平有效之分。
詳細的引腳描述和功能說明在文檔的表格中進行了清晰的闡述,設計時需要根據具體的應用場景進行合理的引腳分配和連接。
四、工作模式與操作
電源供應與時鐘
- 電源:采用單一電源引腳(V_{DD}),為I/O焊盤和內核供電,支持2.7V至3.6V的電壓范圍。
- 時鐘:具有全靜態設計,主時鐘(MCK)由外部源通過MCKI引腳提供,MCKO引腳可輸出主時鐘信號,該引腳與通用I/O線復用,需要通過PIO控制器進行編程配置。
復位操作
- NRST引腳復位:NRST為低電平有效輸入,異步斷言,但退出復位時與MCK內部同步。為確保正確操作,MCKI上的信號在NRST上升沿之前至少10個時鐘周期內必須有效,處理器在NRST上升沿后80個時鐘周期進行首次取指。
- 看門狗復位:看門狗可編程產生內部復位,效果與NRST引腳斷言相同,但不采樣BMS和NTRI引腳,不更新啟動模式和三態模式。若NRST引腳被斷言且看門狗觸發內部復位,NRST引腳具有優先級。
仿真功能
- 三態模式:用于調試,可在不拆卸目標板上的器件的情況下連接仿真探頭。進入三態模式時,AT91R40807微控制器的所有輸出引腳驅動禁用,可通過外部引腳直接訪問Flash,便于在板安裝前使用標準閃存編程器進行生產閃存編程。進入該模式需在NRST上升沿前的最后十個時鐘周期將NTRI引腳保持低電平,正常操作時需通過高達400 kΩ的電阻將NTRI引腳在復位期間保持高電平。
- JTAG/ICE調試:支持ARM標準嵌入式在線仿真,TDI、TDO、TCK和TMS引腳專門用于此調試功能,可通過外部ICE接口連接到主機計算機。在ICE調試模式下,ARM7TDMI內核會響應一個非JTAG芯片ID來識別微控制器,但不完全符合IEEE1149.1標準。
內存控制與啟動模式
- 內存控制器:ARM7TDMI處理器地址空間為4 Gbytes,內存控制器對內部32位地址總線進行解碼,定義了三個地址空間:最低的四兆字節為內部存儲器,中間為EBI控制的外部設備(存儲器或外設)預留空間,最高的四兆字節為內部外設空間。ARM7TDMI僅在小端模式下運行。
- 啟動模式選擇:ARM復位向量位于地址0x0,NRST線釋放后,ARM7TDMI執行該地址存儲的指令。BMS引腳在NRST上升沿前的最后10個時鐘周期的輸入電平決定了啟動存儲器的類型,高電平選擇內部32位擴展SRAM,低電平選擇NCS0上的外部16位存儲器。若要使用嵌入式Flash存儲器作為啟動存儲器,需將BMS輸入外部拉低,并將NCS0外部連接到NCSF。
- 重映射命令:ARM向量(復位、中止、數據中止、預取中止、未定義指令、中斷、快速中斷)從地址0x0映射到地址0x20。通過重映射命令可在啟動存儲器和內部主SRAM存儲體地址之間切換,該命令可通過EBI用戶界面寫入EBI_RCR(重映射控制寄存器)的RCB來實現。若需要訪問其他外部設備(連接到片選1至7),則必須執行重映射命令,且重映射操作只能通過內部復位或NRST斷言來恢復。
外部總線接口與Flash操作
- 外部總線接口(EBI):處理地址0x0040 0000至0xFFC0 0000之間的訪問,可生成控制外部設備訪問的信號,可配置為八個1兆字節的存儲體至四個16兆字節的存儲體,支持字節、半字和字對齊訪問。用戶可對每個存儲體的等待狀態數、數據浮動時間、數據總線寬度等進行編程,還具有早期讀取協議,可顯著減少外部設備在單時鐘周期訪問時的訪問時間要求。
- Flash存儲器:2 Mbyte的Flash存儲器組織為1,048,576個16位字,通過EBI進行尋址,使用地址線A1 - A20。除Flash存儲器使能信號外,地址、數據和控制信號在內部互連。用戶需將Flash存儲器使能(NCSF)連接到EBI上的一個低電平有效片選信號,若Flash存儲器用作啟動存儲器,則必須使用NCS0,且BMS輸入必須外部拉低。啟動時,EBI需配置正確數量的標準等待狀態。Flash存儲器具有數據輪詢、開放漏極NBUSY輸出引腳和切換位功能,可檢測程序或擦除周期的結束。它分為兩個存儲平面,可在一個平面進行程序或擦除操作時從另一個平面進行讀取。此外,它還被劃分為39個扇區,具有擦除暫停功能,可保護任何扇區的數據,還提供可選的VPP引腳以提高程序/擦除時間。
AT91 Flash Uploader軟件
所有基于Flash的AT91設備都預裝了AT91 Flash Uploader軟件,該軟件位于嵌入式Flash的第一個扇區,允許通過串口對嵌入式Flash進行編程,可使用片上的任意一個USART。操作時,需要將嵌入式Flash用作AT91FR40161的啟動存儲器,并向MCKI提供有效時鐘。復位后,Flash Uploader會立即將自身復制到內部SRAM并跳轉執行,后續操作僅使用該內存資源,外部訪問僅用于對嵌入式Flash進行編程。編程系統通過專有協議發送命令和數據,最后一步需由編程系統擦除并編程Flash的第一個扇區,以降低Flash Uploader被擦除且電源關閉的風險。
外設操作
- 外設寄存器:AT91FR40161的外設連接到32位寬的高級外設總線,外設寄存器僅支持字訪問,字節和半字訪問將被自動屏蔽最低地址位并生成字訪問。每個外設都有16 Kbyte的地址空間(AIC僅有4 Kbyte),常見的外設寄存器包括控制寄存器(寫唯一寄存器,寫入1觸發命令)、模式寄存器(定義外設配置)、數據寄存器(用于處理器與外設之間的數據交換)、狀態寄存器(返回外設狀態)和啟用/禁用/狀態寄存器(用于外設中斷源的啟用和禁用)。
- 外設中斷控制:每個外設的中斷控制通過狀態寄存器使用中斷掩碼進行控制,狀態寄存器位與相應的中斷掩碼位進行與運算,結果進行或運算以生成中斷源信號發送到高級中斷控制器。中斷掩碼可在中斷掩碼寄存器中讀取,并通過中斷使能寄存器和中斷禁用寄存器進行修改,可使用不可中斷的單條指令啟用或禁用外設中斷源,避免了在AIC或內核級別進行中斷屏蔽。
- 外設數據控制器(PDC):AT91FR40161有4個通道的PDC,專門用于兩個片上USART。每個USART的接收器和發送器各有一個PDC通道,PDC通道的用戶界面集成在每個USART的內存空間中,包含32位地址指針寄存器(RPR或TPR)和16位傳輸計數器寄存器(RCR或TCR)。當執行完編程的傳輸次數后,USART狀態寄存器中的傳輸結束狀態位將被設置,并可生成中斷。
五、系統與用戶外設
系統外設
- 電源管理(PS):優化功耗,可使軟件停止ARM7TDMI時鐘(空閑模式),并在模塊接收到中斷(或復位)時重新啟動。還可單獨啟用和禁用片上外設時鐘,以匹配功耗和應用需求。
- 高級中斷控制器(AIC):具有8級優先級、可單獨屏蔽的向量中斷控制器,驅動ARM7TDMI的NIRQ和NFIQ引腳,可處理外部快速中斷線(FIQ)和片上外設的中斷信號。具有廣泛的可編程性和向量特性,可減少實時中斷處理的開銷,還具有偽向量檢測功能和保護模式,便于調試。
- 并行I/O控制器(PIO):擁有32個可編程I/O線,其中六個引腳作為通用I/O引腳,其他I/O線與外設的外部信號復用,以優化封裝引腳的使用。可在輸入變化時生成中斷,并在任何PIO引腳插入簡單的輸入毛刺濾波器。
- 看門狗(WD):基于16位計數器構建,用于防止軟件陷入死鎖導致系統鎖定,可生成內部復位或中斷,或在專用引腳NWDOVF上斷言有效電平。所有編程寄存器都受密碼保護,以防止意外編程。
- 特殊功能(SF):提供實現芯片識別、復位狀態和保護模式等特殊功能的寄存器。
用戶外設
- USART:提供兩個相同的全雙工通用同步/異步接收器/發送器,每個USART有自己的波特率發生器和兩個專用的外設數據控制器通道。數據格式包括起始位、最多8個數據位、可選的可編程奇偶校驗位和最多2個停止位,還具有接收器超時寄存器和時間保護寄存器,便于與PDC配合工作和與慢速遠程設備接口。
- 定時器/計數器(TC):包含三個相同的16位定時器/計數器通道,每個通道可獨立編程,執行頻率測量、事件計數、間隔測量、脈沖生成、延遲定時和脈沖寬度調制等多種功能。可在捕獲或波形模式下使用,三個計數器通道可同時啟動并鏈接在一起。
六、訂購與封裝信息
訂購信息
AT91FR40161的訂購代碼為AT91FR40161 - CI,采用BGA 120封裝,適用于工業溫度范圍( -40°C至85°C)。
封裝信息
該微控制器采用120球球柵陣列(BGA)封裝,文檔中提供了詳細的封裝圖紙和相關尺寸信息,包括球直徑、球焊盤、阻焊層開口、鍍覆材料、焊球材料、濕度敏感度等級等。同時,還給出了熱阻數據、最大重量以及推薦的焊接曲線,設計時需要嚴格按照這些參數進行電路板設計和焊接操作,以確保器件的性能和可靠性。
七、總結與思考
AT91FR40161微控制器憑借其強大的處理器內核、豐富的存儲器配置、多樣的外設功能以及靈活的操作模式,為嵌入式系統設計提供了一個全面而強大的解決方案。在實際應用中,電子工程師需要根據具體的項目需求,合理配置引腳、選擇合適的啟動模式、優化外設使用,以充分發揮該微控制器的性能優勢。同時,對于調試和編程功能的掌握,也有助于提高開發效率和產品的穩定性。
大家在使用AT91FR40161微控制器時,是否遇到過一些獨特的問題或有一些巧妙的應用經驗呢?歡迎在評論區分享交流。
-
微控制器
+關注
關注
49文章
8662瀏覽量
165284 -
嵌入式設計
+關注
關注
0文章
398瀏覽量
22521
發布評論請先 登錄
AT91FR40161微控制器:嵌入式設計的理想之選
評論