搜索
bottom↓
回复: 9

请教一个用Atmage 32做随机函数的问题

[复制链接]

出0入0汤圆

发表于 2008-3-15 14:23:54 | 显示全部楼层 |阅读模式
目标:1.实现在不同的机器启动时产生随机码;
     2.实现同一台机器每次运行时产生随机码.
进展:目前使用stdlib.h中的rand(),srand()函数,种子采用TCNT0的值,每秒产生一个随机码数据;
     经观察实际产生的是一个复杂的数字序列:
         1.软件复位后每次产生的数字序列相同:
         2.端电后,再上电,有一定的几率产生相同的数字序列.
     我认为这可能与晶振起振时间有关.
     另一种方案是外部加一个可控的电容充电模块,通过模拟比较器,读出计数值作为随机种子;
     此方案我还没有动手做;由于硬件线路板的资源比较紧张,希望能有纯软件的解决方案,特此请教,谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2008-3-15 15:42:27 | 显示全部楼层
机器上有按键吗?在第一次按键时读TCNT0,产生种子.

不同的机器,相同的机器,开机后按键的时间是随机的.

出0入0汤圆

发表于 2008-3-15 16:32:47 | 显示全部楼层
按键的时间是随机的.
------------------------
以前没有想到。

出0入0汤圆

发表于 2008-3-15 18:04:12 | 显示全部楼层
这个需要保密的,否则用户按者按键开机,这招就不灵了.

还有就是每按一次键,就生成一个种子.

出0入0汤圆

发表于 2008-3-15 20:27:23 | 显示全部楼层
可以考虑将随机数种子写入EEPROM,每次启动是读取种子并初始化随机数发生器,种子+1后再写入EEPROM,这样就每次开机产生的随机数都不同了.还有一个办法是如果系统有实时钟,可以通过读取时间,把时间值作为种子.

出0入0汤圆

 楼主| 发表于 2008-3-16 09:57:00 | 显示全部楼层
设备没有人机界面,多台设备通过485总线与上位机相连,希望使用随机函数产生的随机数作为通讯地址.
这里谢谢4楼的建议,不过我这里好象用不到.:)

另外,设备上还有一路外部AD,我想是不是可以利用AD芯片执行单次转换的时间差来做种子,要试验一下.

出0入0汤圆

发表于 2008-3-16 11:01:59 | 显示全部楼层
"多台设备通过485总线与上位机相连,希望使用随机函数产生的随机数作为通讯地址."

这个设计好象有问题.因为485总线上的通信过程应该是主机发起控制的,从机即便能随机产生一个地址,主机如何知道?

出0入0汤圆

 楼主| 发表于 2008-3-16 11:26:25 | 显示全部楼层
主机通过广播口向从机发送重置通讯地址命令,收到命令后,从机通过随机函数产生通讯地址(排除掉一些广播口和保留端口).
一定的延时后主机以轮询方式查找从机,有应答的记录从机通讯地址,有冲突的通过广播口发送有限重置地址命令,从机收到此命令后,如被点到名(地址),不做反应;如没被点到名,记录下已占用的地址,并重置通讯地址(排除掉一些广播口和保留端口,及已占用的地址),此时,主机再做循环,几个循环下来就能完整全部从机的通讯地址设置,并在主机中保留全部从机的通讯地址列表.初次建网的话,时间长点可以接受.

我想这个问题的关键是从机的数量,以及随机函数的质量.

出0入0汤圆

 楼主| 发表于 2008-3-16 11:27:23 | 显示全部楼层
从机的数量事先知道.

出0入0汤圆

发表于 2008-3-16 12:10:26 | 显示全部楼层
这种方式做不好很危险,一般情况下物理地址最好别随便改,可以多加个管理地址的对应表
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 09:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表