STR91xFAxxx:高性能ARM966E - S微控制器的深度剖析
在當(dāng)今的電子設(shè)計領(lǐng)域,微控制器扮演著至關(guān)重要的角色。今天,我們將深入探討ST公司推出的STR91xFAxxx系列微控制器,它融合了強大的ARM966E - S內(nèi)核和豐富的外設(shè),為眾多應(yīng)用場景提供了理想的解決方案。
文件下載:STR910FAW32X6.pdf
一、產(chǎn)品概述
STR91xFA系列微控制器以16/32位ARM966E - S RISC處理器核心為基礎(chǔ),搭配雙銀行閃存、大容量SRAM以及豐富的外設(shè),適用于銷售點終端、工業(yè)自動化、安全監(jiān)控、自動售貨機、通信網(wǎng)關(guān)、串行協(xié)議轉(zhuǎn)換和醫(yī)療設(shè)備等多種應(yīng)用。其ARM966E - S核心支持單周期DSP指令,在語音處理、音頻算法和低端成像等方面表現(xiàn)出色。
1.1 產(chǎn)品型號與配置
該系列有多種型號可供選擇,不同型號在閃存容量、RAM大小、外設(shè)和封裝形式上有所差異。例如,STR910FAM32配備256KB + 32KB閃存和64KB RAM,采用LQFP80封裝;而STR912FAW46則擁有1024KB + 128KB閃存和96KB RAM,采用LQFP128封裝。具體的型號配置可參考文檔中的設(shè)備摘要表格。
二、功能特性
2.1 ARM966E - S CPU核心
- 哈佛架構(gòu):該核心采用哈佛架構(gòu),具有獨立的指令和數(shù)據(jù)內(nèi)存接口,允許CPU通過兩個緊密耦合的內(nèi)存(TCM)接口同時獲取指令和讀寫數(shù)據(jù),從而簡化了CPU的加載和存儲操作,減少了每條指令的周期數(shù)。
- 5級流水線:采用5級流水線設(shè)計,增加了操作并行性,充分發(fā)揮每個時鐘周期的性能。
- DSP指令擴(kuò)展:支持10種DSP增強指令擴(kuò)展,包括單周期執(zhí)行32x16乘法累加、飽和加法/減法和前導(dǎo)零計數(shù)等。
- 代碼兼容性:與32位ARM7代碼和16位Thumb代碼二進(jìn)制兼容。
2.2 突發(fā)閃存內(nèi)存接口
- 高性能架構(gòu):突發(fā)閃存內(nèi)存接口集成到ARM966E - S核心的指令TCM(I - TCM)路徑中,同時還包含一個8指令預(yù)取隊列(PFQ)和一個15項分支緩存(BC),使核心在直接從閃存內(nèi)存執(zhí)行代碼時能夠達(dá)到高達(dá)96 MIPS的性能。
- 預(yù)取隊列(PFQ):當(dāng)CPU核心通過I - TCM訪問順序指令時,PFQ會提前預(yù)取指令,利用因可變長度指令產(chǎn)生的空閑總線周期,以高達(dá)96 MHz的速率從突發(fā)閃存內(nèi)存中每次獲取32位數(shù)據(jù)。
- 分支緩存(BC):在指令地址不連續(xù)(如程序分支情況)時,PFQ需要刷新和重新加載,若沒有BC,CPU會出現(xiàn)停頓。BC包含最近使用的最多15個分支地址以及每個分支相關(guān)的前8條指令,通過快速檢查所有15個BC條目是否匹配分支地址(緩存命中),若命中則迅速提供指令,減少CPU停頓。此外,還有一個專門用于向量中斷控制器(VIC)的第16個分支緩存條目,可進(jìn)一步減少中斷延遲。
- 文字管理:STR91xFA的ARM966E - S核心實現(xiàn)了特殊電路,當(dāng)程序流中遇到文字(數(shù)據(jù)常量)時,可防止PFQ刷新,以保持最大性能。
2.3 SRAM
- 單周期數(shù)據(jù)訪問:32位寬的SRAM位于CPU的數(shù)據(jù)TCM(D - TCM)接口上,提供單周期數(shù)據(jù)訪問。D - TCM與高級高性能總線(AHB)共享SRAM訪問,通過簡單的仲裁邏輯控制,允許AHB上的DMA單元也能訪問SRAM。
- 仲裁機制:當(dāng)D - TCM或AHB只有一個請求SRAM時,可實現(xiàn)零等待狀態(tài)訪問。當(dāng)兩者同時請求時,采用交錯方式授予訪問權(quán),確保雙方都不會被餓死。當(dāng)兩者都不請求時,仲裁器將訪問權(quán)授予最近的用戶。
- 電池備份:當(dāng)電池連接到指定的電池備份引腳(VBATT)時,主數(shù)字電源(VDD和VDDQ)的工作電壓丟失或低于LVD閾值時,SRAM內(nèi)容會自動保存。如果需要,固件可以禁用自動切換到SRAM,使電池僅為RTC供電,而不為SRAM供電。
2.4 DMA數(shù)據(jù)移動
- 獨立數(shù)據(jù)路徑:高級高性能總線(AHB)上的DMA通道充分利用哈佛架構(gòu)提供的獨立數(shù)據(jù)路徑,快速移動數(shù)據(jù),且在很大程度上獨立于指令路徑。
- DMA單元:有兩個DMA單元,一個專門用于在以太網(wǎng)接口和SRAM之間移動數(shù)據(jù),另一個DMA單元有8個可編程通道和14個請求信號,用于服務(wù)其他外設(shè)和接口(如USB、SSP、ADC、UART、定時器、EMI和外部請求引腳)。支持單字和突發(fā)DMA傳輸,除了內(nèi)存 - 外設(shè)傳輸外,還支持內(nèi)存 - 內(nèi)存?zhèn)鬏敗?/li>
- 仲裁與管理:DMA對SRAM的訪問與D - TCM訪問共享,仲裁機制如前文所述。高效的DMA傳輸由固件使用鏈表描述符表進(jìn)行管理,16個DMA請求信號中有兩個分配給外部輸入,DMA單元可以通過EMI總線在外部設(shè)備和STR91xFA內(nèi)部資源之間移動數(shù)據(jù)。
2.5 非易失性存儲器
- 雙閃存設(shè)計:有兩個獨立的32位寬突發(fā)閃存存儲器,支持真正的讀 - 寫操作。閃存存儲器采用單電壓擦除/編程,數(shù)據(jù)保留時間至少為20年,擦除周期至少為100K次。主閃存比次閃存大得多。
- 主閃存:可通過STR91xFA設(shè)備配置軟件工具和第三方集成開發(fā)環(huán)境指定主閃存為CPU復(fù)位時的默認(rèn)啟動內(nèi)存,也可指定次閃存為默認(rèn)啟動內(nèi)存。主閃存具有等長的64KB字節(jié)扇區(qū),不同設(shè)備類型的扇區(qū)數(shù)量不同。
- 次閃存:可用于實現(xiàn)引導(dǎo)加載程序,能夠存儲代碼以對主閃存進(jìn)行強大的應(yīng)用內(nèi)編程(IAP)。CPU可以從次閃存執(zhí)行代碼,同時更新主閃存中的代碼。新代碼可以通過STR91xFA上的任何接口(如USB、以太網(wǎng)、CAN、UART等)下載。此外,次閃存還可以通過固件模擬EEPROM來存儲小數(shù)據(jù)集,提高數(shù)據(jù)安全級別。
- 編程方式:兩個閃存存儲器都可以使用JTAG系統(tǒng)內(nèi)編程(ISP)通道獨立于CPU進(jìn)行代碼和/或數(shù)據(jù)編程,這對于迭代代碼開發(fā)和制造非常有用。
2.6 一次性可編程(OTP)內(nèi)存
- 用途:有32字節(jié)的OTP內(nèi)存,非常適合存儲序列號、安全密鑰、工廠校準(zhǔn)常數(shù)或其他永久數(shù)據(jù)常量。
- 編程與鎖定:這些OTP數(shù)據(jù)字節(jié)只能通過JTAG接口或CPU進(jìn)行一次編程,之后無法更改??梢酝ㄟ^JTAG接口或CPU設(shè)置“鎖定位”,阻止對該OTP區(qū)域的進(jìn)一步寫入,“鎖定位”本身也是一次性可編程的。
2.7 向量中斷控制器(VIC)
- 中斷管理:STR91xFA的中斷管理通過級聯(lián)兩個標(biāo)準(zhǔn)ARM VIC單元實現(xiàn),這個組合VIC有32個優(yōu)先級中斷請求通道,并向CPU生成兩個中斷輸出信號:FIQ和IRQ,其中FIQ優(yōu)先級更高。
- FIQ處理:FIQ是唯一的非向量中斷,CPU可以直接執(zhí)行中斷服務(wù)程序(ISR),無需確定/優(yōu)先級中斷源,從而最小化ISR延遲。通常只有一個中斷源被分配給FIQ,F(xiàn)IQ中斷有自己的一組銀行寄存器,以最小化上下文切換時間。任何32個中斷請求輸入信號都可以分配給FIQ。
- IRQ處理:IRQ是向量中斷,是進(jìn)入32個IRQ通道的所有32個中斷請求信號的邏輯或。單個向量中斷請求的優(yōu)先級由硬件確定(IRQ通道Intr 0優(yōu)先級最高,IRQ通道Intr 31優(yōu)先級最低)。在同一VIC(主VIC或次VIC)內(nèi),CPU固件可以重新分配單個中斷源到單個硬件IRQ通道,從而有效改變中斷優(yōu)先級。VIC0(主VIC)中斷的優(yōu)先級總是高于VIC1(次VIC)中斷。當(dāng)IRQ信號被中斷請求激活時,VIC硬件將解析IRQ中斷優(yōu)先級,然后ISR讀取VIC以確定中斷源和向量地址,跳轉(zhuǎn)到服務(wù)代碼。STR91xFA通過在指令分支緩存中添加第16個條目(專門用于中斷),將從VIC讀取中斷向量地址所需的內(nèi)存訪問次數(shù)從兩次減少到一次,從而減少IRQ中斷的ISR響應(yīng)時間。
- 中斷源:進(jìn)入VIC的32個中斷請求信號來自各種源,其中5個來自喚醒單元,其余27個來自STR91xFA的內(nèi)部源,如片上外設(shè)。喚醒單元生成的5個中斷請求之一(表6中的IRQ25)是喚醒單元所有32個輸入的邏輯或,這些輸入可用于喚醒CPU并引發(fā)中斷。其余4個中斷請求(表6中的IRQ26)由8個中斷源分組產(chǎn)生,允許單個引腳直接分配給向量IRQ中斷或非向量FIQ中斷。
三、時鐘、復(fù)位和電源管理
3.1 時鐘管理
- 內(nèi)部振蕩器:內(nèi)部振蕩器與外部4 - 25 MHz晶體配合工作。
- 內(nèi)部PLL:內(nèi)部PLL可將時鐘頻率提升至96 MHz。
- 實時時鐘(RTC):提供日歷功能、篡改檢測和喚醒功能。
3.2 復(fù)位管理
- 復(fù)位監(jiān)控器:監(jiān)控電源電壓、看門狗、喚醒單元和外部復(fù)位。
- 欠壓監(jiān)控:檢測電源電壓下降情況。
3.3 電源管理
- 運行模式:正常工作模式。
- 空閑模式:降低功耗,CPU停止執(zhí)行指令,但保持外設(shè)運行。
- 睡眠模式:功耗最低,可低至50 μA,喚醒后可快速恢復(fù)工作。
四、通信接口
4.1 以太網(wǎng)MAC接口
- 支持10/100以太網(wǎng)MAC:帶有DMA和MII接口,可實現(xiàn)高速以太網(wǎng)通信。
4.2 USB接口
- USB全速(12 Mbps)從設(shè)備:支持DMA傳輸,可實現(xiàn)與外部設(shè)備的高速數(shù)據(jù)交換。
4.3 CAN接口
- CAN 2.0B活動接口:可用于工業(yè)控制等領(lǐng)域的通信。
4.4 UART接口
- 3個16550風(fēng)格的UART:支持IrDA協(xié)議,可用于串行通信。
4.5 I2C接口
- 2個快速I2C接口:速率可達(dá)400 kHz,用于與其他I2C設(shè)備通信。
4.6 SPI/SSI/MICROWIRE接口
- 2個通道:可用于與外部設(shè)備進(jìn)行串行通信。
五、其他特性
5.1 外部存儲器接口(EMI)
- 支持8位或16位數(shù)據(jù),最多24位尋址:可連接外部存儲器,擴(kuò)展系統(tǒng)的存儲容量。
5.2 標(biāo)準(zhǔn)定時器(TIM)
- 4個16位定時器:每個定時器具有2個輸入捕獲、2個輸出比較、PWM和脈沖計數(shù)模式,可用于定時、計數(shù)和PWM控制等應(yīng)用。
5.3 三相感應(yīng)電機控制器(IMC)
- 用于控制三相感應(yīng)電機:可實現(xiàn)電機的高效控制。
5.4 JTAG接口
- 支持邊界掃描:方便進(jìn)行芯片的測試和調(diào)試。
5.5 嵌入式跟蹤模塊(ARM ETM9)
- 可用于芯片的調(diào)試和性能分析:幫助工程師快速定位問題。
六、總結(jié)
STR91xFAxxx系列微控制器憑借其強大的ARM966E - S核心、豐富的外設(shè)和靈活的配置選項,為電子工程師提供了一個高性能、低功耗的解決方案。無論是在工業(yè)自動化、通信、醫(yī)療設(shè)備還是其他領(lǐng)域,都能發(fā)揮出其獨特的優(yōu)勢。在實際設(shè)計中,工程師可以根據(jù)具體的應(yīng)用需求選擇合適的型號和配置,充分利用其各種特性,實現(xiàn)高效、穩(wěn)定的系統(tǒng)設(shè)計。
你在使用這款微控制器時遇到過哪些問題呢?歡迎在評論區(qū)分享你的經(jīng)驗和見解。
-
微控制器
+關(guān)注
關(guān)注
49文章
8890瀏覽量
165890
發(fā)布評論請先 登錄
STR91xFAxxx:高性能ARM966E - S微控制器的深度剖析
評論