哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

MM32F5270總線架構(gòu)設(shè)計(jì)

科技綠洲 ? 來(lái)源:靈動(dòng)MM32 ? 作者:靈動(dòng)MM32 ? 2022-05-11 11:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

上一篇文章介紹了 MM32F5 系列 所采用的 “星辰”STAR-MC1 處理器,如果讀者還有印象的話,“星辰”處理器相較于 M3 和 M4 處理器的一個(gè)主要優(yōu)勢(shì)是引入了內(nèi)存子系統(tǒng),包括了L1 指令和數(shù)據(jù)緩存接口和緊耦合 TCM 接口。而僅有內(nèi)存子系統(tǒng)是不夠的,需要配合高效率的總線架構(gòu)設(shè)計(jì)來(lái)實(shí)現(xiàn)其功能最大化。

本期,筆者就來(lái)聊聊 MM32F5270 的總線架構(gòu)設(shè)計(jì),看看 F5270 是如何通過(guò)高并行度的總線設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)吞吐率的最大化。

MM32F5270 的總線架構(gòu)

下圖展示了 MM32F5270 的總線架構(gòu),可以看到,系統(tǒng)中的處理器、存儲(chǔ)和外設(shè)是通過(guò)一個(gè)零延遲 AHB 總線矩陣進(jìn)行互聯(lián),這里的總線矩陣是一個(gè)多 Master 到多 Slave 的多層 AHB 總線結(jié)構(gòu)。這里,把可發(fā)起讀寫訪問(wèn)的一方叫做 Master,響應(yīng)訪問(wèn)的一方叫做 Slave。

注:AHB 屬于 Arm? AMBA? 通信接口協(xié)議的一種,是嵌入式系統(tǒng)中的常用接口協(xié)議之一,對(duì)于不了解 Arm? AMBA? 接口協(xié)議的讀者,可自行搜索相關(guān)資料,本文不再贅述。

poYBAGJ7Kd2AGhS1AACKhKqznpk608.png

總線 Master – 訪問(wèn)發(fā)起者?

從上圖可以看到,MM32F5270 中包含了如下 AHB 總線 Master:

CPU – “星辰”STAR-MC1

DMA1

DMA2

USB 控制器(USB FS)

以太網(wǎng)控制器(ENET)

其中,“星辰”處理器占據(jù) 三個(gè) AHB 口,分別是系統(tǒng)總線AHBS(system bus),代碼總線 AHBC(code bus),以及 TCM 總線 AHBT(TCM bus)。其中 AHBC 和 AHBS 是處理器發(fā)起訪問(wèn),從外部獲取數(shù)據(jù)和指令的通路,而 AHBT 是處理器以外的其它 Master(如 DMA等)訪問(wèn)內(nèi)部 TCM 的通路,也就是說(shuō),TCM 不僅能被 CPU 訪問(wèn),外部資源也可以將 TCM 當(dāng)作普通 SRAM 訪問(wèn)。

其它Master 包括 DMA、USB 和以太網(wǎng)。在 MM32F5270中,為提高系統(tǒng)并行度,配置了兩路獨(dú)立的 DMA 控制器,每個(gè) DMA 控制器包含 8 個(gè)通道,每路 DMA 都可以無(wú)需 CPU 干預(yù)而進(jìn)行 Slave 的讀寫訪問(wèn)。USB 和以太網(wǎng)也可以做為總線 Master 直接發(fā)起對(duì)系統(tǒng)存儲(chǔ)的訪問(wèn),例如將提前放置在 SRAM 中的數(shù)據(jù)搬移到 TX FIFO 中以實(shí)現(xiàn)無(wú)需 CPU 干預(yù)而進(jìn)行的數(shù)據(jù)通信。

總線 Slave – 訪問(wèn)響應(yīng)者?

MM32F5270 中包含了如下 AHB 總線 Slave:

256KB 內(nèi)置 Flash 存儲(chǔ)器

112KB SRAM1

16KB SRAM2

QSPI – 可外擴(kuò)四線 NOR Flash

FSMC – 8/16/32 位并口,可外擴(kuò) SRAM,NOR Flash,8080/6800 屏

外設(shè) APB1 組

外設(shè) APB2 組

32KB ITCM和 32KB DTCM – 通過(guò) AHBT 總線訪問(wèn)

為提高系統(tǒng)并行度,MM32F5270配備了兩路獨(dú)立的 RAM,包括 112KB 的 SRAM1 和 16KB 的 SRAM2,每個(gè) RAM有獨(dú)立的 RAM 控制器和 Slave端口。

此外,MM32F5270 還配備了 32KB 指令 TCM RAM(ITCM)和 32KB 的數(shù)據(jù) TCM RAM(DTCM)。這里, TCM 和 CPU 是通過(guò) TCM 接口直連的,相當(dāng)于一條快速通道,CPU 訪問(wèn) TCM 不需要經(jīng)過(guò)外部總線矩陣,這也是 TCM 被稱為緊耦合存儲(chǔ)(Tightly-Coupled Memory,TCM)的原因。CPU 訪問(wèn) TCM 是沒(méi)有任何延遲的,因此也不需要經(jīng)過(guò)緩存。同時(shí),“星辰”處理器也預(yù)留了 AHBT 總線供 DMA 等 CPU 外部 Master 訪問(wèn) TCM。這里的 AHBT 總線掛在總線矩陣的 Slave 端,也就是說(shuō),DMA 要訪問(wèn) TCM 需要先經(jīng)過(guò)總線矩陣。當(dāng) DMA 和 CPU 同時(shí)訪問(wèn) TCM 時(shí),“星辰”處理器以 CPU 訪問(wèn)為高優(yōu)先級(jí)進(jìn)行仲裁。需要說(shuō)明的是,ITCM 支持程序執(zhí)行和數(shù)據(jù)讀取,其起始地址為 0x0000_0000,DTCM 支持?jǐn)?shù)據(jù)讀取,其起始地址為 0x2000_0000。

根據(jù)上述介紹可以得出,MM32F5270 里實(shí)際是配置了 4塊完全獨(dú)立的 RAM,包括 ITCM,DTCM,SRAM1 和 SRAM2,在某些應(yīng)用場(chǎng)景下,這 4 塊 RAM 能夠同時(shí)被不同的 Master 訪問(wèn)而不會(huì)產(chǎn)生任何的總線沖突和等待。例如,CPU 可以讀取并執(zhí)行ITCM中存放的程序算法,以太網(wǎng)可以從 SRAM2 中讀寫數(shù)據(jù),DMA1 可以從 DTCM中搬數(shù)據(jù), DMA2 可以從 SRAM1中搬數(shù)據(jù),這里的四條通路是完全獨(dú)立和并行的。

MM32F5270還包含了兩路獨(dú)立的 APB 外設(shè)組,即 APB1 和 APB2,每個(gè)外設(shè)組有獨(dú)立的 Slave 端口和AHB到 APB 的協(xié)議轉(zhuǎn)換橋。

與此同時(shí),用戶還可以通過(guò) FSMC 去外擴(kuò)并口 NOR Flash 或者 SRAM,也可以通過(guò) QSPI 去外擴(kuò)四線式 NOR Flash。且這里的 FSMC 和 QSPI 都是直接掛在零延遲 AHB 總線矩陣上的 AHB Slave,因此其訪問(wèn)通路是完全獨(dú)立的。當(dāng)然,用戶也可以通過(guò) SPI、UART等串行總線接口來(lái)擴(kuò)展更多存儲(chǔ)空間,不過(guò)這些外設(shè)都是掛在 APB 總線上,和其它共同掛在 APB 總線的外設(shè)共享總線矩陣的 AHB Slave 端口,因此,可能會(huì)產(chǎn)生多余的等待周期。

需要說(shuō)明的是,除了 TCM 和外設(shè)空間,從 Code bus 和 System bus 上讀取的指令和數(shù)據(jù)基本上都可以被 4KB 指令緩存和 4KB 數(shù)據(jù)緩存加速。

下表對(duì) MM32F5270 中支持的 Flash 和 RAM 資源做一個(gè)總結(jié):

poYBAGJ7KeaASEHKAACht_pJ46o780.png

并發(fā)網(wǎng)絡(luò)

前文提到的總線結(jié)構(gòu)圖中,Master 和 Slave 的連接關(guān)系通過(guò)矩陣網(wǎng)絡(luò)上的空心圓表示,如內(nèi)置 Flash 僅可以被 CPU 的 code bus 或者 DMA 訪問(wèn),而不能被其它總線 Master 訪問(wèn)。

基于上述描述所能達(dá)到的效果就是,多個(gè) Master 可以同時(shí)發(fā)起對(duì)多個(gè)Slave的訪問(wèn),如果每條路徑的發(fā)起者(Master)和響應(yīng)者(Slave)都是不同的,那這些訪問(wèn)是完全并行的,是不需要仲裁和等待周期的。

下圖是一個(gè)并發(fā)訪問(wèn)的例子,這里,6個(gè)總線 Master 對(duì) 6 個(gè)總線 Slave 的訪問(wèn)構(gòu)成了 6 個(gè)獨(dú)立通路。當(dāng)然,這里僅僅是一個(gè)極限情況,對(duì)于一個(gè)實(shí)際應(yīng)用所能達(dá)到的并發(fā)效果,需要根據(jù)應(yīng)用需求具體分析。

pYYBAGJ7Ke-ACXfHAACIwT3Lh7A812.png

案例:帶顯示的音頻播放器?

為了更直觀的講解 F5270 多并發(fā)總線設(shè)計(jì)的強(qiáng)大,這里以一個(gè)實(shí)際應(yīng)用的案例來(lái)進(jìn)行展示。需要說(shuō)明的是,這里的案例僅僅為了講解功能,并不做為參考設(shè)計(jì)。

這里,考慮基于 MM32F5270 制作一個(gè)帶顯示的音頻播放器,這是一種很常見的應(yīng)用場(chǎng)景,實(shí)際產(chǎn)品中所包含的功能可能是多種多樣的,這里為了簡(jiǎn)化,以如下規(guī)格要求為例:

可播放 SD 卡上的音頻文件,支持 WAV 和 MP3 格式

2.4寸屏,320x240 分辨率,GUI 交互

注:實(shí)際的產(chǎn)品可能有更多的功能,如更高清的顯示、USB擴(kuò)展、WIFI 或藍(lán)牙聯(lián)網(wǎng)、視頻播放、觸控等,感興趣的讀者可以搜索下網(wǎng)絡(luò)上的相關(guān)產(chǎn)品。

基于這個(gè)要求,可以搭建一個(gè)帶顯示的音頻播放器,根據(jù) MM32F5270 所包含的片內(nèi)資源,對(duì)上述規(guī)格要求做出如下的功能分解和資源分配:

poYBAGJ7KfiAabc1AAD_uh4Ewlo883.png

其對(duì)應(yīng)的簡(jiǎn)易系統(tǒng)框圖如下:

o4YBAGC24DOAHECBAAAARmu_22A208.png

分析可知系統(tǒng)的主要功能可以分為三塊:

第一塊是 CPU 處理部分。

首先, CPU 所執(zhí)行的主程序存放在內(nèi)置 256KB Flash 中,而運(yùn)行中所需要內(nèi)存存放在 SRAM1 中,其數(shù)據(jù)通路如下圖中的藍(lán)色箭頭所示;

同時(shí),CPU 需要從外部 SD 卡讀取音頻文件,這里涉及到文件系統(tǒng)的交互,以及 MP3 軟解碼運(yùn)算,并將解碼后的音頻數(shù)據(jù)存放在 32KB DTCM 中,其數(shù)據(jù)通路如下圖中的黃色箭頭所示;

最后,CPU 需要運(yùn)行 GUI 應(yīng)用程序,包括從外擴(kuò) Flash 中獲取顯示數(shù)據(jù)和字庫(kù),通過(guò) CPU 的運(yùn)算并將待顯示的圖像緩存到外擴(kuò) SRAM 中,其數(shù)據(jù)通路如下圖中的綠色箭頭所示。

poYBAGJ7KgWAei9bAAB4I2_bet4375.png

第二塊是音頻播放數(shù)據(jù)流控制。

這里,通過(guò) DMA1 來(lái)處理音頻數(shù)據(jù)流,DMA1 通過(guò) AHBT 總線從 DTCM 中讀取解碼后的音頻數(shù)據(jù),并寫入 I2S 的 TX FIFO 中,通過(guò) I2S 和外部的功放通信并驅(qū)動(dòng)揚(yáng)聲器或耳機(jī),其數(shù)據(jù)通路如下圖中的紅色箭頭所示。

第三塊是圖像顯示數(shù)據(jù)流控制。

這里,通過(guò) DMA2 來(lái)處理圖像顯示數(shù)據(jù)流,DMA2 通過(guò) FSMC 從外部 SRAM 中讀取待顯示圖像,并通過(guò) FSMC 寫入外部 LCD 屏,實(shí)現(xiàn)圖像幀的周期性刷新,其數(shù)據(jù)通路如下圖的紫色箭頭所示。

poYBAGJ7KhKAF1F8AABt1e1geYM921.png

基于上述分析,將所有路徑進(jìn)行匯總,并刪掉非獨(dú)立路徑后(即兩條路徑有共同發(fā)起者或共同接收者),可得到下圖所示的匯總數(shù)據(jù)通路??梢钥吹?,主程序的指令獲取和執(zhí)行(藍(lán)色箭頭)、主程序數(shù)據(jù)讀寫(藍(lán)色箭頭)、音頻數(shù)據(jù)流(紅色箭頭)和GUI數(shù)據(jù)流(紫色箭頭)這四條通路是完全獨(dú)立的。假設(shè)系統(tǒng)運(yùn)行在 120MHz,而所有訪問(wèn)都采用 32 位寬,則可以計(jì)算出此時(shí)整個(gè)系統(tǒng)的并行吞吐率可達(dá) 15Gbps!

poYBAGJ7Kh2ALjR9AAB4kMSZsDg941.png

當(dāng)然,這里僅僅是一個(gè)精簡(jiǎn)的例子,對(duì)于實(shí)際應(yīng)用,其所需功能可能會(huì)更加復(fù)雜。但重要的是,MM32F5270 的多并發(fā)總線架構(gòu)為各類實(shí)際應(yīng)用中的并行處理場(chǎng)景提供了硬件支持,使系統(tǒng)整體吞吐率有了大幅優(yōu)化的空間。

需要補(bǔ)充說(shuō)明的是,這個(gè)例子里面并沒(méi)有用到 SRAM2 和 ITCM 等資源,因此其可以用作其他用途,如 SRAM2 可以用作 ENET、USB 、CAN 或者 ADC的數(shù)據(jù)緩存,而ITCM 中可以存放對(duì)實(shí)時(shí)性要求較高的算法或中斷服務(wù)程序等。如果把這些功能都開發(fā)起來(lái),則系統(tǒng)吞吐率是否還可以進(jìn)一步提高呢?這個(gè)問(wèn)題就留給感興趣的讀者來(lái)思考吧

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3813

    瀏覽量

    133836
  • adc
    adc
    +關(guān)注

    關(guān)注

    100

    文章

    7938

    瀏覽量

    556785
  • 音頻播放器
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    12730
  • MM32
    +關(guān)注

    關(guān)注

    1

    文章

    108

    瀏覽量

    1426
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MM32F5270平臺(tái)ADC注入通道的單周期采樣的實(shí)現(xiàn)

    MM32F5270的ADC可配置4個(gè)注入通道來(lái)擴(kuò)展轉(zhuǎn)換通道,那么可進(jìn)行轉(zhuǎn)換的通道最多可達(dá)20個(gè)。
    的頭像 發(fā)表于 06-01 17:25 ?2289次閱讀
    <b class='flag-5'>MM32F5270</b>平臺(tái)ADC注入通道的單周期采樣的實(shí)現(xiàn)

    一文解析MM32F5270開發(fā)板+PWM測(cè)試與調(diào)制

    1、MM32F5270開發(fā)板+ PWM測(cè)試與調(diào)制  PWM接口引腳  MM32F5270開發(fā)板有引出PWM引腳給我們,我們可以直接使用就行。  主要代碼部分如下  2.1 hal_tim.c
    發(fā)表于 09-06 11:24

    聊聊 MM32F5270是如何通過(guò)高并行度的總線設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)吞吐率的最大化的

    接口和緊耦合 TCM 接口。而僅有內(nèi)存子系統(tǒng)是不夠的,需要配合高效率的總線架構(gòu)設(shè)計(jì)來(lái)實(shí)現(xiàn)其功能最大化。本期,筆者就來(lái)聊聊 MM32F5270總線
    發(fā)表于 09-06 15:06

    MM32F5270(STAR-MC1內(nèi)核)RT-Thread完整版的移植教程

    Armv8-M 架構(gòu)的 “星辰” STAR-MC1 處理器。很高興通過(guò)ARM中國(guó)拿到該芯片的開發(fā)板(可以搞事情)MM32F5270 是一款搭載了安謀科技 STAR-MC1 內(nèi)核的 MCU 產(chǎn)品,其工作頻率可達(dá)
    發(fā)表于 12-23 17:17

    基于MM32F5270控制器的I2S音頻播放

    MM32F5270 系列控制器支持 I2S 總線接口,本章節(jié)在接下來(lái)會(huì)對(duì) MM32F5270 I2S進(jìn)行介紹,并使用 MM32F5270 和 CS4344 芯片進(jìn)行 I2S 通信來(lái)演示
    的頭像 發(fā)表于 09-16 10:39 ?4075次閱讀

    MM32F5270】Keil開發(fā)環(huán)境搭建

    本文是對(duì)MM32F5270相關(guān)的靈動(dòng)官網(wǎng)資料和社區(qū)現(xiàn)有幾篇環(huán)境搭建帖的整理和總結(jié)。詳細(xì)且完整的記錄了——如何從零搭建MM32F5270 Keil開發(fā)環(huán)境以及如何編譯運(yùn)行MM32F5270 SDK中
    的頭像 發(fā)表于 11-06 16:14 ?4986次閱讀
    【<b class='flag-5'>MM32F5270</b>】Keil開發(fā)環(huán)境搭建

    MM32F5270 產(chǎn)品手冊(cè)(中文版)

    MM32F5270 產(chǎn)品手冊(cè)(中文版)
    發(fā)表于 02-23 18:45 ?0次下載
    <b class='flag-5'>MM32F5270</b> 產(chǎn)品手冊(cè)(中文版)

    MM32F5270 產(chǎn)品手冊(cè)(英文版)

    MM32F5270 產(chǎn)品手冊(cè)(英文版)
    發(fā)表于 02-23 18:45 ?0次下載
    <b class='flag-5'>MM32F5270</b> 產(chǎn)品手冊(cè)(英文版)

    MM32F5270 用戶手冊(cè)(中文版)

    MM32F5270 用戶手冊(cè)(中文版)
    發(fā)表于 02-23 18:46 ?0次下載
    <b class='flag-5'>MM32F5270</b> 用戶手冊(cè)(中文版)

    MM32F5270 用戶手冊(cè)(英文版)

    MM32F5270 用戶手冊(cè)(英文版)
    發(fā)表于 02-23 18:46 ?0次下載
    <b class='flag-5'>MM32F5270</b> 用戶手冊(cè)(英文版)

    MM32F5270 勘誤表(中文版)

    MM32F5270 勘誤表(中文版)
    發(fā)表于 02-23 18:47 ?0次下載
    <b class='flag-5'>MM32F5270</b> 勘誤表(中文版)

    MM32F5270 勘誤表(英文版)

    MM32F5270 勘誤表(英文版)
    發(fā)表于 02-23 18:48 ?0次下載
    <b class='flag-5'>MM32F5270</b> 勘誤表(英文版)

    MM32F5270平臺(tái)ADC注入通道的單周期采樣的實(shí)現(xiàn)

    MM32F5270的ADC可配置4個(gè)注入通道來(lái)擴(kuò)展轉(zhuǎn)換通道,那么可進(jìn)行轉(zhuǎn)換的通道最多可達(dá)20個(gè)。
    的頭像 發(fā)表于 05-26 09:31 ?1568次閱讀
    <b class='flag-5'>MM32F5270</b>平臺(tái)ADC注入通道的單周期采樣的實(shí)現(xiàn)

    MM32F5270平臺(tái)ADC注入通道的單周期采樣的實(shí)現(xiàn)

    MM32F5270的ADC可配置4個(gè)注入通道來(lái)擴(kuò)展轉(zhuǎn)換通道,那么可進(jìn)行轉(zhuǎn)換的通道最多可達(dá)20個(gè)。
    的頭像 發(fā)表于 05-26 09:32 ?1905次閱讀
    <b class='flag-5'>MM32F5270</b>平臺(tái)ADC注入通道的單周期采樣的實(shí)現(xiàn)

    基于MM32F5270的I2S音頻播放

    基于MM32F5270的I2S音頻播放
    的頭像 發(fā)表于 10-30 17:13 ?3116次閱讀
    基于<b class='flag-5'>MM32F5270</b>的I2S音頻播放
    全州县| 招远市| 常山县| 潍坊市| 高邮市| 岳普湖县| 庆阳市| 旺苍县| 万安县| 西城区| 万州区| 蛟河市| 潞西市| 明水县| 罗平县| 五大连池市| 米泉市| 舞钢市| 青铜峡市| 肇庆市| 涟水县| 堆龙德庆县| 高陵县| 临海市| 曲水县| 东丽区| 青田县| 枣阳市| 从江县| 交口县| 霞浦县| 花垣县| 施甸县| 博湖县| 甘孜| 宁安市| 卢氏县| 揭西县| 昭通市| 礼泉县| 武山县|