你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口

[复制链接]
STMCU小助手 发布时间:2022-7-17 20:51
前言# B6 X1 ^: @% j
交互式界面被越来越多地集成于多种应用中,例如医疗设备、过程控制、手机和其它手持设备。这些界面主要基于使用彩色 LCD 的图形 HMI (人机界面)。6 y7 p1 `- g( A6 x
对支持彩色的需求在全世界范围内极大增长。本应用笔记旨在讨论这一问题,它说明了怎样使用 STM32F10xxx FSMC(灵活的静态存储控制器)来驱动 TFT 彩色 LCD。本文首先说明了怎样将彩色 LCD 连接到 FSMC,然后提供了一个 TFT LCD 接口样例。( b! l% a6 x+ w' o

/ N; B9 O- `  x9 {1 STM32F10xxx 灵活的静态存储控制器 (FSMC) 概述+ k2 U/ ]/ w; x6 ~! q+ K# l
STM32F10xxx 灵活的静态存储控制器(FSMC)为嵌入式外部存储控制器,可使 STM32F10xxx微控制器与多种存储器接口,包括 SRAM、 NOR Flash、 NAND Flash 及 LCD 模组。( T* x6 U2 `: m2 ^
FSMC NOR Flash/SRAM 存储区域适合 MCU 并行彩色 LCD 接口,将在本章讲述。
7 c3 N9 z. m( v
1.1 FSMC NOR Flash/SRAM 存储区域说明
; \$ e) j; ]7 W* G$ I$ yFSMC 提供了如下特性以控制 NOR Flash/SRAM: , c0 y" \" B- Y
● 选择将要用于映射 NOR Flash/SRAM 的存储区域:有四个独立的存储区域可用来与NOR Flash/SRAM/PSRAM 接口,使用单独的片选引脚选择每个存储区域。
$ D! F- B! g  w; K5 p8 K● 启用或禁用地址 / 数据复用特性
, e1 N6 p3 ^( ?  L. `/ B2 @# c" |● 选择要使用的存储器类型:NOR Flash/SRAM/PSRAM$ d- B# D4 \4 y9 `; J
● 定义外部存储器数据总线宽度:8/16 位
; c- B* i" h& A( [" q● 对于 NOR Flash 同步存储器,启用或禁用突发访问模式  p# M5 g- D% x7 @& Y0 a/ _/ p
● 配置等待信号的用法:启用 / 禁用、极性设置、时序配置  \; P$ Q( s% M. X9 A
● 启用或禁用扩展模式:此模式用于为读写操作使用不同的时序配置来访问存储器。
2 V: \/ T. t4 b$ D因为 NOR Flash/PSRAM 控制器支持异步和同步存储器,所以用户应根据存储器特性,仅选择有用的参数。
8 p0 |5 Y- A' B' _FSMC 还提供了对多个参数编程,以正确与外部存储器接口的可能。取决于存储器类型,一些参数会用不到。3 G$ i2 i( {7 n
若使用了外部异步存储器,则用户必须根据存储器数据手册中规定的 AC 时序信息,计算并设置下列参数:
% d/ I/ g& E/ F" X9 p/ G( Y& I. D● ADDSET:地址建立时间  `  N1 V6 p8 x$ {
● ADDHOLD:地址保持时间6 q2 d+ v) u+ L" p
● DATAST:数据建立时间8 M" \0 [( Q+ b* F6 v
● ACCMOD:访问模式
' C* v- _, D8 x此参数可让 FSMC 灵活地访问多种异步静态存储器。若存储器支持此类特性,则有四种扩展访问模式可使读存储器与写访问同时使用不同时序。) o% d- I( U2 k+ E# g7 P/ B+ }0 u
当启用扩展模式时,FSMC_BTR 寄存器用于读操作,FSMC_BWR 寄存器用于写操作。  h6 t9 s8 R' j0 W2 S, v. o0 n
当使用同步存储器时,用户必须计算并设置如下参数:
% @! t, E6 A2 D+ T; i9 k7 \● CLKDIV:时钟分频比9 w7 P2 Z8 w% W. J/ }
● DATLAT:数据延迟
+ Y( c. x, w( Y0 k请注意,若 NOR Flash 支持此模式,则读操作可为同步,而写操作一般为异步。
: ?) y' i# E9 C' h8 J# X当编程同步 NOR Flash 时,该存储器会自动在同步和异步模式间切换,因此在此情况下,必须正确设置所有参数。
8 d" {* G2 u1 i. ~图 1 和图 2 显示了在典型 NOR Flash 访问期间的不同时序。7 J  C6 @0 c, [2 [0 K( y: H

( ?1 `3 @- u  b5 K! [

; J' H5 l, g, n* v  I$ o) ~ %HSQ7BF1XDZVNA%UXL0((3F.png
- P4 l) @! [; X8 N7 w3 y0 v# e( T. d$ O
0HIF4MVL@J~8E)GIQU)`J.png ( a! T; t3 [8 U' ~

( f- v) n  V/ M) [2 TFT LCD (薄膜晶体管液晶显示器)与 FSMC 接口2 T; B2 P& u8 @/ Z
2.1 常用的彩色 LCD 接口
/ t; M2 U7 B4 x8 r% n, P通常使用硅镶嵌玻璃 LCD 驱动器控制点阵 LCD 单元,可使用串行接口将其与微控制器接口。
% R+ G, |* i  H  p2 n此类 LCD 单元有嵌入式 RAM 用于显示,不需要任何特殊的微控制器特性。+ W: a! Z1 x3 F9 g0 v
与点阵 LCD 单元不同,彩色 LCD 需要专门的控制器。+ U" `$ _2 ?# O5 o% d
使用彩色 LCD 控制器意味着每个像素需要四条线:三条模拟电压线用于红色、绿色、蓝色(水平方向),一条电压线用于选择 (垂直方向)。
, _' x# |5 S% p' H; [" ~/ @一般情况下,可用两种方法与彩色 LCD 接口:
# {5 ]7 `/ A- k5 _. f* B* A6 n# u& w/ y● RGB 接口,使用同步信号
: q( g; O0 V2 N; \% D( a/ n● MPU (微处理器单元)接口 (并行或串行)
; _0 N+ `% T9 ^" ?: h* [- Y  e( b% z所有图形 LCD 都有内置驱动器,其形式为芯片或硅玻璃。这些驱动器在 RGB 信号和同步与像素控制之间进行转换。
, u1 d3 V$ @1 [很多 LCD 还带有 LCD 控制器,进行 MPU 接口与 RGB 信号之间的转换。一些芯片既是驱动器,又是控制器。控制器的作用是持续刷新 LCD。 7 _4 J: `: J, k+ [
表 1 列出了集成了控制器的 LCD 与需要 MPU LCD 控制器的 LCD 之间的区别。
: A; a8 [  }' i8 @; k, c/ R! H* s- [% O+ t
. J9 S( k' _# ?8 e- H
5G()G`~]HJZ`HC2T5ZMS8WC.png
) m: B: C# }, L  a7 G0 f! K
, t; R; o1 C6 S9 Z
最常见的 LCD MPU 并行接口类型为 Intel 8080 (I80)和 Motorola 6800 (M68)。
. x4 }9 a9 _; |( e下一节将重点讲述怎样将 LCD Intel 8080 类及 Motorola 6800 类的接口与 STM32F10xxx FSMC进行连接。
, a5 e1 C4 W* @: v2 U2 nLCD 控制器信号分为两类:数据信号和控制信号。
( n0 n2 Z: u! H+ F4 Q2 r+ X数据信号连接至LCD数据总线,取决于LCD色深(8位、9位、16位、18位或24位(真彩色))。  }& I% S- |. q" o( l
控制信号用于定义操作类型(读或写),以及操作是否包括寻址(写入指令到)LCD 寄存器或显示 RAM。- s2 D: O" {: O. J
表 2 说明了 LCD Intel 8080 类及 Motorola 6800 接口的控制信号。2 n* G* L9 m0 V6 a3 ~7 m

+ [: p  ^  g3 o- F& s
& X( `" d: g* @4 W: A
9]RXW%QO@I(RLG`B2JDB8A5.png
. G7 z- Z3 {9 S

* H& x9 O4 q, o* |) v6 t& v% ]2.2 FSMC 与 LCD 模块接口的典型用法
& W. O: R7 N/ Y# ]: g5 LSTM32F10xxx FSMC 有四个不同的 64 MB 存储区域,以支持 NOR Flash/PSRAM 及类似的外部存储器。# N5 N% P& j' Y3 e* V
外部存储器与控制器共享地址、数据和控制信号。. j/ P. a  W- f, U6 @, Y6 j) I
每个外部器件通过独有的片选信号访问,但 FSMC 在同一时刻只能访问一个外部器件。每个存储区域都通过专用寄存器配置,包括不同的特性及时间参数。+ p' N6 F% I$ ?% x; R
我们在前面已经看到,FSMC 提供了 LCD 控制器所需的所有信号。用于 LCD 接口的 FSMC 信号说明如下:8 H% Q0 x3 |  ~9 ?3 g2 w
● FSMC [D015]:FSMC 数据总线:16 位宽
0 N9 U# n+ u7 P+ x% D0 s8 @● FSMC NEx:FSMC 片选
/ W; J5 \& T/ t7 [& j* {2 B+ Y; E● FSMC NOE:FSMC 输出使能" f% E7 }! l/ Y( o1 C8 [
● FSMC NWE:FSMC 写使能
# |8 D; D4 |: d: ]2 X0 @0 l# P● FSMC Ax:用于在 LCD 寄存器与 LCD 显示器RAM 之间选择的一根地址线,其中 x 可为 0 到 259 y: Q  a1 q& e! M
注 :   ], U# F) P9 N/ F; t
信号名称中的前缀 “N” 表示信号为低电平有效。. b/ ^2 k. S+ h+ z0 \
LCD 地址取决于所用的 FSMC NOR Flash/PSRAM 存储区域 (NEx)以及驱动 LCD RS 引脚所选的地址 (Ax)。- l6 a" g! Z5 _4 @
例如:对于 NE2 和 A4, LCD 基址为 0x6400 0000 和 0x6400 0020 ;对于 NE4 和 A0,LCD 基址为 0x6C00 0000 和 0x6C00 0002。, x0 C, i- G9 r
2.3 将 FSMC 连接至 LCD Intel 8080 (I80)接口- W$ `  {) m% U! N: {$ @1 B
LCD Intel 8080 类 MPU 接口基于四个控制信号和一个数据总线,带宽可变,取决于 MPU 接口能力。表 3 说明了这些信号。( H+ H; [# ^. F6 m/ Z* V( }
  s8 ], o. j) X, E( a2 ^
: k0 c, `/ h- g, P# y; F* |( N
[{UATJM9N7EXZ]DDUPN2QHY.png
" V2 G/ a" ?" \
4 p  Z6 V3 m: h2 W0 o; ^
2.4 将 FSMC 连接至 LCD Motorola 6800 (M68)接口2 o) J! z8 w" f9 R
LCD Motorola 6800 类 MPU 接口基于四个控制信号和一个数据总线,带宽可变,取决于 MPU接口能力。图 4 说明了这些信号。' c) w, Y- r- P0 l' A( z

: L1 Y. X/ q) F& c) ?6 n5 u: _ 7%Q)8PT80YIIZE8}VA2LG.png # j# [' M- N' ]8 I+ L
3 d* ~* {/ Q6 M$ h
~7YS9W_M0HW}[P_0~X][GWY.png
8 M2 e: F$ [. d- ^" _
5 ^( v$ K6 ?- A; y4 H8 c! E' b, {. g5 n6 L

' Y) e4 B' `7 U2 B
, T3 ^. f/ P6 G% x' \' c% Z0 p

CD00201397_ZHV2.pdf

下载

1.37 MB, 下载次数: 2

赞 1 收藏 评论0 发布时间:2022-7-17 20:51

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版