日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]整理了一下STM32相關(guān)的底層結(jié)構(gòu),有助于消化理解先上幾張圖片(主要參照STM3210x系列)1.芯片結(jié)構(gòu)組成圖:?2.STM32內(nèi)部結(jié)構(gòu):?3.Cortex-M3模塊結(jié)構(gòu)圖:?4.STM3210X內(nèi)

整理了一下STM32相關(guān)的底層結(jié)構(gòu),有助于消化理解

先上幾張圖片(主要參照STM3210x系列)

1.芯片結(jié)構(gòu)組成圖:

?

2.STM32內(nèi)部結(jié)構(gòu):

?

3.Cortex-M3模塊結(jié)構(gòu)圖:

?

4.STM3210X內(nèi)部結(jié)構(gòu):

橋:

四個(gè)主動(dòng)單元 : ? ? ? ? M3內(nèi)核的ICode總線(I-bus)、DCode總線(D-bus)、?系統(tǒng)總線(S-bus)、DMA(DMA1、DMA2、以太網(wǎng)DMA)? ? 四個(gè)被動(dòng)單元?: ? ? ? ? 內(nèi)部SRAM、內(nèi)部閃存、FSMC、AHB到APB橋? ? ICode總線 : ? ? ? ??將M3內(nèi)核的指令總線與FLASH指令接口相連,用于指令預(yù)取 ? DCode總線: ? ? ? ? 將M3內(nèi)核的數(shù)據(jù)總線與FLASH數(shù)據(jù)接口相連,常量加載和調(diào)試? ? 系統(tǒng)總線 : ? ? ? ? 將M3內(nèi)核的系統(tǒng)總線與總線矩陣相連,協(xié)調(diào)內(nèi)核與DMA訪問(wèn)? ? DMA總線:? ? ? ? ??將DMA的AHB主控接口與總線矩陣相連,協(xié)調(diào)CPU的DCode和DMA到SRAM、閃存、外設(shè)的訪問(wèn) ? 總線矩陣: ? ? ? ??協(xié)調(diào)內(nèi)核系統(tǒng)總線和DMA主控總線間的訪問(wèn)仲裁,仲裁采用輪換算法 ? ? ? ? 包含DCode、系統(tǒng)總線、DMA1和DMA2總線、被動(dòng)單元? ? AHB到APB橋 : ? ? ? ??兩個(gè)AHB/APB橋在AHB和兩個(gè)APB總線間提供同步連接 ? ? ? ??APB1速度限于36MHz,APB2全速最高72MHz


?

一、時(shí)鐘結(jié)構(gòu)(時(shí)鐘和復(fù)位模塊,如參考上半部分所示)

系統(tǒng)復(fù)位后,所有外設(shè)全部關(guān)閉,但?SRAM?和?FLASH接口(FLITF)除外。 使用外設(shè)之前需打開(kāi)該外設(shè)時(shí)鐘,設(shè)置?RCC——AHBENR?寄存器?。? ? 二、存儲(chǔ)結(jié)構(gòu) :(參考上半部分) *存儲(chǔ)組織: ? ? ? ??Cortex-M3的存儲(chǔ)系統(tǒng)采用統(tǒng)一編址方式,小端方式?4GB?的線性地址空間內(nèi),    尋址空間被分成?8?個(gè)主塊 block0-block7 ,每塊512MB。 ? ? ? ? ??片內(nèi)Flash: 從?0x00000000開(kāi)始(嚴(yán)格來(lái)講是從0x08000000開(kāi)始,到0x0800x xxxx結(jié)束,程序就燒到里面。) ? ? ? ??片內(nèi)SRAM:從?0x20000000開(kāi)始(用來(lái)保存程序運(yùn)行時(shí)產(chǎn)生的臨時(shí)數(shù)據(jù)的隨機(jī)存儲(chǔ)器,運(yùn)行時(shí)變量,堆棧的存放的地方) ? ? ? ??包括:? ? ? ? ? ? ? ? ? 代碼空間? ? ? ? ? ? ? ? ? 數(shù)據(jù)空間? ? ? ? ? ? ? ? ? 位段、位段別名? ? ? ? ? ? ? ? ? 寄存器? ? ? ? ? ? ? ? ? 片上外設(shè)? ? ? ? ? ? ? ? ? 外部存儲(chǔ)器? ? ? ? ? ? ? ? ? 外部外設(shè) ? ? ??拓展延伸:e2prom ,存儲(chǔ)掉電需要保存的數(shù)據(jù);fsmc總線還可以擴(kuò)展nor 和nand;?? *FLASH: 由?Main?Block?和?Information?Block組成 ? ? ? ? ? ??Main?Block:

? ? ? ? ? ??存放用戶(hù)程序,最高512KB? ? ? ? ? ? ? 地址范圍:0x0800?0000?–?0x0807?FFFF? ? ? ? ? ? ? 小容量:16K-32K,最大4Kx64bit,共32x1K頁(yè) ? ? ? ? ? ? 中容量:64K-128K,最大16Kx64bit,共128x1K頁(yè)? ? ? ? ? ? ? 大容量:256K-512K,最大64Kx64bit,共256x2K頁(yè)? ? ? ? ? ? ? 小容量:16K-32K,最大4Kx64bit,共32x1K頁(yè)? ? ? ? ? ? ? 互聯(lián)型:最大32Kx64bit,共128x2K頁(yè)

? ? ? ? ? ? ?Information?Block:

? ? ? ? ?System?Memory?2KB:0x1FFF?F000?–?0x1FFF?F7FF?ISP?Bootloader程序? ? ? ? ? ?Option?Bytes?16B:0x1FFF?F800?–?0x1FFF?F80F

? *SRAM:? ? ? ? ??最大64KB? ? ? ? ? 地址范圍:0x2000?0000?–?0x2000?FFFF ? *片上外設(shè)地址映射:?? *位段(bit-band)、位段別名 : ? M3存儲(chǔ)空間中包括兩個(gè)位段區(qū),該區(qū)域即可字操作,又可位操作 ? ? ? ? ? ? SRAM最低1MB空間: 0x2000?0000?–?0x200F?FFFF? ? ? ? ? ? ? 外設(shè)最低1MB空間:0x4000?0000?–?0x400F?FFFF? ? a.為方便位段區(qū)的操作,安排了兩個(gè)32M的位段別名區(qū) ? b.位段區(qū)中每一位?映射?位段別名區(qū)中的一個(gè)字 ? c.通過(guò)對(duì)別名區(qū)中某個(gè)字的讀寫(xiě)操作,可以實(shí)現(xiàn)對(duì)位段區(qū)中某一位的讀寫(xiě)操作 ?? ?別名區(qū),2個(gè)32MB: ? ? ? ??SRAM:0x2200?0000?–?0x21FF?FFFF? ? ? ? ??外設(shè):0x4200?0000?–?0x41FF?FFFF ? 位段別名區(qū)中的字與位段區(qū)的位映射公式: ? ? bit_word_addr?= ?bit_band_base +?(byte_offset?x?32) +?bit_number?x?4 ? ??例如:SRAM位段區(qū)中地址0x20000300字節(jié)中位2 ? ? ? ? ? ??0x22006008?= 0x22000000 +?(0x300?x?32) +?(2?x?4) ? ?? ? ??對(duì)別名區(qū)中某個(gè)字進(jìn)行寫(xiě)操作:該字的第?0?位將影響位段區(qū)中對(duì)應(yīng)的位 ? ??對(duì)別名區(qū)中某個(gè)字進(jìn)行讀操作:若位段區(qū)中對(duì)應(yīng)的位為?0?則讀的結(jié)果為?0x0 ,若位段區(qū)中對(duì)應(yīng)的位為?1?則讀的結(jié)果為?0x1 ? ? PS:?對(duì)別名區(qū)的讀寫(xiě)可以實(shí)現(xiàn)對(duì)位段區(qū)中每一位的原子操作,而且僅只需要一條指令即可實(shí)現(xiàn) ?? *啟動(dòng)模式?: ? ? ? ??STM32系統(tǒng)啟動(dòng)區(qū):0x0000?0000?–?0x0007?FFFF,512KB ? ? ? ??系統(tǒng)啟動(dòng)之后:?CPU從位于0x0000?0000地址處的啟動(dòng)區(qū)開(kāi)始執(zhí)行代碼 ??? ? ??該區(qū)實(shí)際既無(wú)FLASH,也無(wú)SRAM,通過(guò)引導(dǎo)配置后,將實(shí)際引導(dǎo)區(qū)映射到啟動(dòng)區(qū) ? ? ? ??系統(tǒng)復(fù)位后,在SYSCLK第4個(gè)上升沿,BOOT管腳的狀態(tài)被保存,用戶(hù)通過(guò)設(shè)置BOOT1,BOOT0的引腳狀態(tài)選擇啟動(dòng)模式 ? ? ? ??CPU從位于0x0000?0000地址處的啟動(dòng)區(qū)開(kāi)始執(zhí)行代碼 ? ? ? ? ? ? ? ???0x0000?0000?實(shí)際是SP? ? ? ? ? ? ? ? ???0x0000?0004?是執(zhí)行代碼的地址 ? ? ? ? ?即使被映射到啟動(dòng)區(qū),仍然可以在原存儲(chǔ)空間訪問(wèn)相關(guān)存儲(chǔ)器? ? ? ? ? ? ? ?從待機(jī)模式退出后,BOOT引腳狀態(tài)被重新保存,待機(jī)時(shí),BOOT管腳需保持 ?? ?   ?STM32F10x通過(guò)配置?BOOT[1:0]引腳選擇三種不同啟動(dòng)模式? 三、片上外設(shè) STM32F10x外設(shè)

?

?

STM32F103xx增強(qiáng)型大容量外設(shè)

?

四、GPIO結(jié)構(gòu)

共?(5) x?16個(gè)I/O口:?

PA0?~?PA15? PB0?~?PB15? PC0?~?PC15? PD0?~?PD15? PE0?~?PE15

3.3V與5V兼容:

PA8?~?PA15? PB2?~?PB4、?PB6?~PB15 PC6?~?PC12? PD0?~?PD15? PE0?~?PE15

僅支持3.3V:

PA0?~?PA7,兼做?ADC_IN0?~?ADC_IN7? PB0?~?PB1,兼做?ADC_IN8?~?ADC_IN9 PB5? PC0?~?PC5,兼做?ADC_IN10?~?ADC_IN15? PC13?~?PC15


引腳 (48 64 ?...) 開(kāi)發(fā)工具?

?

STM32系列的優(yōu)點(diǎn)

? ?先進(jìn)的內(nèi)核結(jié)構(gòu),STM32系列使用了ARM最新的、先進(jìn)架構(gòu)Cortex-M3內(nèi)核 ? ? ? ? ? ?優(yōu)秀的功耗控制,STM32處理器具有三種低功耗模式 ? ? ? ? ? ? ? ? ? ?運(yùn)行模式時(shí)使用高效的動(dòng)態(tài)耗電機(jī)制,在Flash中以72MHz全速運(yùn)行時(shí),如果開(kāi)啟外部時(shí)鐘,處理器僅耗電27mA? ? ? ? ? ? ? ? ? ? ? 待機(jī)狀態(tài)時(shí)極低耗電,典型值2uA? ? ? ? ? ? ? ? ? ? ? 電池供電時(shí),提供低電壓2.0~3.6V工作能力 ? ? ? ? ? ?靈活的時(shí)鐘控制機(jī)制,用戶(hù)可以根據(jù)自己所需的耗電/性能要求進(jìn)行合理優(yōu)化 ? ? ? ? ? ?RTC可獨(dú)立供電,外接紐扣電池供電

?

??性能出眾而且功能創(chuàng)新的片上外設(shè) ? ? ? ??STM32?處理器片上外設(shè)的優(yōu)勢(shì)來(lái)源于雙?APB?總線結(jié)構(gòu) ? ? ? ??其中有一個(gè)高速?APB,速度可達(dá)CPU?的運(yùn)行頻率,連接到該總線上的外設(shè)能以更高的速度運(yùn)行 ? ? ? ? ? ? ? ??USB:???12Mbit/s????????? ? ? ? ? ? ? ? ? USART:??4.5Mbit/s? ? ? ? ? ? ? ? ? PI:???18Mbit/s ? ? ?? ? ? ? ? ? ? ? ? IIC:????400kHz? ? ? ? ? ? ? ? ? GPIO:??18MHz翻轉(zhuǎn) ? ? ?? ? ? ? ? ? ? ? ? PWM:????定時(shí)器72MHz輸入 ? ? ? ? ?針對(duì)?MCU?應(yīng)用中最常見(jiàn)的電機(jī)控制,STM32?對(duì)片上外圍設(shè)備進(jìn)行一些功能創(chuàng)新 ? ? ? ? ? ? ? ? ?內(nèi)嵌適合三相無(wú)刷電機(jī)控制的定時(shí)器和ADC ? ? ? ? ? ? ? ? ?高級(jí)PWM定時(shí)器提供: ? ? ? ? ? ? ? ? ? ? ? ? ?6路PWM輸出 ? ?-> 死去產(chǎn)生?????->?邊沿對(duì)齊和中心對(duì)齊波形? ? ? ? ? ? ? ? ? ? ? ? ? 編碼器輸入?????->?霍爾傳感器???->?完整的向量控制環(huán) 緊急故障停機(jī)、 ? ? ? ? ? ? ? ? ? ? ? ? 可與2路ADC同步、與其它定時(shí)器同步 可編程防范機(jī)制可用于防止對(duì)寄存器的非法寫(xiě)入 ? ? ? ? ? ? ? ??雙通道ADC采樣/保持,12位1uS,連續(xù)/獨(dú)立模式,多觸發(fā)源 ? ? ? ? ? ? ? ??等等

?

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

嵌入式系統(tǒng)的算法效率與硬件資源的平衡是核心挑戰(zhàn)。STM32微控制器通過(guò)零開(kāi)銷(xiāo)循環(huán)機(jī)制與DWT計(jì)數(shù)器的結(jié)合,為算法優(yōu)化提供了硬件級(jí)支持。本文以插入排序算法為例,探討如何利用STM32的硬件特性驗(yàn)證排序閾值,實(shí)現(xiàn)性能與代碼復(fù)...

關(guān)鍵字: STM32 DWT

智能家居與工業(yè)控制場(chǎng)景,手勢(shì)識(shí)別作為非接觸式交互的核心技術(shù),正從實(shí)驗(yàn)室走向消費(fèi)級(jí)應(yīng)用。以STM32F407VET6微控制器與TensorFlow Lite Micro框架的組合為例,通過(guò)模型量化、硬件加速與低功耗設(shè)計(jì),可...

關(guān)鍵字: STM32 TensorFlow

在高性能電機(jī)驅(qū)動(dòng)的“納秒級(jí)戰(zhàn)爭(zhēng)”中,浮點(diǎn)運(yùn)算單元(FPU)往往成為制約控制環(huán)帶寬的阿喀琉斯之踵。當(dāng)PWM載波頻率攀升至100kHz,留給電流環(huán)PID、Clarke/Park變換及SVPWM計(jì)算的時(shí)間窗口僅剩寥寥數(shù)微秒。此...

關(guān)鍵字: 電機(jī)控制算法 FOC磁場(chǎng) STM32

在工業(yè)控制、電機(jī)驅(qū)動(dòng)等實(shí)時(shí)性要求嚴(yán)苛的場(chǎng)景中,中斷響應(yīng)延遲直接影響系統(tǒng)精度與穩(wěn)定性。STM32系列微控制器憑借Cortex-M內(nèi)核的硬件特性,通過(guò)合理的系統(tǒng)架構(gòu)設(shè)計(jì)可實(shí)現(xiàn)微秒級(jí)中斷響應(yīng)。本文從硬件配置、中斷處理、代碼優(yōu)化...

關(guān)鍵字: 裸機(jī)開(kāi)發(fā) STM32

在工業(yè)控制、音頻處理等高性能嵌入式場(chǎng)景中,某電機(jī)驅(qū)動(dòng)項(xiàng)目通過(guò)混合使用寄存器操作與CMSIS-DSP庫(kù),將PID控制周期從120μs縮短至38μs,系統(tǒng)響應(yīng)速度提升3倍。本文將揭秘這種"底層+高層"混合編程模式的核心技巧。

關(guān)鍵字: HAL STM32 寄存器

嵌入式系統(tǒng)開(kāi)發(fā)手勢(shì)識(shí)別作為非接觸式人機(jī)交互的核心技術(shù),正從實(shí)驗(yàn)室走向消費(fèi)級(jí)應(yīng)用。然而,傳感器采集的原始信號(hào)常因電磁干擾、電源噪聲或機(jī)械抖動(dòng)產(chǎn)生失真,導(dǎo)致識(shí)別準(zhǔn)確率下降。本文以STM32微控制器與PAJ7620手勢(shì)識(shí)別傳感...

關(guān)鍵字: STM32 手勢(shì)識(shí)別 噪聲

在物聯(lián)網(wǎng)設(shè)備開(kāi)發(fā)中,快速實(shí)現(xiàn)穩(wěn)定可靠的網(wǎng)絡(luò)通信是項(xiàng)目成功的關(guān)鍵。W5500作為一款集成硬件TCP/IP協(xié)議棧的以太網(wǎng)控制器,憑借其"開(kāi)箱即用"的特性,可大幅縮短STM32平臺(tái)的網(wǎng)絡(luò)功能開(kāi)發(fā)周期。本文通...

關(guān)鍵字: STM32 W5500

工業(yè)物聯(lián)網(wǎng)設(shè)備開(kāi)發(fā)中,某智能電表項(xiàng)目曾因ADC采樣中斷響應(yīng)延遲導(dǎo)致數(shù)據(jù)丟失率高達(dá)15%。技術(shù)人員通過(guò)重構(gòu)DMA驅(qū)動(dòng)架構(gòu),將數(shù)據(jù)搬運(yùn)效率提升12倍,CPU占用率從38%降至3%,成功解決高速采樣場(chǎng)景下的實(shí)時(shí)性難題。這一案例...

關(guān)鍵字: STM32 DMA

工業(yè)機(jī)器人關(guān)節(jié)控制系統(tǒng)中,一個(gè)典型的伺服驅(qū)動(dòng)器需要在100μs周期內(nèi)完成電流采樣、位置反饋、PID計(jì)算和PWM輸出等12項(xiàng)關(guān)鍵任務(wù)。當(dāng)傳統(tǒng)固定優(yōu)先級(jí)調(diào)度導(dǎo)致機(jī)械臂出現(xiàn)0.3°的位置抖動(dòng)時(shí),某運(yùn)動(dòng)控制廠商通過(guò)引入混合排序算...

關(guān)鍵字: 電機(jī)控制 STM32

在STM32嵌入式系統(tǒng)開(kāi)發(fā)中,排序算法的效率直接影響傳感器數(shù)據(jù)處理、通信協(xié)議解析等核心任務(wù)的實(shí)時(shí)性。傳統(tǒng)快速排序在部分有序數(shù)據(jù)場(chǎng)景下易退化為O(n2)時(shí)間復(fù)雜度,而單純依賴(lài)三數(shù)取中法優(yōu)化基準(zhǔn)值選擇仍存在小規(guī)模數(shù)據(jù)效率不足...

關(guān)鍵字: STM32 傳感器
關(guān)閉