<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ATmega1 28單片機(jī)的真隨機(jī)數(shù)發(fā)生矗

          ATmega1 28單片機(jī)的真隨機(jī)數(shù)發(fā)生矗

          作者: 時(shí)間:2009-12-16 來(lái)源:網(wǎng)絡(luò) 收藏


          引 言
          數(shù)已廣泛地應(yīng)用于仿真、抽樣、數(shù)值分析、計(jì)算機(jī)程序設(shè)計(jì)、決策、美學(xué)和娛樂(lè)之中。常見(jiàn)的數(shù)器有兩種:使用數(shù)學(xué)算法的偽數(shù)器和以物理隨機(jī)量作為源的真隨機(jī)數(shù)發(fā)生器。要獲取真正隨機(jī)的真隨機(jī)數(shù),常使用硬件隨機(jī)數(shù)發(fā)生器的方法來(lái)獲取。這些真隨機(jī)數(shù)都是使基于特定的真隨機(jī)數(shù)發(fā)生源(如熱噪聲、電流噪聲等),每次獲取的真隨機(jī)數(shù)都是不可測(cè)的,具有很好的隨機(jī)性。
          真隨機(jī)數(shù)因其隨機(jī)性強(qiáng),在數(shù)據(jù)加密、信息輔助、智能決策和初始化向量方面有著廣泛應(yīng)用,構(gòu)建一種基于硬件真隨機(jī)數(shù)發(fā)生源,具有廣泛的應(yīng)用價(jià)值。但目前硬件真隨機(jī)數(shù)發(fā)生源均較復(fù)雜,而且很少有基于的真隨機(jī)數(shù)發(fā)生器。本文利用RC充放電的低穩(wěn)定度,根據(jù)AVR的特點(diǎn)設(shè)計(jì)了一種性?xún)r(jià)比極高的真隨機(jī)數(shù)發(fā)生器。該隨機(jī)數(shù)發(fā)生器使用元件很少,穩(wěn)定性高,對(duì)一些價(jià)格敏感的特殊場(chǎng)合,如金融、通信、娛樂(lè)設(shè)備等有較大的應(yīng)用意義。

          本文引用地址:http://www.ex-cimer.com/article/173517.htm


          1 基本原理和方法
          1.1 基本原理
          串聯(lián)的RC充放電電路由于受到漏電流、電阻熱噪聲、電阻過(guò)剩噪聲、電容極化噪聲等諸多不確定性因素的影響,其充放電穩(wěn)定度一般只能達(dá)到10-3。利用這種RC充放電的低穩(wěn)定度特性實(shí)現(xiàn)廉價(jià)的真隨機(jī)數(shù)發(fā)生源。
          Atmel公司AVRATmega 128以其速度快、功能強(qiáng)、性?xún)r(jià)比高等優(yōu)點(diǎn)廣泛應(yīng)用于各種嵌入式計(jì)算場(chǎng)合。利用AVR單片機(jī)引腳配置靈活多樣的特點(diǎn),使用Amnega128兩個(gè)I/O口作為真隨機(jī)數(shù)的電氣接口。
          其原理如圖1所示。主要原理是利用串聯(lián)RC電路的不確定性產(chǎn)生真隨機(jī)數(shù)源,收集數(shù)據(jù),通過(guò)AVR單片機(jī)28和主時(shí)鐘電路量化RC電路的充放電時(shí)問(wèn),獲得不確定的2位二進(jìn)制數(shù)據(jù),再利用程序?qū)⒚?次采集的數(shù)據(jù)綜合,最后產(chǎn)生1個(gè)8位的真隨機(jī)數(shù)。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();