完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
买了块STM32F429I-DISC1准备搞点稍微复杂点东西,比如LCD驱动,摄像头驱动,DSP之类。
先搞得是LCD驱动,F429提供了LTDC接口,就是可以直接可以用RGB的方式驱动屏幕,而用RGB方式就需要有比较大的RAM,但一般MCU的板载RAM都是很小的,都是通过外接SDRAM的方式来进行的,而SDRAM就是跟电脑外接DDR内存的原理是一样的。F429板载了一颗8Mbyte的SDRAM。 关于了解SDRAM的一些常识,看了一篇doc,“高手进阶,终极内存威廉希尔官方网站 指南——完整.doc”,里面讲了很多SDRAM的时序和参数。 SDRAM原理:有行地址,列地址,地址线等等。还有读取每个区块就是Bank的时候先定位行地址然后定位列地址等等,已经读写的一些时序和一些关键参数的设置: 如tRCD、CAS Latency、tRP、tWR等等,这些在代码里都要配置的,根据SDRAM的数据手册(DISC1用的IS42S16400J) 具体代码工程配置: 1.FMC的配置,就是SDRAM的IO配置(地址线、CS信号、数据线、Bank选择线、CLK等等)可以用CubeMx直接生成,可以配内存地址、Bank数量、多少行多少列,还有CAS,TRCD等都是以时钟信号为单位的。 2.时钟配置FMC_SDRAM_CMD_CLK_ENABLE 3.PALL预充电存储区域FMC_SDRAM_CMD_PALL 4.自刷新FMC_SDRAM_CMD_AUTOREFRESH_MODE 5.设置一堆如模式寄存器、突发长度、等等... 6.刷新率设置(刷新率是64ms ÷(4096行) = 15.7us SDRAM使用108MHz,刷新周期为:15.7us × 90MHz count = 1413-20) 就这样设玩,SDRAM就可以随意读写了。然后就可以给LTDC和DMA2D使用了。 LCD屏幕驱动就是RGB驱动方式的配置,就是配置LTDC接口,这个可以在CubeMX中配置 RGB驱动方式原理其实也挺简单的,RGB三色,每个最多8位就是RGB888,16位就是RGB565,刷新方式就是一个VSYNC一个HSYNC一个是一帧,一个是一行。 F429分一个背景层,2个用户图层,配置相应的参数即可显示,若果显示不全调整参数即可。 但是光设置LTDC是点不亮开发板的屏幕的,原因是STM32F429I-Disc1开发板上LCD带有驱动IC-ILI9341,所以要用SPI给它下一些初始化的命令,就可以点亮了,这个具体可以参考官方出厂的例程。 我也不明白,为什么这个屏不能单独用RGB的方式驱动,用了RGB的方式还是要去初始化驱动IC才行。 最后用ST自带的工具生成一张image.h用DMA2D显示到屏幕上,测试OK。 暂时不试STemWim的图形库了,接下来搞一下摄像头驱动OV7640,然后搞下网络协议,CAN协议就先不看了,然后就要研究DSP的使用了。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1874 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1658 浏览 1 评论
1143 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
759 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1720 浏览 2 评论
1963浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
789浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
611浏览 3评论
628浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
590浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 13:15 , Processed in 0.822559 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号