色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文深入了解STM32H7芯片

我快閉嘴 ? 來源:博客園 ? 作者:Simon223 ? 2022-09-29 10:30 ? 次閱讀

初學STM32H7一定要優先整體把控芯片的框架,不要急于了解單個外設的功能。

1 初學者重要提示

學習一款新的芯片,優先掌握系統框架是比較重要的,建議逐漸養成這種學習習慣,然后各個擊破即可。

本章節提供了多張STM32H7的框圖,這些框圖都非常具有代表性。很多時候記憶知識點比較費腦子,記錄這些框圖是一種非常好的方式。

對于本章節提供的部分知識點,無法理解透徹,暫時沒有關系。隨著后面的深入學習,基本都可以掌握。

重要的MPU和Cache知識分別放在了第23章和第24章。

2 STM32H7硬件框圖

學習一款新的芯片,需要優先了解一下它的整體功能設計。需要的資料主要是來自官網和數據手冊,比如我們V7開發板使用的STM32H743XIH6,直接在官方地址:鏈接(這是超鏈接)就可以看到對此芯片所做的介紹,頁面中有一個如下的框圖,對于了解STM32H7整體設計非常方便。

4a3c254e-3f37-11ed-9e49-dac502259ad0.png

再稍微詳細點,就需要大家讀頁面上的”Key Features”,就是下圖所示的內容:

4a71a340-3f37-11ed-9e49-dac502259ad0.png

或者直接看數據手冊開頭的章節即可,也進行了介紹,內容基本都是差不多的,如下圖所示(部分截圖):

4a943996-3f37-11ed-9e49-dac502259ad0.png

通過框圖和Key Features,大家可以方便地了解STM32H7的FLASH、RAM大小以及各種自帶外設的信息。

3 STM32H7各個型號的區別

涉及到芯片選型的時候,需要大家了解各個型號的區別。對此ST有一個專門的文件STM32H7x3 MCUs High-performance line,在鏈接(這是一個超鏈接)里面可以找到。此文件里面有簡單的對比,只是內容比較簡單,僅兩頁,不過也言簡意賅。最主要的是下面的這個截圖:

4ac51c3c-3f37-11ed-9e49-dac502259ad0.png

通過這個截圖可以方便地了解不同型號的引腳數、封裝、FLASH大小、RAM大小以及是否帶HW CRYPTO硬件加密的區別。

需要了解更詳細的對比信息,可以看數據手冊。任意下載一個型號的數據手冊,在數據手冊的的Table 2里面有詳細的對比,如下圖所示(部分截圖):

4af6667a-3f37-11ed-9e49-dac502259ad0.png

使用ST提供的軟件STMCUFinder或者STM32CubeMX也可以做對比,只是沒有上面的表格這么方便,可以一目了然。

4 STM32H7總線框圖和時鐘

STM32H7的數據手冊里面提供了一張非常棒的框圖,大家可以方便地查看每個總線的時鐘速度和這個總線所掛的外設。這個在大家配置外設時鐘分頻的時候還是非常有用的,因為外設的時鐘分頻就是建立在所掛的總線速度

4b2e0a26-3f37-11ed-9e49-dac502259ad0.png

比如我們想得到不同定時器的主頻,通過上面的框圖,可以方便地獲得如下信息:

SYSCLK(Hz) = 400000000 (CPU Clock)

HCLK(Hz) = 200000000 (AXI and AHBs Clock)

AHB Prescaler = 2

D1 APB3 Prescaler = 2 (APB3 Clock 100MHz)

D2 APB1 Prescaler = 2 (APB1 Clock 100MHz)

D2 APB2 Prescaler = 2 (APB2 Clock 100MHz)

D3 APB4 Prescaler = 2 (APB4 Clock 100MHz)

因為APB1 prescaler != 1, 所以 APB1上的TIMxCLK = APB1 x 2 = 200MHz;

因為APB2 prescaler != 1, 所以 APB2上的TIMxCLK = APB2 x 2 = 200MHz;

APB4上面的TIMxCLK沒有分頻,所以就是100MHz;

APB1 定時器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14,LPTIM1

APB2 定時器有 TIM1, TIM8 , TIM15, TIM16,TIM17

APB4 定時器有 LPTIM2,LPTIM3,LPTIM4,LPTIM5

5 STM32H7的AXI總線

AXI總線在STM32H7中有著舉足輕重的作用。高并發性全靠這個總線了,先來看下AXI總線的框架:

5.1 總線系統框架

下面這個截圖比較有代表性,可以幫助大家理解STM32H7總線系統。

4b70f9bc-3f37-11ed-9e49-dac502259ad0.png

這個圖可以方便識別總線所外掛的外設,共分為三個域:D1 Domain,D2 Domain和D3 Domain。

D1 Domain

D1域中的各個外設是掛在64位AXI總線組成6*7的矩陣上。

6個從接口端ASIB1到ASIB6

外接的主控是LTDC,DMA2D,MDMA,SDMMC1,AXIM和D2-to-D1 AHB 總線。

7個主接口端AMIB1到AMIB7

外接的從設備是AHB3總線,Flash A,Flash B,FMC總線,QSPI和AXI SRAM。另外AHB3也是由AXI總線分支出來的,然后再由AHB3分支出APB3總線。

D2 Domain

D2域的各個外設是掛在32位AHB總線組成10*9的矩陣上。

10個從接口

外接的主控是D1-to-D2 AHB 總線,AHBP總線,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1和USB HS2。

9個主接口

外接的從設備是SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB2,APB3,D2-to-D1 AHB總線和D2-to-D3 AHB總線。

D3 Domain

D3域的各個外設是掛在32位AHB總線組成3*2的矩陣上。

3個從接口

外接的主控D1-to-D3 AHB總線,D2-to-D3 AHB總線和BDMA。

2個主接口

外接的從設備是AHB4,SRAM4和Bckp SRAM。另外AHB4也是這個總線矩陣分支出來的,然后再由AHB4分支出APB4總線。

這三個域之間也是有互聯的,可以是:

D1域到D2域的D1-to-D2 AHB bus

允許D1域中的主接口外設訪問D2域里面的從接口外設。比如D1域里面的DMA2D訪問D2域里面的SRAM1。

D2域到D1域的D2-to-D1 AHB bus

允許D2域中的主接口外設訪問D1域里面的從接口外設。比如D2域里面的DMA2訪問D1域里面的AXI SRAM。

D1域到D3域的D1-to-D3 AHB bus

允許D1域中的主接口外設訪問D3域里面的從接口外設。比如D1域里面的DMA2D訪問D3域里面的SRAM4。

D2域到D3域的D2-to-D3 AHB bus。

允許D1域中的主接口外設訪問D2域里面的從接口外設。比如D2域里面的DMA2訪問D3域里面的SRAM4。

有了這些知識后,下面我們重點了解AXI總線矩陣。

5.2 AXI總線特色

AXI支持高頻率、高性能的系統設計:

支持高帶寬,低延遲設計。

提供高頻操作,無需復雜的總線橋。

滿足各種組件的接口需求。

適用于具有高初始訪問延遲的內存控制器

為互連架構的實現提供了靈活性。

與現有的AHB和APB接口向后兼容。

AXI總線的關鍵特性:

獨立的地址、控制和數據線。

支持非字節對齊方式傳輸。

基于起始地址的突發傳輸。

分開的讀和寫數據通道,且提供DMA傳輸。

支持發起多個地址。

支持無序傳輸。

允許添加寄存器,以提供時序收斂。

5.3 AXI總線簡介

通過下面的框圖,我們再進一步的認識一下AXI總線。

4c2abb72-3f37-11ed-9e49-dac502259ad0.png

通過上面的截圖,我們可以看到,AXI總線有6個從接口ASIBs(AMBA slave interface blocks)和7個主控接口AMIBs(AMBA master interface blocks)。

針對從接口ASIBs,描述如下:

4ca1a76e-3f37-11ed-9e49-dac502259ad0.png

重點注意最后一列,STM32H7參考手冊里面原始的描述是R/W issuing,這里將其翻譯為讀/寫發起能力。比如輸入通道IN5連接的主控DMA2D,支持的讀發起能力是2,寫發起能力是1。讀發起能力是2該如何理解呢?這里的含義是存在兩路讀信號同時進行(因為AXI接口有一個FIFO的功能,可供同時進行,更深入的認識有待研究),反映到DMA2D的實際應用中,就是DMA2D同時讀取前景色和背景色的緩存區做Alpha融合之類的操作。寫操作同理,DMA2D的寫發起能力僅支持一路。

針對主控接口AMIBs,描述如下:

4cc60712-3f37-11ed-9e49-dac502259ad0.png

跟上面表格的含義是一樣的,同樣重點注意最后一列,這里多了一個總接收能力(Total acceptance),也就是讀發起能力和寫發起能力同時執行的情況。

5.4 AXI總線優先級編程

由于存在多個ASIB從接口訪問AMIB主控的問題,這就涉及到誰先誰后等問題。所以AXI總線矩陣就做了一個基于優先級的仲裁方案。每個ASIB接口支持讀通道和寫通道分別設置,優先級從0到15。數值越大,優先級越高,默認情況都是優先級0。如果有兩個傳輸同時到達AMIB主控接口,那么優先級高的ASIB接口傳輸優先處理;如果優先級相同的話,根據LUR方案選擇(least recently-used最近最少使用情況)。

大家在實際應用中,可以根據實際情況進行設置,一般情況下使用默認值即可。

6 STM32H7的總線互聯

STM32H7的總線矩陣四通八達,但不是任意Bus Master總線主控端和Bus Slave設備端都可以相互通信的:

4cdf7ce2-3f37-11ed-9e49-dac502259ad0.png

黑色加粗字體是64位總線(ITCM,DTCM,Flash A,Flash,AXI SRAM,FMC等),普通字體是32位總線。

訪問通路(每個小方塊里面的字符)

任何有數字的表示有訪問通路。

短橫杠“-”表示不可訪問。

有灰色陰影的表示有實用價值的訪問通路。

表格中具體數值所代表的含義

D=direct

1=via AXI bus matrix

2=via AHB bus matrix in D2

3=via AHB bus matrix in D3

4=via AHB/APB bridge in D1

5=via AHB/APB bridge in D2

6=via AHB/APB bridge in D3

7=via AHBS bus of Cortex-M7

多個數值組合 = 互連路徑以數字的順序經過多個矩陣或/和橋。

總線訪問類型

普通字體表示32位總線。

斜體表示32位總線主機端/ 64位總線從機端。

粗體表示64位總線。

當前要對這個圖有個了解,后面章節講解各個外設的時候要用到,比如DTCM和ITCM不支持DMA1,DMA2和BDMA,僅支持MDMA。

7 STM32H7的FLASH

首次學習STM32H7,要掌握以下幾點認識即可:

1、雙BANK,每個BANK的帶寬都是64bits,如下圖所示:

4d0f417a-3f37-11ed-9e49-dac502259ad0.png

2、H7中Flash的延遲和主頻關系。

H7中已經沒有F1和F4系列中的ART Chrome加速,通過H7中的Cache加速即可。具體延遲數值和主頻關系如下:

4d8b6c0a-3f37-11ed-9e49-dac502259ad0.png

對于上面的表格,大家可以看到,當延遲等待設置為0的時候,即無等待,單周期訪問,速度可以做到70MHz。增加1個Flash周期后,訪問速度可以做到140MHz。當增加到3個或4個Flash周期后,最高速度可以做到225MHz。

3、Flash編程操作(寫)最好以256bits為單位進行,應用中也可以小于256bits,但是容易造成ECC校驗出問題,所以不推薦。Flash讀操作支持64bits,32bits,16bits和8bits。

4、Flash支持ECC校驗,每256bits配10bit的ECC位,可以檢測到1個bit并糾正或者檢測2個bit。隨著芯片的制造工藝水平越高,帶電粒子能產生的位翻轉就越多,此時的ECC是必須要有的,一般可以糾正1-2個bit。安全等級高的Flash類存儲器和RAM類都是必須要帶ECC的。

8 STM32H7的RAM

STM32H7的RAM區分為好幾個部分,下面分別進行說明:

TCM區

TCM : Tightly-Coupled Memory 緊密耦合內存 。ITCM用于運行指令,也就是程序代碼,DTCM用于數據存取,特點是跟內核速度一樣,而片上RAM的速度基本都達不到這個速度,所以有降頻處理。

速度:400MHz。

DTCM地址:0x2000 0000,大小128KB。

ITCM地址:0x0000 0000,大小64KB。

AXI SRAM區

位于D1域,數據帶寬是64bit,掛在AXI總線上。除了D3域中的BDMB主控不能訪問,其它都可以訪問此RAM區。

速度:200MHz。

地址:0x2400 0000,大小512KB。

用途:用途不限,可以用于用戶應用數據存儲或者LCD顯存。

SRAM1,SRAM2和SRAM3區

位于D2域,數據帶寬是32bit,掛在AHB總線上。除了D3域中的BDMB主控不能訪問這三塊SRAM,其它都可以訪問這幾個RAM區。

速度:200MHz。

SRAM1:地址0x3000 0000,大小128KB,用途不限,可用于D2域中的DMA緩沖,也可以當D1域斷電后用于運行程序代碼。

SRAM2:地址0x3002 0000,大小128KB,用途不限,可用于D2域中的DMA緩沖,也可以用于用戶數據存取。

SRAM3:地址0x3004 0000,大小32KB,用途不限,主要用于以太網和USB的緩沖。

SRAM4區

位于D3域,數據帶寬是32bit,掛在AHB總線上,大部分主控都能訪這塊SRAM區。

速度:200MHz。

地址:0x3800 0000,大小64KB。

用途:用途不限,可以用于D3域中的DMA緩沖,也可以當D1和D2域進入DStandby待機方式后,繼續保存用戶數據。

Backup SRAM區

備份RAM區,位于D3域,數據帶寬是32bit,掛在AHB總線上,大部分主控都能訪問這塊SRAM區。

速度:200MHz。

地址:0x3880 0000,大小4KB。

用途:用途不限,主要用于系統進入低功耗模式后,繼續保存數據(Vbat引腳外接電池)。

9 總結

本章節就為大家講解這么多,讓大家對STM32H7有個整體的認識,后面章節將逐個進行學習。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    455

    文章

    50714

    瀏覽量

    423138
  • FlaSh
    +關注

    關注

    10

    文章

    1633

    瀏覽量

    147939
  • stm32h7
    +關注

    關注

    0

    文章

    37

    瀏覽量

    1753

原文標題:如何高效入手STM32H7?整體把控一下框架

文章出處:【微信號:技術讓夢想更偉大,微信公眾號:技術讓夢想更偉大】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32H7系列芯片發不出去的hello問題

    有人使用STM32H7系列芯片,用到UART做字符串輸出時遇到點小問題。這里起聊聊該問題,并分析問題原因。
    的頭像 發表于 07-01 09:56 ?1436次閱讀
    <b class='flag-5'>STM32H7</b>系列<b class='flag-5'>芯片</b>發不出去的hello問題

    STM32H7演示:意法半導體

    意法半導體-STM32H7演示
    的頭像 發表于 07-02 11:13 ?6485次閱讀

    講述STM32H7微控制器的特點

    超乎尋常的STM32H7微控制器
    的頭像 發表于 07-02 02:09 ?6258次閱讀

    STM32H7教程】第19章 STM32H7的GPIO應用之按鍵FIFO

    STM32H7教程】第19章 STM32H7的GPIO應用之按鍵FIFO
    發表于 11-23 18:21 ?9次下載
    【<b class='flag-5'>STM32H7</b>教程】第19章 <b class='flag-5'>STM32H7</b>的GPIO應用之按鍵FIFO

    STM32H7學習之路繼續(stm32H7系列3) GPIO

    STM32H7學習之路繼續(stm32H7系列3) GPIO
    發表于 11-30 12:36 ?20次下載
    <b class='flag-5'>STM32H7</b>學習之路繼續(<b class='flag-5'>stm32H7</b>系列3)  GPIO

    STM32H7教程】第21章 STM32H7的NVIC中斷分組和配置(重要)

    STM32H7教程】第21章 STM32H7的NVIC中斷分組和配置(重要)
    發表于 12-04 14:36 ?13次下載
    【<b class='flag-5'>STM32H7</b>教程】第21章 <b class='flag-5'>STM32H7</b>的NVIC中斷分組和配置(重要)

    "STM32H7學習繼續(STM32H7系列5)第十七章比較實用,以后寫程序的時候會用到"

    "STM32H7學習繼續(STM32H7系列5)第十七章比較實用,以后寫程序的時候會用到"
    發表于 12-05 11:21 ?9次下載
    "<b class='flag-5'>STM32H7</b>學習繼續(<b class='flag-5'>STM32H7</b>系列5)第十七章比較實用,以后寫程序的時候會用到"

    STM32H7教程】第8章 STM32H7的終極調試組件Event Recorder

    STM32H7教程】第8章 STM32H7的終極調試組件Event Recorder
    發表于 12-05 20:06 ?7次下載
    【<b class='flag-5'>STM32H7</b>教程】第8章 <b class='flag-5'>STM32H7</b>的終極調試組件Event Recorder

    STM32H7教程】第14章 STM32H7的電源,復位和時鐘系統

    STM32H7教程】第14章 STM32H7的電源,復位和時鐘系統
    發表于 12-09 11:21 ?36次下載
    【<b class='flag-5'>STM32H7</b>教程】第14章 <b class='flag-5'>STM32H7</b>的電源,復位和時鐘系統

    AN5293 STM32F7系列移植到STM32H7系列

    AN5293 STM32F7系列移植到STM32H7系列
    發表于 11-21 12:57 ?1次下載
    AN5293 <b class='flag-5'>STM32F7</b>系列移植到<b class='flag-5'>STM32H7</b>系列

    AN5293 STM32F7系列移植到STM32H7系列

    AN5293 STM32F7系列移植到STM32H7系列
    發表于 11-21 17:06 ?1次下載
    AN5293 <b class='flag-5'>STM32F7</b>系列移植到<b class='flag-5'>STM32H7</b>系列

    AN4936_從STM32F7STM32H7的軟件移植

    AN4936_從STM32F7STM32H7的軟件移植
    發表于 11-21 17:06 ?5次下載
    AN4936_從<b class='flag-5'>STM32F7</b>到<b class='flag-5'>STM32H7</b>的軟件移植

    PM0253_STM32F7STM32H7單片機編程手冊

    PM0253_STM32F7STM32H7單片機編程手冊
    發表于 11-24 08:29 ?17次下載
    PM0253_<b class='flag-5'>STM32F7</b>和 <b class='flag-5'>STM32H7</b>單片機編程手冊

    STM32H7技術詳解

    電子發燒友網站提供《STM32H7技術詳解.pdf》資料免費下載
    發表于 08-01 14:49 ?4次下載
    <b class='flag-5'>STM32H7</b>技術詳解

    不能連接上STM32H7芯片

    不能連接上STM32H7芯片
    的頭像 發表于 09-18 10:58 ?1311次閱讀
    不能連接上<b class='flag-5'>STM32H7</b><b class='flag-5'>芯片</b>
    主站蜘蛛池模板: 龙岩综合频道| 亚洲黄色大片| 2018高清国产一区二区三区| 国产成人亚洲精品老王| 男女后进式猛烈xx00动态图片| 亚洲粉嫩美白在线| 成人毛片一区二区三区| 毛片基地看看成人免费| 亚洲精品一二三| 国产成A人片在线观看| 欧美深深色噜噜狠狠yyy| 依人在线观看| 国产啪视频在线播放观看| 日本久久久久亚洲中字幕| 7723日本高清完整版在线观看| 国精产品一区一区三区M| 熟女人妻-蜜臀AV-首页| videossexo乌克兰| 免费观看久久| 中文无码乱人伦中文视频播放| 韩国免费啪啪漫画无遮拦健身教练| 天天操夜夜噜| 持田香织abc| 情欲.美女高潮| 99久久国产露脸精品国产吴梦梦 | 国产午夜久久影院| 日本最新在线不卡免费视频| 99热在线播放| 男女全黄h全肉细节文| 中文字幕乱码一区久久麻豆樱花| 精品熟女少妇AV久久免费A片| 亚洲AV成人无码999WWW| 国产高清-国产av| 色色色五的天| 成人影院久久久久久影院| 琪琪色原网站ying| XXXchinese国产HD| 啪啪后入内射日韩| seyeye免费高清观看| 青青草原国产在线| xxxx69美国|