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

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

[复制链接]
STMCU小助手 发布时间:2022-7-17 20:51
前言2 e4 l% ~; w& j
交互式界面被越来越多地集成于多种应用中,例如医疗设备、过程控制、手机和其它手持设备。这些界面主要基于使用彩色 LCD 的图形 HMI (人机界面)。) c9 V% ?; q) \
对支持彩色的需求在全世界范围内极大增长。本应用笔记旨在讨论这一问题,它说明了怎样使用 STM32F10xxx FSMC(灵活的静态存储控制器)来驱动 TFT 彩色 LCD。本文首先说明了怎样将彩色 LCD 连接到 FSMC,然后提供了一个 TFT LCD 接口样例。
* F* u7 a+ C: {
5 u- [5 _4 E/ W6 p1 C7 _2 b4 l1 STM32F10xxx 灵活的静态存储控制器 (FSMC) 概述. }: R9 u5 ^9 D/ [
STM32F10xxx 灵活的静态存储控制器(FSMC)为嵌入式外部存储控制器,可使 STM32F10xxx微控制器与多种存储器接口,包括 SRAM、 NOR Flash、 NAND Flash 及 LCD 模组。
7 k  h- W- K1 n1 ?, m! p. W* nFSMC NOR Flash/SRAM 存储区域适合 MCU 并行彩色 LCD 接口,将在本章讲述。
- G1 m: z, e, H8 f& B. r9 w( D6 V
1.1 FSMC NOR Flash/SRAM 存储区域说明
* o, o  G5 ]; q$ K2 j$ @# u! V7 CFSMC 提供了如下特性以控制 NOR Flash/SRAM: : |) w8 ?" T7 J  P; O4 E
● 选择将要用于映射 NOR Flash/SRAM 的存储区域:有四个独立的存储区域可用来与NOR Flash/SRAM/PSRAM 接口,使用单独的片选引脚选择每个存储区域。, @% I$ F/ e9 {: s7 f4 c3 @& {
● 启用或禁用地址 / 数据复用特性' Y, o1 ]; s  T; h1 ]5 C
● 选择要使用的存储器类型:NOR Flash/SRAM/PSRAM
+ l! ]4 u' Y4 E; Z0 o● 定义外部存储器数据总线宽度:8/16 位
6 V$ ]$ W2 ]( a2 x. n6 A& y● 对于 NOR Flash 同步存储器,启用或禁用突发访问模式1 G# _3 q, R, Y: l8 E: Q
● 配置等待信号的用法:启用 / 禁用、极性设置、时序配置
  d4 L2 q: R* _: w0 }● 启用或禁用扩展模式:此模式用于为读写操作使用不同的时序配置来访问存储器。
, p# j: d5 _4 L: J0 O因为 NOR Flash/PSRAM 控制器支持异步和同步存储器,所以用户应根据存储器特性,仅选择有用的参数。; C- I+ c; t. I# F. q! B: z* z
FSMC 还提供了对多个参数编程,以正确与外部存储器接口的可能。取决于存储器类型,一些参数会用不到。
0 E9 f' z% j# B$ M1 b: b若使用了外部异步存储器,则用户必须根据存储器数据手册中规定的 AC 时序信息,计算并设置下列参数:
2 J/ }8 G6 y. Y) e( y) Y● ADDSET:地址建立时间
+ Q8 r4 m, ~' {! T● ADDHOLD:地址保持时间6 g2 f# O' P5 z* }
● DATAST:数据建立时间
+ r  F+ ?# Y8 z% h' R9 {$ H● ACCMOD:访问模式. l5 ]( p5 e: E2 p" Z- c
此参数可让 FSMC 灵活地访问多种异步静态存储器。若存储器支持此类特性,则有四种扩展访问模式可使读存储器与写访问同时使用不同时序。* K, d& ~# o4 O) t  I
当启用扩展模式时,FSMC_BTR 寄存器用于读操作,FSMC_BWR 寄存器用于写操作。
1 N6 \# D! R/ J: A$ T0 W7 a当使用同步存储器时,用户必须计算并设置如下参数:0 d7 b6 ~1 Y; O' o$ D
● CLKDIV:时钟分频比! Y3 h+ e' g, Y( R! @
● DATLAT:数据延迟
+ Y2 E# g( Z  e8 }0 j0 W请注意,若 NOR Flash 支持此模式,则读操作可为同步,而写操作一般为异步。
* M2 A7 r+ _+ M; B9 N当编程同步 NOR Flash 时,该存储器会自动在同步和异步模式间切换,因此在此情况下,必须正确设置所有参数。
2 p: I0 h- V0 o. |图 1 和图 2 显示了在典型 NOR Flash 访问期间的不同时序。
0 e6 Q/ u3 c6 e% Z8 {4 m% H6 @  z+ p5 ^* u. a$ e* {: f

' |3 w" N1 o+ S/ G %HSQ7BF1XDZVNA%UXL0((3F.png - j+ b4 M6 C$ P- h2 ^! ^
7 d4 |: ]  D1 u! \1 {4 Q. X7 O$ K
0HIF4MVL@J~8E)GIQU)`J.png / j  U8 H+ H2 e% R) x% h1 i" f

3 B  M7 B3 a/ l; e; z6 c2 TFT LCD (薄膜晶体管液晶显示器)与 FSMC 接口) F, v: X; F' g* ?: j- v
2.1 常用的彩色 LCD 接口
% {* c: k. O! x# Z& G+ o# p通常使用硅镶嵌玻璃 LCD 驱动器控制点阵 LCD 单元,可使用串行接口将其与微控制器接口。
% @, b! U8 f! C" ~( z6 w! {/ D此类 LCD 单元有嵌入式 RAM 用于显示,不需要任何特殊的微控制器特性。
( g, Z4 j6 A6 ]与点阵 LCD 单元不同,彩色 LCD 需要专门的控制器。
; U, j6 d/ g( i  Y+ |( U使用彩色 LCD 控制器意味着每个像素需要四条线:三条模拟电压线用于红色、绿色、蓝色(水平方向),一条电压线用于选择 (垂直方向)。1 F5 s# _( j* [2 g  N" m6 f
一般情况下,可用两种方法与彩色 LCD 接口:, T, d8 C# B2 d. T2 s% i5 I
● RGB 接口,使用同步信号. @. h) C" h& D: ?0 l
● MPU (微处理器单元)接口 (并行或串行)
1 M8 X" ?2 H( c所有图形 LCD 都有内置驱动器,其形式为芯片或硅玻璃。这些驱动器在 RGB 信号和同步与像素控制之间进行转换。2 s4 T- ?/ ^- }3 L
很多 LCD 还带有 LCD 控制器,进行 MPU 接口与 RGB 信号之间的转换。一些芯片既是驱动器,又是控制器。控制器的作用是持续刷新 LCD。
5 i  @/ _# a; A, }. ?9 G% h表 1 列出了集成了控制器的 LCD 与需要 MPU LCD 控制器的 LCD 之间的区别。
: z: g/ W% Y" d1 C8 l, F8 W6 q% H" E4 a" l+ e0 L# H6 @) `9 g
% G% |  t% D- [: w0 c# y
5G()G`~]HJZ`HC2T5ZMS8WC.png # }, j: P: {( A

- t( j4 B4 q& M: `/ E6 S% ~: J最常见的 LCD MPU 并行接口类型为 Intel 8080 (I80)和 Motorola 6800 (M68)。+ n/ h, y9 T9 ]
下一节将重点讲述怎样将 LCD Intel 8080 类及 Motorola 6800 类的接口与 STM32F10xxx FSMC进行连接。2 D: i1 f9 Q: G$ A
LCD 控制器信号分为两类:数据信号和控制信号。
$ ]" `, O4 q  @0 a数据信号连接至LCD数据总线,取决于LCD色深(8位、9位、16位、18位或24位(真彩色))。
" D8 c# m- B3 w1 @$ m1 R. \控制信号用于定义操作类型(读或写),以及操作是否包括寻址(写入指令到)LCD 寄存器或显示 RAM。
- M3 q4 c; Z" p; G2 W# W3 P: x& A/ s表 2 说明了 LCD Intel 8080 类及 Motorola 6800 接口的控制信号。7 [' i9 v; F7 K) l3 P

! J! a) z! @' F* h* W# R0 Q% {: _

, j) b0 q2 @7 i6 C6 z/ j* U& | 9]RXW%QO@I(RLG`B2JDB8A5.png $ V+ h& W- w  t6 V
; A+ x# z6 y9 v
2.2 FSMC 与 LCD 模块接口的典型用法
4 s+ c8 {9 ]" g% F. ]7 gSTM32F10xxx FSMC 有四个不同的 64 MB 存储区域,以支持 NOR Flash/PSRAM 及类似的外部存储器。" n- r- `3 b* y2 G
外部存储器与控制器共享地址、数据和控制信号。/ P! c6 S* E6 b" {& H7 T
每个外部器件通过独有的片选信号访问,但 FSMC 在同一时刻只能访问一个外部器件。每个存储区域都通过专用寄存器配置,包括不同的特性及时间参数。
; k1 o: u% l( \  O我们在前面已经看到,FSMC 提供了 LCD 控制器所需的所有信号。用于 LCD 接口的 FSMC 信号说明如下:! _8 R5 D7 d  C/ [
● FSMC [D015]:FSMC 数据总线:16 位宽
/ _$ R/ E2 E4 b5 _3 S4 L● FSMC NEx:FSMC 片选
. _6 Z/ V: x8 e6 q● FSMC NOE:FSMC 输出使能
( h  P0 u; X8 m+ h$ ?" l$ Y( ~● FSMC NWE:FSMC 写使能4 L) H3 X1 r2 d; M7 X9 J& n4 n
● FSMC Ax:用于在 LCD 寄存器与 LCD 显示器RAM 之间选择的一根地址线,其中 x 可为 0 到 25
& r  _% T3 Z* G. r7 `8 Y注 :   C3 k0 m9 w8 [/ b' @* U: m4 m
信号名称中的前缀 “N” 表示信号为低电平有效。/ U) o9 Y" c3 m: I
LCD 地址取决于所用的 FSMC NOR Flash/PSRAM 存储区域 (NEx)以及驱动 LCD RS 引脚所选的地址 (Ax)。
0 f" l3 J& p: r例如:对于 NE2 和 A4, LCD 基址为 0x6400 0000 和 0x6400 0020 ;对于 NE4 和 A0,LCD 基址为 0x6C00 0000 和 0x6C00 0002。
' J2 m2 `1 N( }8 A% r0 y' m1 ?  f( P2.3 将 FSMC 连接至 LCD Intel 8080 (I80)接口8 @+ h! L0 S: }& b0 b
LCD Intel 8080 类 MPU 接口基于四个控制信号和一个数据总线,带宽可变,取决于 MPU 接口能力。表 3 说明了这些信号。# k/ a, a3 f' j# [" f. M* ~

6 e) `! p4 x" X% J
; {$ C* Q" D9 k6 R1 d
[{UATJM9N7EXZ]DDUPN2QHY.png ! H+ o5 ^# I& V+ z. j% g* b

( k. c% u0 j( B' j# z2 [- @2.4 将 FSMC 连接至 LCD Motorola 6800 (M68)接口8 b7 Y* b) P& w" e3 S" I2 z: M  u) I0 M% u
LCD Motorola 6800 类 MPU 接口基于四个控制信号和一个数据总线,带宽可变,取决于 MPU接口能力。图 4 说明了这些信号。
2 ?# d5 \4 r2 y  r3 G
+ A/ Z* T/ P% r1 W  N- A4 y 7%Q)8PT80YIIZE8}VA2LG.png ) F( `8 ?7 O3 w
1 F% a4 X* I6 r0 \- f
~7YS9W_M0HW}[P_0~X][GWY.png # A8 [5 o0 [9 j6 @9 ?
/ V* G5 k6 J" U5 ~; C0 x, v5 |
( d1 q, Y2 d, G# l; h, B' J) J  Z3 ]

% M2 D4 s5 n9 V  a0 S, i3 k. o9 o2 T, i; u" f

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 手机版