学习链接:https://www.stmcu.com.cn/ecosystem/app/function-GUI
学习文档名称:AN5050_Octal-SPI接口说明
之前项目中做过用单片机来驱动液晶屏来显示各种控件,有做过智能家居的,也有工业PLC界面,还做过串口屏等。UI的选择从一开始的裸奔到UCGUI、以及ST的MCU可以免费授权的STemwin(其实也是UCGUI)、Littlevgs、周立功的AWTK等,现在又有了TouchGFX,如虎添翼,有了STM32CubeMX的加持,无论从界面配置上,还是代码的编写上,都有了较大的突破,让设计UI的工程师能快速上手开发。
这次关于STM32垂直应用挑战第三周,我选择的学习内容主要是关于基于MCU硬件上的存储扩展,做过MCU+LCD驱动的工程师都明白,要想LCD的分辨率高以及刷新率流畅,离不开MCU的TFT LCD的硬件支持,更离不开RAM的资源。我手头上有关于一个智能家居的硬件是基于STM32H750VB的MCU,为啥选择这颗料呢,因为性价比非常高,20多块钱就可以买到,而且是LQFP100封装,大多数工程师也很喜欢这种封装来自己DIY。但是STM32H750VB的Flash非常小,只能用QuadSPI来扩展Flash,如果用SDRAM,TFT LCD以及网络IO口会有部分冲突,如果选择BGA封装的MCU,性价比就不高了。看了很多资料,也想用QuadSPI的RAM来扩展内存,无奈这颗料只支持XIP,如果要内存映射的话,也只能支持读操作,所以也放弃了。
这次STM32垂直应用挑战第三周的学习内容,我看到了有关于Octo-SPI的功能介绍,眼前不禁一亮,赶紧细细拜读了一下。
虽然目前Ocot-SPI的功能,很多ST的单片机并不支持,但我相信后续ST会继续完善的。 目前支持的有STM32L4+、STM32L5、STM32H7A3/7B3、STM32H7B0、STM32H723/733、STM32H725/735、STM32H730系列,这里有OCTOSPI 硬件接口和IO的图示:
而且Octo-SPI也向下兼容,同时支持了Single-SPI, Dual-SPI, Quad-SPI,配置也非常灵活可变。OCTOSPI支持HyperBus协议,所以对目前的HyperRAM和HyperFlash都有很好的支持,像Spansion的产品,最高能达到333MB/S的吞吐量,性能上比SDRAM和一般的QuadSPI RAM要快得多,可实现快速引导、图形显示和实时XIP应用。
除了STM32L5系列只有一个OCTOSPI接口,其他目前支持的都多达2个接口,刚好适合同时扩展Flash和RAM的应用,用来做UI设计,驱动LCD再适合不过了。
STM32CubeMX可以快速配置这些外设。
关于OCTOSPI 参数的配置信息
看了OCTOSPI的介绍,都迫不及待的想购买一块支持OCTOSPI功能的ST开发板来测试一下了,后续有关的进展,我会继续在论坛分享,最后附上我的学习文档。
en.DM00407776.pdf
(1.75 MB)
|