找回密码
 注册
关于网站域名变更的通知
查看: 224|回复: 1
打印 上一主题 下一主题

T113-i开发板RISC-V核的实时应用方案

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2024-11-22 13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
随着市场对嵌入式设备的功能需求越来越高,集成了嵌入式处理器和实时处理器的主控方案日益增多,以便更好地平衡性能与效率——实时核负责高实时性任务,A核处理复杂任务,两核间需实时交换数据。然而在数据传输方面,传统串行接口尽管成本较低,但其传输速率相对较慢;反之,并行接口虽然传输速度快,但成本却比较高。因此,单芯片多核异构处理器就成为能够满足需求的理想选择。

$ e3 }6 h9 ^: ^8 `, Z8 ?% u
RISC-V作为一种开源指令集架构,以其简洁性、一致性、可扩展性以及高编译效率,为实时性处理场景提供了强大的支持。将A核与RISC-V核结合作为单芯多核异构方案,可以有效利用RISC-V的这些优势,实现高性能与高实时性的有效结合。
% `; k' O' N% L& X% o/ {7 J$ E

# D  E5 o: n# p8 y
本文将以OK113i-S开发板为例,为大家介绍RISC-V核的资源和应用案例。
8 Q& @* R% Q5 {5 Z$ J
1、OK113i-S开发板的RISC-V核
飞凌嵌入式OK113i-S开发板是一款基于全志T113-i工业级处理器开发的高性价比开发板,集成了双核Cortex-A7 CPU、64位玄铁C906 RISC-V和DSP,能够提供高效的计算能力和性价比。尤为值得一提的是,其内置的RISC-V核心作为一款超高能效的实时处理器,主频峰值可达1008MHz,并标准配备了内存管理单元,能够流畅运行RTOS系统或裸机程序,进一步提升了应用灵活性。

0 g5 k8 e2 ~+ k, Z: g
1.1 RISC-V核的特性
(1) 最高主频可达1008MHz;
(2) 32KB指令缓存;
(3) 32KB数据缓存;
(4) 可运行于超大容量的DDR
... ...
+ U  l$ w* A5 _1 p
1.2 RISC-V核的接口资源
. q* W  z( {6 ~( {; @6 l" E/ p
2、应用实例
2.1 SPI数据收发
本案例为SPI回环测试,即将SPI的MOSI和MISO两个引脚短接进行数据收发。
6 P" a4 e4 N7 J' F; s/ o) ]! q
(1) 功能介绍
% H% z1 \1 h1 u6 \0 [; W
5 B5 Z. L, ^4 v2 l1 ~: G
(2) 效果实现
SPI发送和接收的FIFO均为64个,在底层hal库程序中,当数据长度小于64字节时,采用中断方式,当FIFO大于等于64字节时,采用DMA模式。
中断方式传输效果:

; u0 E; G" f$ @+ S6 C- @# _
DMA方式传输效果:
% i5 P4 v% @9 H5 I2 e/ s
在DMA传输方式下,SPI速率默认为5Mbit/s,案例中平均传输速率为580.43KB/s,即4.6Mbit/s,接近理论值。

7 a8 m, k" g% ~5 q
2.2 核间通信RPbuf
RPbuf是全志基于RPMsg所实现一套高带宽数据传输的框架。RPMsg是基于共享内存和Msgbox中断实现的一套核间通信机制,RPMsg除去头部的16字节数据外,单次最多可发送496字节有效数据。因此,全志基于RPMsg实现了一套大数据量传输机制RPbuf,实现原理是在DDR中放置传输的数据,通过RPMsg传输DDR的地址和大小。我们以单次32KB数据传输为例进行展示。

  R, S6 y% ~. ~( g# n0 p# p7 ]: A/ s& J7 n
(1) 功能介绍
• VirtIO:一套虚拟化数据传输框架,用于管理共享内存VRING;
• VRING:由VirtIO管理的一个环形共享内存;
• Msgbox:全志提供的一套消息中断机制,已与linux内核中原生的mailbox框架适配;
• MSGBOX_IRQ:Msgbox中断;
• RPMsg:基于VirtIO管理的共享内存所实现一套少量数据传输的框架;
• RPbuf:全志基于RPMsg所实现一套大量数据传输的框架。

* g* b4 Z* O  K/ E9 s6 ?
由上图可知(以RISC-V核向A核发送数据为例),RPbuf首先将数据放置在DDR中,再将缓冲区首地址和大小通过RPMsg发送至A核(RPMsg将缓冲区首地址和大小放入VRING,然后请求Msgbox中断,A核收到这个中断后,在回调函数中使用RPMsg接口函数来从VRING中取出cmd)。
随后A核从cmd handler中获取缓冲区内的地址和长度,最后在应用层读取数据,从而完成双核间的数据传输。

9 V/ L! F: b: C5 w1 E6 Z6 d
(2) 效果展示
! M' `5 G; v% U/ \
由上图测试效果可以看到,带宽大约为27~30Mbps。

3 d, T4 N4 x2 [/ N( l2 [
以上就是飞凌嵌入式OK113i-S开发板RISC-V核部分外设的使用方法,是不是感觉和单片机的开发一样简单方便呢?

, k% d% J" t0 ]

该用户从未签到

2#
发表于 2024-11-22 17:48 | 只看该作者
感觉和单片机的开发一样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 13:09 , Processed in 0.140625 second(s), 22 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表