0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32F407總線存儲(chǔ)框架及應(yīng)用設(shè)計(jì)

STM32單片機(jī) ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-01-22 09:22 ? 次閱讀

曾有人在STMCU社區(qū)網(wǎng)站咨詢?nèi)缦聠?wèn)題:

由于實(shí)驗(yàn)需要,要用到STM32F407的兩個(gè)DMA并用定時(shí)器觸發(fā),在使用過(guò)程中發(fā)現(xiàn)DMA1無(wú)法把GPIO的IDR數(shù)據(jù)傳輸?shù)絻?nèi)存,調(diào)試過(guò)程中出現(xiàn)DMA1的數(shù)據(jù)流傳輸錯(cuò)誤標(biāo)志,但是使用DMA2沒(méi)有問(wèn)題。另外當(dāng)把訪問(wèn)GPIO的IDR改成訪問(wèn)APB1下的tim5的ARR時(shí),DMA1也能正常工作。請(qǐng)問(wèn)這是怎么回事?

咨詢者提到STM32F4系列中DMA1與DMA和另外兩個(gè)外設(shè)GPIO和TIM5 。為了弄清這個(gè)問(wèn)題,我們有必要先看看STM32F407的總線與存儲(chǔ)框架圖。 如下圖所示:

整個(gè)系統(tǒng)架構(gòu)由多層32位AHB總線矩陣及主從總線構(gòu)成,并建立起各個(gè)主從模塊間的互聯(lián)訪問(wèn)。借助于總線矩陣,可以實(shí)現(xiàn)主控設(shè)備到從控設(shè)備的訪問(wèn),可以實(shí)現(xiàn)多個(gè)高速外設(shè)的并發(fā)訪問(wèn)和高效運(yùn)行。[需要注意的是,對(duì)于STM32F4系列,圖中64K CCM并不經(jīng)過(guò)總線矩陣,只能被CPU訪問(wèn)。自然DMA是不能訪問(wèn)它的.]

我們接著看看STM32F407 DMA1DMA2的訪問(wèn)框架圖。這兩個(gè)DMA都具有雙AHB總線訪問(wèn)端口,一端用于存儲(chǔ)器訪問(wèn),另一端用于外設(shè)訪問(wèn)。

結(jié)合這幅DMA總線訪問(wèn)框圖和上面的系統(tǒng)存儲(chǔ)總線框架圖可以看出,2個(gè)DMA的外設(shè)訪問(wèn)端口的總線連接有點(diǎn)不一樣。

DMA2的外設(shè)訪問(wèn)端口既與總線矩陣相連,經(jīng)過(guò)矩陣可以訪問(wèn)AHB外設(shè),又與AHB-APB橋2相連,可以進(jìn)一步訪問(wèn)APB2外設(shè);而DMA1卻沒(méi)有與總線矩陣相連,只是跟AHB-APB橋1相連,從而訪問(wèn)APB1外設(shè)。[長(zhǎng)方形方框代表總線矩陣]

現(xiàn)在的問(wèn)題是說(shuō)DMA1訪問(wèn)不了GPIO,但如果換成TIM5就可以。我們可以去芯片數(shù)據(jù)手冊(cè)的Device overview部分查看相關(guān)總線和外設(shè)聯(lián)結(jié)圖。截取STM32F40x block diagram的部分如下:

不難看出GPIO外設(shè)跟AHB1相連;TIM5跟APB1相連。我們?cè)俳Y(jié)合中間的DMA訪問(wèn)框圖看得清楚,DMA1的外設(shè)端口根本沒(méi)連接AHB1,自然沒(méi)法訪問(wèn)相應(yīng)外設(shè),比如GPIO。而DMA2 可以,因?yàn)樗梢越?jīng)過(guò)總線矩陣后再去訪問(wèn)AHB1的外設(shè)。DMA1為什么能訪問(wèn)TIM5也不難解釋了,因DMA1的AHB外設(shè)端口總線經(jīng)過(guò)AHB/APB1橋后就可以訪問(wèn)APB1各類外設(shè),而TIM5就是掛在APB1總線上的外設(shè)之一。

咨詢者的問(wèn)題基本上靠看上面幾幅圖可以得到答案。這些圖很重要,很多信息用圖描述也很直觀明了。各技術(shù)手冊(cè)里的插圖往往大有乾坤,不要視而不見(jiàn)。上面提到的都是基于STM32F4系列的總線架構(gòu),你也可以去看看其它系列的系統(tǒng)總線框圖,相信你一定會(huì)另有發(fā)現(xiàn)和收獲。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7518

    瀏覽量

    164080
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10915

    瀏覽量

    356753
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2894

    瀏覽量

    88218

原文標(biāo)題:一個(gè)跟STM32F4系統(tǒng)總線架構(gòu)有關(guān)的問(wèn)題

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32F4系統(tǒng)總線架構(gòu)介紹

    APB橋接器;再就是兩個(gè)外設(shè),GPIO和TIM5 。為了弄清這個(gè)問(wèn)題,我們有必要先看看STM32F407總線存儲(chǔ)框架圖。 如下圖所示:STM32
    發(fā)表于 07-04 05:09

    STM32F407總線存儲(chǔ)框架分析

    這個(gè)問(wèn)題,我們有必要先看看STM32F407總線存儲(chǔ)框架圖。 如下圖所示:整個(gè)系統(tǒng)架構(gòu)由多層32位AHB總線矩陣及主從
    發(fā)表于 04-07 09:15

    STM32F407總線存儲(chǔ)框架

    這個(gè)問(wèn)題,我們有必要先看看STM32F407總線存儲(chǔ)框架圖。 如下圖所示:整個(gè)系統(tǒng)架構(gòu)由多層32位AHB總線矩陣及主從
    發(fā)表于 05-16 06:00

    STM32F407總線存儲(chǔ)框架講解

    這個(gè)問(wèn)題,我們有必要先看看STM32F407總線存儲(chǔ)框架圖。 如下圖所示:整個(gè)系統(tǒng)架構(gòu)由多層32位AHB總線矩陣及主從
    發(fā)表于 05-21 06:30

    STM32F407模板

    STM32F407模板,感興趣可以看看。
    發(fā)表于 07-25 18:52 ?134次下載

    STM32F407 UCOS III實(shí)驗(yàn)

    STM32F407 UCOS III實(shí)驗(yàn),介紹基于STM32F407的UCOSIII實(shí)例,參考下
    發(fā)表于 09-22 14:08 ?82次下載

    STM32F407 DCMI攝像頭源碼

    STM32F407 DCMI攝像頭源碼(電源技術(shù)存在的問(wèn)題總結(jié))-【資源描述】:STM32F407 DCMI攝像頭源碼【編程語(yǔ)言】:C語(yǔ)言
    發(fā)表于 09-16 16:15 ?127次下載
    <b class='flag-5'>STM32F407</b> DCMI攝像頭源碼

    STM32F407的串口UART 基礎(chǔ)配置STM32CubeMX

    STM32F407的串口UART 基礎(chǔ)配置STM32CubeMX
    發(fā)表于 11-29 16:06 ?56次下載
    <b class='flag-5'>STM32F407</b>的串口UART 基礎(chǔ)配置<b class='flag-5'>STM32</b>CubeMX

    [STM32]STM32F407系列教程之四,pwm產(chǎn)生原理

    [STM32]STM32F407系列教程之四,pwm產(chǎn)生原理
    發(fā)表于 11-29 17:51 ?52次下載
    [<b class='flag-5'>STM32</b>]<b class='flag-5'>STM32F407</b>系列教程之四,pwm產(chǎn)生原理

    STM32F407STM32F105 CAN通訊失敗的定位解決

    STM32F407STM32F105 CAN通訊失敗的定位解決問(wèn)題的發(fā)現(xiàn)問(wèn)題的現(xiàn)象測(cè)試過(guò)程硬件調(diào)整測(cè)試軟件調(diào)整測(cè)試結(jié)論基本結(jié)論結(jié)論擴(kuò)展驗(yàn)證問(wèn)題的發(fā)現(xiàn)在STM32 CAN總線的應(yīng)用過(guò)程
    發(fā)表于 12-02 16:51 ?18次下載
    <b class='flag-5'>STM32F407</b>與<b class='flag-5'>STM32F</b>105 CAN通訊失敗的定位解決

    STM32F407芯片介紹

    1. 文檔準(zhǔn)備做嵌入式開(kāi)發(fā)的第一步就是了解主芯片,了解STM32F407主要要關(guān)注幾個(gè)文檔:1. stm32F407芯片手冊(cè)2. stm32F407參考手冊(cè)3. Arm Cortex-M4數(shù)據(jù)手冊(cè)
    發(fā)表于 12-04 13:21 ?109次下載
    <b class='flag-5'>STM32F407</b>芯片介紹

    STM32F407開(kāi)發(fā)板用戶手冊(cè)】第34章 STM32F407的SPI總線應(yīng)用之驅(qū)動(dòng)DAC8501(雙路輸出,16bit分辨率,0-5V)

    STM32F407開(kāi)發(fā)板用戶手冊(cè)】第34章 STM32F407的SPI總線應(yīng)用之驅(qū)動(dòng)DAC8501(雙路輸出,16bit分辨率,0-5V)
    發(fā)表于 12-05 14:51 ?25次下載
    【<b class='flag-5'>STM32F407</b>開(kāi)發(fā)板用戶手冊(cè)】第34章 <b class='flag-5'>STM32F407</b>的SPI<b class='flag-5'>總線</b>應(yīng)用之驅(qū)動(dòng)DAC8501(雙路輸出,16bit分辨率,0-5V)

    STM32F407原理圖下載

    STM32F407原理圖下載
    發(fā)表于 01-17 13:44 ?425次下載

    stm32f407原理圖

    stm32f407原理圖
    發(fā)表于 07-14 16:07 ?211次下載

    STM32F407最小系統(tǒng)

    STM32F407最小系統(tǒng)免費(fèi)下載。
    發(fā)表于 07-31 11:01 ?174次下載