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

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

[复制链接]
STMCU小助手 发布时间:2022-7-17 20:51
前言
5 T8 Q; D6 d7 Z5 x交互式界面被越来越多地集成于多种应用中,例如医疗设备、过程控制、手机和其它手持设备。这些界面主要基于使用彩色 LCD 的图形 HMI (人机界面)。1 S5 Q3 n5 E/ d; f
对支持彩色的需求在全世界范围内极大增长。本应用笔记旨在讨论这一问题,它说明了怎样使用 STM32F10xxx FSMC(灵活的静态存储控制器)来驱动 TFT 彩色 LCD。本文首先说明了怎样将彩色 LCD 连接到 FSMC,然后提供了一个 TFT LCD 接口样例。& R! _! T+ i9 y* ~5 ~" O

  I( n2 y1 Z# ?# F4 i- B1 STM32F10xxx 灵活的静态存储控制器 (FSMC) 概述  h! I9 |: x* b) N
STM32F10xxx 灵活的静态存储控制器(FSMC)为嵌入式外部存储控制器,可使 STM32F10xxx微控制器与多种存储器接口,包括 SRAM、 NOR Flash、 NAND Flash 及 LCD 模组。( o9 I) g" I% D! p: v: `
FSMC NOR Flash/SRAM 存储区域适合 MCU 并行彩色 LCD 接口,将在本章讲述。% q- z  L' K9 p) P5 w1 g9 F4 e+ r" q* _
1.1 FSMC NOR Flash/SRAM 存储区域说明6 f2 h6 _& b2 o( ?* j: g/ Y. Y$ b
FSMC 提供了如下特性以控制 NOR Flash/SRAM: % |) ~- _; b; C. ^- H
● 选择将要用于映射 NOR Flash/SRAM 的存储区域:有四个独立的存储区域可用来与NOR Flash/SRAM/PSRAM 接口,使用单独的片选引脚选择每个存储区域。
  n6 f3 Z6 O1 \. C6 m● 启用或禁用地址 / 数据复用特性7 {7 a- M+ p2 Q) d; M# C. p
● 选择要使用的存储器类型:NOR Flash/SRAM/PSRAM: U! u5 ~# f2 x, z# D$ p! @
● 定义外部存储器数据总线宽度:8/16 位 5 R5 B) v& p( u: u2 e
● 对于 NOR Flash 同步存储器,启用或禁用突发访问模式+ {8 b6 [- p+ }  W
● 配置等待信号的用法:启用 / 禁用、极性设置、时序配置* B/ Y7 H# L& n0 J2 ]2 D# N. J  \" h
● 启用或禁用扩展模式:此模式用于为读写操作使用不同的时序配置来访问存储器。
0 ^! h+ x- i: Z) \% Q( v因为 NOR Flash/PSRAM 控制器支持异步和同步存储器,所以用户应根据存储器特性,仅选择有用的参数。
' F, w8 k8 ^* XFSMC 还提供了对多个参数编程,以正确与外部存储器接口的可能。取决于存储器类型,一些参数会用不到。& W6 b, \2 Q( y' i4 C4 q! D
若使用了外部异步存储器,则用户必须根据存储器数据手册中规定的 AC 时序信息,计算并设置下列参数:
% E+ O' n& c6 M$ w' j$ g4 P6 F● ADDSET:地址建立时间
! U! E9 X6 B" o; G1 q8 ]● ADDHOLD:地址保持时间
. ?0 [- N8 D4 H- i  [● DATAST:数据建立时间; z% |! j! w; ]
● ACCMOD:访问模式' ?( [; v5 b. t  j& `( z
此参数可让 FSMC 灵活地访问多种异步静态存储器。若存储器支持此类特性,则有四种扩展访问模式可使读存储器与写访问同时使用不同时序。
6 M, R; _) H: x' o, b! F3 ~当启用扩展模式时,FSMC_BTR 寄存器用于读操作,FSMC_BWR 寄存器用于写操作。1 s' v: X- D" J( w
当使用同步存储器时,用户必须计算并设置如下参数:
- }! O8 H  T' B) S' v9 ]● CLKDIV:时钟分频比
2 v4 E; Z& ]: h● DATLAT:数据延迟
6 X! Y8 ^3 |4 K* o2 e请注意,若 NOR Flash 支持此模式,则读操作可为同步,而写操作一般为异步。% p" ^1 u1 r3 M$ r4 O5 _  P9 S
当编程同步 NOR Flash 时,该存储器会自动在同步和异步模式间切换,因此在此情况下,必须正确设置所有参数。! z! Z- O8 R1 Z. d0 p+ b
图 1 和图 2 显示了在典型 NOR Flash 访问期间的不同时序。
( s& L* j0 X$ I, h& B
5 z5 t7 C0 m3 G9 @! U* Z; B: x4 R
( A( p6 x( |9 {( Y' r4 W9 w6 e
%HSQ7BF1XDZVNA%UXL0((3F.png - O# N! {5 X/ q, j, u
, N( z3 D3 z7 j/ t
0HIF4MVL@J~8E)GIQU)`J.png $ A3 u3 H$ J6 I  c3 w
7 L7 W  X! o$ @! i. ~8 D, U
2 TFT LCD (薄膜晶体管液晶显示器)与 FSMC 接口
0 q  S8 Z1 S+ Y# f) I" D2.1 常用的彩色 LCD 接口
. ]5 g2 J, Y* P' B. S7 r) i通常使用硅镶嵌玻璃 LCD 驱动器控制点阵 LCD 单元,可使用串行接口将其与微控制器接口。: z( [+ B5 ^, B" N5 u
此类 LCD 单元有嵌入式 RAM 用于显示,不需要任何特殊的微控制器特性。
8 B) w. Y2 c" F! N" b与点阵 LCD 单元不同,彩色 LCD 需要专门的控制器。
+ N! ~- m# Y! ]7 F7 J0 a使用彩色 LCD 控制器意味着每个像素需要四条线:三条模拟电压线用于红色、绿色、蓝色(水平方向),一条电压线用于选择 (垂直方向)。4 M4 J) C, h- _6 H8 d7 U
一般情况下,可用两种方法与彩色 LCD 接口:
  x. S- h5 X$ Z) p" M● RGB 接口,使用同步信号
; ]; r9 ~% b, G% J0 d5 Z1 v● MPU (微处理器单元)接口 (并行或串行)
* Q7 G$ y* y* c所有图形 LCD 都有内置驱动器,其形式为芯片或硅玻璃。这些驱动器在 RGB 信号和同步与像素控制之间进行转换。
2 K* s$ }' Y$ `, h& f很多 LCD 还带有 LCD 控制器,进行 MPU 接口与 RGB 信号之间的转换。一些芯片既是驱动器,又是控制器。控制器的作用是持续刷新 LCD。
6 o' w+ T+ C# O' v! z表 1 列出了集成了控制器的 LCD 与需要 MPU LCD 控制器的 LCD 之间的区别。$ x3 d  s8 F4 F( u
7 I8 k. |; M) r) T% a/ x

" v$ C  V* x% I+ Z 5G()G`~]HJZ`HC2T5ZMS8WC.png 3 c- j2 {  W5 J) ]
8 E, T* y" W. g0 s
最常见的 LCD MPU 并行接口类型为 Intel 8080 (I80)和 Motorola 6800 (M68)。0 Z) }2 `3 ^1 _- w" P/ \
下一节将重点讲述怎样将 LCD Intel 8080 类及 Motorola 6800 类的接口与 STM32F10xxx FSMC进行连接。
2 p& b' S3 F3 p6 L3 e- ^' M' \( dLCD 控制器信号分为两类:数据信号和控制信号。
; f9 w8 g! q' C6 F5 B% [3 J* K数据信号连接至LCD数据总线,取决于LCD色深(8位、9位、16位、18位或24位(真彩色))。
+ L7 b- D  Q2 y8 A1 U! @控制信号用于定义操作类型(读或写),以及操作是否包括寻址(写入指令到)LCD 寄存器或显示 RAM。
# |; B- g5 p$ a8 P表 2 说明了 LCD Intel 8080 类及 Motorola 6800 接口的控制信号。6 S# t/ N1 p7 J  X
( [! ]) }0 r$ W* }5 T4 x+ ?, e

& Q- u/ s3 R  \7 R2 n! F- Q 9]RXW%QO@I(RLG`B2JDB8A5.png : J$ b8 `' Z0 P- R, T- ^( z( x

3 Y' ?& o8 J3 J' d0 o' O2.2 FSMC 与 LCD 模块接口的典型用法
7 g8 u0 {' j  j0 l+ g5 K3 z* SSTM32F10xxx FSMC 有四个不同的 64 MB 存储区域,以支持 NOR Flash/PSRAM 及类似的外部存储器。
$ F# `! w& c$ o" a外部存储器与控制器共享地址、数据和控制信号。
  i* V9 h6 m" z每个外部器件通过独有的片选信号访问,但 FSMC 在同一时刻只能访问一个外部器件。每个存储区域都通过专用寄存器配置,包括不同的特性及时间参数。9 ~5 M9 J% G. I# @" b
我们在前面已经看到,FSMC 提供了 LCD 控制器所需的所有信号。用于 LCD 接口的 FSMC 信号说明如下:2 n. R" J- j/ Z3 z
● FSMC [D015]:FSMC 数据总线:16 位宽" Z4 ^, W5 t) L7 _( j, s6 D
● FSMC NEx:FSMC 片选( w+ G) a! f  U5 z9 i  ]6 z  ~* t
● FSMC NOE:FSMC 输出使能
/ P. P2 V1 E2 n5 w; v● FSMC NWE:FSMC 写使能
! N- ~, H, D% P- b& q  A* w% T● FSMC Ax:用于在 LCD 寄存器与 LCD 显示器RAM 之间选择的一根地址线,其中 x 可为 0 到 25
1 a3 q. |' _6 h: |, K- v注 :
& b' U& X) _& u! p4 f信号名称中的前缀 “N” 表示信号为低电平有效。
! @/ T* E7 j4 v- Y, u, f- GLCD 地址取决于所用的 FSMC NOR Flash/PSRAM 存储区域 (NEx)以及驱动 LCD RS 引脚所选的地址 (Ax)。
8 K8 p, q1 E) H& A; q例如:对于 NE2 和 A4, LCD 基址为 0x6400 0000 和 0x6400 0020 ;对于 NE4 和 A0,LCD 基址为 0x6C00 0000 和 0x6C00 0002。/ B1 V- C7 N. B+ s1 u/ T$ m
2.3 将 FSMC 连接至 LCD Intel 8080 (I80)接口
! m! F, d1 k4 }. J+ `$ ~) NLCD Intel 8080 类 MPU 接口基于四个控制信号和一个数据总线,带宽可变,取决于 MPU 接口能力。表 3 说明了这些信号。
& v8 ?* s; y& [$ f! V" y( G* i* Z4 O0 S% {4 U2 s% X
- X+ d  r0 }3 ~- `" ?5 W2 |: g
[{UATJM9N7EXZ]DDUPN2QHY.png
  B( _3 R/ k0 `

" d0 y+ Z! I5 c( A" }2.4 将 FSMC 连接至 LCD Motorola 6800 (M68)接口
  b, d' j8 o# I& r7 M, |LCD Motorola 6800 类 MPU 接口基于四个控制信号和一个数据总线,带宽可变,取决于 MPU接口能力。图 4 说明了这些信号。
. G* ]2 o+ \. R( J1 d" { + f2 |& b- {& o( O2 D
7%Q)8PT80YIIZE8}VA2LG.png
5 Z8 O+ E+ T! A2 X6 c/ f. {/ ?' K  C2 c' C
~7YS9W_M0HW}[P_0~X][GWY.png 3 P% B( l, O& X( g# s* Q8 s/ d
( \! H& A* f) Q9 U% S
& h& I+ i( I! u/ e. ?3 T7 l/ R& V3 |

* X( t+ H7 d4 Q# Z- O" y6 X0 K; L2 _! l" P( H! Z

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