STM32F429i-DISCO 液晶模块 

HSD-8189J-E8


STM32F429ZIT6 芯片手册 datasheet: 

https://my.st.com/content/my_st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f4-series/stm32f429-439/stm32f429zi.html 

参考手册: 

RM0090 

Reference manual 

STM32F405/415, STM32F407/417, STM32F427/437 and 

STM32F429/439 advanced Arm®-based 32-bit MCUs 

https://www.st.com/content/ccc/resource/technical/document/reference_manual/3d/6d/5a/66/b4/99/40/d4/DM00031020.pdf/files/DM00031020.pdf/jcr:content/translations/en.DM00031020.pdf


ILI9341 — LCD 驱动官网 

http://www.ilitek.com/index.aspx?lang=CN 

LCD-TFT controller (LTDC) characteristics


这里写图片描述

这里写图片描述 

这里写图片描述

这里写图片描述 

上图的板子丝印标记错误,应该是R35 与R36 交换一下。


这里写图片描述

这里写图片描述

SF-TC240T-9370-T


STMPE811QTR


你的屏是24位(RGB)40个引脚,STM32F429 DSICOVERY 的屏SF-TC240T-9370A-T是18位48引脚,好像不能直接接,我今天也在找4.3"18位48引脚的屏,没找到。


SF-TC240T-9370A-T_规格书_IC-ILI9341.pdf 


这里写图片描述

这里写图片描述

这里写图片描述

3 液晶显示

  ******************************************************************************

  * @file    stm32f429i_discovery_lcd.c

  * @author  MCD Application Team

  * @version V1.0.1

  * @date    28-October-2013

  * @brief   This file includes the LCD driver for ILI9341 Liquid Crystal 

  *          Display Modules of STM32F429I-DISCO kit (MB1075).

  ******************************************************************************


开发板基于STM32F429ZIT6设计 

144引脚,LQFP封装


这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述 

板子上面没有焊接连接到一块


这里写图片描述

这里写图片描述

这里写图片描述

4 ILI9341管脚作用

 

这里写图片描述 
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

5 STM32F10x的LCD(ILI9320)显示 

https://blog.csdn.net/gaojinshan/article/details/11737741


我们采用LCD模块为显尚光电的DST2001PH TFTLCD,它的控制器为ILI9320, 

它采用26万色的TFT屏,分辨率为320×240,采用16位的80并口与外部连接。 

该模块的80并口有如下一些信号线: 

CS/PC9:TFTLCD片选信号。 片选拉低时,表示选中。 

RS/PC8:命令/数据标志(0,读写命令;1,读写数据)。 

WR/PC7:向 TFTLCD写入数据。在WR的上升沿,使数据写入到LCD芯片里; 

RD/PC6:从 TFTLCD读取数据。 在RD的上升沿,使数据锁存到数据线上; 

D[15:0]:16位双向数据线。 

RST:硬复位TFTLCD。 

RST信号线,是直接接到 STM32的复位脚上,并不由软件控制,这样可以省下来一个IO端口。 

另外,还需要一个背光控制线来制TFTLCD的背光。所以,总共需要的IO口数目为21个。 

控制器自带显存,其显存总大小为172820(240*320*18/8),即18位模式(26万色)下的显存量。


2、TFTLCD的操作分为两种:


A、对控制寄存器的读写操作(即程序员将要操作LCD显存寄存器的地址设置成可读或者可写)。


B、对显存寄存器的读写操作(即读写LCD显存寄存器)。


3、TFTLCD有一个索引寄存器,对控制寄存器操作前,需要对索引寄存器进行定入操作,用以指明


寄存器读写是针对那个寄存器的,具体操作步骤如下:


RS为低电平状态下,写入两个字节的数据,第一个字节为零,第二个字节为寄存器索引值。


RS为高电平状态下,读取两个字节数据,第一个字节为高八位,第二个字节为低八位


这里写图片描述

先搞得是LCD驱动,F429提供了LTDC接口,就是可以直接可以用RGB的方式驱动屏幕,而用RGB方式就需要有比较大的RAM,但一般MCU的板载RAM都是很小的,都是通过外接SDRAM的方式来进行的,而SDRAM就是跟电脑外接DDR内存的原理是一样的。F429板载了一颗8Mbyte的SDRAM。


stm32f429及stm32f439已经带有LTDC控制器,意味着可以输出RGB888及RGB565的图像信号,这与以往的单片机CPU8080接口LCD有很大不同,也是入手STM32F429-DISCO的原因,价格不贵,mouser上不含税150,淘宝180,非常适合学习。


STM32F429与之前的系列强大之处就在于增加了LTDC个功能,从手册上看STM32F429的LTDC可以用于驱动1024x768分辨率的LCD屏幕。


LTDC其实就是TFT LCD控制器的意思,在arm9/arm11/cortex-A系列CPU当中,这个是必须有的外设,在小型单片机中,有这个功能的不多。


LCD控制器的功能就是生成LCD像素时钟,将GRAM中的数据搬运到LCD屏幕上去显示。


在一般的小型LCD模块一般都集成了一个LCD控制器,如常用的ili9320/ili9325等型号,这些LCD模块同时还集成了几百KB大小的RAM,用于显示;


这种方案,不需要占用单片机的RAM就可以稳定地驱动LCD显示图像,一般地MCU先通过8080接口或SPI向控制器发送命令,配置LCD参数,


然后向集成的RAM中写入数据就可以显示,是低成本项目的首选方案。


而STM32F429自带的LTDC也是LCD控制器,与ili9320相比,支持的分辨率更高,功能更多,但是LTDC只负责产生LCD需要的时序,并没有集成RAM,


如640x480x16bpp的屏幕,需要600KB的RAM,在单片机中600KB的内存,已经是天文数字了,所以需要外扩一片SDRAM来充当GRAM。


Library 08- ILI9341 LCD for STM32F4

http://stm32f4-discovery.net/2014/04/library-08-ili9341-lcd-on-stm32f429-discovery-board/ 

https://github.com/MaJerle/stm32f429#


On STM32F429 Discovery board there is LCD with ILI9341 controller. It has 240 x 320 pixels resolution and 16bit or 18bit color depth, what gives you 65536 or 262144 different colors.


什么是 RGB接口

嵌入式开发板的LCD接口有多种,分类很细。主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式、RGB模式、SPI模式、VSYNC模式、MDDI模式、DSI模式和MCU模式。只有TFT模块才有RGB接口。 

但应用比较多的就是MUC模式和RGB模式,区别有以下几点:


1.MCU接口:会解码命令,由timing generator产生时序信号,驱动COM和SEG驱器。 

RGB接口:在写LCD register setting时,和MCU接口没有区别。区别只在于图像的写入方式。


2.用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。 

用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,RESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形.


3.MCU接口和RGB接口主要的区别是: 

MCU接口方式:显示数据写入DDRAM,常用于静止图片显示。 

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。


所以天嵌科技的板子基本上使用的是RGB接口方式,用排线的方式进行连接,如:


大屏采用较多的模式,数据位传输也有6位,16位和18位,24位之分。连线一般有:VSYNC,HSYNC,DOTCLK,CS,RESET,有的也需要RS,剩下就是数据线。它的优缺点正好和MCU模式相反。


MCU-LCD屏它与RGB-LCD屏主要区别在于显存的位置。RGB-LCD的显存是由系统内存充当的,因此其大小只受限于系统内存的大小,这样RGB-LCD可以做出较大尺寸,象现在4.3"只能算入门级,而MID中7",10"的屏都开始大量使用。而MCU-LCD的设计之初只要考虑单片机的内存较小,因此都是把显存内置在LCD模块内部.然后软件通过专门显示命令来更新显存,因此MCU屏往往不能做得很大。同时显示更新速度也比RGB-LCD慢。显示数据传输模式也有差别。RGB屏只需显存组织好数据。启动显示后,LCD-DMA会自动把显存中的数据通过RGB接口送到LCM。而MCU屏则需要发送画点的命令来修改MCU内部的RAM(即不能直接写MCU屏的RAM)。所以RGB显示速度明显比MCU快,而且播放视频方面,MCU-LCD也比较慢。


对于RGB接口的LCM,主机输出的直接是每个象素的RGB数据,不需要进行变换(GAMMA校正等除外),对于这种接口,需要在主机部分有个LCD控制器,以产生RGB数据和点、行、帧同步信号。


3.MPU接口方式:显示数据写入DDRAM,常用于静止图片显示。


RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。


MCU接口和RGB接口主要的区别是:


MCU接口方式:显示数据写入DDRAM,常用于静止图片显示。


RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。


基于STM32F429的RGB屏使用

https://blog.csdn.net/hducollins/article/details/78471539


使用ST的HAL库进行开发,RGB屏幕是480*272的4.3寸LCD,由于驱动RGB屏幕需要较多的内存,


所以使用了外部SDRAM,内存是32M字节,关于SDRAM的驱动本文不进行讨论。


RGB屏幕常用的像素格式有:ARGB8888、RGB888、RGB565、ARGB1555、ARGB4444等格式,本文讨论RGB565格式的使用。


RGBLCD的信号线如下表: 



上表共有24根颜色信号线,RGB565格式只用了其中的16根颜色信号线,分别是:R[3:7],G[2:7],B[3:7],共16位,


这样在表示颜色的时候就可以用16位长度的数据进行表示了,增加了数据的传输速度。


RGBLCD接口的原理图如下: 

除了16位数据线之外,还有用到如下几个信号线:


LCD_BL:背光;


LCD_DE:数据使能信号;


LCD_VSYNC:垂直同步信号;


LCD_HSYNC:水平同步信号;


LCD_CLK:时钟信号;


STM32F429有自带的RGBLCD外设接口LTDC,可以用来直接驱动RGBLCD,另外配上专用于图像处理的DMA2D,


使得RGBLCD用起来更加方便快速。


下面开始介绍使用到的单片机引脚对应:


PI9     ------> LTDC_VSYNC

PI10     ------> LTDC_HSYNC

PF10     ------> LTDC_DE

PG7     ------> LTDC_CLK

PH9     ------> LTDC_R3

PH10     ------> LTDC_R4

PH11     ------> LTDC_R5

PH12     ------> LTDC_R6

PG6     ------> LTDC_R7

PH13     ------> LTDC_G2

PH14     ------> LTDC_G3

PH15     ------> LTDC_G4

PI0     ------> LTDC_G5

PI1     ------> LTDC_G6

PI2     ------> LTDC_G7

PG11  ------> LTDC_B3

PI4     ------> LTDC_B4

PI5     ------> LTDC_B5

PI6     ------> LTDC_B6

PI7     ------> LTDC_B7 


通过配置STM32CubeMx直接生成的LTDC部分初始化代码如下:


用FSMC刷屏很慢 

F429自带LCD控制器,内部的那个ART其实应该说是一个比较简单的DMA传输方式了~ 

我用过F429驱动800*480的TFT,速度还是比较快的~


如果刷屏要求不高,可以使用FSMC总线,要求高的话,还是使用LCD控制器比较好 

我今天看了下资料。虽然我的MCU不带LCD控制器。但是我买的TFT却使用了TFT控制器,而且是RA8875,支持800*480点的。MCU的FSMC直接连接的MCU内部AHB总线,想来速度应该是够了。但是不知道会遇到什么怪异的问题,想先这么做着吧,或者换个主频更高点的M4试试


使用RA8875然后用总线,也不错,我这里有块开发板是STM32F407的,就是使用的RA8875,刷屏效果杠杠的。


也就是说用STM32F429,可以省掉RA8875或SSD1963.


说的直白一些就是,显示的时候有两个图层,一个图层在前端显示,一个图层在后端绘画,等后面的画好了,切换到前面显示,刚刚在前端的放到后端再做更改,来回切换显示,不知道这么说通俗不


FSMC 驱动TFT 需要TFT带有控制器,F429可以直接驱动(F429内部带有TFT控制器) 

想用FSMC驱动800*480 TFT 是可以的,选一个带TFT控制器的TFT即可,或者CPLD做的TFT模组


本来差不多已经选定429了,结果采购说很难买,而且价格奇高,>100块,所以放弃了,现在准备用LPC1788了。但是看到1788的开发板驱动液晶时都加入了74hc245,难道1788的驱动能力不够?不加245可以不?


现在已经选用LPC1788了,驱动基本完成


(稍后补充)


关键字:STM32F429i  DISCO  液晶模块 引用地址:STM32F429i-DISCO 液晶模块

上一篇:STM32F429 >> 22. FMC_扩展外部SDRAM(二)
下一篇:stm32f429的u-boot、uclinux内核烧写说明

推荐阅读

随着近年来市场需求的不断上升和科技的迅猛发展,智能网联汽车已经进入新一轮快速发展轨道。预计到2020年,车联网市场规模将达到338.2亿美元(约2200亿元人民币),而到2023年,市场渗透率预计将达到67%, 中国将成为全球最大的车联网前装市场。我国汽车电子市场具有广阔的发展前景,据市场调研,2020年我国车联网用户数将超过4000万,渗透率超过20%,市...
Wi-Fi 6也被称作802.11ax,这种路由器能让Wi-Fi的速度更快,连接性能更好。听起来还很不错对吧。因此我们也在商店里看到了Wi-Fi 6路由器在出售。这些新路由器似乎很好用,那么我们是否应该买一个呢? 首先,Wi-Fi 6的平均价格在100美元到150美元之间,比之前的Wi-Fi 5(802.11ac)还贵。我们愿意为此支付这个昂贵的价格,原因不外乎:希望它能...
近日,为了进一步改善产品生产品质并保持稳定的市场供应,ROHM集团正在开发一条自动化、高灵活性的生产线。在该生产线上不仅可以进行多种半导体封装,还能利用机器人来自动更换模具和工夹具,还可以在尺寸、形状、引脚不同的半导体封装之间轻松切换。虽然ROHM早已实现了在同一生产线上进行多种封装生产,但是之前的生产设备需要手动更换材料、夹具等,切换...
导读:欧洲电池制造商InoBat公司宣布与美国电池材料供应商Group14 Technologies公司进行合作,将使用Group14的专利硅基负极材料为汽车生产高能量密度的电池。InoBat公司表示,高能量密度电池市场需求飙升,相比传统锂离子电池,硅基负极材料的单位体积能量密度更高。Group14表示,能源部已经认可其“新颖的、可投入使用的纳米材料和可靠的工业规模工艺”...

史海拾趣

问答坊 | AI 解惑

2008年新出版的<嵌入式硬件>,抢先分享

刚从国外拿到的.供大家分享!!!!…

查看全部问答∨

PADS2007有中文版的吗

那位大哥能告诉我PADS2007有中文版的吗,那里有中文版的下载?…

查看全部问答∨

关于单片发at指令

请教各位高手,单片机是如何向gprs模块发送at指令的,我如何调试呢?…

查看全部问答∨

造型请教:有没有可以查询FPGA/CPLD芯片的价格查询网址?

现在在选型FPGA,要用到161个IO,编数组功能单元。 公司没有BGA焊接设备,只能焊引脚能看到的封装 打算用Virtex的,两个TQ144封装的(IO=2*98),或者一个PQ240的(IO=166) 不知道这几种贵不贵,考虑成本,想用几百元的! …

查看全部问答∨

我做的触摸屏显示的坐标总是4095,应该触摸不同的位置变化的,为什么?

我做的触摸屏显示的坐标总是4095,应该触摸不同的位置变化的,为什么?…

查看全部问答∨

搞嵌入式需要哪些基础知识,请指教!!

小弟是计算机网络工程专业学生,和一个团队做了一年的单片机项目(主要是用凌阳61开发物品管理器),一年做下来发现有很多时候需要扎实的电路知识,而我对电路方面不太感兴趣也没什么基础,感觉现在基本上只能做单纯的软件开发(在项目里写了简单文件系统, ...…

查看全部问答∨

RTC时钟问题

                                 手里有一块板子,用以前写好的程序(RTC做万年历),在其他板子(开发板、自己设计的电路板)上,时钟都能正常使用 ...…

查看全部问答∨

有没有人玩辉光电子钟吗,来吧,上资料

有没有人玩辉光电子钟吗,来吧,上资料  …

查看全部问答∨

请教关于msp430f149的io中断

请教各位 想用msp430f149的io中断 硬件上是这样的 用非自锁开关 即按下去又弹起的开关两端分别接有中断功能的P1或P2口、GND;将IO初始化为高电平,按下开关,IO会有一个高电平到低电平的过程,形成下降沿,利用下降沿中断,进行开关的触发。初始化 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved