这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 如何加速SPI总线操作外设(如LCD或者FLASH存储器等)的速度?

共11条 1/2 1 2 跳转至

如何加速SPI总线操作外设(如LCD或者FLASH存储器等)的速度?

工程师
2021-10-03 22:10:37     打赏

SPI一直摸不透,芯片有个叫NSS的脚,说明书写有软件模式有硬件模式
软件模式其实就是将NSS作为普通引脚用,硬件模式我一开始以为会根据发送寄存器置位时候NSS自动拉低,然后发送完自动拉高,但事实根本不会,是不是我理解错误呢?


感觉发送数据大部分都耗费在NSS脚控制,和等待发送完毕标记,有什么办法可以提速?或者和DMA搭配?




关键词: 总线     SPI     加速     BUS    

工程师
2021-10-03 22:26:31     打赏
2楼

你理解的没错,硬件是自动的,可能你没有配置好,用的什么芯片?多看手册


工程师
2021-10-03 22:30:47     打赏
3楼

stm32f0 f1 的硬件模式貌似完全沒有意義

stm32g 的硬件 nss 對於某些芯片可以全自動,只能是一個單位傳輸,譬如 16 bits 模式就只能傳 2 個字節,舉例這種情況可以使用硬件 nss 的芯片:ma730 編碼器、jlx19296g-690 LCD

這些限制應該是 st 公司設計的不好,其它公司的 mcu 應該有全自動 nss 且沒這麼多限制

在 stm32 上也有辦法,但是比較麻煩,譬如用 timer 去控制 nss 腳,配合 dma


工程师
2021-10-03 22:36:13     打赏
4楼

STM32H750的spi dma倒是可以一次触发中传输多字节数据,每组自动nss切换
别的系列没有注意。

image.png


工程师
2021-10-03 22:40:58     打赏
5楼

硬件NSS一般用得很少吧,如果SPI只驱动一个设备的话,直接CS拉低不用NSS就行了啊,然后根据设备通信速率最大值配置SPI的速度,DMA发送数据。


工程师
2021-10-03 22:45:44     打赏
6楼

1的硬件CS比较原始,SPI关闭才释放CS,用这个系列就别用硬件CS了,软件CS照顾从设备的时序就可以,满足的话怎么快怎么来,不一定硬要延时很多。


专家
2021-10-04 00:01:25     打赏
7楼

学习了。


专家
2021-10-04 00:02:57     打赏
8楼

感谢楼主的分享,很实用了。


专家
2021-10-04 00:06:19     打赏
9楼

感谢分享


院士
2021-10-04 00:09:44     打赏
10楼

来看看


共11条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]