久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6907|回復(fù): 0
收起左側(cè)

STM32F4系統(tǒng)總線架構(gòu)的話題

[復(fù)制鏈接]
ID:98618 發(fā)表于 2016-3-13 16:17 | 顯示全部樓層 |閱讀模式
本文作者:Miler Shao

    最近有人在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)題。然后我看了下參考手冊(cè)上兩個(gè)DMA的控制系統(tǒng)實(shí)現(xiàn)圖,DMA1的外設(shè)端口有一個(gè)橋接器把APB1和AHB1連起來(lái),不知道這個(gè)橋連器作用是什么?是把APB1和AHB1連起來(lái)互相訪問(wèn)嗎? 另外測(cè)試把GPIO的IDR改成APB1下的tim5的ARR,DMA1正常工作。請(qǐng)問(wèn)這是怎么回事?

 

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


              STM32F4系統(tǒng)存儲(chǔ)及總線框圖

 

    整個(gè)系統(tǒng)架構(gòu)由多層32位AHB總線矩陣及主從總線構(gòu)成,并建立起各個(gè)主從模塊間的互聯(lián)訪問(wèn)。

    圖中方框內(nèi)縱橫交錯(cuò)的矩陣線就是總線矩陣,猶如縱橫交錯(cuò)的公路,讓各類交通工具在里面同時(shí)運(yùn)行而互不干擾。只有在圖中紅色箭頭所指的地方,可能出現(xiàn)主控總線訪問(wèn)撞車的時(shí)刻,此時(shí)總線矩陣會(huì)按照一定規(guī)矩進(jìn)行仲裁,即誰(shuí)先誰(shuí)后而不會(huì)發(fā)生交通事故。

    總線矩陣跟圖中上方的8條主控總線和右方的7條從控總線保持互聯(lián)。

八條主控總線: [主控總線簡(jiǎn)單點(diǎn)說(shuō)就是可以用來(lái)主動(dòng)訪問(wèn)別的外設(shè)的通路]

—Cortex?-M4F 內(nèi)核 I 總線、D 總線和 S 總線

—DMA1 存儲(chǔ)器總線

—DMA2 存儲(chǔ)器總線

—DMA2 外設(shè)總線

以太網(wǎng) DMA 總線

—USB OTG HS DMA 總線

● 七條被控總線:

內(nèi)部 Flash ICode 總線

內(nèi)部 Flash DCode 總線

主要內(nèi)部 SRAM1 (112 KB)

輔助內(nèi)部 SRAM2 (16 KB)

輔助內(nèi)部 SRAM3 (64 KB)(僅適用于STM32F42xxx 和 STM32F43xxx 器件)

—AHB1 外設(shè)(包括 AHB-APB 總線橋和 APB 外設(shè))

—AHB2 外設(shè) —FSMC

    借助于總線矩陣,可以實(shí)現(xiàn)主控總線到被控總線的訪問(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 的兩個(gè)通用DMA,即DMA1和DMA2。

    這兩個(gè)DMA都具有雙AHB總線訪問(wèn)端口,一端用于存儲(chǔ)器訪問(wèn),另一端用于外設(shè)訪問(wèn)。同時(shí)它們各自都有一個(gè)AHB從編程接口,這個(gè)不難理解,對(duì)它配置編程控制總得有個(gè)接口。


                                  DMA總線訪問(wèn)框圖

 

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

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

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



    我們可以看出GPIO外設(shè)跟AHB1相連;TIM5跟APB1相連。而我們從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等。

    至于咨詢者問(wèn)到的兩個(gè)橋接器的作用,沒(méi)啥過(guò)多需要解釋的。橋嘛,連接第一;然后兩邊時(shí)鐘的同步和時(shí)鐘分頻,滿足不同外設(shè)的時(shí)鐘需求。 

    ST MCU的參考手冊(cè)里強(qiáng)調(diào)了只有DMA2能實(shí)現(xiàn)MEMORY到MEMORY的傳輸,DMA1是實(shí)現(xiàn)不了的,原理類似。因?yàn)橐獙?shí)現(xiàn)M to M 的傳輸,必須兩個(gè)端口都能實(shí)現(xiàn)對(duì)MEMORY的訪問(wèn),DMA1的AHB外設(shè)端口無(wú)法訪問(wèn)到內(nèi)部MEMORY。

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99国产精品久久久 | 18av在线播放 | 国产成人网 | 夜夜干夜夜操 | 国产精品久久av | 欧美一区免费 | 情侣黄网站免费看 | av国产精品毛片一区二区小说 | 亚洲成色777777在线观看影院 | 99精品免费 | 亚洲精品短视频 | 久久亚洲一区二区三区四区 | 人人九九精 | 美女爽到呻吟久久久久 | 电影在线 | 精品九九九 | 日本不卡一区二区三区 | 人人精品| 欧美日韩在线国产 | 日韩不卡三区 | 欧美久久久久久 | 91久久久精品国产一区二区蜜臀 | 日本精品一区二区三区在线观看视频 | 99精品在线观看 | 天天色图 | 亚洲综合在线播放 | 午夜性色a√在线视频观看9 | 欧美久久久久久久久中文字幕 | 成人在线精品 | 国产精品久久久久一区二区三区 | 韩日在线观看视频 | 日本精品一区 | 国产三级电影网站 | 久久国产99 | 99视频在线播放 | 国产一区二区精品在线 | 国产免费xxx | 亚洲九九色 | 天堂在线中文字幕 | 毛片大全 | 黄色免费在线网址 |