首页 > 其他分享 >STM32 FSMC的 NOR FLASH B模式模拟LCD 8080时序

STM32 FSMC的 NOR FLASH B模式模拟LCD 8080时序

时间:2023-04-03 21:37:07浏览次数:45  
标签:8080 FLASH FSMC 时序 地址 NOR

STM32 FSMC:FSMC(Flexible Static Memory Controller):翻译为:灵活的静态存储管理器。

可管理的存储类型包括:

  • NOR FLASH 和 SRAM
  • NAND FLASH
  • PC Card(PC卡,不知道是什么东西)

具体功能是将外部的存储设备映射为内部地址,可以用程序访问这些地址,间接地,由 FSMC 自动产生相应时序,从而访问外部的存储设备。

有点像位带操作,但是位带操作主要用于访问外设。

具体映射如下:

 

 

从图中可以看出,FSMC的地址映射的整体范围为:0x6000 0000~0x9FFF FFFF地址单元,共1GB大小。

地址范围根据存储器类型分成4块(Bank1~4),本试验主要将LCD 的  ILI9341 的 GRAM 当成 NOR FLASH 来模拟通信,因此,主要用到用于 NOR/PSRAM 的 Bank1。

用于 NOR/PSRAM 的 Bank1又分成4块,具体用到哪一块需要根据硬件的连接确定(复用的GPIO :FSMC_NEx(x=1~4)。本例中 PD7 复用为FSMC_NE1, 连接了 ILI9341 的片选引脚,因此使用的块为 FSMC Bank1 NOR/PSRAM 1。

FSMC 中,不同存储器类型有不同且相互独立控制寄存器对于 NOR/PSARM 的访问,用专用的控制寄存器,即 FSMC_BCR 和 FSCM_BWTR两种寄存器,这两种寄存器又根据上述的4块的划分,每种包括4个。

另外,需要注意的是,FSMC 属于挂载在 AHB 上的外设,使用的时候需要初始化相应的时钟。

 

 

 

由于 FSMC 访问 NOR/SRAM 的B模式的时序与 8080 时序相似程度很高,因此  STM32 的 FSMC 可以用来模拟 8080 时序,达到控制 LCD 的目的:下图是它们的对比。

 

 

 但是我不清楚,为什么访问 ILI9341 的 GRAM 不用地址线(取而代之的是 D/CX 即数据/命令选择线, 本例中,将 PD11 复用为 FSMC_A16,通过将A16置高,表示传输数据; A16置低,表示传输命令)

对于存储器来说,向指定地址写数据,既需要数据,也需要指定地址,但 8080 时序没有地址的概念。

一个猜想是对于 ILI9341 来说,数据之中包含了地址。

 

标签:8080,FLASH,FSMC,时序,地址,NOR
From: https://www.cnblogs.com/FBsharl/p/17284453.html

相关文章

  • 【Flask】cbv源码分析 flask模板使用 flask请求与响应 session及源码分析 闪现flash
    目录上节回顾今日内容1cbv分析1.1源码分析2模板2.1app.py2.2index.html3请求与响应4session及源码分析4.1session的使用4.2源码分析4.3session执行原理5闪现6请求扩展练习上节回顾#1web框架 -django大而全-flask小而精-sanic-fastapi-同......
  • chrome浏览器支持flash的版本
    方式1:https://link.zhihu.com/?target=https%3A//www.slimjet.com/chrome/google-chrome-old-version.php方式2:查找你想要的版本号例如:输入87然后这里就会出现匹配版......
  • 乔帮主笑了:我早就说过Flash不行
    众所周知,iPhone自从2007年推出以来就从未支持Flash。对此Adobe的人耿耿于怀:等着瞧,我们很快就会推出一个完美的移动版Flash,用事实来回击乔布斯的“Flash不行,所以我们不支持Fl......
  • TiDB SQL调优案例之避免TiFlash帮倒忙
    背景早上收到某系统的告警tidb节点挂掉无法访问,情况十万火急。登录中控机查了一下display信息,4个TiDB、Prometheus、Grafana全挂了,某台机器hang死无法连接,经过快速重启后......
  • 杀掉8080端口的进程
    参考:https://www.cnblogs.com/qinmengjiao123-123/p/6280027.htmlWindows第一步:寻找端口的进程号netstat命令找出端口占用的PID第二步:杀死进程taskkill命令k......
  • IntelliWeb 中嵌入Silverlight/Flash方法
       简介:intelliWeb是基于构件、Ajax、RichClient技术的J2EE应用快速开发平台。   嵌入Silverlight/Flash方法很简单,把ActiveX放到e:Page里面就可以了  下面我......
  • wine 安装photoshop CS4和flash builder 4 方法
    我的home文件夹是 /home/luozhuang请根据自己实际情况修改.wine这些都是隐藏文件请根据需要修改文件浏览器显示隐藏文件安装photoshopCS4:需要自己安装atmlib.dll......
  • IAP升级-IAP例程如何修改flash跳转地址
    以CH32V307EVT中IAP例程举例。代码结构分为IAP+APP,共有两个工程,先下载IAP,再通过WCHMcuIAP_WinAPP工具下载APP,实现在应用升级功能。IAP例程在flash0地址起始,所以无需关注......
  • NAND Flash 寿命算法——Wear leveling
    由于闪存的可擦写次数是有限的,当某些数据被频繁修改时容易导致对应的块很快被耗尽使用寿命,从而导致整块盘无法使用,所以需要有一种技术来将这些块的擦写均摊一下,延长使用寿......
  • Ubuntu 15 安装Chromium浏览器并添加Flash插件Pepper Flash Player
    Chromium谷歌的开源浏览器将不再支持Netscape浏览器插件API,Adobe公司的Flash将无法正常工作了。然而用户可以使用PepperFlashPlayer,这是谷歌浏览器上一款替代AdobeFlash......