多啦爱梦 发表于 2023-3-30 11:31:17

基于soc fpga的linux系统丢数问题?

最近项目中使用的intel soc fpga来进行数据采集,FPGA采集完数据后通过Master_Template ip核来将数据发送到hps中去
hps部分通过module将物理地址数据copy到了用户空间,但是在用户空间计算时会发现数据有丢失。
请问有大佬能帮忙指点分析一下吗?

wye11083 发表于 2023-3-30 11:53:02

(1)先加调试信号(计数器等)确认哪个模块丢数,哪里丢数,(2)检查异步信号有没有处理好。

zxq6 发表于 2023-3-30 14:28:29

intel的soc不是很贵嘛?

dellric 发表于 2023-3-30 15:28:32

1. 数据吞吐量是否设计合理,到底丢了多少数?0.1% 1% 还是10% ?
2. 是否采用了中断,如果是LINUX里面处理中断,实时性是得不到保障的,建议用RTOS。
3. 是否采用了DMA,如果有,请考虑边界数据保护和CACHE数据的缓冲问题。

多啦爱梦 发表于 2023-3-30 19:49:59

dellric 发表于 2023-3-30 15:28
1. 数据吞吐量是否设计合理,到底丢了多少数?0.1% 1% 还是10% ?
2. 是否采用了中断,如果是LINUX里面处理 ...
(引用自4楼)

1.丢都是一整包丢的,每5分钟有时候会丢个五六包,有时候会七八十包,数据频率是500hz
2.没有使用中断
3.使用了DMA,是直接通过dma发送到arm中的,边界数据保护和CACHE数据没有考虑,我了解一下

多啦爱梦 发表于 2023-3-30 20:06:32

wye11083 发表于 2023-3-30 11:53
(1)先加调试信号(计数器等)确认哪个模块丢数,哪里丢数,(2)检查异步信号有没有处理好。 ...
(引用自2楼)

1.加了模块,数据应该是已经通过fpga测发送到了ARM核中,在arm物理地址读到linux用户空间时候丢的
2.dma那个模块带FIFO的,这个应该是没啥问题

多啦爱梦 发表于 2023-3-30 20:07:33

zxq6 发表于 2023-3-30 14:28
intel的soc不是很贵嘛?
(引用自3楼)

用的最低端的,cyclone 5

多啦爱梦 发表于 2023-3-30 22:36:16

这个是我linux中读的模块

tangnyzl 发表于 2023-3-31 15:54:27

读写没有加锁吗?

多啦爱梦 发表于 2023-3-31 16:03:43

本帖最后由 多啦爱梦 于 2023-3-31 16:05 编辑

tangnyzl 发表于 2023-3-31 15:54
读写没有加锁吗?
(引用自9楼)

没,我读直接是一直read,当标志位来的时候就开始处理,这样是不是不对

多啦爱梦 发表于 2023-4-1 11:14:06

自己顶一下{:cry:}
页: [1]
查看完整版本: 基于soc fpga的linux系统丢数问题?