
大家好,我现在正在使用STM32F103的FSMC同步模式。 需要读取高速ADC数据,ADC是8位并口,但需要一个时钟去触发转换,在时钟上升沿读取数据,速度20M, 我看FSMC的同步模式正好有这个CLK,所以就想通过FSMC去读取,数据我已经读取回来了,但是有点疑问,及时每次读取ADC的数据都必须发送一次地址,然后等待2个时钟周期才有数据,并不是每个时钟上升沿一个数据,所以几乎就是速度很慢。本以为每发1个时钟出1个数据,但实际上发多个时钟才出1个数据。 例程的FSMC大多是异步模式的,因此现在想请教下各位高手,有没有使用过这个功能的,谢谢 |
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
stm32ide怎么正确的导出项目
STM32F105RBT6 2025年 ROSH REACH 报告
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
你好,我的setting里面设置都没有问题。但是显示failed download cortexm3
STM32F103C8出現找不到'STM32100B_EVAL/stm32100b_eval.h' file not found
stm32f407无法配置定时器2为全部dma
STM32F103TBU6 封装是VFQFPN36 将PD0和PD1配置成CAN不成功是什么原因
串口DMA + 空闲中断收发 ?
F103RCT6芯片对AFIO->MAPR寄存器写入时出错
同步时钟过来后,FSMC硬件至少要等待两个CLK后才去读取并行数据。这个等待时间我们可以从 2-17CLK进行配置。
DATLAT: Data latency for synchronous burst NOR Flash memory
For NOR Flash with synchronous burst mode enabled, defines the number of memory clock
cycles (+2) to issue to the memory before getting the first data:
0000: Data latency of 2 CLK clock cycles for first burst access
1111: Data latency of 17 CLK clock cycles for first burst access (default value after reset)
你期望每个上升沿出现就读取数据,这个不太现实。
你要知道。该时钟同时又做了触发信号,你的ADC受触发后再进行转换,之后才将数据送到总线上,这都是要时间的。
如果说即使这样还嫌慢无法满足要求,那就再想想别的办法。比较换个速度更高点的STM32.
但连续读ADC转换数据为什么不用DMA(可设成循环方式,又能中断处理每次发来的数据)
您好,谢谢回复。我现在用的是ADC芯片AD9280,芯片本身需要一个时钟出发ADC采样。如果我使用DMA的MEM to MEM 模式,貌似不可以循环读。