STMCU小助手
发布时间:2022-7-17 20:51
|
前言 交互式界面被越来越多地集成于多种应用中,例如医疗设备、过程控制、手机和其它手持设备。这些界面主要基于使用彩色 LCD 的图形 HMI (人机界面)。 对支持彩色的需求在全世界范围内极大增长。本应用笔记旨在讨论这一问题,它说明了怎样使用 STM32F10xxx FSMC(灵活的静态存储控制器)来驱动 TFT 彩色 LCD。本文首先说明了怎样将彩色 LCD 连接到 FSMC,然后提供了一个 TFT LCD 接口样例。! i, u6 q1 ^. h2 {1 e" s 1 STM32F10xxx 灵活的静态存储控制器 (FSMC) 概述7 t. ^: K- G) m3 x, D* j4 G STM32F10xxx 灵活的静态存储控制器(FSMC)为嵌入式外部存储控制器,可使 STM32F10xxx微控制器与多种存储器接口,包括 SRAM、 NOR Flash、 NAND Flash 及 LCD 模组。 FSMC NOR Flash/SRAM 存储区域适合 MCU 并行彩色 LCD 接口,将在本章讲述。6 b) N1 r9 J8 l+ f9 d, |: G/ ^ 1.1 FSMC NOR Flash/SRAM 存储区域说明 FSMC 提供了如下特性以控制 NOR Flash/SRAM: 7 |" i+ N5 `4 @% f& x" F0 o ● 选择将要用于映射 NOR Flash/SRAM 的存储区域:有四个独立的存储区域可用来与NOR Flash/SRAM/PSRAM 接口,使用单独的片选引脚选择每个存储区域。. w8 F Y. ~* s C; U ● 启用或禁用地址 / 数据复用特性- t8 L. r* M6 K% p ● 选择要使用的存储器类型:NOR Flash/SRAM/PSRAM ● 定义外部存储器数据总线宽度:8/16 位 ● 对于 NOR Flash 同步存储器,启用或禁用突发访问模式 ● 配置等待信号的用法:启用 / 禁用、极性设置、时序配置3 d/ }1 ]) |7 h. R( O9 X( z) A ● 启用或禁用扩展模式:此模式用于为读写操作使用不同的时序配置来访问存储器。# e- _. k q0 E/ t/ T: [ 因为 NOR Flash/PSRAM 控制器支持异步和同步存储器,所以用户应根据存储器特性,仅选择有用的参数。 FSMC 还提供了对多个参数编程,以正确与外部存储器接口的可能。取决于存储器类型,一些参数会用不到。 若使用了外部异步存储器,则用户必须根据存储器数据手册中规定的 AC 时序信息,计算并设置下列参数:% X* t8 I f0 n9 _/ p L, I ● ADDSET:地址建立时间, J+ X2 K# _9 y9 B ● ADDHOLD:地址保持时间: U) R( R2 p( D: q( U ● DATAST:数据建立时间' |, P& R; I; x* ? ● ACCMOD:访问模式* {$ K" K% H) h 此参数可让 FSMC 灵活地访问多种异步静态存储器。若存储器支持此类特性,则有四种扩展访问模式可使读存储器与写访问同时使用不同时序。0 K' F) r3 A, k% R# b5 s1 u; ~ 当启用扩展模式时,FSMC_BTR 寄存器用于读操作,FSMC_BWR 寄存器用于写操作。 当使用同步存储器时,用户必须计算并设置如下参数: ● CLKDIV:时钟分频比 ● DATLAT:数据延迟 请注意,若 NOR Flash 支持此模式,则读操作可为同步,而写操作一般为异步。 当编程同步 NOR Flash 时,该存储器会自动在同步和异步模式间切换,因此在此情况下,必须正确设置所有参数。 图 1 和图 2 显示了在典型 NOR Flash 访问期间的不同时序。" u) a1 y2 S0 L0 M# @, u. { ( h M* D7 y$ O7 B. U& z2 c
- B) M/ C2 l, d9 Z 2 TFT LCD (薄膜晶体管液晶显示器)与 FSMC 接口3 L4 R. V6 ?0 p" o# h 2.1 常用的彩色 LCD 接口5 [' Y+ x. E- u4 x8 C* A4 f4 P& ?# z 通常使用硅镶嵌玻璃 LCD 驱动器控制点阵 LCD 单元,可使用串行接口将其与微控制器接口。8 p2 D/ z4 y: S6 q/ c' i" O, @ 此类 LCD 单元有嵌入式 RAM 用于显示,不需要任何特殊的微控制器特性。 与点阵 LCD 单元不同,彩色 LCD 需要专门的控制器。0 z% ^/ V+ e+ c% [ 使用彩色 LCD 控制器意味着每个像素需要四条线:三条模拟电压线用于红色、绿色、蓝色(水平方向),一条电压线用于选择 (垂直方向)。 一般情况下,可用两种方法与彩色 LCD 接口:% I8 w: ~* C' p' }3 H& l3 w; f+ z ● RGB 接口,使用同步信号 ● MPU (微处理器单元)接口 (并行或串行)! |1 w% B# w& t 所有图形 LCD 都有内置驱动器,其形式为芯片或硅玻璃。这些驱动器在 RGB 信号和同步与像素控制之间进行转换。; d% u4 [0 ]. |' u 很多 LCD 还带有 LCD 控制器,进行 MPU 接口与 RGB 信号之间的转换。一些芯片既是驱动器,又是控制器。控制器的作用是持续刷新 LCD。 % j% p+ y3 ^ p6 W, n 表 1 列出了集成了控制器的 LCD 与需要 MPU LCD 控制器的 LCD 之间的区别。) Y1 ^1 I+ g1 d* g0 N0 A t / G: T" Y( w* a C
最常见的 LCD MPU 并行接口类型为 Intel 8080 (I80)和 Motorola 6800 (M68)。- Q& L8 _, c$ t- u; G, y; Z 下一节将重点讲述怎样将 LCD Intel 8080 类及 Motorola 6800 类的接口与 STM32F10xxx FSMC进行连接。3 [, H8 X! v9 i- ?# J" e* }' B LCD 控制器信号分为两类:数据信号和控制信号。 数据信号连接至LCD数据总线,取决于LCD色深(8位、9位、16位、18位或24位(真彩色))。 控制信号用于定义操作类型(读或写),以及操作是否包括寻址(写入指令到)LCD 寄存器或显示 RAM。2 m2 d- I( ~6 b2 m 表 2 说明了 LCD Intel 8080 类及 Motorola 6800 接口的控制信号。( g" |7 w- `) c+ y) x : i/ i% r# `1 [# u6 a. z
2.2 FSMC 与 LCD 模块接口的典型用法" V8 k6 {- q2 l2 J% ?# y STM32F10xxx FSMC 有四个不同的 64 MB 存储区域,以支持 NOR Flash/PSRAM 及类似的外部存储器。 外部存储器与控制器共享地址、数据和控制信号。 每个外部器件通过独有的片选信号访问,但 FSMC 在同一时刻只能访问一个外部器件。每个存储区域都通过专用寄存器配置,包括不同的特性及时间参数。 我们在前面已经看到,FSMC 提供了 LCD 控制器所需的所有信号。用于 LCD 接口的 FSMC 信号说明如下: ● FSMC [D0 15]:FSMC 数据总线:16 位宽7 @/ w: Q7 D% _6 f+ m8 _, R● FSMC NEx:FSMC 片选 ● FSMC NOE:FSMC 输出使能 ● FSMC NWE:FSMC 写使能 ● FSMC Ax:用于在 LCD 寄存器与 LCD 显示器RAM 之间选择的一根地址线,其中 x 可为 0 到 25 注 : * ~- ~3 _) G* X; S 信号名称中的前缀 “N” 表示信号为低电平有效。 LCD 地址取决于所用的 FSMC NOR Flash/PSRAM 存储区域 (NEx)以及驱动 LCD RS 引脚所选的地址 (Ax)。 例如:对于 NE2 和 A4, LCD 基址为 0x6400 0000 和 0x6400 0020 ;对于 NE4 和 A0,LCD 基址为 0x6C00 0000 和 0x6C00 0002。+ r9 o/ g4 p7 L9 M: t) n! b 2.3 将 FSMC 连接至 LCD Intel 8080 (I80)接口 LCD Intel 8080 类 MPU 接口基于四个控制信号和一个数据总线,带宽可变,取决于 MPU 接口能力。表 3 说明了这些信号。+ m1 C8 w2 X3 M0 T 3 p6 q% n9 Z! k # r$ P3 C5 H1 K. u* n. a
0 i0 } U, U) z: G# t6 X0 r 2.4 将 FSMC 连接至 LCD Motorola 6800 (M68)接口. b, H) ?5 t4 c) j# ^' l- s LCD Motorola 6800 类 MPU 接口基于四个控制信号和一个数据总线,带宽可变,取决于 MPU接口能力。图 4 说明了这些信号。 ; W6 p' ^( U/ b4 j4 Y4 A! R9 s
$ d' ~& B: O2 [- y, }
8 B2 Y0 e+ H% Q* E# n$ c# k 0 N1 N5 c* d+ u" z3 n: v 6 A6 C' s1 L( `7 P! l- l6 K) V6 b , T n, o$ ]) `1 B8 r1 Q |
CD00201397_ZHV2.pdf
下载1.37 MB, 下载次数: 2
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
STM32固件库分享,超全系列整理
微信公众号
手机版