OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9448|回复: 4

STM32用FSMC总线读写异步FIFO

[复制链接]

10

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2013-3-27
在线时间
4 小时
发表于 2014-8-23 19:17:17 | 显示全部楼层 |阅读模式
5金钱
项目中用到一块DSP和一块100引脚的STM32VGT6,中间用altera的cycloneii做缓存实现两个片子之间通信,在FPGA内用的是异步fifo(调用的altera的IP核),STM32VGT6用的是FSMC总线读写异步fifo,由于100脚的STM32VGT6的FSMC总线的低16位是数据和地址的复用的,所以得用到NADV信号区分是地址信号还是数据信号。另外由于异步fifo没涉及到地址,所以这里地址线没用,现在我让DSP向异步fifo里面写16个数(0x0001~0x00010),FSMC总线从异步fifo里面读取数据,如果写入的数据被正确读取,就说明两个片子之间通信正常。我的做法是用FSMC的NE1和NADV先取反再相与,结果作为FIFO的读使能信号,STM32的MCO输出36M时钟作为fifo的读时钟信号,现在我遇到的问题是在FPGA这边用逻辑分析仪查看fifo的的输出(也就是FSMC读取的数据)是正确的,但是我在MDK中用硬件仿真查看FSMC读取的结果始终是0x000C、0x000D、0x000E、0x000F这三个数,无论我代码怎么改始终显示读到的是这三个数。求各位高手帮我分析是什么原因造成的。
这是我的代码



谢谢啊,卡了我好几天了,求大神指点

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-23 22:58:44 | 显示全部楼层
回复

使用道具 举报

10

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2013-3-27
在线时间
4 小时
 楼主| 发表于 2014-8-23 23:31:29 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,你别只帮顶啊,帮我分析分析原因啊,纠结死我了快,就是找不到原因
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-24 00:28:24 | 显示全部楼层
回复【3楼】lgjcumt2013:
---------------------------------
没用过你这个哦。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-1-12
在线时间
0 小时
发表于 2015-3-30 09:35:00 | 显示全部楼层
不知道楼主成功了没?能否参考一下stm32和fpga的程序?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 08:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表