roboforum.ru

Технический форум по робототехнике.

AVR - Генерация случайного числа

Re: AVR - Генерация случайного числа

contr » 23 окт 2009, 16:54

поскольку время вотчдога настраивается - можно получить хорошее распределение в нескольких битах сразу.

Не совсем так. RC генератор WDT имеет некоторую нестабильность, которая не меняется от прогона через делители МК.

Re: AVR - Генерация случайного числа

boez » 23 окт 2009, 18:39

SSG писал(а):В некоторых случаях для получения белого шума используют простейшие приемники не настроенные на какую-либо станцию. Деталей нужно минимум.


Вообще чтобы сделать генератор шума на АЦП, деталь нужна одна (стабилитрон на землю, бита 2-3 шума точно даст), подтяжку ему программную. Ну на крайняк еще резистор на питание. Обсуждение идет - можно ли прменить 0 деталей. А у приемника, не настроенного ни на какую станцию, сколько деталей будет?

Re: AVR - Генерация случайного числа

avr123.nm.ru » 23 окт 2009, 19:05

Если стабилитрон к питанию подключить и "при-тянуть" его резистором к земле то еще и шум по питанию добавим на АЦП - все польза :good:

Re: AVR - Генерация случайного числа

Michael_K » 23 окт 2009, 20:20

contr писал(а):
поскольку время вотчдога настраивается - можно получить хорошее распределение в нескольких битах сразу.

Не совсем так. RC генератор WDT имеет некоторую нестабильность, которая не меняется от прогона через делители МК.

Что-то я не понял этого посыла...

Допустим, нестабильность +-1 процент. Пусть вотчдог при маленьком делителе сработает через секунду.
За секунду наш счетчик досчитает до тысячи (+-1% = +-10 LSB)

А если делитель на вотчдог поставить больше, то он сработает через 10 секунд
И мы досчитаем до десяти тысяч (+-1% = +-100 LSB) - то есть получим больше
случайных битов.

И опять же... contr, у меня приборы с подобным алгоритмом
массово заказчиком выпускаются уже лет семь.
Я тут не сочиняю про всякие "приемники на диодах"
- я говорю о решениях, проверенных практикой.

Re: AVR - Генерация случайного числа

Drunya » 24 окт 2009, 19:45


Re: AVR - Генерация случайного числа

Michael_K » 24 окт 2009, 20:18

Как делали в Texas Instruments:

По первой ссылке ПСЕВДО-случайный генератор - ничего особенного.
По второй - да, это оно. Используется рассинхронизация часов.

Re: AVR - Генерация случайного числа

contr » 24 окт 2009, 20:32

Я тут не сочиняю про всякие "приемники на диодах"

Так и не я такие генераторы шума придумал - это классика жанра. А уж будет это просто диод, LED или стабилитрон не столь важно. Только шумы питания к стабилитрону не приплюсуются. Там делитель ~1/100 получается, да еще и емкости по питанию.
…у меня приборы с подобным алгоритмом

Вы отклонение частоты/периода измеряете, а оно относительное и не меняется от прогона через делители. Вот многократный замер действительно позволяет накопить погрешность.

Re: AVR - Генерация случайного числа

Michael_K » 24 окт 2009, 21:02

contr, Вы вообще о чем говорите?
Многократный замер с суммированием результатов - это то же самое, что и длинный замер.
Длина замера зависит от времени срабатывания вотчдога.
При чем здесь делители?

Re: AVR - Генерация случайного числа

Madf » 13 фев 2012, 15:52

Помню в Спектруме был самый лучший генератор случайных чисел (но то г, что было на ПиСюке). Возможно нечто подобное можно реализовать, допустим можно использовать таймер с максимальным приоритетом, при запуске которого будет выполняться код читающий значение адреса стека + xor с содержимого его + добавим счетчик (от 0 до 255, если 8-бит).
Просто читать с неба через АЦП или другие вещи числа - не вариант, т.к. хорошее случайное число должно по хорошему покрывать весь спектр чисел и никогда не повторяться - это в идеале.
В описанном выше алгоритме будет всегда и у всех выходить разное число, т.к. все программные коды у друг-друга разные + можно задавать задержку перед запуском основного кода после запуска таймера.
При таком подходе не гарантируется покрытие всего спектра случайных чисел, но точно сводится к минимум повторения у всех одной и той же последовательности, т.к. значения хар-к таймера + задержка после опроса значений у всех могут быть разные.
В любом случай надо пробовать.


Rambler\'s Top100 Mail.ru counter