关于OMAP GPMC 的配置问题
本帖最后由 qgrom0624 于 2012-7-11 22:47 编辑小弟最近在linux下做一个驱动,OMAP3530通过GPMC与FPGA进行通信,速度要求为大于20.48MByte,我想通过异步的方式进行传输。通过配置,从ARM端得到了一个稳定的时序如图:
我的配置如下:
#define FPGA_GPMC_CONFIG1 0x00001000
#define FPGA_GPMC_CONFIG2 0x000a0a00 //CSRDACCESSTIME=10, CSWRACCESSTIME=10
#define FPGA_GPMC_CONFIG3 0x00020200 //ADVRDOFFTIME=2, ADVWROFFTIME=2
#define FPGA_GPMC_CONFIG4 0x08050805 //OEOFFTIME=8, WEOFFTIME=8, OEONTIME=5, WEONTIME=5
#define FPGA_GPMC_CONFIG5 0x00080b0b //RDCYCLETIME=11, WRCYCLETIME=11
#define FPGA_GPMC_CONFIG6 0x08000000 //WRACCESSTIME=8
我的问题如下,如图,我设置的是两次连续读取之间的时间间隔为0,得到的时序中可以看到,两次CS拉低之间有很长一段高电平,占用了大量的时间,远远达不到20M的要求。一时间找不到原因,请坛子里面的高手帮忙解答一下,不胜感激!
{:dizzy:}看来没有人回答啊! 我在read函数中使用ioread16_rep(info->IO_ADDR_R, kern_buf, len);这个函数进行连续读取,我猜测是这个函数在两次读取之间占用了较长的时间,还没有找到测试的方法。
页:
[1]