打印
[STM32]

100脚STM32F103使用FSMC与FPGA进行FIFO通信问题

[复制链接]
2255|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
峰狂战队|  楼主 | 2014-9-1 09:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在在做一块主控板,板子搭载DSP的28335芯片,利用FPGA的飓风2代EP2C144芯片桥接100脚STM32F103,起初规划是用双口RAM通信,后来改用FIFO通信,现在的情况是,DSP与FPGA读写都正常,读写频率是36.86MHZ,但ARM这边的FSMC使用出现问题,由于100脚的STM32的地址A0到A15采用与数据线复用模式,所以在FSMC使用模式上我们选择了模式A,即异步模式,STM32主频72MHZ,FSMC频率为36MHZ,当DSP写数据到STM32时,经FPGA仿真发现写的数据都是正确的,但ARM这边读的时候数据线的数据也是正确的,但用JLINK仿真查看地址数据时,发现数据不对,我写16个数据进去(从1到16)但仿真看到的都是C、D、E、F,改变写的数据还是这样,不知道是怎么回事?  另外,ARM写数据的时候,数据线上有数据,但FPGA一直没有检测到,没有写进去,片选和读写使能都是有效的,这个现在不知道哪里出了问题?

q = GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14);                                 
              if(q)
                {
                    for(i=0;i<=15;i++)                                                
                          {
                            read_data=FIFO_Read(i);
                          }       
                      delay_us(1);                       
                }       
PIN14是检测FPGA的满信号,满信号一置位ARM这边就开始读,并发出片选NE1和读使能NOE信号,FPGA检测到片选和读使能信号好开始发数据,现在我们定的FIFO深度为16个,数据宽度为16位,程序运行时发现DSP那边是一个写使能写一个数据,但这边一个读使能数据线上有几个数据,不知道是FPGA的问题还是STM32的问题,是时钟不对还是片选信号又问题?
这是STM32的片选和读使能信号,黄色的是读使能,蓝色的是片选,底下的是放大图,现在一个片选里发现读使能有一个短暂的高电平不知怎么回事,而且一个读使能里一个位有几个数据出现,比如说检测D0位,有几个高低电平出现,FPGA程序是检测到片选和读使能的低电平就开始发数据.  求大神帮忙分析分析。。。



相关帖子

沙发
wangguiyuan1983| | 2014-9-28 00:49 | 只看该作者
我是小白!帮楼主顶起!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

13

帖子

0

粉丝