stm32h750中文手冊


STM32H750微控制器簡介
STM32H750系列微控制器是意法半導(dǎo)體(STMicroelectronics)基于高性能ARM Cortex-M7內(nèi)核設(shè)計的超高性能微控制器。它以其卓越的處理能力、豐富的外設(shè)接口、靈活的存儲器配置以及先進(jìn)的安全特性,廣泛應(yīng)用于工業(yè)控制、醫(yī)療設(shè)備、物聯(lián)網(wǎng)、消費(fèi)電子等對實(shí)時性、處理能力和集成度要求極高的領(lǐng)域。STM32H750憑借其高達(dá)480 MHz的主頻,在嵌入式系統(tǒng)中提供了接近應(yīng)用處理器級別的計算性能,同時保留了微控制器固有的低功耗和實(shí)時響應(yīng)優(yōu)勢。該系列芯片在內(nèi)部集成了大容量的閃存和SRAM,為復(fù)雜算法的運(yùn)行和大規(guī)模數(shù)據(jù)存儲提供了堅實(shí)基礎(chǔ)。
強(qiáng)大的Cortex-M7內(nèi)核
STM32H750搭載的Cortex-M7內(nèi)核是ARM公司為高性能嵌入式應(yīng)用設(shè)計的先進(jìn)處理器。它采用了六級超標(biāo)量流水線和雙精度浮點(diǎn)單元(FPU),顯著提升了指令執(zhí)行效率和浮點(diǎn)運(yùn)算能力。Cortex-M7內(nèi)核還集成了指令緩存(I-cache)和數(shù)據(jù)緩存(D-cache),通過減少對主存儲器的訪問延遲,進(jìn)一步加速了程序的執(zhí)行。分支預(yù)測單元的引入,使得處理器能夠更有效地處理復(fù)雜的程序流程,尤其是在涉及大量條件判斷和循環(huán)的算法中表現(xiàn)出色。這種高性能的內(nèi)核是STM32H750能夠應(yīng)對復(fù)雜計算任務(wù)和高速數(shù)據(jù)處理的關(guān)鍵所在。此外,內(nèi)核還支持DSP指令集擴(kuò)展,使其在信號處理、音頻視頻編解碼等領(lǐng)域具有天然優(yōu)勢。
豐富的外設(shè)接口
STM32H750系列芯片提供了一系列功能強(qiáng)大且高度可配置的外設(shè),以滿足各種應(yīng)用場景的需求。這些外設(shè)包括但不限于:
通用輸入/輸出(GPIO): 提供靈活的數(shù)字I/O功能,支持多種工作模式,如推挽、開漏、上拉、下拉,并可配置為中斷輸入。
通用同步/異步收發(fā)器(USART): 支持UART、LIN、IrDA、Smartcard等多種通信協(xié)議,適用于與外部設(shè)備進(jìn)行串行通信。
串行外設(shè)接口(SPI): 提供高速同步串行數(shù)據(jù)傳輸,常用于與閃存、EEPROM、傳感器或顯示屏等外設(shè)通信。
集成電路間總線(I2C): 支持主從模式,適用于短距離、低速的串行通信,常用于與傳感器、實(shí)時時鐘(RTC)等設(shè)備連接。
模數(shù)轉(zhuǎn)換器(ADC): 高精度、多通道的ADC,支持多種采樣模式,適用于模擬信號的采集和數(shù)字化。
數(shù)模轉(zhuǎn)換器(DAC): 高分辨率的DAC,用于生成模擬輸出信號。
定時器/計數(shù)器: 提供多種類型的定時器,包括通用定時器、高級控制定時器和基本定時器,可用于生成PWM、測量輸入脈沖、實(shí)現(xiàn)延時和事件計數(shù)等。
USB On-The-Go(OTG): 支持高速USB 2.0協(xié)議,可工作在主機(jī)、設(shè)備或OTG模式,方便與PC或其他USB設(shè)備進(jìn)行數(shù)據(jù)交換。
以太網(wǎng)MAC: 集成以太網(wǎng)媒體訪問控制器,支持10/100 Mbps速度,為網(wǎng)絡(luò)連接提供硬件支持。
CAN總線: 支持CAN 2.0B協(xié)議,廣泛應(yīng)用于汽車電子和工業(yè)控制領(lǐng)域。
SDMMC接口: 用于連接SD卡或MMC卡,實(shí)現(xiàn)大容量存儲。
QUAD-SPI(QSPI)接口: 提供超高速串行閃存接口,支持四線數(shù)據(jù)傳輸,極大提升了外部閃存的訪問速度。
LCD-TFT控制器: 直接驅(qū)動LCD-TFT顯示屏,簡化了圖形界面的開發(fā)。
數(shù)字濾波器(DFSDM): 專為MEMS麥克風(fēng)等數(shù)字傳感器設(shè)計,提供數(shù)字濾波和數(shù)據(jù)抽取功能。
這些豐富的外設(shè)接口使得STM32H750能夠輕松地與各種傳感器、執(zhí)行器、通信模塊和顯示設(shè)備進(jìn)行連接,構(gòu)建出功能完備的嵌入式系統(tǒng)。
存儲器結(jié)構(gòu)與管理
STM32H750具有復(fù)雜的存儲器層次結(jié)構(gòu),旨在最大化性能和靈活性。其內(nèi)部集成了大容量的閃存(Flash Memory)和多種類型的SRAM,并支持外部存儲器擴(kuò)展。
內(nèi)部閃存
內(nèi)部閃存用于存儲程序代碼、常量數(shù)據(jù)以及用戶配置數(shù)據(jù)。STM32H750的閃存支持讀保護(hù)、寫保護(hù)和扇區(qū)擦除等功能,以確保程序和數(shù)據(jù)的安全。閃存的訪問速度經(jīng)過優(yōu)化,配合指令緩存(I-cache),可以提供高效的代碼執(zhí)行。
內(nèi)部SRAM
STM32H750內(nèi)部集成了多塊SRAM,這些SRAM在存儲器映射中具有不同的特性和用途:
ITCM RAM(Instruction Tightly Coupled Memory RAM): 與Cortex-M7內(nèi)核的指令總線緊密耦合,提供零等待周期的指令訪問。將關(guān)鍵的實(shí)時代碼放入ITCM RAM可以顯著提升執(zhí)行效率。
DTCM RAM(Data Tightly Coupled Memory RAM): 與Cortex-M7內(nèi)核的數(shù)據(jù)總線緊密耦合,提供零等待周期的數(shù)據(jù)訪問。用于存儲對實(shí)時性要求高的數(shù)據(jù),如中斷向量表、DMA緩沖區(qū)等。
AXI SRAM: 通過AXI總線連接到內(nèi)核和DMA控制器,提供高速的數(shù)據(jù)訪問。它通常用于存儲較大的數(shù)據(jù)結(jié)構(gòu)、堆棧以及全局變量。
SRAM1、SRAM2、SRAM3: 這些通用SRAM區(qū)域提供了額外的RAM空間,用于存儲程序數(shù)據(jù)和運(yùn)行時變量。它們可以通過AHB總線訪問。
通過合理地規(guī)劃和利用不同類型的SRAM,開發(fā)者可以最大限度地發(fā)揮STM32H750的性能潛力,滿足不同應(yīng)用場景對數(shù)據(jù)訪問速度和容量的要求。
外部存儲器接口
STM32H750還提供了靈活的外部存儲器接口(FMC),支持連接各種外部存儲器,如NOR Flash、NAND Flash、SRAM、SDRAM等。這為需要更大存儲容量或特定類型存儲器的應(yīng)用提供了極大的便利。FMC控制器支持多種模式和時序配置,能夠適應(yīng)不同外部存儲器的要求。
時鐘系統(tǒng)
STM32H750擁有一個高度靈活且功能豐富的時鐘系統(tǒng),為芯片內(nèi)部各個模塊提供精確的時鐘源。良好的時鐘配置是確保微控制器穩(wěn)定運(yùn)行和各外設(shè)正常工作的關(guān)鍵。
時鐘源
芯片提供多種內(nèi)部和外部時鐘源:
高速外部時鐘(HSE): 通常連接外部晶體或陶瓷諧振器,提供高精度的主時鐘源。
高速內(nèi)部時鐘(HSI): 內(nèi)部RC振蕩器,提供一個相對穩(wěn)定的時鐘源,適用于不需要極高精度的應(yīng)用或作為HSE的備份。
多源時鐘(MSI): 內(nèi)部RC振蕩器,提供可變頻率的時鐘源,具有低功耗特性。
低速外部時鐘(LSE): 通常連接32.768 kHz晶體,主要用于實(shí)時時鐘(RTC)和低功耗模式。
低速內(nèi)部時鐘(LSI): 內(nèi)部RC振蕩器,提供低速時鐘,主要用于獨(dú)立看門狗和RTC的備用時鐘。
鎖相環(huán)(PLL)
STM32H750內(nèi)部集成了多個PLL(PLL1、PLL2、PLL3),這些PLL可以將上述時鐘源倍頻,生成更高頻率的時鐘,供給Cortex-M7內(nèi)核、AHB/APB總線以及各種外設(shè)。PLL的配置非常靈活,允許開發(fā)者根據(jù)應(yīng)用需求精確調(diào)整各部分的時鐘頻率。例如,PLL1通常用于生成系統(tǒng)主頻,PLL2和PLL3可以為USB、以太網(wǎng)、ADC等外設(shè)提供獨(dú)立的時鐘源。
時鐘分配與分頻
時鐘系統(tǒng)還包括復(fù)雜的時鐘分配網(wǎng)絡(luò)和多個預(yù)分頻器。系統(tǒng)主時鐘(SYSCLK)可以選擇來自HSE、HSI或PLL的輸出。SYSCLK再通過AHB預(yù)分頻器(HPRE)分頻,生成HCLK,HCLK用于驅(qū)動Cortex-M7內(nèi)核、DMA控制器、存儲器接口等。外設(shè)時鐘則通過APB1預(yù)分頻器(PPRE1)、APB2預(yù)分頻器(PPRE2)、APB3預(yù)分頻器(PPRE3)和APB4預(yù)分頻器(PPRE4)從HCLK或PLL的輸出進(jìn)行分頻,為不同的外設(shè)提供合適的時鐘頻率。合理配置這些分頻器對于平衡性能和功耗至關(guān)重要。
中斷系統(tǒng)與異常處理
中斷和異常處理是嵌入式系統(tǒng)響應(yīng)外部事件和內(nèi)部錯誤的關(guān)鍵機(jī)制。STM32H750的Cortex-M7內(nèi)核集成了嵌套向量中斷控制器(NVIC),提供了高效且可配置的中斷管理。
中斷類型
STM32H750支持多種類型的中斷:
外部中斷: 由GPIO引腳上的電平變化或邊沿觸發(fā)。
內(nèi)部外設(shè)中斷: 由外設(shè)事件觸發(fā),如定時器溢出、ADC轉(zhuǎn)換完成、USART數(shù)據(jù)接收等。
系統(tǒng)異常: 由處理器內(nèi)部事件觸發(fā),如復(fù)位、NMI(不可屏蔽中斷)、硬故障、內(nèi)存管理故障、總線故障、使用故障、SVC(系統(tǒng)服務(wù)調(diào)用)、調(diào)試監(jiān)控、PendSV(可掛起系統(tǒng)服務(wù))和SysTick定時器中斷。
嵌套向量中斷控制器(NVIC)
NVIC是Cortex-M內(nèi)核的一個核心組件,負(fù)責(zé)管理所有中斷源。其主要功能包括:
中斷使能/禁用: 開發(fā)者可以獨(dú)立使能或禁用每個中斷源。
中斷優(yōu)先級設(shè)置: 每個中斷源都可以配置一個優(yōu)先級。當(dāng)多個中斷同時發(fā)生時,NVIC會根據(jù)優(yōu)先級決定哪個中斷先被服務(wù)。STM32H750支持多個優(yōu)先級位和子優(yōu)先級位,提供了精細(xì)的優(yōu)先級控制。
中斷向量表: 存儲每個中斷服務(wù)程序的入口地址。當(dāng)發(fā)生中斷時,處理器會根據(jù)中斷號跳轉(zhuǎn)到相應(yīng)的向量表中定義的地址執(zhí)行中斷服務(wù)程序。
中斷掛起/激活狀態(tài)管理: NVIC能夠指示一個中斷是否處于掛起狀態(tài)(已發(fā)生但尚未服務(wù))或激活狀態(tài)(正在服務(wù))。
異常處理
除了常規(guī)中斷,STM32H750還會處理各種異常。異常處理機(jī)制確保了系統(tǒng)在遇到錯誤或特殊情況時能夠以受控的方式響應(yīng)。例如,當(dāng)發(fā)生內(nèi)存訪問錯誤或非法指令時,相應(yīng)的故障異常會被觸發(fā),允許軟件進(jìn)行錯誤診斷或恢復(fù)操作。正確編寫異常處理程序?qū)τ谔岣呦到y(tǒng)健壯性至關(guān)重要。
電源管理與低功耗模式
在許多嵌入式應(yīng)用中,電源效率是一個關(guān)鍵的設(shè)計考量。STM32H750提供了多種電源管理模式和低功耗特性,以最大限度地延長電池壽命或降低系統(tǒng)能耗。
操作模式
STM32H750提供多種靈活的操作模式,以適應(yīng)不同的性能和功耗需求:
運(yùn)行模式(Run Mode): 微控制器全速運(yùn)行,所有外設(shè)和CPU都處于活動狀態(tài)。這是性能最高的模式,但功耗也相對最高。
睡眠模式(Sleep Mode): 僅Cortex-M7內(nèi)核停止工作,外設(shè)和存儲器保持供電。這允許外設(shè)繼續(xù)運(yùn)行(例如,DMA傳輸或定時器計數(shù)),同時顯著降低CPU的功耗。系統(tǒng)可以被中斷喚醒。
停止模式(Stop Mode): 所有時鐘都被停止,包括HSE、HSI等,但部分SRAM內(nèi)容和寄存器值得以保留。喚醒時間比待機(jī)模式快,且功耗低于運(yùn)行模式和睡眠模式。可由外部中斷或特定外設(shè)事件喚醒。
待機(jī)模式(Standby Mode): 大部分內(nèi)部電路斷電,包括SRAM內(nèi)容通常會丟失(但通過備份域的特殊SRAM可以保留)。這是最低功耗模式,喚醒需要更長時間,通常由復(fù)位或特定喚醒引腳事件觸發(fā)。
關(guān)機(jī)模式(Shutdown Mode): 最深的低功耗模式,所有內(nèi)部電路完全斷電,僅保留部分備份域寄存器和喚醒引腳。喚醒后相當(dāng)于完全復(fù)位。
電源域與備份域
STM32H750引入了電源域概念,允許獨(dú)立控制不同部分的供電,從而實(shí)現(xiàn)更精細(xì)的功耗管理。例如,備份域(Backup domain)在主電源斷開時仍可由VBAT引腳供電,用于保留RTC、備份寄存器以及一些SRAM內(nèi)容,這對于需要長期保存數(shù)據(jù)的應(yīng)用非常有用。
電壓調(diào)節(jié)器與穩(wěn)壓器
芯片內(nèi)部集成了多個電壓調(diào)節(jié)器(LDO)和穩(wěn)壓器,用于提供不同電壓域的電源。開發(fā)者可以通過編程配置這些調(diào)節(jié)器,以優(yōu)化功耗和性能之間的平衡。例如,在降低CPU頻率時,可以相應(yīng)地降低核心電壓,進(jìn)一步節(jié)省能耗。
調(diào)試與Trace功能
STM32H750集成了強(qiáng)大的調(diào)試和Trace功能,極大地簡化了軟件開發(fā)和故障排除過程。這些功能基于ARM的JTAG和SWD接口。
JTAG/SWD接口
JTAG(Joint Test Action Group): 一種通用的標(biāo)準(zhǔn)接口,用于邊界掃描測試和片上調(diào)試。它提供了對CPU寄存器、存儲器和外設(shè)的全面訪問,允許開發(fā)者設(shè)置斷點(diǎn)、單步執(zhí)行、查看和修改變量。
SWD(Serial Wire Debug): ARM專為嵌入式系統(tǒng)設(shè)計的兩線調(diào)試接口,相比JTAG占用更少的引腳,但同樣提供了強(qiáng)大的調(diào)試功能。它在引腳資源受限的場合尤為適用。
調(diào)試特性
硬件斷點(diǎn): 允許在代碼中的特定位置設(shè)置斷點(diǎn),當(dāng)程序執(zhí)行到該位置時暫停,方便開發(fā)者檢查程序狀態(tài)。
數(shù)據(jù)斷點(diǎn)/監(jiān)視點(diǎn): 當(dāng)特定存儲器地址的數(shù)據(jù)被讀寫時觸發(fā)暫停,用于調(diào)試數(shù)據(jù)相關(guān)的錯誤。
單步執(zhí)行: 允許程序逐條指令或逐行代碼執(zhí)行,便于觀察程序流程和變量變化。
實(shí)時變量觀察: 在程序運(yùn)行時實(shí)時監(jiān)視變量的值,無需暫停程序。
存儲器查看與修改: 允許開發(fā)者查看和修改芯片內(nèi)部的閃存、SRAM以及外設(shè)寄存器。
Trace功能
STM32H750支持ETM(Embedded Trace Macrocell)和ITM(Instrumentation Trace Macrocell)等Trace功能:
ETM(Embedded Trace Macrocell): 提供了非侵入式的指令Trace功能,可以在不影響程序?qū)崟r性的情況下捕獲處理器執(zhí)行的每一條指令。這對于分析復(fù)雜算法的性能、查找代碼中的隱藏錯誤以及進(jìn)行代碼覆蓋率測試非常有用。
ITM(Instrumentation Trace Macrocell): 允許開發(fā)者通過軟件指令向Trace緩沖區(qū)發(fā)送調(diào)試信息。這可以用于輸出日志信息、變量值或事件標(biāo)志,而無需使用傳統(tǒng)的UART或JTAG打印,從而避免了對系統(tǒng)性能的干擾。
這些調(diào)試和Trace功能結(jié)合專業(yè)的調(diào)試工具(如ST-Link/V2、J-Link等)和集成開發(fā)環(huán)境(IDE,如Keil MDK、STM32CubeIDE等),為STM32H750的軟件開發(fā)提供了強(qiáng)大的支持,顯著提高了開發(fā)效率和問題解決能力。
責(zé)任編輯:David
【免責(zé)聲明】
1、本文內(nèi)容、數(shù)據(jù)、圖表等來源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對本文的引用持有異議,請聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時處理。
2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。
3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請讀者明確相關(guān)結(jié)果。
4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。
拍明芯城擁有對此聲明的最終解釋權(quán)。