2024-03-08 10:36 AM
Hi @SofLit,
I need to develop a unique serial number for one of our products that will go into production soon. I'd rather use the UID that is built into the STM32H7A3 chip but I have some questions.
I understand that it is a 96bit value that I can read from the chip but I'd rather not have to use such a long and unwieldy number.
I looked at page 2920 of the manual RM4055 but it doesn't really tell me which byte is for which variable (Lot, Wafer, Die, etc).
This number will need to fit onto our 7" display as well as the serial number label on the product's back side.
Has anyone else been able to figure out the UID format?
Thanks,
Richard
Solved! Go to Solution.
2024-03-11 06:32 AM
Hello @RCooke88 ,
Following are what we can provide as UID structure information:
0x8FFF800 - 16 bits -> X coordinate (integer) 0x8FFF802 - 16 bits -> Y coordinate (integer)
0x8FFF804 - 8 bits -> Wafer number (integer) 0x8FFF805 - 8 bits -> LOT_ID0 (ascii code) 0x8FFF806 - 8 bits -> LOT_ID1 (ascii code) 0x8FFF807 - 8 bits -> LOT_ID2 (ascii code) 0x8FFF808 - 8 bits -> LOT_ID3 (ascii code) 0x8FFF809 - 8 bits -> LOT_ID4 (ascii code) 0x8FFF80A - 8 bits -> LOT_ID5 (ascii code) 0x8FFF80B - 8 bits -> LOT_ID6 (ascii code)
It's the same as STM32H743.
I'm pushing internally to add these details in RM0455.
2024-03-08 11:14 AM - edited 2024-03-08 11:18 AM
Hi,
look, from search here :
https://community.st.com/t5/stm32-mcus/how-to-obtain-and-use-the-stm32-96-bit-uid/ta-p/621443
I would use the
So you get a 40bit number, just for this chip. (is 12 digits )
2024-03-08 11:26 AM
@SofLit indicated that he'd check the specifics for the H7Ax/H7Bx
I'm not sure there's anything in there that can be reduced in a way that's unique, and hashing is still likely to result in collisions.
You've also got 1KB of OTP, and if you're buying MAC Numbers for Ethernet, etc, then you could use that.
Commercially it would likely make sense to use your own scheme, which you can then relate to screen and MCU serial numbers if you need that within your own back-end databases, and perhaps any public / private keys you want to push into these devices.
You could use elliptic curve signing to permanently associate a specific MCU and PANEL, etc to a specific piece of hardware, but that obviously makes any rework / replacement exceeding difficult and undesirable.
2024-03-08 11:36 AM
I requested you to check RM0433 and asked if this is the information you are looking for. Could you please confirm and open a new thread with a specific title as other users can find the thread easily later?
Thank you
2024-03-08 11:55 AM - edited 2024-03-08 11:56 AM
I think the crux of the question here, is there anything that can be reduced effectively?
I think the realistic answer is that it cannot, and ST's not buying unique MAC/UUID numbers and passing the costs on to everyone.
ST's only reasonable guarantee is that the 96-bit value is unique for those IC's sold and manufactured by ST. The only way there'd be more than one instance would be if the process broke down somewhere, not impossible, but highly unlikely.
2024-03-08 12:01 PM
SofLit,
I did open up a new thread and I tagged you (it's this thread). RM0433 is the manual for STM32H742 and '43 chips. We're using the STM32H7A3 chip. Both of the manuals (RM4033 and RM4055) show pretty much the same information. Neither one adds any information on which byte is what variable (Lot, Wafer, Die, etc.).
Thanks,
Richard
2024-03-08 12:09 PM - edited 2024-03-08 12:44 PM
No. RM0433 shows wafer and lot information. Please check again.
PS: we cannot provide more details than what was provided in RM0433
2024-03-08 01:32 PM
>>Neither one adds any information on which byte is what variable
Long term they are all variable, and collectively they are unique.
The question is how variable, or what's the scope of a particular variable. The X, Y sounds like it could be an offset, not an index. It would get into what are the dimensions of the individual dies, and how many are on a wafer at a given fab.
Figure the wafers out of Crolles (VQ) are 300mm / 12", die likely smaller than 5x5mm, so >3000 die per wafer
2024-03-11 06:32 AM
Hello @RCooke88 ,
Following are what we can provide as UID structure information:
0x8FFF800 - 16 bits -> X coordinate (integer) 0x8FFF802 - 16 bits -> Y coordinate (integer)
0x8FFF804 - 8 bits -> Wafer number (integer) 0x8FFF805 - 8 bits -> LOT_ID0 (ascii code) 0x8FFF806 - 8 bits -> LOT_ID1 (ascii code) 0x8FFF807 - 8 bits -> LOT_ID2 (ascii code) 0x8FFF808 - 8 bits -> LOT_ID3 (ascii code) 0x8FFF809 - 8 bits -> LOT_ID4 (ascii code) 0x8FFF80A - 8 bits -> LOT_ID5 (ascii code) 0x8FFF80B - 8 bits -> LOT_ID6 (ascii code)
It's the same as STM32H743.
I'm pushing internally to add these details in RM0455.
2024-03-11 06:53 AM
I'm not sure if it was @Tesla DeLorean or @Piranha who gave me the advice of building a 32-bit CRC from the 96-bit UID.
I'm using the result as part of my ethernet MACs and DNS-names.
But I'm not yet in high volume production - and probably will never be for our company. ;)