关于STM32的FSMC功能,有几个问题请教大神回答,感激不甚!

lx2014822 2015-08-30 09:03:35
以下是STM32和FPGA的连接情况:
FSMC_D0(PD14)
FSMC_D1(PD15)
FSMC_D2(PD0)
FSMC_D3(PD1)
FSMC_D12(PE15)
FSMC_D13(PD8)
FSMC_D14(PD9)
FSMC_D15(PD10)作为数据线
FSMC_A16(PD11)
FSMC_A17(PD12)
FSMC_A18(PD13)作为地址线
FSMC_NOE(PD4)作为输出使能,读使能
FSMC_NWE(PD5)作为写使能
FSMC_NE1(PD7)作为片选信号
问题1:FPGA是8位数据通信的FIFO,那么就表示只用一根地址线就够了,数据线必须严格遵守FSMC_D0-D7,D8-D15这样的顺序才能通信吗?(中途有几段被外设占用了)
问题2:只有以上引脚是否完全能实现STM32和FPGA的通信,如果引脚不够,还缺哪些?
问题3:从FPGA的IP软核出来的数据每次是8位,但是一个完整报文(包含不确定个字节)过后就暂时没有数据了,直到下一个完整报文到来,也就是中途会有无数据的空闲时刻,空闲时刻STM32会将之前接收到的所有数据都发出去,请问用FSMC这种方案能否行得通?.


...全文
723 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
czhaii 2019-02-07
  • 打赏
  • 举报
回复
也在学习STM32
dceacho 2015-09-05
  • 打赏
  • 举报
回复
引用 2 楼 lx2014822 的回复:
感谢大神回复帖子,因为STM32的FSMC其余的数据线被w5100所占用无法使用,如果因为缺少几根数据线而实在无法实现FSMC,我打算直接用普通I/O做输入(就是设置成8个浮空输入吧),请问大神说的模拟总线时序方式是什么意思?最高通信速度有多快?能具体说一下吗?
就是软件模拟啊, 最快要看IO口的反应速度了, 读时要一根一根的IO去读而不像硬件一次读完
lx2014822 2015-08-31
  • 打赏
  • 举报
回复
感谢大神回复帖子,因为STM32的FSMC其余的数据线被w5100所占用无法使用,如果因为缺少几根数据线而实在无法实现FSMC,我打算直接用普通I/O做输入(就是设置成8个浮空输入吧),请问大神说的模拟总线时序方式是什么意思?最高通信速度有多快?能具体说一下吗?
fuchouzhe 2015-08-31
  • 打赏
  • 举报
回复
对MCU来说fsmc引脚功能已经固定,不能改变地址线和数据线的引脚定义。 补全数据线,使用异步时序即可完成功能。 若已经做好板子,对速度要求不高,MCU可以考虑采用模拟总线时序方式完成通信功能。

27,377

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧