stm32的FSMC,与CPLD通信

2019-10-12 13:41发布

在调试FSMC的时候,使用软件仿真,查看管脚的电平,比如FSMC_NOE(portd.4),和FSMC_NWE(portd.5);向寄存器写值得时候,NOE应该是高电平啊,同时,查看对应的数据FSMC_D0-FSMC_D7应该有值,在程序中,我采用8根地址,8根数据线。程序如下:
图片3为在主函数写值。是方法不对还是其他的?求指教。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
taojiang
1楼-- · 2019-10-13 18:15
已通,结贴。
taojiang
2楼-- · 2019-10-13 18:45
 精彩回答 2  元偷偷看……
augustedward
3楼-- · 2019-10-13 21:24
taojiang 发表于 2017-2-27 15:16
谢谢哈,按照时序写出来,用示波器是可以的,如果用KEIL自带的软件仿真。是仿不出来的,接下来调CPLD部分 ...

CPLD调试,主要是软件仿真时序。只要软件仿真时序没问题,下载进去问题也不大
taojiang
4楼-- · 2019-10-14 01:55
augustedward 发表于 2017-2-17 09:42
你把CPLD当成一SRAM就可以了,FSMC操作SRAM的代码论坛里一大堆

请教一个问题,STM32与CPLD通信,我应该不需要用verilog写fsmc部分的代码啊?我只需要通过FSMC写寄存器,读寄存器,就可以了。
augustedward
5楼-- · 2019-10-14 03:39
taojiang 发表于 2017-2-27 15:21
请教一个问题,STM32与CPLD通信,我应该不需要用verilog写fsmc部分的代码啊?我只需要通过FSMC写寄存器, ...

那你CPLD内怎么判断STM32是写,还是读呢,写哪儿个地址,读哪儿个地址的?
taojiang
6楼-- · 2019-10-14 09:22
augustedward 发表于 2017-2-27 15:23
那你CPLD内怎么判断STM32是写,还是读呢,写哪儿个地址,读哪儿个地址的?

读写信号,FSMC_A7-A0连CPLD得管脚,FSMC_D7-D0连CPLD得管脚,写的时候,在STM32中使用FSMC_write函数写值,对应的管脚就会映射出相应电平的变化,比如写01000010,的话,对应的A6和A1为高电平,CPLD的管脚也会有相应的变化,然后在CPLD里面已经下载了程序,对FSMC_A7-A0的电平状态进行解析。然后保存到寄存器里面,

一周热门 更多>