Atmel SAM7S系列ARM微控制器深度解析
一、引言
在嵌入式系統(tǒng)的設(shè)計領(lǐng)域,微控制器的選擇至關(guān)重要。Atmel的SAM7S系列ARM微控制器憑借其高性能、低功耗以及豐富的外設(shè)功能,成為眾多工程師的首選。今天,我們就來深入剖析這款微控制器的特點(diǎn)、性能及應(yīng)用。
二、SAM7S系列概述
SAM7S系列是基于32位ARM RISC處理器的低引腳數(shù)閃存微控制器。它集成了高速閃存和SRAM,擁有豐富的外設(shè),如USB 2.0設(shè)備(除SAM7S32和SAM7S16外),還具備完整的系統(tǒng)功能,能最大程度減少外部組件的使用。對于尋求更高性能和更大內(nèi)存的8位微控制器用戶來說,SAM7S系列是理想的升級選擇。
2.1 不同型號配置差異
| SAM7S系列包含SAM7S512、SAM7S256、SAM7S128、SAM7S64、SAM7S321、SAM7S32、SAM7S161和SAM7S16等型號,它們在內(nèi)存大小、外設(shè)配置和封裝形式上有所不同。具體配置總結(jié)如下: | 設(shè)備 | 閃存 | TWI | 閃存組織 | SRAM | USB設(shè)備端口 | USART | 外部中斷源 | PDC通道 | TC通道 | I/O 5V耐受 | I/O線 | 封裝 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SAM7S512 | 512 Kbytes | 主模式 | 雙平面 | 64 Kbytes | 有 | 2個 | 2個 | 11個 | 3個 | 是 | 32 | LQFP/QFN 64 | |
| SAM7S256 | 256 Kbytes | 主模式 | 單平面 | 64 Kbytes | 有 | 2個 | 2個 | 11個 | 3個 | 是 | 32 | LQFP/QFN 64 | |
| SAM7S128 | 128 Kbytes | 主模式 | 單平面 | 32 Kbytes | 有 | 2個 | 2個 | 11個 | 3個 | 是 | 32 | LQFP/QFN 64 | |
| SAM7S64 | 64 Kbytes | 主模式 | 單平面 | 16 Kbytes | 有 | 2個 | 2個 | 11個 | 3個 | 是 | 32 | LQFP/QFN 64 | |
| SAM7S321 | 32 Kbytes | 主模式 | 單平面 | 8 Kbytes | 有 | 2個 | 2個 | 11個 | 3個 | 是 | 32 | LQFP/QFN 64 | |
| SAM7S32 | 32 Kbytes | 主模式 | 單平面 | 8 Kbytes | 無 | 1個 | 1個 | 9個 | 3個(僅2個通道可通過PIO訪問) | 是 | 21 | LQFP/QFN 48 | |
| SAM7S161 | 16 Kbytes | 主/從模式 | 單平面 | 4 Kbytes | 有 | 2個 | 2個 | 11個 | 3個 | 否 | 32 | LQFP | |
| SAM7S16 | 16 Kbytes | 主/從模式 | 單平面 | 4 Kbytes | 無 | 1個 | 1個 | 9個 | 3個(僅2個通道可通過PIO訪問) | 否 | 21 | LQFP/QFN 48 |
除SAM7S32/16外,其他SAM7S設(shè)備在封裝和引腳排列上是兼容的,這為工程師在不同型號之間進(jìn)行切換提供了便利。
三、硬件特性
3.1 處理器與架構(gòu)
- ARM7TDMI處理器:基于ARMv4T馮·諾依曼架構(gòu)的RISC處理器,最高運(yùn)行頻率可達(dá)55 MHz,每MHz能提供0.9 MIPS的性能。支持ARM?高性能32位指令集和Thumb?高代碼密度16位指令集,采用三級流水線架構(gòu)(指令獲取、指令解碼、執(zhí)行),能有效提高指令執(zhí)行效率。
- 調(diào)試與測試特性:集成了EmbeddedICE?(嵌入式在線仿真器),具備兩個觀察點(diǎn)單元,可通過JTAG協(xié)議訪問測試端口,支持調(diào)試通信通道。還擁有調(diào)試單元,包括雙引腳UART、調(diào)試通信通道中斷處理、芯片ID寄存器以及IEEE1149.1 JTAG邊界掃描功能,方便工程師進(jìn)行調(diào)試和測試。
- 內(nèi)存控制器:負(fù)責(zé)處理ARM7TDMI和外設(shè)DMA控制器的請求,通過地址解碼器為三個內(nèi)部1 Mbyte內(nèi)存區(qū)域和一個256 Mbyte嵌入式外設(shè)區(qū)域提供選擇信號。具備中止?fàn)顟B(tài)寄存器,可保存導(dǎo)致中止的訪問源、類型和所有參數(shù),便于調(diào)試。還有未對齊檢測器,能對所有數(shù)據(jù)訪問進(jìn)行對齊檢查,在未對齊時生成中止信號。支持重映射命令,可將SRAM重映射到嵌入式非易失性內(nèi)存的位置,方便處理動態(tài)異常向量。嵌入式閃存控制器提供高達(dá)三個可編程等待狀態(tài)的閃存接口,帶有預(yù)取緩沖區(qū),能緩沖和預(yù)測16位請求,減少所需的等待狀態(tài)。
- 外設(shè)DMA控制器:負(fù)責(zé)處理外設(shè)與內(nèi)存之間的數(shù)據(jù)傳輸。SAM7S512/256/128/64/321/161有11個通道,SAM7S32/16有9個通道。每個USART、調(diào)試單元、串行同步控制器、串行外設(shè)接口和模數(shù)轉(zhuǎn)換器都有對應(yīng)的通道。總線仲裁開銷低,從內(nèi)存到外設(shè)的傳輸只需一個主時鐘周期,從外設(shè)到內(nèi)存的傳輸需要兩個主時鐘周期。通過下一個指針管理可減少中斷延遲要求,各通道有不同的優(yōu)先級。
3.2 內(nèi)存
- 內(nèi)部SRAM:不同型號的SRAM大小不同,如SAM7S512和SAM7S256為64 Kbytes,SAM7S128為32 Kbytes,SAM7S64為16 Kbytes,SAM7S321/32為8 Kbytes,SAM7S161/16為4 Kbytes。復(fù)位后,SRAM在地址0x0020 0000處可訪問,執(zhí)行重映射命令后,也可在地址0x0處訪問。
- 內(nèi)部ROM:包含快速閃存編程接口(FFPI)和SAM - BA程序,但默認(rèn)情況下不進(jìn)行映射。
- 內(nèi)部閃存:不同型號的閃存容量和組織方式不同。例如,SAM7S512采用雙平面組織,有兩個連續(xù)的1024頁,每頁256字節(jié);其他型號大多采用單平面組織。閃存具有快速訪問時間,在最壞情況下可實(shí)現(xiàn)30 MHz單周期訪問。頁編程時間為6 ms(包括頁自動擦除),無自動擦除時為3 ms,全芯片擦除時間為15 ms,具備10,000次寫周期和10年數(shù)據(jù)保留能力。部分區(qū)域可通過鎖定位進(jìn)行保護(hù),還設(shè)有安全位,啟用后禁止通過ICE接口或快速閃存編程接口訪問閃存,確保代碼的保密性。
3.3 系統(tǒng)控制器
- 復(fù)位控制器:基于上電復(fù)位單元和欠壓檢測器,能給出最后一次復(fù)位的狀態(tài),控制內(nèi)部復(fù)位和NRST引腳的開漏輸出,可對NRST線上的信號進(jìn)行整形,保證脈沖長度滿足要求。欠壓檢測器監(jiān)測VDDCORE電平,當(dāng)電壓低于觸發(fā)水平時激活欠壓輸出,高于觸發(fā)水平時釋放復(fù)位。欠壓檢測器閾值典型值為1.68V,精度為± 2%,具有約50 mV的遲滯,以確保無尖峰的欠壓檢測。
- 時鐘發(fā)生器:集成了低功耗RC振蕩器(頻率范圍22 kHz - 42 kHz)、主振蕩器(頻率范圍3 - 20 MHz,可旁路)和PLL(輸出范圍80 - 220 MHz),提供慢時鐘SLCK、主時鐘MAINCK和PLL時鐘PLLCK。
- 電源管理控制器:利用時鐘發(fā)生器的輸出提供處理器時鐘PCK、主時鐘MCK、USB時鐘UDPCK(SAM7S32/16無)以及所有外設(shè)時鐘,這些時鐘可獨(dú)立控制,還提供三個可編程時鐘輸出。主時鐘MCK可在幾百Hz到設(shè)備最大工作頻率之間進(jìn)行編程,處理器時鐘PCK在進(jìn)入處理器空閑模式時關(guān)閉,可降低功耗。
- 高級中斷控制器:控制ARM處理器的中斷線(nIRQ和nFIQ),中斷源可單獨(dú)屏蔽和向量處理。源0保留給快速中斷輸入(FIQ),源1保留給系統(tǒng)外設(shè)(如RTT、PIT、EFC、PMC、DBGU等),其他源控制外設(shè)中斷或外部中斷。支持可編程的邊沿觸發(fā)或電平敏感內(nèi)部源,以及可編程的正/負(fù)邊沿觸發(fā)或高/低電平敏感外部源,具有8級優(yōu)先級控制,可在處理低優(yōu)先級中斷時服務(wù)更高優(yōu)先級的中斷,采用向量處理優(yōu)化中斷服務(wù)程序的分支和執(zhí)行,還具備保護(hù)模式、快速強(qiáng)制功能和通用中斷屏蔽功能。
- 調(diào)試單元:包括雙引腳UART、調(diào)試通信通道(DCC)接口、芯片ID寄存器和ICE訪問預(yù)防接口。雙引腳UART的實(shí)現(xiàn)特性與USART兼容,具有可編程波特率發(fā)生器、奇偶校驗(yàn)、幀和溢出錯誤檢測、自動回顯、本地回環(huán)和遠(yuǎn)程回環(huán)通道模式。芯片ID寄存器可用于識別設(shè)備的修訂版、嵌入式內(nèi)存大小和外設(shè)集。
- 周期性間隔定時器:具有20位可編程計數(shù)器和12位間隔計數(shù)器。
- 看門狗定時器:12位密鑰保護(hù)的可編程計數(shù)器,運(yùn)行在預(yù)分頻的SCLK上,可向系統(tǒng)提供復(fù)位或中斷信號,在處理器處于調(diào)試狀態(tài)或空閑模式時計數(shù)器可停止。
- 實(shí)時定時器:32位自由運(yùn)行計數(shù)器,帶有警報功能,運(yùn)行在預(yù)分頻的SCLK上,具有可編程的16位預(yù)分頻器,用于補(bǔ)償SLCK的精度。
- PIO控制器:控制32個I/O線(SAM7S32/16為21個),可通過設(shè)置/清除寄存器進(jìn)行完全編程。每個I/O線可分配兩個外設(shè)功能之一,具備輸入變化中斷、半時鐘周期毛刺濾波器、多驅(qū)動選項(可驅(qū)動開漏)、可編程上拉電阻、引腳數(shù)據(jù)狀態(tài)寄存器和同步輸出功能。
- 電壓調(diào)節(jié)器控制器:用于選擇電壓調(diào)節(jié)器的電源模式,可在正常模式(位0清除)和待機(jī)模式(位0設(shè)置)之間切換。
3.4 外設(shè)
- 用戶接口:用戶外設(shè)映射在0xF000 0000到0xFFFF EFFF的256 MBytes地址空間中,每個外設(shè)分配16 Kbytes的地址空間。
- 外設(shè)標(biāo)識符:不同型號的外設(shè)標(biāo)識符有所不同,用于通過高級中斷控制器控制外設(shè)中斷和通過電源管理控制器控制外設(shè)時鐘。
- PIO控制器A復(fù)用:PIO控制器A控制I/O線的復(fù)用,每個線可分配兩個外設(shè)功能之一,部分還可與ADC控制器的模擬輸入復(fù)用。復(fù)位時,所有引腳的并行I/O線功能配置為輸入,并啟用可編程上拉電阻。
- 串行外設(shè)接口:支持與外部串行設(shè)備通信,通過四個芯片選擇和外部解碼器可與多達(dá)15個外設(shè)通信,可用于與串行存儲器(如DataFlash?和3線EEPROM)、串行外設(shè)(如ADC、DAC、LCD控制器、CAN控制器和傳感器)以及外部協(xié)處理器通信。支持8 - 16位可編程數(shù)據(jù)長度、可編程相位和極性、可編程傳輸延遲以及可選的模式故障檢測,最大頻率可達(dá)主時鐘頻率。
- 兩線接口:SAM7S512/256/128/64/321/32支持主模式,SAM7S161/16支持主、多主和從模式,從模式下支持通用調(diào)用。與I2C兼容設(shè)備兼容,具有一、二或三個字節(jié)的內(nèi)部地址寄存器,方便串行存儲器訪問,支持7位或10位從地址和順序讀寫操作。
- USART:具有可編程波特率發(fā)生器,支持5 - 9位全雙工同步或異步串行通信,在異步模式下支持1、1.5或2個停止位,同步模式下支持1或2個停止位,具備奇偶校驗(yàn)生成和錯誤檢測、幀錯誤檢測、溢出錯誤檢測、MSB或LSB優(yōu)先、可選的中斷生成和檢測、8或16倍過采樣接收器頻率、硬件握手(RTS - CTS)、調(diào)制解調(diào)器信號管理(DTR - DSR - DCD - RI,SAM7S32/16無)、接收器超時和發(fā)送器時間保護(hù)、多下降模式(帶地址生成和檢測)、RS485(帶驅(qū)動器控制信號)、ISO7816(T = 0或T = 1協(xié)議,用于與智能卡接口)、NACK處理、錯誤計數(shù)器(帶重復(fù)和迭代限制)、IrDA調(diào)制和解調(diào),通信速率可達(dá)115.2 Kbps,還支持測試模式(遠(yuǎn)程回環(huán)、本地回環(huán)、自動回顯)。
- 串行同步控制器:提供用于音頻和電信應(yīng)用的串行同步通信鏈路,包含獨(dú)立的接收器和發(fā)送器以及公共時鐘分頻器,可配置幀同步和數(shù)據(jù)長度,接收器和發(fā)送器可編程為自動啟動或在檢測到幀同步信號的不同事件時啟動,包括數(shù)據(jù)信號、時鐘信號和幀同步信號。
- 定時器計數(shù)器:有三個16位定時器計數(shù)器通道(SAM7S32/16只有兩個通道連接到PIO),每個通道可進(jìn)行兩個輸出比較或一個輸入捕獲,具有頻率測量、事件計數(shù)、間隔測量、脈沖生成、延遲定時、脈沖寬度調(diào)制等功能,支持上下計數(shù)能力。每個通道有三個外部時鐘輸入(SAM7S32/16有一個)、五個內(nèi)部時鐘輸入,還有兩個多功能輸入/輸出信號和兩個作用于所有三個TC通道的全局寄存器。
- PWM控制器:有四個通道,每個通道有一個16位計數(shù)器,具有公共時鐘發(fā)生器,提供十三種不同的時鐘,一個模n計數(shù)器提供十一種時鐘,兩個獨(dú)立的線性分頻器作用于模n計數(shù)器輸出。各通道可獨(dú)立編程,具備獨(dú)立的啟用/禁用命令、時鐘選擇、周期和占空比(帶雙緩沖)、可編程的輸出波形極性和中心或左對齊輸出波形。
- USB設(shè)備端口(SAM7S32/16除外):符合USB V2.0全速標(biāo)準(zhǔn),速率為12 Mbits每秒,集成了USB V2.0全速收發(fā)器和328字節(jié)的雙端口RAM用于端點(diǎn),有四個端點(diǎn)(端點(diǎn)0為8字節(jié),端點(diǎn)1和2為64字節(jié)乒乓模式,端點(diǎn)3為64字節(jié)),支持等時和批量端點(diǎn)的乒乓模式以及暫停/恢復(fù)邏輯。
- 模數(shù)轉(zhuǎn)換器:8通道ADC,10位時采樣率為384 Ksamples/秒,8位時采樣率為583 Ksamples/秒,采用逐次逼近寄存器ADC,積分非線性為±2 LSB,差分非線性為±1 LSB,集成8 - 1多路復(fù)用器,提供八個獨(dú)立的3.3V模擬輸入,可使用外部電壓參考以提高低電壓輸入的精度,每個通道可單獨(dú)啟用和禁用,具有多個觸發(fā)源(硬件或軟件觸發(fā)、外部觸發(fā)引腳、定時器計數(shù)器0 - 2的輸出TIOA0 - TIOA2觸發(fā)),支持睡眠模式和轉(zhuǎn)換序列器,觸發(fā)時自動喚醒,所有啟用通道轉(zhuǎn)換完成后返回睡眠模式,八個模擬輸入中有四個與數(shù)字信號共享。
四、電源考慮
4.1 電源供應(yīng)
SAM7S系列有六種類型的電源供應(yīng)引腳,并集成了電壓調(diào)節(jié)器,允許僅用一個電壓為設(shè)備供電。具體如下:
- VDDIN引腳:為電壓調(diào)節(jié)器和ADC供電,電壓范圍為3.0V - 3.6V,標(biāo)稱值為3.3V。
- VDDOUT引腳:是1.8V電壓調(diào)節(jié)器的輸出。
- VDDIO引腳:為I/O線和USB收發(fā)器供電,支持雙電壓范圍,3.0V - 3.6V(標(biāo)稱3.3V)或1.65V - 1.95V(標(biāo)稱1.8V)。若VDDIO供電低于3.0V,則無法使用USB收發(fā)器。
- VDDFLASH引腳:為閃存的一部分供電,是閃存正常工作所必需的,電壓范圍為3.0V - 3.6V,標(biāo)稱值為3.3V。
- VDDCORE引腳:為設(shè)備的邏輯部分供電,電壓范圍為1.65V - 1.95V,典型值為1.8V,可通過去耦電容連接到VDDOUT引腳。啟動時,核心電源電壓(VDDCORE)斜率必須大于或等于6V/ms。
- VDDPLL引腳:為振蕩器和PLL供電,可直接連接到VDDOUT引腳。
不同電源供應(yīng)沒有單獨(dú)的接地引腳,只有GND引腳,應(yīng)盡可能短地連接到系統(tǒng)接地平面。若不使用電壓調(diào)節(jié)器和ADC,可將VDDIN、ADVREF、AD4、AD5、AD6和AD7連接到GND,此時VDDOUT應(yīng)保持未連接狀態(tài)。
4.2 功耗
在25°C時,VDDCORE上的靜態(tài)電流小于60 μA,包括RC振蕩器、電壓調(diào)節(jié)器和上電復(fù)位。激活欠壓檢測器時,會增加20 μA的靜態(tài)電流。在全速運(yùn)行閃存時,VDDCORE上的動態(tài)功耗小于50 mA,
發(fā)布評論請先 登錄
Atmel SAM7S系列ARM微控制器深度解析
評論