Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

PSoC™ 5, 3 & 1

Anonymous
Not applicable

 Hi all

   

 

   

Please help me how to make simple method TRNG (true random generator) from analog internal component for Psoc1 (CY8C29466)

   

 

   

Many thanks Kamil

0 Likes
25 Replies
Bob_Marlowe
Level 10
50 questions asked 10 questions asked 1000 solutions authored
Level 10
        Not too easy to accomplish, but have a look here http://en.wikipedia.org/wiki/Noise_generator Bob (again: small window)   
0 Likes
Anonymous
Not applicable
        Some time ago, we use a fast running counter and read the data when we need a random number, and the output pattern was pretty random, but not sure if that can pass all those randomess test. 🙂   
0 Likes
Anonymous
Not applicable

 Im find this great project      http://www.psocdeveloper.com/tools/misc-dev-tools.html (Random Number User Module) but not working in new Designer v5.4. 

   

 

   

Is possible help me port this module to new Designer ?

   

 

   

Many thanks Kamil

0 Likes
ETRO_SSN583
Level 9
5 likes given 1000 replies posted 750 replies posted
Level 9

Do you need this for generating analog noise or a digital sequence

   

generator ?

   

 

   

Analog, take a look at this, zener and other based, use PGA to amplify - www.ciphersbyritter.com/NOISE/NOISRC.HTM

   

 

   

Digital - The PRS module in Designer, "Random Seq" folder of module explorer window.

   

 

   

Regards, Dana.

   

 

   

0 Likes
Anonymous
Not applicable

Please note that the one in the UM is a pseudo random number generator, But you mentioned that you want a TRUE random number generator. They are not the same.

0 Likes
ETRO_SSN583
Level 9
5 likes given 1000 replies posted 750 replies posted
Level 9

The differences in Psuedo vs True -

   

 

   

www.random.org/randomness/

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

 My idea is true random generator, but thanks usefull info.

   

 

   

Kamil

0 Likes
Bob_Marlowe
Level 10
50 questions asked 10 questions asked 1000 solutions authored
Level 10

So, an easy method could be to use the noise of a zener-diode, get it amplified to a reasonable value, filtered to get rid of the frequencies above the conversion frequency and then converted to a digital number preferrably with a s&h circuit at the input of the ADC.

   

 

   

Bob

0 Likes
ETRO_SSN583
Level 9
5 likes given 1000 replies posted 750 replies posted
Level 9

When you apply a filter, be it H(s,t), or a finite word length computation

   

process, like an A/D, algorithim, the "randomness quality" declines.

   

 

   

An interesting thread on the problem, google the problem, more info

   

than you want to know.

   

 

   

www.cypress.com/

   

 

   

Regards., Dana.

0 Likes
Bob_Marlowe
Level 10
50 questions asked 10 questions asked 1000 solutions authored
Level 10

Link leads to posting, is that an invitation or a typo?

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Im aprox. rewriting (Ilya Mamontov Random Number User Module) module from this site for Designer v5.4     http://www.psocdeveloper.com/tools/misc-dev-tools.html

   

 

   

The project works but I do not know it is really True random !!!

   

 

   

CY8C29466

   

 

   

Pin P0[1] - CounterOut - like main clock

   

Pin P0[0] - DigitalRnd - true random bitstream ?

   

Pin P0[5] - AnalogRnd - true random analog signal ?

   

 

   

Original description from Ilya Mamontov module manual is "The operation is based on utilization of
thermal and semiconductor noise."

0 Likes
ETRO_SSN583
Level 9
5 likes given 1000 replies posted 750 replies posted
Level 9

AN2226 is also a psuedo random approach.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable
        Have you read Dana sggestion? The differences in Psuedo vs True - www.random.org/randomness/ Regards, Dana. The differences in Psuedo vs True - www.random.org/randomness/   
0 Likes
Anonymous
Not applicable

Yes im read this 

   

 

   

I thing analog semiconductor noise is true random !

   

 

   

See Ilya text  "absolutely random" !

   

 

   

The Random UM generates a random bit stream on Column Comparator Bus. The main goal of this UM is the fact that the bit sequence is absolutely random. You can use this sequence as a signal for analog and digital blocks or read it directly in software.

   

Author: Ilya Mamontov  "

0 Likes
Anonymous
Not applicable

 Didn't notices this. Shall read it thru again. 

0 Likes
ETRO_SSN583
Level 9
5 likes given 1000 replies posted 750 replies posted
Level 9

I am not so sure that Semi noise is "True" random noise.

   

 

   

Semi devices are characterized at the atomic level as having quantum states, therefore

   

not continuous, finite.

   

 

   

Thermal Noise      - http://physics.stackexchange.com/questions/35911/is-thermal-noise-quantum-random

   

                                  - http://en.wikipedia.org/wiki/Johnson%E2%80%93Nyquist_noise            Nearly, but not totally

   

Shot Noise             - Maybe closest to white, but not a semi phenomina

   

Popcorn Noise      - Process based noise.

   

Flicker                      - Process dependent.

   

 

   

Regards, Dana

0 Likes
Anonymous
Not applicable
        Hi Dana Thank usefull info and links Kamil P.S. randomity and chaos is very interesting theme   
0 Likes
DineshbabuM_66
Employee
First like received
Employee
        There is also a library function "int rand(void)" in ICC compiler. Refer "C Language Compiler User Guide" for details.   
0 Likes
Anonymous
Not applicable

 Those are all psudo random generator. not true random number generator

0 Likes
Bob_Marlowe
Level 10
50 questions asked 10 questions asked 1000 solutions authored
Level 10

Dima, when you look at the first posts in this thread you will find links to explanations of "True" and "Pseudo" random generators. Since (as far as I understand) the order was to create a "True" generator there is the need to connect a PSoC to some random physical process like noise of radiation or thermal noise (which will not always be white noise afak)

   

 

   

 (CAN YOU HERE ME? or too much noise?? )

   

Bob

0 Likes
ETRO_SSN583
Level 9
5 likes given 1000 replies posted 750 replies posted
Level 9

So little time, so much to learn......

   

 

   

www.random.org/analysis/

0 Likes
Anonymous
Not applicable

 @dana,

   

Interesting paper. 

   

Tks

0 Likes
Anonymous
Not applicable

 Yes this is very interresting paper !

   

 

   

Many thanks

0 Likes
DennisS_46
Employee
25 likes received 50 replies posted 25 replies posted
Employee
        If your looking for an ANALOG random noise generator, see the attached article draft, it will be published in a few weeks. If your are looking for a digital random number generator, you can simply set up a timer and read the PRS output. How random do you need? A 32 bit PRS clocked at 1 MHz repeats every 1.19 hours, and you can use more blocks to make it longer. 40 bits gets 305 hour repeats. ---- Dennis   
0 Likes
Anonymous
Not applicable

Thanks usefull info

   

 

   

Kamil

0 Likes