原创
DDR3 Data Exchange Solution on Zynq7000
实验中通过Zynq7000 PL采集ADC数据,处理后经PS HP0 -> DDR3 Controller 存储至DDR3,解决方案有两种:
方案一:PL端采集ADC的数据直接经PS HP0 -> DDR3 Controller 存储至DDR3,但是测试的时候发现数据读写都有问题。为了验证此问题,做如下测试:首先确保PS读写通道工作正常,再通过PL写,PS读,读回来的数据不对,说明PL写操作可能有问题;最后通过PS写,PL读,读回来的数据也有问题(地址跟数据不对应),分析其原因可能是AXI 互连机制仲裁的问题。因为PL和PS同时访问DDR3,AXI总线上有两个Master,这就需要一个AXI仲裁器,但是PL端设计没有仲裁功能【参阅P034 DDR3数据交换解决方案】。 (PS端是否有仲裁机制,需进一步了解)。
方案二:根据方案一遇到的问题,考虑在PL端加一个DMA,图示为在ZedBoard板上测试DDR3数据交换设计方案,经测试数据交换正确。
如果总线生存在多个Master,就需要仲裁器来决定如何控制各种主模块对总线的访问,对Zynq而言,每个AXI互连机制是采用两级仲裁方案来解决访问冲突的。
文章评论(0条评论)
登录后参与讨论