国芯科技CCFC3008PCS BIST (内建自测试) 分析总结

一、BIST 概述

CCFC3008PCS 芯片包含三类 BIST 功能,均由 STCU2(Self-Test Control Unit 2) 硬件模块统一管理:

|-------------|---------------------------|--------------------------|
| 类型 | 全称 | 测试对象 |
| LBIST | Logic Built-In Self Test | 数字逻辑电路 |
| MBIST | Memory Built-In Self Test | SRAM / ROM 存储器 |
| RC BIST | RC Oscillator BIST | 内部 RC 振荡器(FIRC / SIRC)校准 |

此外,PMCDIG 模块中还有 Power BIST (PBIST) 寄存器(PMCDIG_PBIST),用于电源相关自检。


二、BIST 运行模式

2.1 Off-Line 模式(离线自检)

  • 触发时机 :芯片上电复位后,在用户应用程序启动之前自动执行
  • 配置来源:通过 SSCM DCF 总线从 Flash 中读取预存的 BIST 调度参数
  • 执行流程

    1. 复位事件触发 STCU2 初始化
    1. 写入 Security Key(Key1/Key2)解锁 STCU2 寄存器
    1. 编程 MBIST/LBIST Pindex(STCU2_PDR)
    1. 如需使用 PLL,配置 STCU2_PLL_CFG
    1. 配置看门狗定时器 STCU2_WDG
    1. 设置 STCU2_CR 使能 Off-line LBIST / MBIST
    1. 软件读取 STCU2_STS 状态寄存器检查 pass/fail

2.2 On-Line 模式(在线自检)

  • 触发时机:系统正常运行期间,由软件触发
  • 配置来源:通过 IPS 总线由 CPU 编程
  • 同样支持 LBIST 和 MBIST 的在线执行

2.3 Bypass 模式

  • 设置 STCU2_CRBYP 位可跳过自检流程
  • 适用于非安全关键型应用场景
  • 跳过自检后,核心时钟关闭,系统唤醒进入用户应用

三、BIST 各阶段详细说明

3.1 LBIST(逻辑内建自测试)

测试对象:芯片数字逻辑电路

执行特点

  • 支持并发/顺序执行多个 LBIST 分区
  • ⚠️ 不能同时在多个分区上执行 LBIST
  • 不能与 MBIST 同时执行
  • 每个 NMCUT BIST 在一次会话中只能运行一次

重复策略(STCU2_TE2LBIST_TIMES):

  • 00b:执行 1 次
  • 01b:执行 1 次
  • 10b:执行 1 次
  • 11b:首次失败时再执行 1 次(共最多 2 次)

结果状态(STCU2_STS):

  • LB_F:LBIST 通过/失败
  • LB_WDTO:LBIST 看门狗超时
  • LB_D:LBIST 执行结束

3.2 MBIST(存储器内建自测试)

测试对象:SRAM 和 ROM 存储器

执行特点

  • 支持并发/顺序执行
  • 不能与 LBIST 同时执行
  • 每个 NMCUT BIST 在一次会话中只能运行一次
  • 可通过 PLL 加速执行(设置 STCU2_CRBPLLEN

重复策略(STCU2_TE2MBIST_TIMES):

  • 同 LBIST,11b 时首次失败可重试一次

结果状态(STCU2_STS):

  • MB_F:MBIST 通过/失败
  • MB_WDTO:MBIST 看门狗超时
  • MB_D:MBIST 执行结束

3.3 RC BIST(RC 振荡器校准自检)

测试对象:FIRC(快速内部 RC 振荡器)和 SIRC(慢速内部 RC 振荡器)

关键寄存器(Chapter 31.3):

|--------------|-------------------------------------------|
| 寄存器 | 功能 |
| Rc_bist1 | 设置 BIST 时钟计数器目标值 |
| Rc_bist2 | 设置测试时钟计数器目标值和粗调 margin |
| Rc_bist3 | BIST 控制:启动、模式选择、RC 选择、使能 |
| Rc_bist4_res | 测试时钟计数结果和细调 margin |
| Rc_bist_res | BIST 结果:DONE、PASS、CTRIM/FTRIM/TEMPTRIM 结果 |

工作模式

  • Trim 模式:自动校准振荡器频率
  • Trace 模式:跟踪/监测振荡器频率

校准结果写入

  • CTRIM 结果 → FIRC_TRIM / SIRC_TRIM 的 CTRIM 字段
  • FTRIM 结果 → FIRC_TRIM / SIRC_TRIM 的 FTRIM 字段
  • TEMPTRIM 结果 → FIRC_TRIM / SIRC_TRIM 的 TEMPTRIM 字段

四、对芯片产生的影响

4.1 复位影响

关键影响 :Off-Line 自检结束后,STCU2 会触发全局功能复位(Global Functional Reset)

  • 复位行为可通过 STCU2_LBRM 寄存器逐分区配置
  • 每个 LBIST 分区有对应的 LBRMx 位:

    • 0:Off-Line LBIST 结束后触发全局功能复位
    • 1:Off-Line LBIST 结束后触发全局功能复位
  • 还有 LBDRCx 位控制复位依赖关系(直接复位 vs. 依赖 BIST 结果)

4.2 故障报告

STCU2 通过 FCCU 接口向系统报告故障:

|-----------------------------|--------|--------------|
| 故障类型 | 含义 | 处理方式 |
| UF(Unrecoverable Fault) | 不可恢复故障 | 严重故障,需要系统级复位 |
| RF(Recoverable Fault) | 可恢复故障 | 可尝试恢复 |

  • BIST 失败和 STCU2 内部错误均可配置为 UF 或 RF
  • 故障信号连接到 FCCU,进一步触发 IRQ、NMI 或 Reset
  • 支持故障注入机制,用于验证 UF/RF 连接线完整性

4.3 时钟影响

  • BIST 执行期间,STCU2 可直接控制 PLL
  • 通过 PLL 加速 MBIST/LBIST 执行
  • PLL 锁定信号被监控,BIST 会等待 PLL 锁定后切换时钟源
  • BIST 结束后时钟源恢复到原始配置

4.4 看门狗保护

  • 初始化看门狗:硬编码超时,防止 STCU2 初始化阶段卡死
  • BIST 执行看门狗 (STCU2_WDG):可编程超时,监控 LBIST/MBIST 是否在规定时间内完成

    • 超时后当前 BIST 被中断,标记失败
    • 顺序执行时,超时后后续 BIST 被跳过

4.5 启动时间影响

  • Off-Line BIST 会延长芯片启动时间
  • 可通过 Bypass 模式跳过,缩短启动时间
  • BIST 调度可通过 Pindex 灵活配置,选择需要执行的测试项

4.6 设计限制

  • LBIST 和 MBIST 不能同时执行
  • 每个 NMCUT BIST 在一次会话中只能运行一次
  • 不能同时在多个分区上执行 LBIST
  • SSCM 写入的寄存器在 Off-Line 阶段不可被覆盖

五、相关寄存器汇总

|--------|--------------------------|-------------------------------|
| 模块 | 寄存器 | 功能 |
| STCU2 | STCU2_CR | 控制寄存器:BYP、RUN、PLL使能、L/MBIST使能 |
| STCU2 | STCU2_SKC | 安全密钥寄存器 |
| STCU2 | STCU2_PDR | Pindex 调度寄存器 |
| STCU2 | STCU2_PLL_CFG | PLL 配置 |
| STCU2 | STCU2_WDG | 看门狗定时器 |
| STCU2 | STCU2_STS | 状态寄存器:L/MBIST 完成/通过/超时 |
| STCU2 | STCU2_LBRM | LBIST 复位管理 |
| STCU2 | STCU2_TE1/TE2 | 超时配置和重复次数 |
| PMCDIG | PMCDIG_PBIST | Power BIST 寄存器 |
| PMCDIG | PMCDIG_STCU_CR0/CR1 | STCU 配置寄存器 |
| IRCOSC | Rc_bist1~4, Rc_bist_res | RC BIST 控制和结果 |

相关推荐
用户0510122572965 小时前
Linux下有关QT显示环境变量设置
linux·嵌入式
K成长日志6 小时前
BLE链路层-Feature Support
网络·嵌入式·无线通信·蓝牙·iot·ble
捷瑞电子工坊10 小时前
嵌入式蓝桥杯从零点亮第一个LED
stm32·蓝桥杯·cubemx·嵌入式·led·ll·锁存
youyou-060621 小时前
Classic AUTOSAR 中 CAN 协议栈整体架构
mcu·面试·汽车
嵌入式阿蔡1 天前
智能家居互联2026:Matter、Thread与嵌入式开发的新范式
嵌入式
花 满 楼1 天前
HSM自学之路——阶段 1 密码学算法分类与原理
嵌入式·hsm
优信电子1 天前
STM32 驱动 DHT30 测量环境温湿度(兼容SHT30):从时序解析到完整代码实战
stm32·嵌入式·传感器·sht30·温湿度·环境测量·dht30
剑指offer.1 天前
嵌入式硬件-ARM芯片的启动
c语言·嵌入式硬件·嵌入式
晊晌_h1 天前
ARM 学习 |ARM 汇编指令实战笔记
嵌入式·arm·arm汇编
嵌入式阿蔡1 天前
ROS2嵌入式量产2026:从科研原型到工业部署
嵌入式