<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 一篇文章帶您玩轉T113的ARM+RISC-V+DSP三核異構!

一篇文章帶您玩轉T113的ARM+RISC-V+DSP三核異構!

—— 米爾電子
作者: 時(shí)間:2025-03-21 來(lái)源:EEPW 收藏

近年來(lái),隨著(zhù)半導體產(chǎn)業(yè)的快速發(fā)展和技術(shù)的不斷迭代,物聯(lián)網(wǎng)設備種類(lèi)繁多(如智能家居、工業(yè)傳感器),對算力、功耗、實(shí)時(shí)性要求差異大,單一架構無(wú)法滿(mǎn)足所有需求。因此米爾推出MYD-Y開(kāi)發(fā)板(基于全志T113-i)來(lái)應對這一市場(chǎng)需求。

本文引用地址:http://dyxdggzs.com/article/202503/468445.htm

1742537175528254.png

米爾基于全志T113-i核心板及開(kāi)發(fā)板

一、T113-i芯片及OpenAMP簡(jiǎn)介

o   T113-i芯片簡(jiǎn)介

T113-i由兩顆ARM A7 、一顆C906(RISC-V)和一顆DSP(HIFI 4)組成。

●   C906(RISC-V核)特性:

1.主頻最高1008MHz

2.32KB I-cache+32 KB D-cache

3.操作系統支持裸跑和FreeRTOS實(shí)時(shí)操作系統

4.支持少量數據核間通訊(RPMsg)和大量核間數據(RPBuf)

●   DSP(HIFI 4)特性:

1.最高主頻600MHz

2.32KB L1 I-cache+32 KB L1 D-cache 64KB I-ram+64KB      D-ram

3.操作系統支持裸跑和FreeRTOS實(shí)時(shí)操作系統

4.支持少量數據核間通訊(RPMsg)和大量核間數據(RPBuf)

o   OpenAMP系統原理

T113-i=2×ARM A7 + 1×C906(RISC-V) + 1×DSP(HIFI 4)組成,其中兩個(gè)A7核為主核心,C906(RISC-V核)和DSP為雙副核心。而其中的RISC-V屬于超高能效副核心,標配內存管理單元,可運行RTOS或裸機程序,T113的主核運行Linux進(jìn)行人機界面的交互和應用流程,而RISC-V則是后臺可進(jìn)行大數據數據采集,或者相關(guān)編碼器的控制等,降低主核被中斷的次數,大大提供了主核的運行效率。每個(gè)處理器核心相互隔離,擁有屬于自己的內存,既可各自獨立運行不同的任務(wù),又可多個(gè)核心之間進(jìn)行核間通信,這些不同架構的核心以及他們上面所運行的軟件組合在一起,就成了 AMP 系統(Asymmetric Multiprocessing System 異構多處理系統)即非對稱(chēng)多處理架構。

1742537214428176.png

二、AMP系統通信機制詳解

o   AMP通信原理

由于兩個(gè)核心存在的目的是協(xié)同的處理,因此在異構多處理系統中往往會(huì )形成Master-Remote結構。主核心啟動(dòng)后啟動(dòng)從核心。當兩個(gè)核心上的系統都啟動(dòng)完成后,他們之間就通過(guò)IPC(Inter Processor Communication)方式進(jìn)行通信,而 RPMsg就是IPC中的一種。

在A(yíng)MP系統中,兩個(gè)核心通過(guò)共享內存的方式進(jìn)行通信。兩個(gè)核心通過(guò)AMP中斷來(lái)傳遞訊息。內存的管理由主核負責。

1742537237580139.png

o   使用 RPMsg進(jìn)行核間通信

RPMsg整體通訊框架

上面介紹了通訊原理,這里講解如何通訊,AMP使用RPMsg框架進(jìn)行通訊,該框架用于A(yíng)MP場(chǎng)景下處理器之間進(jìn)行相互通信。OpenAMP內部實(shí)現了可用于RTOS或裸機系統中的RPMsg框架,與Linux內核的RPMsg框架兼容。

1742537259460078.png 

其通信鏈路建立流程如下:

1.RTOS端調用rpmsg_create_ept創(chuàng )建指定name的端點(diǎn)。

2.Linux端rpmsg core層收到端點(diǎn)創(chuàng )建消息,調用rpmsg_register_device 將其作為一個(gè)設備注冊到      rpmsg bus。

3.Linux端rpmsg bus匹配到相應的驅動(dòng),觸發(fā)其 probe 函數。

4. 端驅動(dòng)probe函數完成一些資源的分配以及文件節點(diǎn)的生成。

5.Linux端驅動(dòng)的 probe 函數調用完后,rpmsg bus 會(huì )回復一個(gè) ACK。

6.RTOS 端收到 ACK 后設置端點(diǎn)的狀態(tài),此時(shí)使用 is_rpmsg_ept_ready 函數會(huì )返回 true。

RPMsg數據傳輸流程如下:

下面展示一次RPMsg數據傳輸的通信過(guò)程,下面詳細說(shuō)明:

1742537294909180.png

 arm端把數據拷貝到buffer中,在初始化時(shí)已經(jīng)將buffer和payload memory地址綁定,因此數據拷貝后相當于存放到了payloadmemory中。

1.在消息傳輸命令后加上數據在payload memory中的起始地址和長(cháng)度,組成數據包,調用RPMsg接口發(fā)送。

RPBuf:基于共享內存和RPMsg消息通知,實(shí)現傳輸大數據傳輸的框架。

RPMsg:基于VirtIO管理的共享內存,實(shí)現數據傳輸的框架。

VirtIO:原本是一套用在虛擬化環(huán)境中傳輸數據的框架,這里用作共享內存(VRING)的管理。

OpenAMP:OpenAMP框架為RTOS、裸機和Linux用戶(hù)空間提供了RPMsg、VirtIO、re-moteproc(未列出)的實(shí)現,并且與Linux內核兼容。

Msgbox:是全志平臺提供的一套消息中斷機制,已通過(guò)linux內核中原生的mailbox框架作適配。

MSGBOX_IRO_REG:Msgbox的中斷相關(guān)寄存器。

buffer:表示申請到的共享內存。用戶(hù)通過(guò)操作buffer對象,可直接訪(fǎng)問(wèn)對應的共享內存。payload memory:用來(lái)存放實(shí)際傳輸數據的共享內存,因此稱(chēng)為payload(有效負載)。VRING:由Virtl0管理的一個(gè)環(huán)形共享內存。

三、案例與性能測試

o   A核與RISC-V核通訊流程

A核與RISC-V核通訊流程如下:

1742537312112604.png

1.首先監聽(tīng)端點(diǎn)

image.png

2.創(chuàng )建端點(diǎn)

1742537407531093.png

3.節點(diǎn)通訊

linux向riscv發(fā)送

1742537436384599.png

4.riscv接收數據

1742537453163457.png

A核與RISC-V核數據傳輸性能測試

A核與RISC-V核數據傳輸性能測試,使用rpmsg_test命令對rpmsg進(jìn)行性能測試,測試發(fā)送方向和接收方向各自的耗時(shí)以及速率。

1.主核測試結果:

1742537474666624.png

2.從核測試結果:

1742537491275900.png

3.通過(guò)輸出的結果可以得到:

[rpmsg1] send: 496.000000Kb 20.000000ms 24.799999M/s

[rpmsg1] receive : 496.000000Kb 9980.000000ms 0.049699Mb/s

發(fā)送496KB數據耗時(shí)20ms發(fā)送速率為24.79Mb/s

接收496KB數據耗時(shí)9980ms發(fā)送速率為0.049699Mb/s

●   DSP GPADC采集測試

采集流程如下:

1742537512412875.png

 1. 開(kāi)啟DSP

1742537534320107.png

2. DSP核打印

1742537553372291.png

3. 開(kāi)啟DSP后,把GPADC0引腳接入1.8V電源,此時(shí)用戶(hù)可以執行A核應用程序與DSP進(jìn)行通訊,使DSP進(jìn)行GPADC采集并返回數據

1742537573758689.png

可以看到GPADC0收的電壓數據為1792,轉換為電壓值為:1792/1000=1.792V。

米爾T113-i核心板配置型號

表 MYC-YT113-i核心板選型表

米爾T113-i開(kāi)發(fā)板配置型號

產(chǎn)品型號

主芯片

內存

存儲器

工作溫度

MYC-Y-4E256D-110-I

T113-i

256MB DDR3

4GB eMMC

-40℃~+85℃

MYC-Y-4E512D-110-I

T113-i

512MB DDR3

4GB eMMC

-40℃~+85℃

MYC-YT113i-8E512D-110-I

T113-i

512MB DDR3

8GB eMMC

-40℃~+85℃

MYC-YT113i-8E1D-110-I

T113-i

1GB DDR3

8GB eMMC

-40℃~+85℃

表 MYD-YT113-i開(kāi)發(fā)板選型表

產(chǎn)品型號

對應核心板型號

工作溫度

MYD-YT113i-4E256D-110-I

MYC-YT113i-4E256D-110-I

-40℃~+85℃工業(yè)級

MYD-YT113i-4E512D-110-I

MYC-YT113i-4E512D-110-I

-40℃~+85℃工業(yè)級

MYD-YT113i-8E512D-110-I

MYC-YT113i-8E512D-110-I

-40℃~+85℃工業(yè)級

MYD-YT113i-8E1D-110-I

MYC-YT113i-8E1D-110-I

-40℃~+85℃工業(yè)級



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>