Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 18.09.2010, 14:04   #21
DVD-RW
Временная регистрация
 
Аватар для DVD-RW
 
Регистрация: 26.06.2007
Сообщений: 71
Сказал спасибо: 7
Сказали Спасибо 41 раз(а) в 21 сообщении(ях)
DVD-RW на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

А если брать младший, или даже два младших разряда с 10-битного ацп с условием какой-нибудь полусантиметровой антеннки или любой детальки? Из них собирать целое число нужной длины. Скорость не ахти, зато случайность на высоте.
Реклама:
DVD-RW вне форума  
Непрочитано 18.09.2010, 15:50   #22
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Сообщение от makakus Посмотреть сообщение
Единственный вопрос - стартовое значение.
Когда то понадобилось случайное значение. Сделал так. При старте МК (это был 16F84. других с FLASH ещё не было) сгружал в EEPROM всю RАМ. А затем анализировал какие ячейки устанавливаются хаотично после подачи питания. Нашёл 3-5 ячеек. После старта сохранял эти значения и применял для формирования случайных чисел .
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
Непрочитано 19.09.2010, 03:19   #23
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Генератор случайных чисел на Atmel контроллере

Да чем вам псевдо-случайные не нравятся? Надо больше хаотичности - вызывайте его каждую миллисекунду. Это, правда, только если возвращаемый результат зависит от времени, напрмер, человек нажимает кнопку - выдаётся результат. Если результат надо выдавать строго каждые 10 секунд, например, то придётся хитрить
Godzilla82 вне форума  
Непрочитано 19.09.2010, 16:20   #24
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Ёлки зелён.. да если есть "кнопка+чел"-никто даже и не заморачивается ....а вот если система закрытая-вот суть проблемы.А если вдруг ? - нужно распределение , допустим не Белое , а Розовое..или- "Фиолетовое" ...
Upd . Простейший пример ...Игровой автомат - при "Белом"- Игрок и Хозяин -50\50 расходятся.Для Прибыли- нужно Распределение сместить в одну сторону.(Пример Абсолютно утрирован...но смысл-понятен)

Последний раз редактировалось OlegNZH; 19.09.2010 в 16:24.
OlegNZH вне форума  
Непрочитано 19.09.2010, 21:57   #25
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Генератор случайных чисел на Atmel контроллере

Сообщение от OlegNZH Посмотреть сообщение
Upd . Простейший пример ...Игровой автомат - при "Белом"- Игрок и Хозяин -50\50 расходятся.Для Прибыли- нужно Распределение сместить в одну сторону.(Пример Абсолютно утрирован...но смысл-понятен)
PHP код:
value pseudo_random(100);
switch(
mode)
{
case 
pribilporog 70; break;
case 
porovnuporog 49; break;
case 
ubitokporog 30; break;
}
if(
valueporogotdat_babki_igroku(); 
Godzilla82 вне форума  
Непрочитано 20.09.2010, 00:14   #26
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

[quote=OlegNZH;253803]Пример Абсолютно утрирован[/quoe]
Сказал ведь. Куча вероятностных приложений есть .Например Статистическая физика.Да и в Математике.Мильон!Я конечно- далёк от того, что кто-то-то будет считать на AVR-ке - так мы ведь не услышали ЗАДАЧУ, которую ТС поставил!
OlegNZH вне форума  
Непрочитано 20.09.2010, 09:42   #27
Mixer79
Частый гость
 
Регистрация: 22.08.2007
Сообщений: 43
Сказал спасибо: 3
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Mixer79 на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Курсовая как то была по М-последовательностям. В железе реализовывал 8 битную псевдослучайную последовательность (на логических ИЛИ). вот тут есть немного информации. Может пригодится.
Mixer79 вне форума  
Непрочитано 20.09.2010, 10:40   #28
mtit
Почётный гражданин KAZUS.RU
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,261
Сказал спасибо: 2,113
Сказали Спасибо 1,718 раз(а) в 973 сообщении(ях)
mtit на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Сообщение от OlegNZH Посмотреть сообщение
от того, что кто-то-то будет считать на AVR-ке
А какая разница? AVR по сравнению с IBM-XT по БЫСТРОДЕЙСТВИЮ сильно разняться? А случайные последовательности - как появились ЭВМ - так и встала такая задача. Моя любимая присказка: "Во времена Королёва полёты рассчитывали на компьтере, вычислительная мощь которого меньшь, чем у современного калькулятора."
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.
mtit вне форума  
Непрочитано 20.09.2010, 14:56   #29
-Dreamer-
Частый гость
 
Регистрация: 22.03.2010
Адрес: Севастополь
Сообщений: 26
Сказал спасибо: 5
Сказали Спасибо 8 раз(а) в 5 сообщении(ях)
-Dreamer- на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Еще на заре «домашних пк» использовал простую формулу
псевдо-случайных чисел в интервале ]0,1[ - Xn+1=D[11*Xn+πи]
D-дробная часть числа.
Дает неплохое равномерное распределение. При визуальном
выводе последовательных чисел (x,y) узор не наблюдается.
Число неповторяющихся чисел зависит от разрядности операндов.
При 16 разрядных - более 32000. При задании разных начальных Xn последовательности будут разные. Полностью готовый к «употреблению»
модуль: вход – r20,r21- Xn; выход- r20,r21-Xn+1 (r20-младший)

mov r22,r20
mov r23,r21
lsl r22 ;Умножаем значение в r20,r21 на 11
rol r23 ;Целая часть числа нам не нужна
add r20,r22
adc r21,r23
lsl r22
rol r23
lsl r22
rol r23
add r20,r22
adc r21,r23
ldi r22,$3f ;Число "Пи" (дробная часть) целая часть нам не нужна.
ldi r23,$24
add r20,r22
adc r21,r23
Для приведения чисел к интервалу [A,B] используется простая формула- Xn+1=A+((B-A)+1)*Xn
Например, для имитации кубика Xn умножаем на 6 и прибавляем 1.
Используем 3-х байтовую арифметику:

push r20
push r21
clr r17
lsl r20
rol r21
rol r17
mov r16,r17
mov r22,r20
mov r23,r21
lsl r20
rol r21
rol r17
add r22,r20
adc r23,r21
adc r16,r17
inc r16
pop r21
pop r20
в r16 - целое значение кубика.

Последний раз редактировалось -Dreamer-; 20.09.2010 в 18:39.
-Dreamer- вне форума  
Эти 2 пользователя(ей) сказали Спасибо -Dreamer- за это сообщение:
ArgusB (20.09.2010), OlegNZH (20.09.2010)
Непрочитано 21.01.2011, 14:51   #30
XRuZzz
Частый гость
 
Регистрация: 12.10.2010
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 2 раз(а) в 1 сообщении
XRuZzz на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Сообщение от DVD-RW Посмотреть сообщение
А если брать младший, или даже два младших разряда с 10-битного ацп с условием какой-нибудь полусантиметровой антеннки или любой детальки? Из них собирать целое число нужной длины. Скорость не ахти, зато случайность на высоте.
И я того же мнения, тока не понимаю зачем, что-то подключать. У меня АЦП всегда шумело и без этого, ну или брать значения с температурного датчика, который встроен в МК.
XRuZzz вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot