Generator liczb pseudolosowych

Dec 12, 2006 19 Replies

Witam serdecznie. Jestem pocz±tkuj±cym elektronikiem (dopiero siê uczê ;) ). Chcia³em wykonaæ sobie mini-projekcik el. kostki do gry wy¶wietlaj±cej wynik na diodach i wy¶witlaczu 7-io segmentowym. Wybra³em to z racji na prostote uk³adu. Ca³y schemat mam ju¿ przgotowany. Potrzebujê jedynie magicznego generatorka, który pomo¿e mi generowaæ pseudolosowe liczmy na potrzeby kostki (3 bitowe). Postanowi³em za³atwiæ to na zaszadzie 3 przerzutników D po³±czonych szeregowo. Z tym ¿e wyj¶cie z 1. i 2. po³±czone z bramk± ex-or i jej wyj¶cie z powrotem do wej¶cia 1. przerzutnika. W pewnym sensie osi±gno³em to co chcia³em, ale nie do koñca. Mianowicie mój "generator" :) generuje niby przypadkowe liczby ale w takiej samej kolejno¶ci :). Pewien zbiór wyników jest ca³y czas powtarzany. My¶la³em o tym, ¿eby wyko¿ystaæ wej¶cia resetuj±ce, ale wtedy bêdzie to samo tylko szybciej zacznie je powtarzaæ od nowa (na dobr± sprawe nie wiem nawet jak chcia³em to zrobic - to tylko hipoteza ;) ). Ale to nie koniec problemu. Potrzebujê dorzuciæ do uk³ady w³±cznik, który bêdzie wyzwala³ ca³y uk³ad i dopiero losowa³ liczby, a nie odrazu po podaniu przerzutnikom sygna³u zegarowego. próbowa³em zaieszczaæ go przed i za wêz³em z bramki ex-or i w ¿adnym przypadku nie dzia³a tak jak bym sobie tego ¿yczy³ :(.



Trochê siê rozpisa³em, ale chcia³em dok³adnie opisaæ moj problem :). Proszê o pomoc, bo jestem w kropce i nie wiem co mam dalej robiæ, a zale¿y mi, bo chcê siê nauczyæ. Z góry dziêkujê za ka¿d± formê pomocy.



U¿ytkownik "Wycior" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news:elmpni$6s1$ snipped-for-privacy@atlantis.news.tpi.pl...

Dla takich celów to chyba zrobi³bym szybki generator (kHz-e, a mo¿e MHz-e) i licznik (3 bitowy). W momencie naci¶niêcia przycisku stan licznika przepisywa³bym do rejestru.

Inny, prostszy wariant to bramkowanie sygna³u do licznika przyciskiem u¿ytkownika. Normalnie licznik stoi, jak naciskamy to bardzo szybko liczy, jak puszczamy znów stoi. Je¶li pe³en obieg zajmuje na przyk³ad 10us to raczej trudno by³oby tak naciskaæ, aby oszukaæ ten generator. P.G.

beirzesz dosc dlugiego LFSR ktory generuje dluga sekwencje, taktujesz go dosyc szybko - nawet kilka MHz, teraz pobierasz z 3 odczepow LFSR bity i zatrzaskujesz je w zewnetrznym latchu przyciskiem, dzwonienie przycisku wprowadza dodatkowe zaklocenie - nawet wystartowany za kazdym razem w ten sam sposob LFSR da inne wartosci - dekodujesz tak otrzymane wartosci.

to luzna koncepcja na biegu ale pownna zadzialac

Wycior napisał(a):

Z tego co piszesz wygląda że nie będziesz chciał używać uC? A można by było :) Pewnie chcesz na piechotke na TTLach. Przypomina mi się, że kiedyś widziałem taki układ w książce "24 proste układy elektroniczne do samodzielnego wykonania, cz.1" wyd. WKŁ, gdzieś z poczatku lat 90-tych. W skrócie - generator zegara, napędzał licznik, i zrobiony na bramkach dekoder BCD -> LEDy ułożone w kształcie kostki. Chyba 3 scalaki TTL w sumie... Losowanie włączane podczas zapodania zegra, po odłączeniu zegara od licznika był wynik. Zegar naparzał jakieś kilkadziesiąt kHz, więc wynik raczej nie dawał się zafałszować.

są gotowe zestawy

zyga

No nie ma to jak dobra zachęta. LOL

AW

Zygmunt M. Zarzecki napisał(a):

Ale to jest kiepska pseudolosowość: jest realizowana przez użytkownika.

Filip Ozimek przemówił ludzkim głosem:

Czemu uważasz, że interakcja z użytkownikiem powoduje kiepską losowość ? Zresztą to ma być zabawka. A tak przy okazji to chyba linux wykorzystuje interakcję z użytkownikiem do zwiększenia entropii systemowego generatora pseudolosowego.

To jest chyba rozwi±zanie, które na moim poziomie jestem chyba w stanie zastosowaæ. Dzieki bardzo.

U¿ytkownik "PAndy" <pandrw_cutthis snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news:elmqas$fbu$ snipped-for-privacy@news.onet.pl...

Niee, dla mnie to za wysoka poprzeczka :). Dziêki za podpowied¼, ale w ten sposób nie dam rady (nie ³apie dok³adnie o co chodzi :D)

Nie mam pojêcia co to jest "uC" :)

Bardzo chêtnie ;). Jestem w³a¶nie na tym etapie nauki.

Mam ju¿ schematy dwóch dekoderów. Do wy¶wietlacza o którym wspomina³em i diód, ¿eby ¶wieci³y w taki sposób jak sobie zaplanowa³em. Przynajmniej realizacja tej funkcji nie przyspo¿y³a mi problemów ;).

Oczywi¶cie, ¿e s±. Ale po pierwsze nie wiele siê z tego naucze (to jest jak uk³adanka), a po drugie chcê doj¶æ do tego sam. No, z ma³± pomoc± :)

W to zagadnienie ju¿ siê nie zag³êbiam :D

Dziêkujê wszystkim za pomoc. Po przeanalizowaniu jestem pewnien, ¿e dojde do jakiego¶ rozwi±zania.

Dobra, cofam to stwierdzenie :). Jednak wiem co to jest :). Ale te¿ wiem, ze to jest dla mnie czarna magia... Nie dam sobie rady z tym niestety...

LFSR - to najczesciej wykorzystywany generator ciagow pseudolosowych - mozna zrobic tak jak radza inni - licznik plus generator o duzej czestotliwosci - tak duzej ze mimo tego ze nie jest pseudolosowy to i tak analogowy sposob pobiernaia danych spowowoduje pseudolosowosc. - niepotrzebnie zaprponowalem Ci LFSR - zasugerowalem sie Twoja wypowiedzia i tylko proponowalem poprawiona koncepcje ale mysle ze szybko zliczajcy licznik bedzie wiecej niz wystarczajacy a prostszy w implementacji.

Dziêki za wyt³umaczenie i dobr± rade.

Jak policzyc tranzystory to LFSR moze byc nawet prostszy niz licznik :-)

J.

pewnie tak ale licznik jest prostrzy i chyba na poczatku czytelniejszy - by zrobic taka elektroniczna kostke potrzebowalbym co najmniej 4 IC dla wersji z LFSR i 3 dla wersji licznikowej (mowie o standardowych serii 74 czy 4000)

U¿ytkownik "Wycior" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news:eln9oa$e3l$ snipped-for-privacy@atlantis.news.tpi.pl...

Witam,

Rozpocz±³em swoj± przygodê z mikrokontrolerami AVR w³a¶nie od takiej kostki. Je¶li jednak siê zdecydujesz na uC - daj znaæ na priva - podzielê siê materia³ami i co-nieco pomogê :-)

Pozdrawiam Tygrysek

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required