Zynq构建SoC系统深度学习教程之PL与CPU通过DDR3进行数据交互

网络整理 2020-07-24 21:47:58 0评

资料大小:2.67 MB

所需积分:2

下载次数:0

  通过之前的学习,CPU可以读写DDR3了,PL端的Master IP也可以读写DDR3了,那二者就可以以DDR3为纽带,实现大批量数据交互传输。

  这样的话,整个系统将会有两个master,即CPU和PL端的Master IP核,共同访问操作一个Slave端即DDR3 Controllor。

  本次实验就是构建一个这样的验证系统。当然了在真正的工程系统中,还需要设计良好的读写同步,防止竞争冲突,这就属于系统设计层面的了,本实验依靠按钮触发有用户来进行读写同步。

  在zynq子系统中,配置UART硬核,DDR3 Controllor硬核,GP AXI Master Port和GP AXI Slave Port硬核。

  在PL端,设计一个Master IP核,用来实现对DDR3的读写操作。

  在PL端,设计一个Slave IP核,检测外部的触发按键,如有按键按下,与CPU进行数据交互,从而触发CPU对DDR3进行读写操作。从而实现同步,避免竞争冲突,更好的方法是Slave IP产生中断(暂时还没研究如何实现),或者Zynq子系统使用MIO管脚直接采样判决(开发板没有连接到按键上)

  业务流程设计:

  按下触发按键A,PL端的Master IP核向地址0x0080_0000~0x0080_0010地址空间写入一组32bits的数据。

  按下触发按钮1,CPU去依次读取0x0080_0000~0x0080_0010地址空间的数据,然后通过UART格式化输出显示。

  从而判断数据流“PL端的Master IP核”--》“DDR3”--》“CPU”数据是否正确。

  按下触发按钮2,PL端向0x0090_0000地址写入一个8bits数据。

  按下触发按键B,PL端的Master IP核从地址0x0090_0000读取32bits数据,将低8bits驱动到LED灯上显示。

  从而判断数据流“CPU”--》“DDR3”--》“PL端的Master IP核”数据是否正确。

相关文章

0个回复

我要评论

热门标签