roboforum.ru

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


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

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

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

Сообщение contr » 22 окт 2009, 12:43

к чему такие сложности? Диод уже источник шумов. Его на вход АЦП и вешаем. А генераторы нужны когда МК АЦП не имеет.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

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

Сообщение Master » 22 окт 2009, 12:49

:ROFL: ну епта пособие как бороться с шумами. Типа если знаешь как сделать шум, то и будешь знать как с ним бороться.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

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

Сообщение avr123.nm.ru » 22 окт 2009, 12:52

contr писал(а):к чему такие сложности? Диод уже источник шумов. Его на вход АЦП и вешаем. А генераторы нужны когда МК АЦП не имеет.


Я ж предложил вообще ничего не подключать ко входу АЦП - к нему ведь и так 2 диода внутри подключены и еще куча полупроводников.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение boez » 22 окт 2009, 13:42

Да, а насчет ноги кварца - нужно только не забывать, что АЦП тактируется от него же, поэтому значение будет не таким уж случайным - но младшие биты конечно случайными будут.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

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

Сообщение contr » 22 окт 2009, 13:46

Встроенные защитные диоды как источник шумов использоваться не могут. Не зря же изготовитель снижает шумы АЦП, чтобы они не влияли на точность преобразования.
Нужен внешний "пинок", которым может быть как шина питания, так и диод в прямом включении – это классика.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

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

Сообщение avr123.nm.ru » 22 окт 2009, 13:56

Бредятина.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение Ku6opr » 23 окт 2009, 02:17

А если усложнить задачу: чтоб конечный пользователь не мог влиять не генерацию случайных чисел

Например, в этой статье рассказано об атаках через электропитание
http://dxdt.ru/2009/09/19/2635/
Аватара пользователя
Ku6opr
 
Сообщения: 50
Зарегистрирован: 19 май 2008, 12:04
Откуда: Украина, г. Харьков
прог. языки: C#, C++

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

Сообщение -= Александр =- » 23 окт 2009, 03:45

Просьба в моей теме не флудить и глупости всякие не придумывать.
Я думаю лучше всего разработать способ с минимумом внешних деталей, а лучше вообще без них.
Кто силен в теории статистики? Как я понимаю - генератор должен давать нам белый шум, без всяких перекосов и корреляций...

А единственная возможная атака по электросети - это 380 Вольт в розетку... :wink:
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

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

Сообщение boez » 23 окт 2009, 10:39

Генератор должен быть случайным. Хоть чуть-чуть. Остальное можно из него вытащить программно, взяв много измерений. Совсем без деталей - тут высказали интересную идею с ватчдогом - замерить точное время ресета, младшие биты этого времени могут быть вполне случайными из-за нестабильности генератора.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

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

Сообщение SSG » 23 окт 2009, 12:18

Ну так чем программная реализация не устраивает?
http://www.racal.ru/rsp/lfsr.htm
I live My life!
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

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

Сообщение blindman » 23 окт 2009, 12:24

Тем, что при каждом запуске одну и ту же последовательность выдаёт. Вопрос-то не в том, ка сделать генератор, а как его инициализировать.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

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

Сообщение contr » 23 окт 2009, 13:03

единственное преимущество WDT - вывод МК не занимаем, но за это в программе расплачиваться придется. Частоту считать, WDT сбрасывать ...
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

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

Сообщение Michael_K » 23 окт 2009, 15:38

boez писал(а):...тут высказали интересную идею с ватчдогом - замерить точное время ресета, младшие биты этого времени могут быть вполне случайными из-за нестабильности генератора...


Это я "высказал" :)
Они действительно хорошо шумят. Более того, поскольку время вотчдога настраивается -
можно получить хорошее распределение в нескольких битах сразу.

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

Естественно, это делается один раз при включении - дальше псевдослучайные генераторы неплохо справляются.

Это было нужно для случайного номера сетевого пакета - иначе сетки некоторые плохо работают.
Последний раз редактировалось Michael_K 23 окт 2009, 15:46, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

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

Сообщение SSG » 23 окт 2009, 15:40

Можно же при первом включении питания инициализировать программный генератор рандомом, а затем сохранять состояние генератора и при последующем запуске инициализировать сохраненными значениями.
В некоторых случаях для получения белого шума используют простейшие приемники не настроенные на какую-либо станцию. Деталей нужно минимум.
I live My life!
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

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

Сообщение Michael_K » 23 окт 2009, 15:42

инициализировать программный генератор рандомом

Вопрос в том, где его взять... этот рандом :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19