【正点原子探索者STM32F4】TFTLCD实验学习记录:FSMC控制 TFTLCD的寄存器配置

异步模式 A控制 TFTLCD

LCD以ILI9341为例

FSMC寄存器配置

对于异步突发访问方式, FSMC 主要设置 3 个时间参数:地址建立时间(ADDSET)、 数据
建立时间(DATAST)和地址保持时间(ADDHLD)。 FSMC 综合了 SRAM/ ROM、 PSRAM 和 NOR
Flash 产品的信号特点,定义了 4 种不同的异步时序模型。选用不同的时序模型时,需要设置不
同的时序参数
在这里插入图片描述
使用异步模式 A(ModeA)方式来控制 TFTLCD,模式 A 的读操作时序如图
在这里插入图片描述
在这里插入图片描述
SRAM/NOR 闪存片选控制寄存器: FSMC_BCRx(x=1~4)
在这里插入图片描述
EXTMOD:扩展模式使能位,也就是是否允许读写不同的时序,需要读
写不同的时序,故该位需要设置为 1
设置了 EXTMOD 位,则有两个时序寄存器分别对应读(本寄存器)和写操作(FSMC_BWTRx 寄存器)
WREN:写使能位。我们需要向 TFTLCD 写数据,故该位必须设置为 1
MWID[1:0]:存储器数据总线宽度。 00,表示 8 位数据模式; 01 表示 16 位数据模式; 10
和 11 保留。我们的 TFTLCD 是 16 位数据线,所以设置 WMID[1:0]=01
MTYP[1:0]:存储器类型。 00 表示 SRAM、 ROM; 01 表示 PSRAM; 10 表示 NOR FLASH;11
保留。前面提到,我们把 TFTLCD 当成 SRAM 用,所以需要设置 MTYP[1:0]=00
MBKEN:存储块使能位。这个容易理解,我们需要用到该存储块控制 TFTLCD,MBKEN=1

SRAM/NOR 闪存片选时序寄存器: FSMC_BTRx(x=1~4)
在这里插入图片描述
ACCMOD[1:0]:访问模式。 00 访问模式 A;同理 01 表示 B; 10 表示 C;11 表示 D,本章我们用到模式 A,故设置为 00
DATAST[7:0]:数据保持时间。 0 为保留设置,其他设置则代表保持时间为: DATAST 个
HCLK 时钟周期,最大为 255 个 HCLK 周期。对 ILI9341 来说,其实就是 RD 低电平持续时间,
一般为 355ns。而一个 HCLK 时钟周期为 6ns 左右(1/168Mhz),为了兼容其他屏,我们这里设
置 DATAST 为 60,也就是 60 个 HCLK 周期,时间大约是 360ns。
ADDSET[3:0]:地址建立时间。其建立时间为: ADDSET 个 HCLK 周期,最大为 15 个 HCLK
周期。对 ILI9341 来说,这里相当于 RD 高电平持续时间,为 90ns,我们设置 ADDSET 为 15,
即 15*6=90ns。

SRAM/NOR 闪写时序寄存器: FSMC_BWTRx(x=1~4)
在这里插入图片描述
ACCMOD、 DATAST
和 ADDSET 这三个设置。这三个设置的方法同 FSMC_BTRx 一模一样,只是这里对应的是写
操作的时序, ACCMOD 设置同 FSMC_BTRx 一模一样,同样是选择模式 A,另外 DATAST 和
ADDSET 则对应低电平和高电平持续时间,对 ILI9341 来说,这两个时间只需要 15ns 就够了,
比读操作快得多。所以我们这里设置 DATAST 为 2,即 3 个 HCLK 周期,时间约为 18ns。然后
ADDSET 设置为 3,即 3 个 HCLK 周期,时间为 18ns。
FSMC_BCRx 和 FSMC_BTRx,组合成 BTCR[8]寄存器组,他们的对应关系如下:
BTCR[0]对应 FSMC_BCR1, BTCR[1]对应 FSMC_BTR1
BTCR[2]对应 FSMC_BCR2, BTCR[3]对应 FSMC_BTR2
BTCR[4]对应 FSMC_BCR3, BTCR[5]对应 FSMC_BTR3
BTCR[6]对应 FSMC_BCR4, BTCR[7]对应 FSMC_BTR4
FSMC_BWTRx 则组合成 BWTR[7],他们的对应关系如下:
BWTR[0]对应 FSMC_BWTR1, BWTR[2]对应 FSMC_BWTR2,
BWTR[4]对应 FSMC_BWTR3, BWTR[6]对应 FSMC_BWTR4,

ILI9341电平持续时间要求

在这里插入图片描述

参考

STM32F4开发指南-库函数版本_V1.2
ILI9341_DS

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值