datamover完成ZYNQ片内PS与PL间的数据传输_第1页
datamover完成ZYNQ片内PS与PL间的数据传输_第2页
datamover完成ZYNQ片内PS与PL间的数据传输_第3页
datamover完成ZYNQ片内PS与PL间的数据传输_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

datamover完成ZYNQ片内PS与PL间的数据传输分享下PS与PL之间数据传输比较另类的实现方式,实现目标是:1、传输时数据不能滞留在一端,无论是1个字节还是1K字节都能立即发送;2、PL端接口为FIFO接口;PS到PL的数据传输流程:PS到PL的数据传输相对简单,使用vivado自带的axi_datamover即可完成,详细如下:

A、向PL端查询剩余数据存储长度(以byte为单位);

B、通过写寄存器设置PL端DMA数据传输开始地址;

C、通过写寄存器设置PL端DMA数据传输长度(以byte为单位);

D、通过写寄存器启动PL端DMA传输;

E、通过读寄存器查询PL端DMA是否完成数据传输;PS(ARM)端驱动代码如下:

#defineWRITE_SPACE_REG0x84000004

#defineps2pl_SA0x84000008

#defineps2pl_LENGTH0x8400000C

#defineps2pl_START0x84000010

#defineps2pl_FINISHED0x84000014data_space=Xil_In32(WRITE_SPACE_REG);voidinit_axi_dma_simple_write(u32num)

{

Xil_Out32(ps2pl_SA,(unsignedint)recvram);

Xil_Out32(ps2pl_LENGTH,(0x80000000+num));

Xil_Out32(ps2pl_START,0x00000001);

while(!(Xil_In32(ps2pl_FINISHED)&0x00000001));

}PL到PS的数据传输流程:

PL到PS的数据传输相对复杂点,vivado自带axi_datamover测试发现有时不太正常,所以按照vivado自带axi_datamover接口协议重新写了模块,详细如下:A、通过读寄存器查询待传输数据长度(以byte为单位);

B、通过写寄存器设置PL端DMA数据传输开始地址;

C、通过写寄存器设置数据传输长度(以byte为单位);

D、通过写寄存器启动数据传输;

E、通过读寄存器查询PL端DMA是否完成数据传输;

注:数据传输长度有数值限制,假如待传输数据长度为8byte的整数倍,则每次的数据传输长度也必须为8byte的整数倍。假如待传输数据长度不是8byte的整数倍,以15byte为例,只能以下面两种方式读取:1、第一次读取8byte,第二次读取7byte;2、一次读取15byte。为了简化这种限制,可以使每次的待传输数据长度小于PS端的缓存,这样可以一次读取所有待传输的数据,也就是第二种读取方式。PS(ARM)端代码如下:

#defineREAD_NUM_REG0x84000044

#definepl2ps_DA0x84000048

#definepl2ps_LENGTH0x8400004C

#definepl2ps_START0x84000050

#definepl2ps_FINISHED0x84000054data_return=Xil_In32(READ_NUM_REG);voidinit_axi_dma_simple_read(u32num)

{

Xil_Out32(pl2ps_DA,(unsignedint)recvram);

Xil_Out32(pl2ps_LENGTH,(0x80000000+num));

Xil_Out32(pl2ps_START,0x00000001);

while(!(Xil_In32(pl2ps_FINISHED)&0x00000001));

}附件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论