shjdriver
驱动牛犊
驱动牛犊
  • 注册日期2003-04-01
  • 最后登录2008-04-02
  • 粉丝0
  • 关注0
  • 积分277分
  • 威望30点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
阅读:1875回复:2

FPGA实现高速图像采集传输的思想

楼主#
更多 发布于:2007-04-04 19:27
  总体思想是:从相机来的图像信号在同步信号的控制下,写入SDRAM:在奇帧,将图像写入SDRAM1存储,偶帧,将图像写入SDRAM2存储。

使用乒乓方式存储,计算机通过PCIE接口从SDRAM中读图像并显示,当偶帧时就从SDRAM2读数据,奇帧从SDRAM1读数据,这样与写数据不冲突。

由于使用NIOS实现这一功能,在NIOS中使用FIFO缓冲数据,用FIFO半满标志触发中断,然后用DMA读数据到SDRAM中;

当PCIE读图像时,PCIE从另一个FIFO中读数据,FIFO的半满标志无效时触发NIOS中断,NIOS响应中断后用DMA从SDRAM读数据到FIFO中,等待PCIE读取。


  问题是:相机写SDRAM和PCI读SDRAM是同时进行的,两个fifo的中断有可能同时产生,并且中断和DMA都需要响应时间,数据可能丢失啊。大家看看我是不是思路是不是有问题?向我这样的要求应该怎么做啊?谢谢
Eiffel5198
驱动牛犊
驱动牛犊
  • 注册日期2006-12-09
  • 最后登录2011-12-17
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-11 07:48
你pcie怎么实现? 用ipcore还是fpga外接独立芯片?

个人认为, 数据传输完全可以硬件来实现, 而不用nios来实现, nios数据带宽有限, 它适合做一些控制.

方案如下:
   硬件实现两大控制模块: 相机数据写sdram模块, pcie读sdram数据模块. 采用乒乓开关模式, 两个sdram一读一写. 相机写完数据产生pcie中断, 通知pcie读取数据.
shjdriver
驱动牛犊
驱动牛犊
  • 注册日期2003-04-01
  • 最后登录2008-04-02
  • 粉丝0
  • 关注0
  • 积分277分
  • 威望30点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-04-17 08:42
您这样是编写SDRAM控制核,我开始用这种方法,但是总是有随机的数据错误,后来改为NIOS控制SDRAM了
游客

返回顶部