NOR Flash器件的操作分为读、写、扇区擦除、片擦除操作。时序图如图2~图5所示。

基于IAP流程的两片Flash拼接的Flash控制器方案设计

基于IAP流程的两片Flash拼接的Flash控制器方案设计

Flash读时序,发起AE脉冲锁定地址,tAA时间之后读出数据有效。

Flash写时序,先拉高PROG信号,然后AE脉冲锁定地址,产生PROG2脉冲写入对应数据。PROG拉高持续时间是tHV,也就是说写入时间是用户自己控制的。根据tHV的时间不同,可写入的word个数也不同。本文只讨论单个word的写入。

Flash扇区擦除时序,扇区擦除起始要用AE锁定扇区地址,拉起ERASE信号,执行擦除时序。ERASE时间由tERASE时间参数控制。

Flash片擦除时序,擦除起始要用AE锁定任意地址,片擦除除了拉高ERASE信号,还要拉起CHIP信号。ERASE时间由tSCE时间参数控制。

2 控制器方案

2.1 结构框图

Flash控制器模块在SoC系统中位于AHB matrix总线矩阵和Flash器件之间,CPU为ARM Cortex M4,总线为哈佛结构。CPU可以通过IBUS和DBUS对Flash器件进行访问。Flash控制器结构框图如图6所示。

基于IAP流程的两片Flash拼接的Flash控制器方案设计

Flash控制器实现了CPU对Flash器件的读、写和擦除。支持CPU在Flash中执行程序的同时可以对Flash其他区域进行擦写。Flash支持在大于1 MHz的多种频率下能对Flash器件进行擦写。

Flash控制器包含地址映射控制模块、SFR模块、状态机控制模块、时序转化模块。地址映射控制模块用于在线升级时对AHB访问地址进行映射;SFR模块用于Flash控制器的模式控制选择,配置和状态寄存器寄存等;状态机控制模块用于Flash控制器对各种模式的工作状态控制;时序转换模块用于根据状态机的当前状态来产生对应的Flash器件的时序。

2.2 状态机设计

Flash控制器的状态机如图7所示,包含9个状态,INIT状态完成Flash上电启动,init_done之后进入READ状态。READ状态下支持AHB总线读操作。

基于IAP流程的两片Flash拼接的Flash控制器方案设计

如果要执行擦写,第一步则在READ状态下配置SFR模块的模式寄存器(PROG或者SEC_ERASE或者CHIP_ERASE),然后状态机跳转至WAIT_WR状态(注:在WAIT_WR状态也支持AHB总线读操作)。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查