真随机数生成器TRNG外设模块详解
简介
国产车规微控制器原厂云途半导体设计和发售的YTM32ME微控制器上集成的真随机数生成器TRNG(True Random Number Generator)外设模块,是一个可生成256位随机数的硬件模块,生成的随机数将用于数据加解密等应用场景。在功能安全相关的系统中,随机数也可以作为生成加密算法的种子数据的生成器。
原理与机制
TRNG包含了一个回环振荡器(Ring Oscillator)、一个随机比特流搜集器(Random Bits Collector)、一个时钟监测器(Clock Monitor)和一个错误检测器(Fault Detector)。有内部结构系统框图,如图x所示。

其中,回环振荡器是随机噪声的高速时钟信号源,它对环境状况非常敏感,例如温度、电压、电磁干扰,以及别的潜在的噪声源。这些噪声可以引起回环振荡器输出时钟频率产生微弱的、连续的和随机的变化,每个振荡时钟周期会产生非常微小的变化,因此,使用功能时钟信号(的上升沿)对回环振荡器时钟信号进行采样,得到的逻辑电平值,每次都是随机不确定的。这就是随机特性的最初来源。
随机比特位流搜集器的核心是一个定时器和一个计数器。其中,定时器的计数时钟源来自于外部的功能时钟,计时周期数量可由软件配置(TRNG_SDCTL[ENT_DLY])。在定时器启动的同时,计数器也复位并开始启动,当定时器的周期数达到软件预先配置的数量时,使用功能时钟的上升沿对回环振荡器产生的高速时钟信号进行采样得到一个比特的逻辑值,会被送到随机数数据移位寄存器中并参与移位过程,如此周而复始,后续送入足够多的随机比特,形成比特流。
时钟监测器

本文详细介绍了国产云途半导体在YTM32ME微控制器上集成的真随机数生成器TRNG的工作原理、机制,包括时钟源、中断源、初始化过程和数据生成。重点阐述了其应用要点和软件支持情况。
最低0.47元/天 解锁文章
567

被折叠的 条评论
为什么被折叠?



