首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

如何读取FPGA的数据啊?

如何读取FPGA的数据啊?

本人刚刚才学DSP,用的是c6713,它的EMIF口与FPGA相连,现将FPGA配置一个UART,也即是通过EMIF的ce3空间向FPGA发8位并行数据,经过FPGA的UART的并/串,串/并转换后得到8位原始并行数据,然后DSP再读取这8位数据,现经示波器测得数据线上这8位数据是对的,我是通过B0003800地址来向FPGA发数的,最终也是通过这个B0003800地址来读取这8位数据,我想问的是DSP从FPGA读取的数据在CCS中怎么看啊?我在ccs中的memory,看B0003800地址里面的值,但是有问题.不知怎么看这数据,不知DSP能不能直接读取FPGA输出来的数,退请高人指点,谢谢!

fpga读数

你读取的是FPGA的数据,用的是SBSRAM,所以你可以用异步读取方式,同时要注意时序,要在CE3为低,读ARE为低时读取,同时你可易用i=*(int)(0xB     );的方式读取。只要时序没有问题肯定可以读出来,注意两步的时钟要同步
[em01]

首先谢谢你的回答,你读取的是FPGA的数据,用的是SBSRAM?大哥是什么意思啊小弟不是很懂,在板子上6713通过ce0与SBSRAM也是连起来了,它的开始地址是0x80000000,我写的部份程序如下:

  extern Uint32 *startadd2;
  Uint32 *startadd2=(Uint32*)0xB0003800;
  extern Uint32 *startadd3;
  Uint32 *startadd3=(Uint32*)0x80000000;
  extern Uint32 *startadd4;
  *startadd2=0xffffffaa;       
   void GPIO5(void)
    {  
       cnt++;
       IRQ_disable(IRQ_EVT_GPINT6);
       if(cnt%2)
        *startadd2=0xffffff55;
       else
        *startadd2=0xffffffaa;
       if(cnt>3)       
       {
       IRQ_disable(IRQ_EVT_GPINT5); 
       }
       IRQ_enable(IRQ_EVT_GPINT6);
       }
  
    interrupt void int5(void)   
    {
      GPIO5();
      return;
    }
    
    void GPIO6(void)
    {
      i++;
      *startadd3=*startadd2;
     if(i>4)       
     {
       GPIO_close(hGpio);
       IER &=0x0002;
     }
    }
  
    interrupt void int6(void)   
    {
     GPIO6();
     return;
    }
GPIO5和GPIO6分别是一个DSP向FPGA写程序和DSP向FPGA进行读程序,我是想把FPGA的数据读出来最后写到外部的SBSRAM里去,整个过程是这样的:DSP先发一个并行的数据到FPGA,到UART并串后引起DSP中断再接着向FPGA写个数据,而过后DSP读出UART串并后的并行数据,也就是*startadd2=0xffffffaa;先写个数据到FPGA后产生GPIO5中断,写 *startadd2=0xffffff55;然后引起GPIO5中断,读取第一个数 *startadd2=0xffffffaa;依次这样读下去,读与写的地址是一样的,都是用的是0xb0003800,用示波器测得串并后最后出来的数据是对的,加断点后,每中断写一个数据,也立即读出来了,也就是*startadd2=0xffffff55;后在CCS中的memory 中可看到0xb0003800为0xffffff55,但马上接着就被读出去了,在0x80000000就可看到55,应该是它的前一个数,并且发的第一个数*startadd2=0xffffffaa;在0x80000000始终看不到,请问各位大哥,是不是我的读程序有问题啊?刚接触DSP不是很懂啊,andy0821
仁兄,你那个i=*(int)(0xB     );能不能具体写明白点啊?谢谢了!

返回列表