完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 STM32F407ZGT6 并配置 tiM1_CH1 以触发 DMA2 通过 GPIO 传输数据。由于协议同时使用上升沿和下降沿,我需要同时控制数据引脚和时钟引脚。所以 TIM1 只是产生 PWM 信号而没有输出。我已将所有引脚放入 GPIOC,因此我可以在 MSIZE 和 PSIZE 上使用半字数据宽度来直接控制数据引脚和时钟引脚。
目标时钟频率约为 5 MHz,因此我需要每隔 50ns 将数据从 SRAM 传输到 GPIO 外设,例如:
但我从示波器得到的只是大约 3.70 MHz。在我启用 FIFO 后,最大值约为 4 MHz。并且内存突发模式没有效果。我认为这是由总线竞争引起的,因为如果我通过 CPU 执行此操作,则最大频率可能高达 7 MHz 并展开 for 循环。但是很难放慢速度,因为我不能超过 5 MHz 的限制,否则外围设备将无法正常工作。3.7 Mhz 有点慢,因为我希望它至少能在 4.5+ MHz 下工作。那你有什么建议吗? |
|
相关推荐
1个回答
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2632 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3607 浏览 6 评论
5987 浏览 21 评论
939浏览 4评论
1315浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
582浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1302浏览 3评论
1357浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:47 , Processed in 1.038485 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号