一、TFT-LCD 屏接口

1.1指路

以下是该部分的设计出来后的实物图,我觉得看到实物图可能更方便理解这部分的设计。

图1 实物图
  1. 这部分设计的是一个屏幕的接口,很简单。
  2. 使用的屏幕是:2.8inch 16BIT Module MRB2801。

1.2数据手册

(1)产品概述

该产品为一款 2.8 寸 TFT LCD 模块,其拥有 320x240 分辨率,支持 16BIT RGB 65K 色显示,内部驱动 IC 为 ILI9341。其硬件支持 8 位和 16 位并口数据总线模式切换,默认使 用 16 位并口数据总线模式。该模块包含有 LCD 显示屏电阻触摸屏SD 卡插槽以及 PCB 底板等部件,可以直插到 STM32 系列开发板上使用,还支持 SD 卡扩展功能

(2)接口说明

图2 接口说明图

该模块硬件支持8位和16位并口数据总线模式切换(如上面图中红框所示),具体说明如下

  1. 将 R5 焊接 0 欧电阻或者直接短接,并将 R4 断开:选择16位数据总线模式(默认), 使用DB0~DB15数据引脚。
  2. 将 R4 焊接 0 欧电阻或者直接短接,并将 R5 断开:选择8位数据总线模式,使用DB8~DB15数据引脚。

(3)重要说明

  1. 以下引脚序号 1~34 是指带 PCB 底板的模块排针引脚编号,如果您的是裸屏,请参考裸屏规格书的引脚定义,按照信号类型来参考接线而不是直接根据下面的模块引脚编号来接线,举例:CS 在模块上是 1 脚,可能在不同尺寸裸屏上是 x 脚。
  2. 关于 VCC 供电电压:如果您的是带 PCB 底板模块,VCC/VDD 供电可接 5V 或 3.3V(模块已集成超低压差 5V 转 3V 电路),但是建议接 3.3V,因为接5V会导致电路发热量增加,影响模块使用寿命;如果您的是液晶屏裸屏,切记只能接 3.3V。
  3. 关于背光电压:带 PCB 底板的模块均已集成三极管背光控制电路,只需 BL 引脚输入高电平或者 PWM 波则背光点亮。如果您购买的是裸屏,则 LEDAx 接 3.0V-3.3V,LEDKx 接地即可。

(4)引脚说明

是数据手册和自己设计电路的综合版本,不是单纯复制数据手册得来的。

表1
序号模块引脚引脚说明
1LCD_CS

液晶屏片选控制引脚(低电平使能)

2LCD_RS液晶屏寄存器/数据选择控制引脚(低电平:寄存器,高电平:数据)
3LCD_WR液晶屏写控制引脚
4LCD_RD液晶屏读控制引脚
5LCD_RST液晶屏复位控制引脚(低电平复位)
6DB0液晶屏数据总线低8位引脚(如果选择8位式,低8位数据引脚没有使用)
7DB1
8DB2
9DB3
10DB4
11DB5
12DB6
13DB7
14DB8液晶屏数据总线高8位引脚
15DB9
16DB10
17DB11
18DB12
19DB13
20DB14
21DB15
22GND模块电源地引脚
原本该引脚为 SDCS:SD卡片选控制引脚(使用SD卡扩展功能时用到,本测试程序未用到)
23LCD_BL

液晶屏背光控制引脚(高电平点亮)

24VDD模块电源正极引脚(模块已集成稳压IC,所以电源可接5V也可以接3.3V)
25VDD
26GND模块电源地引脚
27GND
28NC无定义,保留
29TP_MISO触摸屏 SPI 总线数据输入引脚
30TP_MOSI触摸屏 SPI 总线数据输出引脚
31TP_NIRQ触摸屏中断检测引脚(发生触摸时为低电平)
32NC无定义,保留
原本是F_CS:Flash 片选控制引脚(使用Flash扩展功能时用到,本测试程序未用到)
33TP_CS触摸屏IC片选控制引脚(低电平使能)
34TP_CLK

触摸屏SPI总线时钟控制引脚

该 LCD 模块硬件电路包含五大部分:LCD 显示控制电路(黄色)、电阻触摸屏采样电路(绿色)、SD 卡接口电路、数据总线模式切换电路(上面有图)以及背光控制电路。

  1. LCD 显示控制电路用于控制 LCD 的引脚,包括控制引脚和数据传输引脚。
  2. 电阻触摸屏采样电路用于检测触摸事件、将触摸数据进行 AD 转换、发送触摸坐标值。
  3. SD 卡接口电路用于 SD 卡功能扩展,控制 SD 卡的识别,读取及写入。
  4. 数据总线模式切换电路用于切换 8 位或者16 位并口数据总线模式切换。
  5. 背光控制电路用于控制背光亮度和供电电源选择。

1.3说明

1.3.1为什么有这部分和接下来的智能串口屏?

  1. UI(用户界面)是用户与设备或软件交互的界面。它包括所有用户看到并与之互动的元素,例如按钮、菜单、图标、文字、图形、输入框等。
  2. TFT-LCD 屏幕只是一个显示器件,提供基本的显示功能。使用TFT-LCD屏幕时,需要通过编写代码来驱动屏幕,绘制所有的图形和 UI 元素,处理触摸输入等。这部分为需要的用户提供该实战板的屏幕开发更多的可能。

  3. HMI屏幕通常提供了丰富的图形界面和交互功能,开发者可以通过简单的配置或脚本来实现复杂的界面交互,而不需要深入编程。生产厂家会提供上位机、软件服务,直接烧录到单片机里面,通过串口控制画面。这部分为需要的用户直接使用。

图3 实物图

1.3.2本项目 TFT-LCD 屏及其接口类型及其特点

表2
LCD 显示屏电阻触摸屏
通信并行接口 8080串行接口 SPI
引脚

上表中黄、紫、蓝色

下图中1,2,3,4

上表中绿色

下图中5,6

功能负责接收来自微控制器或处理器的数据,并将这些数据转换为显示在屏幕上的图像。对于高分辨率或复杂图形显示,通常需要较高的数据传输速率和宽的并行总线(如8080接口)负责检测触摸屏上的触摸事件,并将触摸位置传输给微控制器。触摸屏数据传输速率通常较低,SPI等串行接口即可满足需求,同时减少引脚占用。
图4 接线图

SPI 通信参见之前学习通信时的笔记,有以下两点需要说明:

1、NIRQ 引脚

上图中的 NIRQ 引脚是“是“Negative Interrupt Request”的缩写,意指“低电平有效中断请求”,通常是为了提供中断功能。

使用场景

  1. 触摸屏事件:当用户触摸屏幕时,触摸控制器通过NIRQ引脚向主控系统发出中断请求,通知处理触摸事件。
  2. 数据传输完成:在数据传输过程中,当传输完成时,外设通过NIRQ引脚通知主控系统可以进行下一步操作。
  3. 错误或警告:当外设检测到错误或需要主控系统注意的情况时,NIRQ引脚可以拉低触发中断,提醒主控系统进行相应处理。

2、 8080 接口通信:

8080接口是一种并行通信接口,需要更多的信号线,连接复杂度较高,故高速数据传输能力比串行接口速度更快,常用于液晶屏和微控制器之间的数据传输,信号线见上表2概括,其中:

液晶屏寄存器/数据选择控制引脚(低电平:寄存器,高电平:数据)(通常简称为RS或D/C引脚)用于区分发送到液晶屏的数据是命令(寄存器地址)还是显示数据,这个引脚通过控制其电平状态来实现这一功能:

  • 低电平 (0):表示当前发送的是命令(寄存器地址)。
  • 高电平 (1):表示当前发送的是显示数据。

二、智能串口屏接口

2.1智能串口屏介绍

智能串口屏是一种带有嵌入式微处理器和显示控制功能的显示屏,通过串口(通常是UART)与主控设备(如单片机)进行通信。

厂家通常会提供一个专用的软件工具(上位机软件),用于设计和调试智能串口屏的图形用户界面(GUI,Graphical User Interface)。这些工具可以用来创建按钮、文本框、图表等UI元素,并定义它们的行为。设计好的GUI会被烧录到智能串口屏的内存中,运行时不依赖外部设备的图形处理能力,直接通过串口控制屏幕的显示内容。

智能串口屏通常需要5V电源供电,提供稳定的工作电压。

2.2接口介绍

2.2.1插座口和排针口

电路设计中包含插座口和排针口,用于方便连接和扩展。插座口(通常是标准的连接器)和排针口(通常是用于跳线的引脚排)可以方便地连接到主控设备或其他外设。

排针
插座

2.2.2引脚

(1)引脚介绍

两者均有4个引脚,除去 5V 和 GND 之外,还有:

TX(Transmit):

  • 功能:串口通信中的发送端,智能串口屏通过这个引脚向单片机发送数据。
  • 连接:通过一个100欧姆的电阻连接到单片机的PA10引脚。电阻用于保护电路和稳定信号。

RX(Receive):

  • 功能:串口通信中的接收端,智能串口屏通过这个引脚从单片机接收数据。
  • 连接:通过一个100欧姆的电阻连接到单片机的PA9引脚。电阻用于保护电路和稳定信号。

2.3原理图

(1)为什么通过 100Ω 的电阻?

在串口通信中使用的电阻(如上面提到的 100Ω 电阻)主要是为了保护芯片引脚和稳定信号。这类电阻通常不会直接通过精确的计算得出,而是基于经验和工程实践中的考虑。以下是选用电阻值的一些常见考虑因素:

  1. 阻抗匹配和信号完整性
    较小的电阻(如100Ω )用于串口通信线路时,可以帮助匹配线路的特性阻抗,减少信号反射和波形失真,保证信号完整性。如果使用过大的电阻(如10k 欧姆),可能会导致信号衰减过大,影响信号传输。

  2. 保护作用
    较小的电阻值可以在不显著影响信号强度的情况下限制电流,保护单片机和串口屏的引脚不受静电放电(ESD)或其他瞬态电压的损害。过大的电阻值可能无法有效限制瞬态电压,保护效果不佳。

  3. 功率消耗和速度
    较大的电阻会引起较大的 RC 时间常数,可能导致信号上升和下降时间变慢,影响通信速度。适中的电阻(如100Ω )在兼顾保护和信号完整性的同时,能够保证高速信号传输。

(2)电阻数值选择

对于大多数高速通信,10Ω 可能太小,无法显著限制电流和保护引脚。
1kΩ 到10kΩ 太大,可能导致信号衰减过大,影响通信质量。
100Ω 通常是一个折中的选择,能够有效保护引脚,维持信号完整性,同时不会明显影响通信速度。

在实际设计中,工程师会根据以下因素调整电阻值:

  • 数据速率:较高的数据速率需要较小的电阻,以保持信号完整性。
  • PCB布线:考虑布线长度和布局对信号的影响。
  • 保护需求:根据电路对抗静电放电(ESD)和瞬态电压的需求。

三、OLED 屏接口

3.1为什么有 OLED 屏接口?

以上的屏幕供需要显示信息较多的大项目使用,OLED 屏较小,供小项目使用。

OLED屏实物图

3.2原理图

OLED 屏幕小采用 3.3V 供电,使用的是 IIC 通信(回去看 IIC 笔记),IIC 通信有两根数据线:时钟线和数据线。

注意需要接上拉电阻,IIC 的上拉电阻值一般为2.2K、4.7K、10K等,此处就一个小显示屏,电阻可以大一点,(如果该 IIC 上挂载了很多设备,电阻可以小一点。),为 10K 。

上拉电阻的阻值牵涉到两个矛盾的问题

  1. 速度。总线拉高电平有充电时间(上拉电阻与总线的电容形成了RC)以及高电平的阀值,想尽量提高速度,就要降低电阻值。如果还没有充电到足以保证从器件可以识别的高电平的阀值时主器件就以为完成了一个总线动作的话,那么通讯肯定是不能进行的!
  2. 功耗。如果想尽可能降低功耗,那么就要尽可能增大电阻以最大可能的减小电路各部分的消耗电流从而实现整体降低功耗!但不可能无限大,否则充电时间太长。

上拉电阻的值在搜索阻值的过程发现要么众口难调,要么非常复杂的计算公式,还是那句话要实实在在的调试电路才知道什么样的阻值最佳,速率最快,功耗最小。

四、六位数码管驱动电路

小项目使用,可以显示时钟、温湿度。

4.1指路

4.1.1六位数码管

六位数码管延续使用 FJ3661BH ,如下图。

六位数码管实物图
六位数码管原理图与PCB图

  1. A, B, C, D, E, F, G, DP 表示数码管的各个片段。
    每个数码管的显示屏通常由7个片段构成,加上小数点(DP),共计8个段。
  2. DIG1, DIG2, DIG3, DIG4, DIG5, DIG6 分别是6个数码管的驱动引脚。
  3. 将要显示的内容依次发送给每个数码管,并且迅速地在不同的数码管之间进行切换。这样做的速度足够快,以至于人眼会感觉到所有的数码管都在同时显示。

4.1.2数码管驱动芯片

六位数码管驱动芯片延续使用 TM1620 ,如下图。

TM1620实物图
TM1620管原理图与PCB图

4.2驱动芯片数据手册

4.2.1概述

TM1620 是一种 LED(发光二极管显示器)驱动控制专用 IC , 内部集成有 MCU 数字接口、数据锁存器、LED 驱动等电路。产品质量可靠、稳定性好、抗干扰能力强。主要适用于家电设备(智能热 水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、智能电表等数码管或 LED 显示设备。

4.2.2特性说明

  • 采用 CMOS 工艺
  • 显示模式(8 段 × 6 位~10 段 × 4 位)
  • 辉度调节电路(8 级占空比可调)
  • 串行接口(CLK,STB,DIN)
  • 振荡方式:内置RC振荡
  • 内置上电复位电路
  • 内置数据锁存电路
  • 内置针对 LED 反偏漏电导致暗亮问题优化电路
  • 抗干扰能力强
  • 封装形式:SOP20

4.2.3管脚定义

符号管脚名称管脚号说明
DIN数据输入18在时钟上升沿输入串行数据,从低位开始。
CLK时钟输入19在上升沿读取串行数据,下降沿输出数据。
STB片选输入20在下降沿初始化串行接口,随后等待接收指令。STB为低后的第一个字节作为指令,当处理指令时,当前其它处理被终止。当STB为高时,CLK 被忽略。
SGE1~SEG8输出(段)2~9段输出,P管开漏输出
GRID1~GRID4输出(位)

16~17

13~14

位输出,N管开漏输出
SEG13/DRID6 ~ SEG14/GRID5输出(段/位)10~11段/位复用输出,只能选段或位输出
VDD逻辑电源1接电源正
GND逻辑地12、15接系统地

4.2.4接线图参考

注意:

  1. VDD、GND 之间滤波电容在 PCB 板布线应尽量靠近 TM1620 芯片放置,加强滤波效果。
  2. 连接在 DIN、CLK、STB 通讯口上下拉三个 100pF 电容可以降低对通讯口的干扰。
  3. 因蓝光数码管的导通压降压约为 3V ,因此 TM1620 供电应选用 5V 。

4.3走路

4.3.1原理图v1.0

5V供电、10K 的电阻和 100pF 的电容是参考数据手册。

4.3.2原理图2.0

改进的地方:TM1602 芯片 5V 供电处添加 RVT1A101M0505 铝电解电容进行电源滤波。

与老师不同的地方:老师采用 3.3V 供电,我根据数据手册采用 5V 供电。

3.3.3小总结

(1)IIC 通信线和上面的通信线上都并联 10K 的大电阻。

  • 因为不用时需要高电平悬浮
  • 又由于通信线上设备很少,不需要大电流,电阻可以大一点。

(2)串口通信在通信线串联 100Ω 的小电阻。理由见上面。

五、LED 

IO 口最大提供 20mA 电流,可以直接驱动 LED 灯。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部