ST意法半导体
直播中

李宛蔓

8年用户 1047经验值
私信 关注
[问答]

STM32u585的octospi只能开启一个CLK时钟,AMOLED和PSRAM能否共用呢?

想用来做一个手表,怕内存不够用想外扩,不知道2mb flash和768kb的sram够不够,打算外扩esp-psram,8M。希望能够有大佬能够给出建议,感谢回答!!

回帖(3)

李小波

2025-3-7 15:10:50
如果共享一个时钟的话,时序很难时序,速度也跟不上。
最好选择有两路 OSPI 的型号,这样理论上才有可能实现。
举报

赵淑洁

2025-3-7 15:11:00
这边查阅了STM32U5相关手册,STM32U5系列的OCTOSPI(Octal SPI)的确只有1个输出时钟,如要外接多个不同设备,可以


通过共用时钟和数据线,采用时分复用,OCTOSPI在不同的时间片内与不同的外设进行通信。


你现在是通过OSPI分别接AMOLED和PSRAM,原理上讲没什么问题,只要cubeMx能配置得出来,硬件上也就可以实现。


但你要考虑这样做是否能满足你应用需求。
举报

早知

2025-3-8 17:39:50

在设计基于STM32U585的手表时,内存和外设的使用确实是一个需要仔细考虑的问题。以下是对你问题的分析和建议:


1. OCTOSPI的CLK时钟问题


STM32U585的OCTOSPI接口确实只能开启一个CLK时钟。OCTOSPI接口通常用于连接外部存储器,如Flash或PSRAM。由于OCTOSPI的CLK时钟是共享的,因此你不能同时为两个不同的设备(如AMOLED和PSRAM)提供独立的时钟信号。


解决方案:



  • 分时复用:如果你需要同时使用AMOLED和PSRAM,可以考虑分时复用OCTOSPI接口。通过软件控制,在不同的时间段内切换OCTOSPI的访问对象。这种方式会增加软件复杂性,并且可能会影响性能。

  • 使用其他接口:如果AMOLED和PSRAM对性能要求不高,可以考虑使用其他接口(如SPI或I2C)来连接其中一个设备,从而避免OCTOSPI的CLK时钟冲突。


2. 内存需求


STM32U585内置的2MB Flash和768KB SRAM对于手表应用来说,可能在某些场景下会显得不足,尤其是如果你计划运行复杂的图形界面或存储大量数据。


解决方案:



  • 外扩PSRAM:你提到计划外扩8MB的ESP-PSRAM,这是一个不错的选择。PSRAM可以提供额外的内存空间,用于存储图形数据、运行时的临时数据等。通过OCTOSPI接口连接PSRAM,可以显著提升系统的内存容量。

  • 优化内存使用:在设计软件时,尽量优化内存使用,减少不必要的内存消耗。例如,使用压缩算法减少图形数据的大小,或者使用外部存储来存储不常用的数据。


3. 整体建议



  • 评估内存需求:在项目初期,详细评估你的应用对内存的需求。考虑图形界面、数据处理、通信协议等方面的内存消耗。

  • 硬件设计:在设计硬件时,确保OCTOSPI接口的连接方式能够满足你的需求。如果可能,尽量使用分时复用或其他接口来避免CLK时钟冲突。

  • 软件优化:在软件设计阶段,尽量优化内存使用,减少对外部存储的依赖。合理规划数据的存储和访问方式,以提高系统性能。


4. 总结



  • OCTOSPI CLK时钟:由于OCTOSPI只能开启一个CLK时钟,AMOLED和PSRAM不能同时使用OCTOSPI的CLK时钟。可以考虑分时复用或使用其他接口来解决问题。

  • 内存扩展:2MB Flash和768KB SRAM可能不够,外扩8MB PSRAM是一个不错的选择。

  • 整体设计:在硬件和软件设计上都要进行优化,确保系统性能和内存使用的平衡。


希望这些建议对你有所帮助,祝你的项目顺利!

举报

更多回帖

发帖
×
20
完善资料,
赚取积分