完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>
標簽 > STM32F4
STM32F4是由ST(意法半導體)開發的一種高性能微控制器。其采用了90 納米的NVM 工藝和ART(自適應實時存儲器加速器,Adaptive Real-Time MemoryAccelerator?)。
ST(意法半導體)推出了以基于ARM® Cortex™-M4為內核的STM32F4系列高性能微控制器,其采用了90 納米的NVM 工藝和ART(自適應實時存儲器加速器,Adaptive Real-Time MemoryAccelerator™)。
ART技術使得程序零等待執行,提升了程序執行的效率,將Cortext-M4的性能發揮到了極致,使得STM32 F4系列可達到210DMIPS@168MHz。
自適應實時加速器能夠完全釋放Cortex-M4 內核的性能;當CPU 工作于所有允許的頻率(≤168MHz)時,在閃存中運行的程序,可以達到相當于零等待周期的性能。
STM32F4系列微控制器集成了單周期DSP指令和FPU(floating point unit,浮點單元),提升了計算能力,可以進行一些復雜的計算和控制。
STM32 F4系列引腳和軟件兼容于當前的STM32 F2系列產品。
STM32F4是由ST(意法半導體)開發的一種高性能微控制器。其采用了90 納米的NVM 工藝和ART(自適應實時存儲器加速器,Adaptive Real-Time MemoryAccelerator™)。
簡介
ST(意法半導體)推出了以基于ARM® Cortex™-M4為內核的STM32F4系列高性能微控制器,其采用了90 納米的NVM 工藝和ART(自適應實時存儲器加速器,Adaptive Real-Time MemoryAccelerator™)。
ART技術使得程序零等待執行,提升了程序執行的效率,將Cortext-M4的性能發揮到了極致,使得STM32 F4系列可達到210DMIPS@168MHz。
自適應實時加速器能夠完全釋放Cortex-M4 內核的性能;當CPU 工作于所有允許的頻率(≤168MHz)時,在閃存中運行的程序,可以達到相當于零等待周期的性能。
STM32F4系列微控制器集成了單周期DSP指令和FPU(floating point unit,浮點單元),提升了計算能力,可以進行一些復雜的計算和控制。
STM32 F4系列引腳和軟件兼容于當前的STM32 F2系列產品。
優點
※兼容于STM32F2系列產品,便于ST的用戶擴展或升級產品,而保持硬件的兼容能力。
※集成了新的DSP和FPU指令,168MHz的高速性能使得數字信號控制器應用和快速的產品開發達到了新的水平。提升控制算法的執行速度和代碼效率。
※先進技術和工藝
- 存儲器加速器:自適應實時加速器(ART Accelerator™ )
- 多重AHB總線矩陣和多通道DMA:支持程序執行和數據傳輸并行處理,數據傳輸速率非常快
- 90nm工藝
※高性能
- 210DMIPS@168MHz
- 由于采用了ST的ART加速器,程序從FLASH運行相當于0等待更多的存儲器
- 多達1MB FLASH (將來ST計劃推出2MB FLASH的STM32F4)
- 192Kb SRAM:128KB 在總線矩陣上,64KB在專為CPU使用的數據總線上高級外設與STM32F2兼容
- USB OTG高速 480Mbit/s
- IEEE1588, 以太網 MAC 10/100
- PWM高速定時器:168MHz最大頻率
- 加密/哈希硬件處理器:32位隨機數發生器(RNG)
- 帶有日歷功能的32位RTC:《1 μA的實時時鐘,1秒精度
※更多的提升
- 低電壓:1.8V到3.6V VDD,在某些封裝上,可降低至1.7V
- 全雙工I2S
- 12位 ADC:0.41us轉換/2.4Msps(7.2Msps在交替模式)
- 高速USART,可達10.5Mbits/s
- 高速SPI,可達37.5Mbits/s
- Camera接口,可達54M字節/s
STM32F4——GPIO基本應用及復用
一、IO基本結構:
針對STM32F407有7組IO。分別為GPIOA~GPIOG,每組IO有16個IO口,則有112個IO口。
當中IO口的基本結構例如以下:
二、工作方式:
STM32F4工作模式有8種,當中4中輸入模式。4種輸出模式,分別為:輸入浮空、輸入上拉、輸入下拉、模擬模式、開漏輸出、開漏復用輸出、推挽輸出、推挽復用輸出。
1、輸入模式:
在輸入浮空模式下。電路既不上拉也不下拉,通過施密特觸發器送到輸入數據寄存器在送入到CPU。輸入上拉和下拉模式各自是在電路中經過上拉和下拉后通過施密特觸發器送入的CPU,模擬模式下,施密特觸發器關閉后信號直接通過模擬通道至片上外設。
2、輸出模式:
開漏輸出模式下。CPU發送輸入直接或間接的控制輸出數據寄存器,通過輸出控制電路,當信號為1時,N—MOS管是關閉的,所以IO電平就是受上下拉電路的控制。當信號為0時。N—MOS管導通輸出就是下拉低電平;推挽輸出模式下。信號為1時,P-MOS管導通,N-MOS管截止,輸出就是上拉高電平,當信號為0時。P-MOS管截止,N-MOS管導通。輸出就是下拉低電平;對于開漏復用和推挽復用模式與開漏和推挽的不同之處就是在于信號的開源不同。開漏復用和推挽復用的信號來源是片上的外設模塊。
三、相關寄存器
每個通用的IOport都包含4個32位的配置寄存器(GPIOx_MODER、GPIOx_OTYPER、PIOx_OSPEEDR和GPIOx_PUPDR)。2個32位的數據寄存器(GPIOx_IDR和GPIOx_ODR),1個32位置位/復位寄存器(GPIOx_BSRR),1個32位鎖定寄存器(GPIOx_LCKR)和2個32位復用功能選擇寄存器(GPIOx_AFRL)。
以下對其進行介紹。
1、工作模式配置:1、port模式(GPIOx_MODER):用來配置port的模式為輸入、輸出、復用和模擬模式。
2、port類型(GPIOx_OTYPER):用來配置寄存器的模式為輸出推挽還是輸出開漏。3、port速度(PIOx_OSPEEDR):用來配置port的信息傳輸速率。4、port上下拉(GPIOx_PUPDR):用來配置port的無上下拉、上拉、下拉和保留模式。
2、電平配置:1、輸入數據(GPIOx_IDR):用到其低16位。分別對應該組IO口的一個電平狀態。
2、輸出數據(GPIOx_ODR):與輸入數據寄存器相似的功能。3、置位和復位(GPIOx_BSRR):與前兩個不同的是置位和復位寄存器用到了32位。低16為設置為1時,用于置1對應位。高16位設置為1時,用于置0對應位。而低16位和高16位設置為0時不影響原值。
3、復用功能配置:以下做對應說明。
IO復用
一、復用背景:
因為考慮到IO口的有限,為了節省IO資源。同一時候為了更好的協調IO之間的工作。所以有必要在適當的時候給IO口賦予不同的功能。一個IO口在不同的時候能夠承擔不同的工作,這就是IO的復用功能。
二、復用原理:
每個IO口都會接有一個選擇器,這個選擇器經過對應寄存器(GPIOx_AFRH和GPIOx_AFRL)的配置之后就能夠做不同的功能的應用,這個寄存器就是GPIOx_AFRH和GPIOx_AFRL。
三、寄存器配置:
每一組IO口都有一個AFRL和一個AFRH寄存器。他們都是32位的寄存器,當中每4位配置一個IO口的功能,則相應的GPIOx_AFRL就用來配置第0-7個IO口,GPIOx_AFRH就用來配置第8-15個IO口。
每4位配置一個IO口,則4位數據的相關取值就會有相應的相應功能。如此一來就做好了相關配置。
綜述:
這些相關的配置過程會用到對應的函數和對應變量,熟練使用相關的函數,同一時候對函數的功能了解后才會應用的更加得心應手。同一時候也能夠寫自己的一些相關函數來進行操作。當然也能夠直接操作相關的寄存器。
基于RoboMasterC板的RT-Thread使用分享—ADC測量電壓實驗
本次我們來講一下ADC(Analog-to-Digital Converter)不是游戲里的AD Carry,我們將實現電池電壓的讀取。
IC-MCU-ST系列單片機 STM32F402RCT6 21+ LQFP48 原裝正品 現貨供應
STM32F402RCT6 21+ LQFP48
2022-03-01 標簽:STM32F4STM32F402RCT6 1609 0
自筆者提出 serialX 串口驅動到今天近半年了,當初只在 STM32F4 NUC970 兩個系列芯片上做過理論驗證。一個是 ARM CM4 核心架構...
[導讀] 大家好,我是逸珺。 之前挖了圖解freeRTOS的坑,挖了坑就得填。今天就從使用開始,先把freeRTOS用起來。先聊一聊在STM32F407...
2021-07-23 標簽:STM32F4 4093 0
最近一年多開始使用STM32F4系列芯片,在使用開發板、評估板的時候一切正常,但當自己做板子的時候事故頻發,最典型的就是無法啟動、無法刷機,現將遇到的幾...
2022-02-16 標簽:STM32F4 8246 0
STM32F4基于Cortex-M4。對于基于Cortex-M3/M4的芯片,復位后總是從0x00000000地址處,取主堆棧指針(MSP)的值,從0x...
STM32F4系列的DMA請求與DMA傳輸通道的映射關系多了些選擇性,靈活性
簡單點說,它是DMA請求中轉調度器,或說DMA請求路由器。基本功能就是將各路DMA請求經過它的再分配調度后連接到相應的DMA控制器傳輸通道以實現DMA傳輸。
編輯推薦廠商產品技術軟件/工具OS/語言教程專題
電機控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機 | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機 | PID | MOSFET | 傳感器 | 人工智能 | 物聯網 | NXP | 賽靈思 |
步進電機 | SPWM | 充電樁 | IPM | 機器視覺 | 無人機 | 三菱電機 | ST |
伺服電機 | SVPWM | 光伏發電 | UPS | AR | 智能電網 | 國民技術 | Microchip |
開關電源 | 步進電機 | 無線充電 | LabVIEW | EMC | PLC | OLED | 單片機 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 藍牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太網 | 仿真器 | RISC | RAM | 寄存器 | GPU |
語音識別 | 萬用表 | CPLD | 耦合 | 電路仿真 | 電容濾波 | 保護電路 | 看門狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 閾值電壓 | UART | 機器學習 | TensorFlow |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |