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

【经验分享】STM32CubeMX之FMC驱动TFT-LCD屏

[复制链接]
STMCU小助手 发布时间:2022-3-7 23:36
一、CubeMX配置% W6 C: `& `  ~* G; P
开发板上TFT-LCD接口如图:, v) f  G" o9 l4 J# r/ h/ W3 U* m

' F; E' n( U' W K8AX]KE_3RR5(NF%(V8AN}O.png 5 G2 h+ h! P& V& J; E; e8 u

$ Z, {6 Z! h0 F! \LCD原理图如下:
" {- {2 M4 H5 J, [# i0 L  A9 m' G$ X$ D4 H" [! f4 }0 G
RXC%UFYWU(`1TAJB2)`BK)B.png
# R" y7 _0 w/ H: N& P5 l/ F3 y$ {8 l  P& J0 P
& [  n- `/ d4 e# P7 _. h) M& ^! Q
引脚说明如下:5 O1 e( L+ J* U* `
●LCD D0-D15:使用了16bit:FMC D0 - FMC D15;
* K% s, O6 @. A) [6 g. H- ^●LCD_RS:使用FMC A18来控制向LCD写入数据还是命令(0-命令,1-数据);, T1 n; y! |, s
●LCD_BL:背光控制,对应PB5;7 ^' R+ S+ u8 V: O3 |( {# V
●LCD_CS:LCD片选信号,对应PD7,FMC_NE1;
9 U$ O% \! i, C4 ]1 F●LCD_WR :LCD写使能,对应PD5,FMC_NWE;: K  G& k3 g- i5 A5 i# o+ N  f; L
●LCD_RD:LCD读使能,对应PD4,FMC_NOE;8 ]* C9 P8 _. c& m( {
●RESET:LCD复位信号,直接与单片机复位信号接在一起;
5 C/ o- P3 E8 [1 r% }$ A3 \  ]  v# [# e- }4 s6 R/ f
参数设置如下:# _3 U1 `4 R! ~/ s

& z7 T$ L+ B3 e6 R, z* B! }. E" L J226~4LUWV@$]HA9A5$EY{4.png + ^0 r. g) b2 V8 m- l

3 S' F9 K$ Y3 L二、参数设置讲解' g5 @! }7 |5 T$ J
1、查看参数MCU屏幕控制芯片手册

7 ]* B+ ]- d8 q6 ~  `4 {8 ~1 I: K0 ]  ]3 L6 ~
PVA3BW10SHP~UO}D@N2XHE4.png
- Y( J& {0 e0 Z$ i& \! a7 @  l1 F& `$ [  X' {# {% T+ Y' o9 W
2、填写对应参数
- E( ^% W7 {0 V5 B3 f4 A时序参数都是以HCLK的周期为单位的,在本文中HCLK=240Mhz,所以一个周期为4.17ns。其中主要的时序参数配置方法如下。/ n& c6 h) J" ]$ I5 q

! K+ L# P# i  s. N) s读时序配置- E0 t$ A. m4 G7 @# g4 p

- y; u+ x9 w5 U2 W 8GO$%0%IQ%[JPKNO0ATCN.png 9 |5 D/ m" _( u7 v7 Q# ]

' T0 h9 N) |$ @% L# z: H( m① 地址建立时间:Address setup time(ADDSET)
) c) s6 @: r5 }% v3 n- b* E! K8 w- x. Y' V6 x
该值必须是0~15个HCLK。从表中可以看出,NT35310控制器要求读的时候最小为10ns,,所以设为3即可,3x4.17=12.51ns。3 d' Q; E0 Q1 X: N5 }' \0 y" D

/ P$ U% z7 @# G② 数据持续时间:Data setup time(DATASET)' e' _% l6 L+ s& W3 G

, U& I/ f3 |. U7 L4 D- V( a该值必须是0~255个HCLK,从图中可以看出,NT35310控制器要求的数据建立时间最小为10ns,理论上设置为3即可,但因为读时序较慢这里设置为7个HCLK,设置为5以下可能就会出现显示异常的现象。# [* L3 S3 Q6 N# L- H2 g

& w6 N' m; m. c1 v" E7 D③此值必须0~15。我们这里就取默认最大的15即可5 D- }1 A0 |) U2 R1 G
$ }  J1 Z) O' ^9 ~8 u: p" O4 k6 y
④默认A模式即可。模式A时序模型的优势在于:支持独立的读写时序控制。这一点对于控制TFT-LCD来说,非常符合。因为TFT-LCD在读的时候,一般比较慢,而在写入的时候一般比较快9 P" ~1 |; L( ~: w+ ]7 g
) X' _7 b. V. f) e8 l2 O4 Y
写时序配置7 h7 x! V: M" u$ N+ z( \4 @
9 K9 R- r; l3 T  P3 r- N
2YU3E1]P{NW3UUYV3$TPHXA.png % Q6 D. a) y1 k2 l( H

; Z1 F; O; F' e1 F9 X① 地址建立时间:Address setup time(ADDSET)
4 _% }$ p9 c& ]8 {4 m
3 ?! O& I0 ~3 V, R该值必须是0~15个HCLK。从表中可以看出,NT35310控制器要求写的时候最小为0ns,,所以这里设置为0。$ L& C7 ?2 l! {/ o9 L
. n7 Y% m) F" u5 I/ n; e
② 数据持续时间:Data setup time(DATASET), r6 ?3 P7 C1 n

# |% @, \1 Q9 D该值必须是0~255个HCLK,从图中可以看出,NT35310控制器要求的数据建立时间最小为10ns,因为写时序较快这里设置为4即可。; E/ B% i7 V# j0 L7 Y

; ?4 P& L; P% J: Z, [9 e( o③默认15即可- t; f3 Y9 K  A. T. ~+ p3 H
9 g  W; ?2 v2 u  [1 Q' D& j0 g
④默认A模式即可" W; t6 }& }" T7 S9 ]
( q6 \" Q0 P3 ?& e8 C
上述步骤配置完成后就可以在工程中添加你的LCD驱动程序。
2 s7 x5 x6 P9 G% \2 S0 o, I; L6 c( P
WX}7NLRU(OI7N5QNB1AVYOY.png 1 g2 j& y7 W6 I1 l

& I2 }; A3 F3 V' T( I& P如果程序和MX的配置都没问题显示还不正常那就先考虑读时序里的data setup time 时间拉长。% d7 a9 c0 y7 L2 ]7 `: l- ?

% L6 q9 z8 Z! Y7 O, l3 Y4 e  T
" Z; W5 F& O1 \! u
赞 收藏 评论0 发布时间:2022-3-7 23:36

举报

0个回答

所属标签

相似技术帖

官网相关资源

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