cancel
Showing results for 
Search instead for 
Did you mean: 

IDQ6MC1 QRNG integration with STM32L5 over SPI

NajeebUllahKhan
Associate II

Hi Everyone, I hope you'll are doing well.
I have STM32L562QEI6Q Board and IDQ6MC1 (Quantum Random Number Generator) IC. The IC supports 2 Modes (I2C, SPI) and I am using SPI interface.
The IC gets Initialized and Starts OK and also I am able to read CHIP ID too, but when try to get Random Number, then it gives 0000... In order to get Random Data, FIFO should be ready (Must with return val of 0x01 on writing 0x41).
I am giving you a Linux Written Driver of SPI, My STM32 Files (Header, Source and Main in .zip Folder) and Datasheet.

Can anybody help me in this regard as there is very minimum integration support and I am stuck in getting random data from it.

Looking forward to help from anybody...

7 REPLIES 7
Andrew Neil
Super User

@NajeebUllahKhan wrote:

I have STM32L562QEI6Q Board ...


What board, exactly?

Please see: How to write your question to maximize your chances to find a solution.

 


@NajeebUllahKhan wrote:

IDQ6MC1 (Quantum Random Number Generator) IC. 


This: https://www.idquantique.com/random-number-generation/products/quantis-qrng-chips/ ?

That's not an ST product - you need to go to Quantis for support with their product:

https://support.idquantique.com/support/login

 

Have you checked what's happening on the SPI lines?

  1. Check first with an oscilloscope to make sure they are clean, at the right levels, etc
  2. Then check with a logic analyser - does what you're sending correspond with the datasheet requirements?

 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
NajeebUllahKhan
Associate II

Hi @Andrew Neil 
Thanks for response.

SPI is working fine, as I am able to get it start and read Device ID too. But the FIFO of IC never gets ready so I can get random data.

I've attached Linux Code and Datasheet for reference about QRNG IC.

Looking forward to your response...


@NajeebUllahKhan wrote:

SPI is working fine, as I am able to get it start and read Device ID too. 


That's good, but "working fine" is not the same as "verified against the datasheet requirements".

You might just have got "lucky" with something that's almost - but not quite - fully correct.

 


@NajeebUllahKhan wrote:

But the FIFO of IC never gets ready so I can get random data.


So check again against the datasheet requirements - is there some particular requirement you're missing?

But this is all about the Quantis device - Nothing to do with ST - so you need to ask Quantis about that!

Send them your LA traces; get their comments.

.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
NajeebUllahKhan
Associate II

@Andrew Neil 
I am here for help if someone has experience of working on this Device using STM32 or any kind of help as I am unable to find any related support.

Below is datasheet and Linux Driver file if you want to check further info about it.

Looking forward for help.

Have you contacted Quantique support: 

https://support.idquantique.com/support/login

See also contact details on their website.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
NajeebUllahKhan
Associate II

@Andrew Neil 
Yes, they gave that Linux Driver and Datasheet, I am further contacting them for my queries.
For now, do you have any findings from given Datasheet and Linux Driver File?


@NajeebUllahKhan wrote:

 they gave that Linux Driver 


So have you tried using that driver as-is?

 


@NajeebUllahKhan wrote:

For now, do you have any findings from given Datasheet and Linux Driver File?


Again, what you need to do is to look at the SPI comms and check that they are following what the datasheet says.

PS:

Which is the same approach as recommended for you previous thread:

https://community.st.com/t5/others-stm32-mcus-related/usb-cdc-vcp-stm32-host-onerng-device/m-p/806333/highlight/true#M6817

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.