嵌入式开发者社区

标题: TLA7-EasyEVM开发板PCIe数据传输问题 [打印本页]

作者: 17089111431    时间: 2017-3-20 11:22
标题: TLA7-EasyEVM开发板PCIe数据传输问题
大家好!我买的开发板是TLA7-EasyEVM开发板,在用PCIe这块,现在上位机发送给FPGA视频,
然后上位机在读FPGA视频没有问题(上面上位机读写都是同一个地址,而且必须遵循先写
后读)。但是现在我要实现的功能是上位机给FPGA发送视频,FPGA收到后给每一帧打个标
记,然后发送给上位机。(也就是要实现FPGA接收上位机的功能和FPGA给上位机发送数据
的功能),但是我具体不知道我现在要操作工程的哪里、研究功能哪块才能做到,因为工
程比较大,无从下手。上位机只是给FPGA把视频,FPGA收到之后处理完毕主动的发给上位
机,或者上位机读取处理好的视频,但是上位机怎么知道处理好的视频在那个地址存放的
呢?
实在是很感谢,看书很多东西看不懂,但是这就是我想要的功能,希望大家帮我分析下。



作者: ladywn    时间: 2017-3-21 10:31
如果是每一帧图像帧头打一个标记,可以在tx_engine中发送视频时加上你的标记信息

作者: 17089111431    时间: 2017-3-21 11:35
你好,谢谢你的回复,现在tx_engine要发送的视频是上位机发来的视频(给这个视频打一个标记),但是我不知道上位机发来的视频在哪里,我要去哪里取?是在
rx_engine中检测数据吗?
作者: ladywn    时间: 2017-3-21 14:34
17089111431 发表于 2017-3-21 11:35
你好,谢谢你的回复,现在tx_engine要发送的视频是上位机发来的视频(给这个视频打一个标记),但是我不知 ...

上位机发来的数据会存到DDR3里面,然后根据上位机的读请求FPGA会在DDR3里面取出数据给tx_engine发送到PC
作者: 17089111431    时间: 2017-3-28 09:59
真的很感谢,实在是麻烦您了。也就是我只需要操作DDR3、tx_engine、rx_engine三个模块就可以实现自由通讯吗?
上位机发送的数据最终转换的每个TLP包都会经过rx_engine,然后紧接着数据会被存储到DDR3里面,我只需要在rx_engine打个标记就好了。
或者不操作rx_engine,等上位机给FPGA读请求的时候,我先把DDR3的数据取出来给tx_engine,在tx_engine发送数据的时候在打个标记,
这两种方式都可以吗?
第二个问题就是上位机比如在PC存储器地址0x00001000处写了1M字节的数据,这1M字节最后会被存储到DDR3的哪个地址处?
上位机地址和DDR3的地址是怎么对应的。
作者: 17089111431    时间: 2017-3-28 10:09
还有就是我们你们写的那个PCIE_SGDMA例子,里面好像没有用到MSI中断机制,但是我有个问题搞不懂,我现在FPGA那块真正的应用是接收一个串行
数据,我先把接收到的数据存入到DDR3里面,然后就存在一个问题,上位机啥时候开始读数据呢?难道是FPGA主动的往出发吗?但是上位机怎么知道
FPGA发送完了,啥时候读取数据?没有一个中断机制吗,比如说FPGA通知上位机去读数据。
感谢您的回复!




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4