http://www.kadhoai.com.cn 2026-04-14 23:03:37 來源:米爾電子
近年來,隨著半導體產業的快速發展和技術的不斷迭代,物聯網設備種類繁多(如智能家居、工業傳感器),對算力、功耗、實時性要求差異大,單一架構無法滿足所有需求。因此米爾推出MYD-YT113i開發板(基於全誌T113-i)來應對這一市場需求。

米爾基於全誌T113-i核心板及開發板
一、T113-i芯片及OpenAMP簡介
oT113-i芯片簡介
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實時操作係統
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實時操作係統
4.支持少量數據核間通訊(RPMsg)和大量核間數據(RPBuf)
oOpenAMP係統原理
T113-i=2×ARM A7 + 1×C906(RISC-V) + 1×DSP(HIFI 4)組成,其中兩個A7核為主核心,C906(RISC-V核)和DSP為雙副核心。而其中的RISC-V屬於超高能效副核心,標配內存管理單元,可運行RTOS或裸機程序,T113的主核運行Linux進行人機界麵的交互和應用流程,而RISC-V則(ze)是(shi)後(hou)台(tai)可(ke)進(jin)行(xing)大(da)數(shu)據(ju)數(shu)據(ju)采(cai)集(ji),或(huo)者(zhe)相(xiang)關(guan)編(bian)碼(ma)器(qi)的(de)控(kong)製(zhi)等(deng),降(jiang)低(di)主(zhu)核(he)被(bei)中(zhong)斷(duan)的(de)次(ci)數(shu),大(da)大(da)提(ti)供(gong)了(le)主(zhu)核(he)的(de)運(yun)行(xing)效(xiao)率(lv)。每(mei)個(ge)處(chu)理(li)器(qi)核(he)心(xin)相(xiang)互(hu)隔(ge)離(li),擁(yong)有(you)屬(shu)於(yu)自(zi)己(ji)的(de)內(nei)存(cun),既(ji)可(ke)各(ge)自(zi)獨(du)立(li)運(yun)行(xing)不(bu)同(tong)的(de)任(ren)務(wu),又(you)可(ke)多(duo)個(ge)核(he)心(xin)之(zhi)間(jian)進(jin)行(xing)核(he)間(jian)通(tong)信(xin),這(zhe)些(xie)不(bu)同(tong)架(jia)構(gou)的(de)核(he)心(xin)以(yi)及(ji)他(ta)們(men)上(shang)麵(mian)所(suo)運(yun)行(xing)的(de)軟(ruan)件(jian)組(zu)合(he)在(zai)一(yi)起(qi),就(jiu)成(cheng)了(le) AMP 係統(Asymmetric Multiprocessing System 異構多處理係統)即非對稱多處理架構。

二、AMP係統通信機製詳解
oAMP通信原理
由於兩個核心存在的目的是協同的處理,因此在異構多處理係統中往往會形成Master-Remote結構。主核心啟動後啟動從核心。當兩個核心上的係統都啟動完成後,他們之間就通過IPC(Inter Processor Communication)方式進行通信,而 RPMsg就是IPC中的一種。
在AMP係統中,兩個核心通過共享內存的方式進行通信。兩個核心通過AMP中斷來傳遞訊息。內存的管理由主核負責。

o使用 RPMsg進行核間通信
RPMsg整體通訊框架
上麵介紹了通訊原理,這裏講解如何通訊,AMP使用RPMsg框架進行通訊,該框架用於AMP場景下處理器之間進行相互通信。OpenAMP內部實現了可用於RTOS或裸機係統中的RPMsg框架,與Linux內核的RPMsg框架兼容。

其通信鏈路建立流程如下:
1.RTOS 端調用 rpmsg_create_ept 創建指定 name 的端點。
2.Linux 端 rpmsg core 層收到端點創建消息,調用 rpmsg_register_device 將其作為一個設備注冊到 rpmsg bus。
3.Linux 端 rpmsg bus 匹配到相應的驅動,觸發其 probe 函數。
4.Linux 端驅動 probe 函數完成一些資源的分配以及文件節點的生成。
5.Linux 端驅動的 probe 函數調用完後,rpmsg bus 會回複一個 ACK。
6.RTOS 端收到 ACK 後設置端點的狀態,此時使用 is_rpmsg_ept_ready 函數會返回 true。
RPMsg數據傳輸流程如下:
下麵展示一次RPMsg數據傳輸的通信過程,下麵詳細說明:

1.arm端把數據拷貝到buffer中,在初始化時已經將buffer和payload memory地址綁定,因此數據拷貝後相當於存放到了payloadmemory中。
2.在消息傳輸命令後加上數據在payload memory中的起始地址和長度,組成數據包,調用RPMsg接口發送。
RPBuf:基於共享內存和RPMsg消息通知,實現傳輸大數據傳輸的框架。
RPMsg:基於VirtIO管理的共享內存,實現數據傳輸的框架。
VirtIO:原本是一套用在虛擬化環境中傳輸數據的框架,這裏用作共享內存(VRING)的管理。
OpenAMP:OpenAMP框架為RTOS、裸機和Linux用戶空間提供了RPMsg、VirtIO、re-moteproc(未列出)的實現,並且與Linux內核兼容。
Msgbox:是全誌平台提供的一套消息中斷機製,已通過linux內核中原生的mailbox框架作適配。
MSGBOX_IRO_REG:Msgbox的中斷相關寄存器。
buffer:表示申請到的共享內存。用戶通過操作buffer對象,可直接訪問對應的共享內存。payload memory:用來存放實際傳輸數據的共享內存,因此稱為payload(有效負載)。VRING:由Virtl0管理的一個環形共享內存。
三、案例與性能測試
oA核與RISC-V核通訊流程
A核與RISC-V核通訊流程如下:

1. 首先監聽端點

2. 創建端點

3. 節點通訊
linux向riscv發送

4. riscv接收數據

oA核與RISC-V核數據傳輸性能測試
A核與RISC-V核數據傳輸性能測試,使用rpmsg_test命令對rpmsg進行性能測試,測試發送方向和接收方向各自的耗時以及速率。
1. 主核測試結果:

2. 從核測試結果:

3. 通過輸出的結果可以得到:
[rpmsg1] send: 496.000000Kb 20.000000ms 24.799999M/s
[rpmsg1] receive : 496.000000Kb 9980.000000ms 0.049699Mb/s
發送496KB數據耗時20ms發送速率為24.79Mb/s
接收496KB數據耗時9980ms發送速率為0.049699Mb/s
oDSP GPADC采集測試
采集流程如下:

1. 開啟DSP

2. DSP核打印

3. 開啟DSP後,把GPADC0引腳接入1.8V電源,此時用戶可以執行A核應用程序與DSP進行通訊,使DSP進行GPADC采集並返回數據

可以看到GPADC0收的電壓數據為1792,轉換為電壓值為:1792/1000=1.792V。
米爾T113-i核心板配置型號
產品型號 主芯片 內存 存儲器 工作溫度
MYC-YT113i-4E256D-110-I T113-i 256MB DDR3 4GB eMMC -40℃~+85℃
MYC-YT113i-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℃
表 MYC-YT113-i核心板選型表
米爾T113-i開發板配置型號
產品型號 對應核心板型號 工作溫度
MYD-YT113i-4E256D-110-I MYC-YT113i-4E256D-110-I -40℃~+85℃ 工業級
MYD-YT113i-4E512D-110-I MYC-YT113i-4E512D-110-I -40℃~+85℃ 工業級
MYD-YT113i-8E512D-110-I MYC-YT113i-8E512D-110-I -40℃~+85℃ 工業級
MYD-YT113i-8E1D-110-I MYC-YT113i-8E1D-110-I -40℃~+85℃ 工業級
表 MYD-YT113-i開發板選型表
如需了解板卡的具體介紹,您可以通過訪問以下米爾電子官網鏈接了解更多:https://www.myir.cn/shows/148/78.html