HA01 MCAL中使用TRNG模块获取随机数
-
TRNG获取随机数时想要尽量缩短请求的时间(只需要获取3字节的随机数)
目前根据MCAL中的Crypto_demo例子
(slow_bus_clk为24M,samp_size为0x200)
在sample_size和slow_bus_clk都不变的前提下通过修改eny_dly缩短时间,eny_dly修改为0x80、0x100、0x200都可以获取到随机数
eny_dly为0x80时(5ms获取一次):
复位后连续获取1w次,重复的随机数出现2次、4次、8次(共测了3轮共计3w次)
复位后获取1000次再复位共计10轮1w次,重复的随机数出现3次、2次、5次(共测了3轮共计3w次)
eny_dly为0x100时(10ms获取一次):
复位后连续获取1w次,重复的随机数出现5次、6次、2次(共测了3轮共计3w次)
复位后获取1000次再复位共计10轮1w次,重复的随机数出现1次、3次、1次(共测了3轮共计3w次)
eny_dly为0x200时(20ms获取一次):
复位后连续获取1w次,重复的随机数出现4次、6次、1次(共测了3轮共计3w次)
复位后获取1000次再复位共计10轮1w次,重复的随机数出现3次、0次、4次(共测了3轮共计3w次)
问题1:
理论eny_dly设置越大重复率应该越低,为什么效果不太明显呢?(也有可能是测试的样本数量不够,YT这边是否有相应的测试数据?)
问题2:
我尝试保持eny_dly和slow_bus_clk不变修改sample_size为0x20、0x80、0x100时获取到的随机数都是相同的,是不是有哪个地方没有修改对?
代码如下:


快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...






