Pseudo Random Generator Pajak menggunakan 8bit MCU?

P

psubiaco

Guest
Siapa saja dapat mengirim ide saya untuk memiliki urutan 8bit acak nomor?
Saya adalah gagasan untuk mulai dari Seed dan memperbaiki setiap periode (waktu mengganggu rutin) memperbarui nomor yang palsu obtaing urutan acak.
Saya menemukan beberapa contoh tentang "cara untuk membuat alirannya bit" atau "cara untuk menghasilkan satu nomor", tapi saya tidak menemukan, namun, rutin untuk membuat alirannya 8bit angka, dan saya tidak tahu teori RNG.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Sangat sedih atau menangis" border="0" />Setiap kode sumber C contoh atau alghorithm is welcome.
Thank you in advance.Paolo

 
W Polsce bardzo lubimy śmiać się z Amerykanów. Zazwyczaj zarzucamy im otyłość i głupotę. No, bo przecież jak oni mogą nie wiedzieć gdzie jest Polska?! Słyszę to bardzo często. W większości od osób, które nigdy nie były w USA.

Read more...
 
Sederhana di sini adalah salah satu implementasi dari proyek-proyek saya sebelumnya:

Kode:U16 RND_Num; / / Peristiwa nomor acak/ / Initialize random number generator

void SRV_InitRnd (void) (

RND_Num = 12345; / / Berikut ini adalah awal benih berasal

)/ / Returns acak ke angka 0 (maks-1)

U16 SRV_Rnd (U16 maks) (

U16 i, j;

i = RND_Num>> 8;

j = RND_Num &0xFF;

i = i * 18273 j;

j = j * 29379 i;

RND_Num = ((i & 0xFF) <<8) | (j & 0xFF);

kembali (RND_Num% max);

)
 
Saya tidak bisa coba ini rutin karena keterbatasan MCU (8bit holtek MCU), tetapi saya heran jika fungsi yang sama harus diterapkan ke 8 bit nomor acak.
Jadi, sekali yang random byte menjadi 2 nibbles yang harus dikali dengan sedikit angka, dan kemudian bergeser ORed membentuk baru nomor acak.

Sekarang saya menggunakan fungsi ini, tapi saya tidak tahu bagaimana urutan yang baik adalah yang dihasilkan oleh algoritma ini, karena benar-benar kasual (ditulis oleh saya, yang tidak tahu apa-apa tentang coding.

Kode:void random_next () (

/ / Regu acak kiri, dan meletakkan B0 (n 1) = b4 (n) ^ B7 (n)

randomtmp = 0;

if (random & 0x10) (/ / ekstrak 4 bit

randomtmp ;

)

/ / Randomtmp == 1 jika bit4 of random == 1

_c = 0; / / _c adalah melaksanakan

_rlc (& acak); / / putar kiri melalui melaksanakan

if (_c) randomtmp ^ = 1;

^ = randomtmp acak;

)

 
Ada banyak penerapan untuk menghasilkan pseudorandom nomor implementin selular automata.Saya ingin membantu anda but i donot remmeber cara membuatnya.

 
PSoC microcontrollers dapat memiliki hardware realisasi PRN generator di Programmable blok.

2 - 8 -, 16 -, 24 - atau 32-bit umum tujuan pseudo-random generator menggunakan nomor satu, dua, tiga atau empat blok PSoC, masing-masing

Clocking input data hingga 48 MHz

Programmable jumlahnya banyak dan benih nilai

Serial output bit stream

Computed palsu nomor acak dapat dibaca langsung dari LFSR

Berikut adalah salah satu aplikasi catatan:
http://www.cypress.com/support/app_note.cfm?objectID=13F474D4-55F5-4D0B-A7D5A92FE01A10B0&fname=PSoC% 20Mixed% 2DSignal% 20Array & tid = A47EC41D-A212-4D8B-B3AA620F3AEB2978

 
psubiaco wrote:

Saya tidak bisa coba ini rutin karena keterbatasan MCU (8bit holtek MCU), tetapi saya heran jika fungsi yang sama harus diterapkan ke 8 bit nomor acak.

 
Cara yang sederhana untuk menghasilkan Pseudo Random Pajak menggunakan F-Sequency awal dengan benih.

terlampir adalah contoh MCU dan F-24 tahap sequency.
Maaf, tapi Anda harus login untuk melihat lampiran

 

Welcome to EDABoard.com

Sponsor

Back
Top