整体方案
2015-11-21 15:52
302 查看
方案1:
本来一开始考虑的是在ARM和FPGA之间复用SDRAM的,如下图所示,这样FPGA在高速下采集到的数据可以直接放入到SDRAM中,然后ARM可以直接从SDRAM中取数据来进行处理,ARM和fpga之间的地址/数据总线作为ARM和fpga之间的控制信号来用,有点像通信网中的数据与信令分离的那种方式,可是最后还是舍弃了这种方案,原因是因为:
1.在ARM 和FPGA之间复用sdram,如果存在ARM在读,而FPGA这一时刻正在写的情况的时候就会有冲突,这个该怎么处理,必须在ARM和FPGA之间有同步信号,也就是说当ARM要读取SDRAM中的数据的时候,必须先通知FPGA停止写数据,FPGA在接收到信号后,还要先将FPGA和SDRAM之间地址/数据总线设置为高阻态,然后再发送信号给ARM, 这个时候ARM 才能读取数据,但是这样FPGA采集到的数据会有所丢失。
2. 采用两片SDRAM实现乒乓机制。
考虑到这个方案实现起来还是有一定难度,而且也是第一次来自己做板子,所以还是决定放弃这个方案,等以后有经验了看能不能再实现本方案。
方案2:
还是将SDRAM只放置在FPGA侧,ARM和FPGA之间通过地址/数据 总线的方式来交换数据,可以把FPGA当做ARM的一个存储设备将FPGA挂载到ARM的一个BANK上,首先通过FPGA来读写SDRAM中的数据,然后ARM来读取FPGA的数据,或者在FPGA内部直接将SDRAM连通到ARM,FPGA做一个透传(这个还不明白能不能这么做,怎么做),其他功能模块如图所示:
目前还是选择方案2。
本来一开始考虑的是在ARM和FPGA之间复用SDRAM的,如下图所示,这样FPGA在高速下采集到的数据可以直接放入到SDRAM中,然后ARM可以直接从SDRAM中取数据来进行处理,ARM和fpga之间的地址/数据总线作为ARM和fpga之间的控制信号来用,有点像通信网中的数据与信令分离的那种方式,可是最后还是舍弃了这种方案,原因是因为:
1.在ARM 和FPGA之间复用sdram,如果存在ARM在读,而FPGA这一时刻正在写的情况的时候就会有冲突,这个该怎么处理,必须在ARM和FPGA之间有同步信号,也就是说当ARM要读取SDRAM中的数据的时候,必须先通知FPGA停止写数据,FPGA在接收到信号后,还要先将FPGA和SDRAM之间地址/数据总线设置为高阻态,然后再发送信号给ARM, 这个时候ARM 才能读取数据,但是这样FPGA采集到的数据会有所丢失。
2. 采用两片SDRAM实现乒乓机制。
考虑到这个方案实现起来还是有一定难度,而且也是第一次来自己做板子,所以还是决定放弃这个方案,等以后有经验了看能不能再实现本方案。
方案2:
还是将SDRAM只放置在FPGA侧,ARM和FPGA之间通过地址/数据 总线的方式来交换数据,可以把FPGA当做ARM的一个存储设备将FPGA挂载到ARM的一个BANK上,首先通过FPGA来读写SDRAM中的数据,然后ARM来读取FPGA的数据,或者在FPGA内部直接将SDRAM连通到ARM,FPGA做一个透传(这个还不明白能不能这么做,怎么做),其他功能模块如图所示:
目前还是选择方案2。
相关文章推荐
- #新闻拍一拍# IBM 招聘广告要求应聘者具备至少 12 年 K8S 使用经验
- Linux socket 初步
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝