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内核烧写说明

推荐阅读

伴随“万物互联时代”的到来,人工智能技术也将用以延伸人类能力,人机交互将成为新时代的常态。拥有视觉识别、和决策能力的高级智能机器人将广泛应用于安防、教育、家庭、医疗和工业等多个领域,全新的功能和体验为各个行业带来了效率提升和新的经济增长,同时激发了无限的创新机遇。那么市场需要怎样的机器人产品,机器人如何结合人工智能,新一代智能...
8月29日至31日,由国家发展改革委、科学技术部、工业和信息化部、国家互联网信息办公室、中国科学院、中国工程院和上海市人民政府共同主办的2019世界人工智能大会(WAIC)将在上海世博中心召开。届时,联合国工发组织总干事李勇,特斯拉CEO马斯克,图灵奖得主罗杰·雷迪,机器学习之父、卡内基梅隆大学计算机学院院长汤姆·米歇尔等一众大咖将云集上海,为...
ATPCS规则体现了一种模块化设计的思想,其基本内容是C模块(函数)和汇编模块(函数)相互调用的一套规则(C51中也有类似的一套规则)。我感觉比在线汇编功能强大(不用有很多忌讳),条理更清楚(很简单的几条规则)。ATPCS规则内容:1)寄存器的使用规则1、子程序之间通过寄存器r0~r3来传递参数,当参数个数多于4个时,使用堆栈来传递参数。此时r0~r3可记作A1~A4。2...
近日,韩国KNCAP公布了2021款 特斯拉Model 3 ( 参数 | 询价 ) 安全测试结果:综合分83.3分,但在自动刹车环节失利。在韩国KNCAP所设计的AEB自动紧急制动测试环节中,特斯拉Model 3分别以20km/h、25km/h和40km/h三个速度与行驶中的自行车、行人发生多次碰撞,导致该车的在行人安全与事故预防方面丢分较多,仅为三级(最高为一级)。在韩国,汽车安全测试...

史海拾趣

问答坊 | AI 解惑

室友买了个U盘不能用

本帖最后由 ddllxxrr 于 2016-1-7 17:15 编辑 rt 拆开后发现…… …

查看全部问答∨

金属和木头那个更容易遭雷击?

$(\'swf_nsr\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XODg2MjU3OTI=/v.sw ...…

查看全部问答∨

<计算机组成原理>小弟问一个DRAM存储器的问题

题目:说明1M×1位DRAM片子的刷新方法,刷新周期定为8ms。 解答:如果选择一个行地址进行刷新,刷新地址为A0——A8,因此这一行上的2048个存储元同时进行刷新,即在8ms内进行512个周期的刷新。按照这个周期数,512×2048=1048567,即对1M位的存 ...…

查看全部问答∨

菜鸟的紧急求助~~CPU的问题

        某系统8088CPU地址总线20条,数据总线8条,存储器系统由8KB的ROM(用2K*8位的2716芯片)和1KB的RAM(用1K*4位的2142芯片)组成,译码器采用74LS138。要求: 画出CPU和存储器的连接图; 确定地址范围(ROM处于低地址, ...…

查看全部问答∨

CF卡为什么这么慢才触发中断信号

读写CF卡用的是PC CARD I/O 模式。 当向CF卡写数据时,前面几个中断响应是正常的,最后一个特慢。例如要向CF卡写入11扇区(假设每块大小是4扇区) 1、HOST把Sec Cnt寄存器置11,向CF卡发C4命令,触发命令开始。 2.1、CF卡在400ns秒置BSY,最多20 ...…

查看全部问答∨

崩溃啊..为什么一加入NVIC.串口就不能工作了

以前一直回避串口中断,这次回避不了了,,找了好多例程.没有用库写的.就自己写写看,结果,一加入NVIC,debug就会在串口中断那晃悠..郁闷.. NVIC是这样写的 void NVIC_Configuration(void) {   NVIC_InitTypeDef NVIC_InitStructure; ...…

查看全部问答∨

filter_solutions 13.2.5 滤波器设计软件

本帖最后由 paulhyde 于 2014-9-15 03:09 编辑 很好用的滤波器设计软件。。。  …

查看全部问答∨

【设计工具】Xilinx SRAM 型FPGA抗辐射设计技术研究

        针对XILINX SRAM型FPGA在空间应用中的可行性,分析了Xilinx SRAM型 FPGA的结构,以及空间辐射效应对这种结构FPGA的影响,指出SRAM型的FPGA随着工艺水平的提高、器件规模的增大和核电压的降低,抗总剂量 ...…

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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