日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝桥杯嵌入式CT117E-M4学习笔记02-STM32G431RBT6芯片学习

發布時間:2024/1/18 编程问答 107 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝桥杯嵌入式CT117E-M4学习笔记02-STM32G431RBT6芯片学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、芯片簡介
  • 二、時鐘學習
  • 三、SRAM學習
  • 四、總線矩陣學習
  • 五、GPIO學習
  • 總結


前言

首先學習了解一下藍橋杯嵌入式CT117E-M4開發板的主控芯片STM32G431RBT6,本文僅為個人學習成果總結,如有錯誤,懇請指正。

一、芯片簡介

上圖為STM32CubeMX選型界面,如圖可以看出STM32G431RBT6具有以下特點和硬件集成。

  • 采用Cortex-M4 32位RISC核心架構,工作頻率最高可達170Mhz。
  • 128kBytes的FLASH,32kBytes的SRAM。
  • 封裝形式LQFP 64,引腳個數64pin,其中I/O個數52pin。
  • CORDIC數學函數硬件加速,FMAC濾波函數硬件加速,CRC校驗計算單元,RNG(Random Number Generator)隨機數生成器。
  • 2個12位的adc,4個比較器,3個運算放大器,4個DAC通道(2個外部和2個內部),1個內部電壓參考緩沖器。
  • 1個低功耗RTC(Real-Time Clock),1個通用32位定時器,2個16位PWM定時器(專用于電機控制),7個通用16位定時器,1個16位低功耗定時器。
  • 1個FDCAN,3個I2C,3個SPI和2個I2S沖突復用(其中的2個I2S和SPI引腳沖突),1個SAI(Serial Audio Interface)音頻接口。
  • 3個USART,1個UART,1個低功耗UART,一個全速USB(12MBit/s),1個UCPD。
  • 工作條件(略)

二、時鐘學習

STM32G431時鐘框圖如下圖所示。

1. STM32G431RBT6具有三個不同的時鐘源可以提供SYSCLK系統時鐘

  • 4-48mhz高速振蕩器與外部晶體或陶瓷諧振器(HSE)。它可以為系統鎖相環提供時鐘。HSE也可以配置為bypass,用于外部時鐘。
  • 16mhz高速內部RC振蕩器(HSI16),可由軟件微調。它可以為系統鎖相環提供時鐘
  • 系統鎖相環(PLL),最大輸出頻率170 MHz。它可以用HSE16或HSI16時鐘送電。

2. 帶時鐘恢復系統的RC48 (HSI48):內部的HSIRC48 MHz時鐘源可用于驅動USB或RNG外設。
3. 輔助時鐘源:兩個超低功耗的實時時鐘源

  • 32.768 kHz低速外接晶體振蕩器(LSE),支持四種驅動能力模式。LSE也可以配置為bypass模式,使用外部時鐘。
  • 32 kHz低速內部RC振蕩器(LSI),精度±5%,也用于時鐘獨立看門狗。

4. 外設時鐘源:多個外設(I2S、USART、I2C、LPTimer、ADC、SAI、RNG)具有獨立于系統時鐘的時鐘。
5. 時鐘安全系統CSS (Clock security system):當HSE時鐘發生故障時,系統時鐘自動切換到HSI16,如果使能,則產生軟件中斷。也可以檢測到LSE時鐘故障并產生中斷。

6. 時鐘輸出功能

  • MCO:微控制器時鐘輸出:它輸出一個內部時鐘供外部應用程序使用
  • LSCO:低速時鐘輸出:在所有低功耗模式下輸出LSI或LSE

三、SRAM學習

stm32G431 x6/x8/xB系列具有32kBytes的SRAM,但是這32k的SRAM被分為三個部分。

  • 首先是16kBytes的SRAM被映射到地址0x2000 0000(SRAM1),CPU可以通過系統總線(S-bus)進行控制,也可以通過指令/數據總線控制(I-but/O-but)(詳見四、總線矩陣學習),SRAM1支持硬件奇偶校驗。
  • 其次是6Kbytes被映射到地址0x2000 4000 (SRAM2),CPU只能通過系統總線進行控制,SRAM2可以保持在停止和待機模式。
  • 最后是10Kbytes被映射到地址0x1000 0000 (CCM SRAM),CPU主要通過指令/數據總線控制(I-but/O-but),以獲取最大的性能,它的別名也是0x2000 5800地址,所有主節點(CPU、DMA1、DMA2)都可以通過S-bus訪問,這些S-bus與SRAM1和SRAM2相鄰)。CCM SRAM支持硬件奇偶校驗,可以以1kbyte的粒度進行寫保護。
  • 內存可以在最大CPU時鐘速度下讀寫,等待狀態為0。

四、總線矩陣學習

STM32G431RBT6總線矩陣如下圖所示。

  • ICode/Bus 總線 ICode 中的 I 表示 Instruction,即指令。我們寫好的程序編譯之后都是一條條指令,存放在 FLASH 中,內核要讀取這些指令來執行程序就必須通過 ICode 總線,它幾乎每時每刻都需要被使用,它是專門用來取指令的。
  • DCode/Bus 總線 DCode 中的 D 表示 Data,即數據,那說明這條總線是用來取數據的。我們在寫程序的時候,數據有常量和變量兩種,常量就是固定不變的,用 C 語言中的 const 關鍵字修飾,是放到內部的 FLASH 當中的,變量是可變的,不管是全局變量還是局部變量都放在SRAM中。因為數據可以被 Dcode 總線和 DMA 總線訪問,所以為了避免訪問沖突,在取數 的時候需要經過一個總線矩陣來仲裁,決定哪個總線在取數據。
  • S-Bus 系統總線 系統總線主要是訪問外設的寄存器,我們通常說的寄存器編程,即讀寫寄存器都是通過這根系統總線來完成的
  • DMA總線(Direct Memory Access)即直接存儲器訪問。主要用來傳輸數據,這個數據可以是某個外設的數據寄存存器,可以在SRAM,可以在內部的FLASH。
  • AHB總線 (Advanced High performance Bus)高級高性能總線,主要用于內部的處理器,DMA,RAM,CORDIC,FMAC,DAC,ADC,CRC,GPIO等。
  • APB總線(Advanced Peripheral Bus)外圍總線,主要用于定時器,比較器和各種通信接口等。

五、GPIO學習

STM32G431RBT6具有51個GPIO口可以進行使用。

GPIO可以配置為輸出模式(推挽輸出/開漏輸出),輸入模式(上拉/下拉),復用外圍器件模式,

  • 推挽輸出和開漏輸出的區別:學習鏈接 ,**總結來說就是推挽輸出可以輸出高低電平,但是驅動能力不行,開漏輸出無法輸出高電平,需要外接上拉電阻,驅動能力強。
  • 輸入模式:獲取IO口的寄存器狀態,通過配置上拉和下拉電阻,增強抗干擾能力。
  • 復用模式:復用為某些外圍電路的專用IO,比如硬件IIC的SCL和SDA。

總結

本次學習和了解了STM32G431RBT6芯片上的片內資源大概和基礎的時鐘、總線和GPIO知識,希望大家可以一起學習+進步。

鑒于官方開發板售價過高,本人自己制作了一款藍橋杯嵌入式開發板,完全兼容官方的開發板,并且接下來會基于這款開發板進行學習和制作學習日志,到時候所拍實物圖片會與官方開發板略有不同,如果有意向一起學習的同學也可以私聊我加群互相學習,ps:找我低價買塊開發板自己學習也是可以的~ 。

總結

以上是生活随笔為你收集整理的蓝桥杯嵌入式CT117E-M4学习笔记02-STM32G431RBT6芯片学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。