OpenEdv-开源电子网
标题:
STM32MP157的异核通信速度能有多快?
[打印本页]
作者:
headic
时间:
2022-7-5 19:13
标题:
STM32MP157的异核通信速度能有多快?
有个问题没搞懂,想咨询一下大家,针对STM32MP157,如果用M4驱动AD7606(16bitAD),按照200K,进行采样,这个是用使用开发板提供的异核通信方式,能够把AD7606产生的采样数据实时传输给A7的Linux系统吗?
其中AD7606产生的数据量字节数为:2*8*200K= 3.05Mb/秒。
跪求高手给与解答。
作者:
gjs13030247996
时间:
2022-7-6 09:58
帮顶一下
作者:
海哥牛逼
时间:
2022-7-6 14:29
本帖最后由 海哥牛逼 于 2022-7-6 14:54 编辑
没有这么快 100-200kb
作者:
茂茂2019
时间:
2022-7-6 19:03
海哥牛逼 发表于 2022-7-6 14:29
没有这么快 100-200kb
海哥牛逼!
作者:
海哥牛逼
时间:
2022-7-7 09:34
茂茂2019 发表于 2022-7-6 19:03
海哥牛逼!
海哥牛逼
作者:
DDCoder
时间:
2022-7-19 00:05
不按照虚拟串口的方式,直接走共享内存的方式应该能快一些把,没试过
作者:
仰望星空之云
时间:
2022-7-19 16:40
本帖最后由 仰望星空之云 于 2022-7-19 16:46 编辑
异核通信本质上是通过共享内存来实现的,所以虚拟串口理论上比实际的物理串口要快一些。
虽然是理论值,ST没有给出具体实测数据,不过速率和传输数据量有关系,可参考网上的数据:
块大小 # 块数 毫秒
512 1 11.97
512 2 18.77
512 4 31.02
512 8 56.25
1024 1 15.32
1024 2 24.82
1024 4 43.83
1024 5 53.32
2048 1 21.74
2048 2 37.63
4096 1 37.64
在ST的内核下默认配置单次能传输512字节的数据,也可以修改内核的一些配置来实现单次传输大于512字节的数据,如1024字节。
具体修改方法,可参考《【正点原子】STM32MP1异核通信(基于CubeIDE) V1.1》,也有视频:
https://www.bilibili.com/video/BV1RA4y1Z7iW?spm_id_from=333.880.my_history.page.click&vd_source=08348d1b038a69d1b4fdb7075125f4bd
作者:
uoe
时间:
2022-7-21 15:59
最大一次是32768个字节
vdev0vring0长度最少为4*MAX_RPMSG_BUF_SIZE
vdev0vring0: vdev0vring0@10040000 {
compatible = "shared-dma-pool";
reg = <0x10040000 0x08000>;
no-map;
};
vdev0vring1: vdev0vring1@10048000 {
compatible = "shared-dma-pool";
reg = <0x10048000 0x08000>;
no-map;
};
vdev0buffer: vdev0buffer@10050000 {
compatible = "shared-dma-pool";
reg = <0x10050000 0x10000>;
no-map;
};
/drives/rpmsg/virtio_rpmsg_bus.c
#define MAX_RPMSG_NUM_BUFS (2)
#define MAX_RPMSG_BUF_SIZE (32768)
#define RPMSG_RESERVED_ADDRESSES (1024)
#define RPMSG_NS_ADDR (53)
M4
Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/rpmsg_virtio.h
#ifndef RPMSG_BUFFER_SIZE
#define RPMSG_BUFFER_SIZE (32768)
#endif
修改STM32MP157AACX_RAM.ld
MEMORY
{
RETRAM_interrupts (xrw) : ORIGIN = 0x00000000, LENGTH = 0x00000600
SRAM1_text (xrw) : ORIGIN = 0x10000000, LENGTH = 128K
SRAM2_data (xrw) : ORIGIN = 0x10020000, LENGTH = 128K
SRAM3_ipc_shm (xrw) : ORIGIN = 0x10040000, LENGTH = 128K
SRAM4 (xrw) : ORIGIN = 0x10060000, LENGTH = 64k
}
作者:
lxscbl
时间:
2022-8-26 16:06
使用大容量IPCC通信方式,即共享内存的方式,是没问题的,实测可以到40Mb/s
欢迎光临 OpenEdv-开源电子网 (http://openedv.com/)
Powered by Discuz! X3.4