新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ATmega1 28單片機的真隨機數發生矗

        ATmega1 28單片機的真隨機數發生矗

        作者: 時間:2009-12-16 來源:網絡 收藏

        1.2 方 法
        1.2.1 RC電路充放電過程
        I/O口配置策略為:PG3 口(第18腳)作為充電輸出口,PG4 口(第19腳)作為檢測輸入口。當PG3輸出為高時,輸出電流通過電阻對電容進行充電;當PG3輸出為低時,電容通過電阻放電。PG4用于檢測電容上的電平狀態。充放電過程如圖2所示。

        1.2.2 AVR獲得不確定的2位二進制數據
        AVR主時鐘采用普通晶體振蕩器。用該主時鐘來測量RC電路的充放時間,用AVR的定時器(1個16位定時器)來量化充放電時間。由于主時鐘的周期遠遠小于RC充放電時間,觀察實驗數據,最低2位二進制有效數字具有不確定性。以下為AVR單片機定時器對外部RC電路進行3次充電和2次放電所花時間的量化值:
        1597 1588 1584 1588 1588
        1589 1588 1589 1584 1589
        1589 1589 1589 1584 1589
        1584 1588 1588 1588 1588
        1588 1588 1589 1589 1587
        1596 1588 1588 1589 1589
        1589 1588 1588 1588 1589
        1588 1584 1589 1589 1589
        1589 1589 1588 1588 1588
        1588 1589 1588 1588 1588
        1588 1584 1589 1588 1588
        1588 1589 1589 1588 1589
        1589 1589 1588 1588 1588
        1588 1588 1589 1588 1590
        1588 1589 1588 1588 1588
        1597 1589 1588 1597 1587
        1588 1588 1587 1588 1588
        1588 1588 1588 1588 1588
        1589 1589 1589 1588 1589
        1588 1588 1589 1588 1588
        1588 1588 1588 1588 1588
        1588 1588 1589 1588 1589
        1596 1589 1588 1589 1588
        1588 1588 1588 1589 1584
        1589 1589 1589 1588 1585
        1589 1588 1588 1588 1589
        1589 1588 1589 1588 1588
        1589 1589 1589 1588 1597
        1589 1588 1589 1589
        1.2.3 程序設計
        由以上數據統計特征可見,每次測量結果僅有兩位不確定二進制數據。為了產生1個8位數據,設計了C語言程序控制專用函數測量4次,每次得到了2個二進制數,這樣調用該函數1次即可得到1字節的數。
        主要程序如下:



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁南县| 台安县| 安丘市| 广水市| 公主岭市| 都安| 界首市| 铜山县| 南漳县| 赤城县| 嵊泗县| 青田县| 岳阳县| 遂平县| 琼海市| 汉源县| 邛崃市| 阿图什市| 民和| 临汾市| 称多县| 新和县| 澄江县| 增城市| 舒兰市| 贵南县| 炎陵县| 肇东市| 会东县| 弋阳县| 抚宁县| 东乡县| 道真| 句容市| 彩票| 陵川县| 海阳市| 当阳市| 冕宁县| 德钦县| 张家川|