嗨,欢迎来到兆亿微波官方商城!
服务热线: 010-62975458  17600099251
购物车图片 购物车 ( )
全部商品分类

FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

2026/1/13 11:35:48
浏览次数: 1

FM33LE0 支持以下 Flash 编程方法:

•在系统编程(ISP):通过 FMSH 专用编程器或者 KEIL 用户界面实施芯片编程,使用 SWD 接口

•在应用编程(IAP):通过 bootloader 代码实现芯片自编程,用户可定义任意串口,可用于实现程序在线升级

编程前必须对 Flash 进行擦除。Flash 支持三种擦除操作:全擦、扇区擦、页擦

一、Flash 擦写时钟

执行 Flash 擦写时使用校准后的 RCHF 时钟,但是系统时钟可以是任意时钟。NVMIF 根据当前RCHF 实际频率设置,来产生相应的计时长度。需要支持的 RCHF 频率为 8M、16M 和 24M。

擦写时钟独立于 CPU 时钟,两者之间作为异步时钟处理。

二、Flash 擦写方法

FM33LE0 支持 Flash 擦除操作,以及单次编程和连续编程。

Flash 擦写前须进行 Key 校验,写入顺序错误或写入值错误,或者在 Flash Key 验证正确之前就进行擦除或编程 Flash 操作将会进入错误状态,并产生相应中断。Flash Key 认证错误之后将禁止擦写

Flash 直到下一次复位。而在正常擦写完成后,向 KEY 寄存器写入任意值都会使状态机返回初始的写保护状态。状态转换如下图:

FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

软件可以通过查询 FLSIF.KEYSTA 来确认当前 Key 输入状态。

三、全擦操作(Matrix Erase)

全擦操作只能由 SWD 接口启动,软件禁止进行全擦。全擦操作仅擦除 main array,不会擦除特殊信息扇区。SWD 可以在制造商或用户模式下启动全擦,操作流程如下:

•编程器通过 SWD 配置 ERTYPE 寄存器为 10

•编程器通过 SWD 清除 PREQ 寄存器,置位 EREQ 寄存器

•编程器通过 SWD 写入 Flash 全擦 Key:0x9696_9696 和 0x7D7D_7D7D

•SWD 向 Flash 任意地址写擦除请求 0x1234_ABCD

•芯片启动对 Flash 的全擦,并暂停任何 Master 对 Flash 的访问

•全擦完成后置位中断标志和全擦标志(全擦标志表示 main array 全部擦除,任何对 main array的编程将清除此标志)

•在全擦标志有效的情况下,SWD 可以任意擦写 NVR0,否则擦写 NVR0 被禁止并触发错误中断

•软件确认擦除结束后向 FlashKEY 寄存器写任意值恢复写保护

四、扇区擦操作(Sector Erase)

SWD 和应用代码都可以执行扇区擦。操作流程如下:

•配置 ERTYPE 寄存器为 00

•清除 PREQ 寄存器,置位 EREQ 寄存器

•写入 Flash 块擦 Key:0x9696_9696 和 0xEAEA_EAEA

•向需要擦除的 Page 内任意地址写擦除请求 0x1234_ABCD

•芯片检查目标扇区是否属于被 ACLOCK 锁定的 Block,如果没有锁定则启动对目标扇区的擦除,如果被锁定则触发错误标志

•扇区擦完成后置位中断标志

•软件确认擦除结束后向 FlashKEY 寄存器写任意值恢复写保护

五、页擦操作(Pgae Erase)

SWD 和应用代码都可以执行页擦。操作流程如下:

•配置 ERTYPE 寄存器为 00 或 11

•清除 PREQ 寄存器,置位 EREQ 寄存器

•写入 Flash 块擦 Key:0x9696_9696 和 0xEAEA_EAEA

•向需要擦除的扇区内任意地址写擦除请求 0x1234_ABCD

•芯片检查目标扇区是否属于被 ACLOCK 锁定的 Block,如果没有锁定则启动对目标扇区的擦除,如果被锁定则触发错误标志

•扇区擦完成后置位中断标志

•软件确认擦除结束后向 FlashKEY 寄存器写任意值恢复写保护

六、单次编程

单次编程由软件发起,通过总线直接写 Flash,每次操作只能执行 word 编程,操作流程如下:

•清除 EREQ 寄存器,置位 PREQ 寄存器

•清除连续编程使能寄存器

•写入 Flash 编程 Key:0xA5A5_A5A5 和 0xF1F1_F1F1

•向 Flash 目标地址写数据,如果目标地址被 ACLOCK 锁定,则触发错误标志,如果没有锁定,则执行编程

•编程完成后置位中断标志

•软件确认编程结束后向 FlashKEY 寄存器写任意值恢复写保护

七、连续编程

连续编程指通过 DMA 的 Memory 通道一次向 Flash 写入 half-sector(256 字节)。连续编程时 DMA从 RAM 指定地址读取数据,Flash 目标编程地址必须是 half-sector 对齐的,也就是 Flash 地址低 6位为 0。采用这种方式时一次编程的数据长度是固定的,主要用于快速大数据量写入。

在启动连续编程期间,DMA 完全占据 Flash 总线,暂停 CPU 对 Flash 的一切访问。连续编程的操作流程如下:

•清除 EREQ 寄存器,置位 PREQ 寄存器

•置位连续编程使能寄存器(DMA 模式使能)

•向 RAM 中写入 256 字节待编程数据

•配置 DMA 存储器通道,设定传输方向、读地址和写地址

•使能 DMA 存储器通道

•写入 Flash 编程 Key:0xA5A5_A5A5 和 0xF1F1_F1F1

•软件触发 DMA 存储器通道,DMA 连续 64 次读取 RAM 并对 Flash 编程,芯片每收到 1 个 word自动完成 4 次 byte program

•芯片检查被编程扇区是否被 ACLOCK 锁定,如果锁定则触发错误中断并通知 DMA 停止编程

•256 字节完全编程结束后产生中断,释放 Flash 总线

•软件确认编程结束后向 FlashKEY 寄存器写任意值恢复写保护

注意:如果 CPU 在 Flash 中取指时进行 Flash 擦写,则 CPU 取指将被暂停,直到擦写操作完成。如果 CPU 跳转到 RAM 中取指运行,则 Flash 擦写不会暂停 CPU 的执行。Flash 擦写过程中,若用户希望在 RAM 中执行代码时仍然能够实时响应中断,应将中断向量表重新映射到 RAM 中。

八、启动区交换(BootSwap)

BootSwap主要目的是,防止在系统更新启动代码时出现意外中断(停电、异常复位等),如果此时原来的启动代码已经被擦除,将导致芯片重启后无法正常运行。BootSwap功能通过编程informationpage3最低地址word实现。

BootSwap示意图如下:

FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

实现BootSwap功能后,假设启动代码占据0000~1FFF共8KB空间,系统升级时应先将新的启动代码写入2000~3FFF地址,然后使能BootSwap。此时有几种可能性:

•芯片擦写2000~3FFF地址时掉电,由于原来的启动代码还在,不会影响重启

•芯片成功写入boot program1,然后使能bootswap并执行软复位,芯片重启后将执行bootprogram1

•芯片擦写boot program0时掉电,由于boot program1已经写入,将不影响后续运行另一种BootSwap应用方法如下图,为了保证可靠的更新启动代码,使用2nd 8KB物理空间作为原来Boot程序的备份,如果编程期间发生异常掉电,则触发BootSwap:

FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

如果启动程序更新期间没有发生异常掉电,则可以不执行软复位,无需真正Swap,仅需在更新原来的Boot程序前使能BootSwap,成功更新后撤销BootSwap即可:
FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

推荐应用按照如下步骤升级:

•更新application program

•如需升级boot,先将新的boot程序写入第二个8KB空间

•配置information block,使能BootSwap

•执行软复位,重启后执行新的boot程序

•将第二个8KB空间改写为新的应用程序

逻辑地址对Flash物理地址的重映射由NVMIF模块完成,不论程序还是DEBUG都以逻辑地址进行访问。

寄存器标志(FLSIF.BTSF)来表示当前的Boot区是1st 8KB物理地址、还是2nd 8KB物理地址,用于给用户代码查询当前启动情况。

以上是关于其的一些相关信息,如有采购及选型需求,可联系兆亿微波电子元件商城

在线留言询价
推荐阅读
  • 点击次数: 0
    2026-02-04
    保护特性LT3042 集成了多项针对电池供电应用的保护特性。精密电流限制和热过载保护可防止 LT3042 在输出端发生过载和故障条件时损坏。正常工作时,结温不得超过 125°C(E-级、I-级)或 150°C(H-级、MP-级)。为保护 LT3042 的低噪声误差放大器,SET-TO-OUTS 保护钳位将 SET 与 OUTS 之间的最大电压限制在一定值,通过钳位的最大直流电流为 20mA。因此,对于 SET 由电压源主动驱动的应用,电压源必须限制在 20mA 或更小。此外,为限制瞬态故障条件下流过这些钳位的瞬态电流,SET 引脚电容(CSET)的最大值应限制为 22μF。LT3042 还集成了反向输入保护,IN 引脚可承受高达 -20V 的反向电压,而不会产生任何输入电流,也不会在 OUT 引脚产生负电压。该稳压器可保护自身和负载免受反向接入电池的影响。在需要备用电池的电路中,可能出现几种不同的输入/输出条件。当输入端被拉至 GND、某个中间电压或开路时,输出电压可能保持。在所有这些情况下,反向电流保护电路可防止电流从输出端流向输入端。然而,由于 OUTS-TO-SET 钳位的存在,除非 SET 引脚悬空,否则电流可以流过 SET 引脚电阻到 GND,以及通过输出过冲恢复电路流过高达 15mA 到 GND。通过在 OUTS 和 SET 引脚之间放置一个肖特基二极管(阳极在 OUTS 引脚),可以显著减小通过输出过冲恢复电路的电流。
  • 点击次数: 0
    2026-02-04
    过载恢复与许多 IC 电源稳压器一样,LT3042 集成了安全工作区(SOA)保护。SOA 保护在输入-输出差分电压大于 12V 时激活。随着输入-输出差分电压的增加,SOA 保护会降低电流限制,并将内部功率晶体管保持在安全工作区域内,适用于所有输入-输出电压值,直至 LT3042 的绝对最大额定值。LT3042 为所有输入-输出差分电压值提供一定水平的输出电流。有关详细信息,请参阅典型性能特性部分的电流限制曲线。首次上电且输入电压上升时,输出跟随输入,保持输入-输出差分电压较低,以使稳压器能够提供大输出电流并启动进入高输出负载。然而,由于电流限制折返,在高输入电压下,如果输出电压较低且负载电流较高,可能会出现问题。这种情况发生在短路移除后,或输入电压已开启后 EN/UV 引脚被拉高。在这种情况下,负载线与输出电流特性曲线在两个点相交。稳压器现在有两个稳定的工作点。由于这种双重交叉,输入电源可能需要循环降至零并重新上电以使输出恢复。其他具有折返电流限制保护的线性稳压器(如 LT1965 和 LT1963A 等)也表现出这种现象,因此这并非 LT3042 独有。
  • 点击次数: 0
    2026-02-04
    PSRR 与输入电容对于利用 LT3042 作为开关转换器后级稳压的应用,直接在 LT3042 输入端放置电容会导致交流电流(在开关频率下)在 LT3042 附近流动。这种相对较高的高频开关电流产生磁场,耦合到 LT3042 的输出端,从而降低其有效 PSRR。虽然高度依赖于 PCB 设计,但开关前级稳压器、输入电容等因素导致的 PSRR 衰减在 1MHz 时很容易超过 30dB。即使将 LT3042 从电路板上拆下,这种衰减依然存在,因为它实际上降低了 PCB 板本身的 PSRR。虽然对于传统低 PSRR 的 LDO 可以忽略,但 LT3042 的超高 PSRR 需要仔细注意高阶寄生效应,以提取稳压器提供的全部性能。为减轻 LT3042 附近高频开关电流的流动,只要开关转换器的输出电容距离 LT3042 超过一英寸,就可以完全移除 LT3042 的输入电容。磁耦合随距离增加而迅速减小。然而,如果开关前级稳压器距离 LT3042 太远(保守估计超过几英寸),且没有输入电容,与任何稳压器一样,LT3042 的输入端将在寄生 LC 谐振频率处振荡。此外,通常非常常见(且是首选做法)的做法是用一定容值的电容旁路稳压器输入端。因此,此选项在其适用范围内相当有限,并非最理想的解决方案。为此,LTC 建议使用 LT3042 演示板(DC2246B)布局以实现最佳可能的 PSRR 性能。LT3042 演示板布局利用磁场抵消技术来防止这种高频电流流动引起的 PSRR 衰减——同时保留输入电容的使用。
  • 点击次数: 0
    2026-02-04
    稳定性与输出电容LT3042 需要输出电容来保证稳定性。鉴于其高带宽,LTC 建议使用低 ESR 和低 ESL 的陶瓷电容。为保证稳定性,需要最小 4.7μF 的输出电容,ESR 低于 50mΩ,ESL 低于 2nH。鉴于使用单个 4.7μF 陶瓷输出电容即可实现的高 PSRR 和低噪声性能,更大的输出电容值仅略微改善性能,因为稳压器带宽随输出电容增加而降低——因此,使用大于最小 4.7μF 的输出电容几乎没有收益。尽管如此,更大的输出电容值确实可以减小负载瞬态期间的峰值输出偏差。注意,用于去耦 LT3042 供电的各个元件的旁路电容会增加有效输出电容。需额外考虑所用陶瓷电容的类型。它们采用多种电介质制造,每种在温度和施加电压下具有不同的特性。最常用的电介质具有 EIA 温度特性代码 Z5U、Y5V、X5R 和 X7R。Z5U 和 Y5V 电介质适合在小封装中提供高电容值,但它们往往具有更强的电压和温度系数,如图 4 和图 5 所示。当用于 5V 稳压器时,16V 10μF Y5V 电容在工作温度范围内,在施加的直流偏置电压下,有效值可低至 1μF 至 2μF。X5R 和 X7R 电介质具有更稳定的特性,因此更适合 LT3042。X7R 电介质在温度范围内具有更好的稳定性,而 X5R 成本较低且可提供更 高容值。尽管如此,使用 X5R 和 X7R 电容时仍需谨慎。X5R 和 X7R 代码仅指定工作温度范围和温度引起的最大电容变化。虽然 X5R 和 X7R 因直流偏置引起的电容变化优于 Y5V 和 Z5U 电介质,但仍可能显著降低到不足水平。如图 6 所示,电容器的直流偏置特性往往随元件封装尺寸增大而改善,但强烈建议在工作电压下验证预期电容值。附图:
  • 点击次数: 0
    2026-02-04
    一、概述SGM2211 是一款采用 CMOS 技术设计的低噪声、高 PSRR、快速瞬态响应、低压差线性稳压器。它提供 500mA 输出电流能力。工作输入电压范围为 2.7V 至 20V。可调输出电压范围为 1.2V 至 (VIN - VDROP)。其他功能包括逻辑控制关断模式、短路电流限制和热关断保护。SGM2211 具有自动放电功能,可在禁用状态下快速放电 VOUT。SGM2211 采用绿色 TDFN-2×2-6AL 和 SOT-23-5 封装。它的工作温度范围为 -40℃ 至 +125℃。二、特征工作输入电压范围:2.7V 至 20V固定输出电压:1.2V、1.5V、1.8V、2.5V、2.8V、3.0V、3.3V、3.8V、4.2V 和 5.0V可调输出:1.2V 至 (VIN - VDROP)(对于 TDFN 封装,输出电压可在初始固定输出电压之上调节)输出电流:500mA输出电压精度:25°C 时 ±1%低静态电流:43μA(典型值)低压差电压:500mA、VOUT = 5.0V 时为 360mV(典型值)低噪声:VOUT = 1.2V 时为 9.3μVRMSVOUT = 2.8V 时为 11μVRMSVOUT = 5.0V 时为 14μVRMS高 PSRR(VIN = VOUT(NOM) + 1V):1kHz 时为 100dB(典型值)10kHz 时为 83dB(典型值)100kHz 时为 52dB(典型值)1MHz 时为 55dB(典型值)电流限制和热保护优异的负载和电源瞬态响应带输出自动放电功能可采用小尺寸陶瓷电容稳定工作可编程软启动(仅 TDFN 封装)关断电源电流:1.2μA(典型值)VOUT VIN 时反向电流保护VOUT 对 GND 短路时折返电流限制保护可编程精密使能工作温度范围:-40°C 至 +125&...
热门分类
关于我们

───  公众号二维码  ───

兆亿微波商城微信公众号

兆亿微波商城www.rfz1.com是一个家一站式电子元器件采购平台,致力于为广大客户提供高质量、高性能的电子元器件产品。产品覆盖功放器件、射频开关、滤波器、混频器、功分器、耦合器、衰减器、电源芯片、电路板及射频电缆等多个领域,平台主营业务涵盖电子元器件现货销售、BOM配单及提供产品配套资料等,为客户提供一站式供应链采购服务。 

  • 品质 • 正品行货 购物无忧
  • 低价 • 普惠实价 帮您省钱
  • 速达 • 专业配送 按时按需
Copyright ©2020 - 2021 兆亿微波科技有限公司
X
1

QQ设置

    1
3

SKYPE 设置

4

阿里旺旺设置

5

电话号码管理

电话 电话 电话
010-62975458
    1
6

二维码管理

    1
返回顶部
展开