大家好。
该文档描述了 TCK 可能对意外噪声敏感(数据表4.4页+参考手册5.4页)。
此外,参考手册还声明:
如果不能保证这种活动不会发生, 建议使用强大的外部上拉电阻、甚至通过零欧姆电阻器将引脚短接至电源电压 。 上拉电阻的大小或引脚是否短接至电源电压将在稳健性与意外外部活动之间以及是否需要可访问的调试端口之间进行权衡。 如果通过将 TCK 引脚短接至电源电压来禁用该引脚、则必须使用引导加载程序完成闪存编程。
但另一个段落,即参考手册8.1.1页说,引导加载程序不够安全,无法在生产中使用:
ROM 引导加载程序支持可以读取闪存映像的命令 。 因此实现了这种读取能力、从而提供了禁用引导加载程序的安全措施。 如果使用 CCFG bootloader_enable 参数禁用了引导加载程序,则引导加载程序将无法执行任何命令,如果强制 Cortex
-M3程序计数器(PC)从引导加载程序代码执行,则会阻止攻击者使用引导加载程序。
我们的一个原型存在这种拾取的噪声问题、但比数据表中所述的更严重。 在本例中:
1) DUT 从强大的市电负载开关(几千瓦)中选择噪声
2) 发生 POR
3) 3)由于 POR 期间存在噪声、它会卡在 POR 状态、永远不会到达固件
我们提出了一些权变措施:
1)从 TCLC 到 GND 的120pF
2)从 TCKC 到+VDDS 为1k
3)从 TCKC 到+VDDS 的1k + 120pF (120pF 可传递优于1k 的高频噪声)
4) 1+2组合
我们已经对第一个进行了测试、这可以缓解问题。 其他备选方案 正在评价中。
总之、我们希望您能够找到一种合适的方法来缓解设计中的此类问题。 从引导加载程序来看、描述似乎不适合生产阶段、因此最终我们要处理 DUT 的抗噪性和编程能力之间的权衡。