0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32入门学习笔记之TFTLCD显示实验1

jf_78858299 来源:滑小稽笔记 作者:电子技术园地 2023-02-16 11:05 次阅读

10.1 概述

之前在51为核心的系统里面,常用的显示器件有LED数码管,LCD1602和LCD12864,这些器件都有一个共同的特点,那就是只有一个颜色,没有办法显示彩色图片,为了显示彩色图片,我们引入了TFT显示模组。TFT-LCD即薄膜晶体管液晶显示器。其英文全称为:ThinFilmTransistor-Liquid Crystal Display。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD也被叫做真彩液晶显示器。

目前常用的TFT显示模组按照接口类型可以分为MCU屏幕与RGB屏幕,其中MCU在STM32F1系列中比较常用,原因是MCU屏幕内部集成了显示控制器,只需要按照手册指定的协议将输入发送过去即可,但是MCU屏幕受限于屏幕尺寸,一般不会超过4.3英寸,RGB屏幕内部没有控制器,需要单片机或者CPU自带控制器,但是RGB屏幕尺寸较大,且刷新速度快,通用性强,在生活中使用的更广泛,由于STM32F1单片机中没有RGB控制器(LTDC模块),所以采用核心为5510的TFT屏幕来进行TFT显示实验。

:我们在网上看到的大尺寸MCU屏幕一般都是以屏幕+PCB的形式,这是因为板子上携带了8080并口转RGB芯片,所以这种情况下,也可以使用MCU屏幕的驱动方式来进行驱动。

10.2 TFTLCD模块原理图

10.2.1 原理图

图片

RST:复位端口,高电平有效

CS:片选,低电平有效

RS:数据命令选择,低电平代表命令,高电平代表数据

WR:写控制,高电平有效

RD:读控制,高电平有效

DB0~DB15:16位并行数据口

VCC:电源正极

GND:电源负极

LEDK:背光LED负极

LEDA:背光LED正极

Y-:触摸屏Y轴数据

X-:触摸屏X轴数据

Y+:触摸屏Y轴数据

X+:触摸屏X轴数据

10.3 FSMC

10.3.1 FSMC简介

FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和16位PC存储器卡连接,STM32F1的FSMC接口支持包括SRAM、NANDFLASH、NOR FLASH和PSRAM等存储器。一般大容量,且引脚数目在100脚及以上的 STM32F103芯片都带有FSMC接口,FSMC的框图如图所示。

图片

从上图可知,STM32的FSMC将设备分为3种:NOR/PSRAM设备,NAND设备和PC设备,共用地址数据总线等信号,通过CS端口来区分不同的设备,比如我们这个实验中LCD的片选就是接在FSMC_NE4端口上,其实本质上就是把TFTLCD作为SRAM来控制。

   外部SRAM设备的连接一般有地址线(A0~A18),数据线(D0~D15),写信号(WR),读信号(RD)和片选,TFTLCD显然除了不具备地址线,其他的信号都是具备的,所以我们可以采用SRAM的方式来进行TFT的控制,这种控制方式的好处就是对比传统的GPIO翻转可以更快的将数据送入TFT。

   STM32F1的FSMC支持8/16/32位数据宽度,我们的TFT模块采用的是16位数据宽度,所以只需要将FSMC配置为外置16位宽度即可。FSMC的外部存储器划分为了固定的4256 M的存储块,如下图所示。

图片

我们在驱动TFTLCD的时候,用到的存储块是块1,STM32将FSMC的存储块1分为4个区,每个区管理64M的空间,每个区都有独立的寄存器对连接的存储器进行配置,BANK1的256M空间由28根地址线寻址,这28根地址线如下表所示,其中低26个位来自外部存储器的地址,我们可以将TFTLCD的片选接在低26位上,通过发送地址来选中片选,只有高2位才是内部可以控制的。
BANK1区域 片选 地址范围 地址线
[27:26] [25:0]
区域1 NE1 0x60000000 ~ 0x63FFFFFF 00
区域2 NE2 0x64000000 ~ 0x67FFFFFF 01
区域3 NE3 0x68000000 ~ 0x6BFFFFFF 10
区域4 NE4 0x6C000000 ~ 0x6FFFFFFF 11

注:

当Bank1接的是16位宽度存储器的时候:地址线的[25:1]对应FSMC_A[24:0]

当Bank1接的是8位宽度存储器的时候:地址线的[25:0]对应FSMC_A[25:0]

对于NOR FLASH控制器,主要通过3个寄存器来设置FSMC的时序参数NORFLASH控制器支持同步和异步突发两种访问方式。

   选用同步突发访问方式时,FSMC将系统时钟分频后,发送给外部存储器作为同步时钟信号 FSMC_CLK。此时需要的设置的时间参数有2个,即系统时钟HCLKFSMC_CLK的分频系数(可以2~16分频),同步突发访问中获取第一个数据所需要的等待延迟。

   选用异步突发访问方式时,则需要设置3个时间参数:地址建立时间、数据建立时间和地址保持时间。FSMC综合了SRAM/ROMPSRAMNOR Flash产品的信号特点,定义了4种不同的异步时序模型。选用不同的时序模型时,需要设置不同的时序参数。

   在实际扩展时,根据选用存储器的特征确定时序模型,从而确定各时间参数与存储器读/写周期参数指标之间的计算关系,利用该计算关系和存储芯片数据手册中给定的参数指标,可计算出FSMC所需要的各时间参数,从而对时间参数寄存器进行合理的配置。

   我们现在使用异步模式A方式来控制LCD,模式A的读操作时序如下图所示。

图片

模式A支持独立的读写时序控制,这个对驱动TFTLCD来说非常有用,因为TFTLCD在读的时候,一般比较慢,而在写的时候可以比较快,如果读写用一样的时序,那么只能以读的时序为基准,从而导致写的速度变慢,或者在读数据的时候,重新配置FSMC的延时,在读操作完成的时候,再配置回写的时序,这样虽然也不会降低写的速度,但是频繁配置,比较麻烦。而如果有独立的读写时序控制,那么我们只要初始化的时候配置好,之后就不用再配置,既可以满足速度要求,又不需要频繁改配置。

   模式A的写操作如下图所示。

图片

10.3.2 相关寄存器

(1)SRAM/NOR 闪存片选控制寄存器:FSMC_BCRx(x=1~4)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
- CBURSTRW -
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- EXTMOD WAITEN WREN WAITCFG WRAPMOD WAITPOL BURSTEN - FACCEN MWID MTYP MUXEN MBKEN
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23277

    浏览量

    660852
  • 单片机
    +关注

    关注

    6037

    文章

    44558

    浏览量

    635245
  • 数码管
    +关注

    关注

    32

    文章

    1882

    浏览量

    91108
收藏 人收藏

    评论

    相关推荐

    stm32 mini板TFTLCD显示模块源程序

    实验器材:MiniSTM32F103开发板V3版本 实验目的:学习彩色TFTLCD显示屏的使用
    发表于 07-06 08:49

    如何使用STM32F1的FSMC接口控制TFTLCD显示

    以前我们用 51 单片机控制 TFTLCD(TFT 液晶屏)时,使用的是 IO 口模拟80 接口时序。这次我们来学习如何使用 STM32F1 的 FSMC(灵活的静态存储控制器)接口控制
    发表于 03-01 07:44

    ALIENTEK_MINISTM32_实验10_TFT_LCD显示

    ALIENTEK MINISTM32 实验10 TFTLCD显示实验,很好的资料,快来下载吧
    发表于 02-19 11:37 45次下载

    STM32各模块学习笔记

    STM32个模块学习笔记 目录 STM32笔记之一 中断优先级.......................................
    发表于 11-30 03:32 3160次阅读

    使用STM32F1实现TFTLCD显示的源代码和工程文件免费下载

    本文档的主要内容详细介绍的是使用STM32F1实现TFTLCD显示的源代码和工程文件免费下载。
    发表于 11-21 17:17 29次下载
    使用<b class='flag-5'>STM32F1</b>实现<b class='flag-5'>TFTLCD</b><b class='flag-5'>显示</b>的源代码和工程文件免费下载

    51单片机学习笔记数码管1显示数字0以及使用蜂鸣器

    51单片机学习笔记数码管1显示数字0以及使用蜂鸣器
    发表于 11-14 14:36 8次下载
    51单片机<b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b>数码管<b class='flag-5'>1</b><b class='flag-5'>显示</b>数字0以及使用蜂鸣器

    STM32学习笔记1——软硬件基础keil5编程与GPIO开发

    STM32学习笔记1——软硬件基础keil5编程与GPIO开发
    发表于 11-30 12:36 4次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>1</b>——软硬件基础<b class='flag-5'>之</b>keil5编程与GPIO开发

    STM32学习——TFTLCD原理

    STM32学习——TFTLCD原理一.TFTLCD 简介TFT-LCD 即薄膜晶体管液晶显示器(Thin Film Transistor-L
    发表于 12-05 17:21 15次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>学习</b>——<b class='flag-5'>TFTLCD</b>原理

    STM32学习笔记--------day1

    STM32学习笔记--------day1
    发表于 12-05 20:36 8次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b>--------day<b class='flag-5'>1</b>

    STM32CubeMX系列|TFTLCD显示

    TFTLCD显示1. TFTLCD显示简介2. 硬件设计3. 软件设计3.1 STM32Cube
    发表于 12-17 18:38 19次下载
    <b class='flag-5'>STM32</b>CubeMX系列|<b class='flag-5'>TFTLCD</b><b class='flag-5'>显示</b>

    UM1802_STM32CubeL1入门STM32L1系列

    UM1802_STM32CubeL1入门STM32L1系列
    发表于 11-22 08:22 1次下载
    UM1802_<b class='flag-5'>STM32CubeL1</b><b class='flag-5'>入门</b><b class='flag-5'>之</b><b class='flag-5'>STM32L1</b>系列

    STM32入门学习笔记TFTLCD显示实验2

    之前在51为核心的系统里面,常用的显示器件有LED,数码管,LCD1602和LCD12864,这些器件都有一个共同的特点,那就是只有一个颜色,没有办法显示彩色图片,为了显示彩色图片,我们引入了TFT
    的头像 发表于 02-16 11:05 759次阅读

    STM32入门学习笔记TFTLCD显示实验3

    之前在51为核心的系统里面,常用的显示器件有LED,数码管,LCD1602和LCD12864,这些器件都有一个共同的特点,那就是只有一个颜色,没有办法显示彩色图片,为了显示彩色图片,我们引入了TFT
    的头像 发表于 02-16 11:05 1467次阅读

    STM32入门学习笔记TFTLCD显示实验4

    之前在51为核心的系统里面,常用的显示器件有LED,数码管,LCD1602和LCD12864,这些器件都有一个共同的特点,那就是只有一个颜色,没有办法显示彩色图片,为了显示彩色图片,我们引入了TFT
    的头像 发表于 02-16 11:06 1023次阅读

    基于STM32单片机TFTLCD显示使用库文件设计源代码

    基于STM32单片机TFTLCD显示使用库文件设计源代码
    发表于 04-26 14:54 1次下载