最新教程下載:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255
第3章 STM32F429整體把控
初學STM32F429一定要優先整體把控芯片的框架,不要急於了解單個外設的功能。
3.1 初學者重要提示
3.1 STM32F429框圖
3.2 STM32F429各個型號的區別
3.2 STM32F429總線框圖和時鍾
3.3 STM32F429的AHB 總線矩陣
3.4 STM32F429的FLASH
3.5 STM32F429的RAM
3.6 總結
3.1 初學者重要提示
- 學習一款新的芯片,優先掌握系統框架是比較重要的,建議逐漸養成這種學習習慣,然后各個擊破即可。
- 本章節提供了多張STM32F429的框圖,這些框圖都非常具有代表性。很多時候記憶知識點比較費腦子,記錄這些框圖是一種非常好的方式。
- 對於本章節提供的部分知識點,無法理解透徹,暫時沒有關系。隨着后面的深入學習,基本都可以掌握。
3.2 STM32F429硬件框圖
學習一款新的芯片,需要優先了解一下它的整體功能設計。需要的資料主要是來自官網和數據手冊,比如我們V6開發板使用的STM32F429BIT6,直接在官方地址:鏈接(這是超鏈接)就可以看到對此芯片所做的介紹,頁面中有一個如下的框圖,對於了解STM32F429整體設計非常方便(當前ST官網顯示bug,導致F429系列的框圖都被搞丟了,下面先用F407做展示)。
再稍微詳細點,就需要大家讀頁面上的”Key Features”,就是下圖所示的內容:
或者直接看數據手冊開頭的章節即可,也進行了介紹,內容基本都是差不多的,如下圖所示(部分截圖):
通過框圖和Key Features,大家可以方便地了解STM32F4的FLASH、RAM大小以及各種自帶外設的信息。
3.3 STM32F429各個型號的區別
涉及到芯片選型的時候,需要大家了解各個型號的區別。通過網頁鏈接(這是一個超鏈接)里面的截圖可以方便的了解。最主要的是下面的這個截圖:
通過這個截圖可以方便地了解不同型號的引腳數、封裝、FLASH大小、RAM大小以及是否帶HW CRYPTO硬件加密的區別。
需要了解更詳細的對比信息,可以看數據手冊。任意下載一個型號的數據手冊,在數據手冊的的Table 2里面有詳細的對比,如下圖所示(部分截圖):
使用ST提供的軟件STMCUFinder或者STM32CubeMX也可以做對比,只是沒有上面的表格這么方便,可以一目了然。
3.4 STM32F429總線框圖和時鍾
STM32F429的數據手冊里面提供了一張非常棒的框圖,大家可以方便地查看每個總線的時鍾速度和這個總線所掛的外設。這個在大家配置外設時鍾分頻的時候還是非常有用的,因為外設的時鍾分頻就是建立在所掛的總線速度(大家直接在數據手冊里面檢索Figure 1就可以找到)。
比如我們想得到不同定時器的主頻,通過上面的框圖,可以方便地獲得如下信息:
SYSCLK(Hz) = 180MHz
HCLK(Hz) = 180MHz
HCLK = SYSCLK / 1 (AHB1Periph)
PCLK2 = HCLK / 2 (APB2Periph)
PCLK1 = HCLK / 4 (APB1Periph)
因為APB1 prescaler != 1, 所以 APB1上的TIMxCLK = PCLK1 x 2 = SystemCoreClock / 2;
因為APB2 prescaler != 1, 所以 APB2上的TIMxCLK = PCLK2 x 2 = SystemCoreClock;
APB1 定時器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM7, TIM12, TIM13,TIM14
APB2 定時器有 TIM1, TIM8 ,TIM9, TIM10, TIM11
3.5 STM32F429的AHB總線矩陣
下面這個截圖比較有代表性,可以幫助大家理解STM32F429總線系統。
通過這個框圖我們要了解以下幾點:
1、 32位AHB總線組成的10*8矩陣
- 7個從接口端
Flash的ICode和Dcode;SRAM1;SRAM2;SRAM3;AHB1外設;AHB2外設和FMC總線。
- 8個主接口端
Cortex-M4內核的I-Bus,D-Bus和S-Bus;DMA1的DMA_MEM1;DMA2的DMA_MEM2和DMA_P2;以太網MAC;USB OTG HS;LCD-TFT控制器;DMA2D。
2、 並行操作
由於總線矩陣的存在,8個主接口端都可以發起通信,只要不是訪問同一個外設,且通信的通路沒有公用,那么就可以並行執行。
3.6 STM32F429的FLASH
STM32F429的主頻是180MHz,但自帶的Flash支持的頻率是遠低於這個值的。具體延遲數值和主頻關系如下:
對於上面的表格,大家可以看到,當延遲等待設置為0的時候,即無等待,單周期訪問,速度可以做到30MHz(供電電壓選擇2.7到3.6V)。增加1個Flash周期后,訪問速度可以做到60MHz。當增加到5個Flash周期后,最高速度可以做到180MHz。
當STM32F429以180MHz運行的時候,每次訪問Flash都需要6個時鍾周期,時間太長了。為了解決這個問題,STM32F429的Flash做了ART Chrom加速,可以實現Flash操作零等待。
3.7 STM32F429的RAM
通過本章的3.5小節,我們了解到,STM32F429由以下幾塊SRAM組成:
- SRAM1,SRAM2和SRAM3區
這三塊SRAM的地址是連續的。
SRAM1首地址:0x2000 0000,大小128KB。
SRAM2首地址:0x2001 C000,大小16KB。
SRAM3首地址:0x2002 0000,大小64KB。
速度:180MHz。
- CCM RAM區
CCM RAM是直接接到M4內核的D-Bus總線上,優勢是M4訪問比較快,缺點是這個RAM區不支持DMA,這點要特別注意。
CCM RAM首地址:0x1000 0000,大小64KB。
速度:180MHz。
- Backup SRAM區
備份RAM區。
Backup SRAM首地址0x4002 4000,大小4KB。
速度:180MHz。
用途:用途不限,主要用於系統進入低功耗模式后,繼續保存數據(Vbat引腳外接電池)。
3.8 總結
本章節就為大家講解這么多,讓大家對STM32F429有個整體的認識,后面章節將逐個進行學習。