2009-07-30 12:01 PM
Device Signature compsition on STM32
2011-05-17 04:15 AM
Dallas (now Maxim) have chips that are delivered with a guaranteed-unique serial number.
I guess others also exist?2011-05-17 04:15 AM
Hi...
Of course... Like NOT always etherned is mounted, also GPRS is not always mounted, like any other media... It depends on product configuration... Alex2011-05-17 04:15 AM
Initially, I thought the first 32 bits were fixed for each family, but later batches had mixed numbers. They still seem to have rather low entropy though, so they would be the first to discard.
An interesting note: In the couple of thousands of numbers we have on store so far, I still haven't seen a single hex digit in the last 64 bits. Ok, I haven't run a proper query on all the numbers, only a ''manual grep''. But for sure they are not as frequent as they would have to be if the unique id was ''random''. So if we assume that the last 64 bits contains a BCD number, they only represent about 53 bits of information. Still a way to go if your target is 32 bits. Also I'm certain that the last byte in not fixed to 43 in our devices. But maybe we don't use the same byte order, I display them as three words, not as an array of bytes. Regardless of the method used to allocate numbers today, nothing says ST won't change method at any time. I wouldn't rely on any condensation of those 96 bits to be unique. But as domen said, collisions could be tested for during production test, and the few that do happen you can probably afford to scrap. If collisions suddenly start to increase due to ST changing method, the hashing can be changed as well.2011-05-17 04:15 AM
We need to find a solution and adding a serial number chip when we already have a serial number seems a waste.
I've started breaking down the numbers. If others are willing to help, we might be able to decode enough of the string to get the ''most unique'' or incremented part. Here is what I have so far from the chips lying around: STM32F103VET6 37FFFFFF 59343935 46430243 37FFFFFF 59343935 34430243 375FFFFF 59343935 38430243 STM32F103RBT6 36006A06 58353233 57290543 36006D06 58353233 59470543 STM32F103VBT6 36FFFFFF 58303738 42311543 STM32F103ZET6 36FFFFFF 58363936 25471043 From looking at this, I'm guessing that the last 4 digits are not counting. I would guess that digits 5 and 6 of the last word are a chip designator. The beginning of the third word clearly seems to be counting. The second word could be counting too. The first word looks like it encodes something. If we could get 48 bits that were serial, I don't think we would have to worry about a conflict for a while. At least until they make 300 trillion STM32 chips :D2011-05-17 04:15 AM
Yes we have also noticed some movement in the first 32 bits. If those were the top of the count, they wouldn't move or would move randomly and I'm not seeing that. So I'm still guessing they are something else.
There is also the ''Reserved'' area that probably isn't counting. One of the things we're considering is using a subset of ''active'' bits and combining it with a counter. That way we can guarantee uniqueness, but still lock the software to the hardware. And yes, that is a big-endian memory dump. If you look at the words, the bytes are reversed and appear as a byte array.