cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 5, 3 & 1 MCU

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
JoMe_264151
Expert II
        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
Esteemed Contributor

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
Esteemed Contributor

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
JoMe_264151
Expert II

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
Esteemed Contributor

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
JoMe_264151
Expert II

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
Esteemed Contributor

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
Esteemed Contributor

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
        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
JoMe_264151
Expert II

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
Esteemed Contributor

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
        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