ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM32F4] 求教:STM32F4系列96位唯一UID代表的含义有知道的吗?

[复制链接]
楼主: wjroy11
| 2016-5-5 19:55 | 显示全部楼层
wjroy11 发表于 2016-5-5 17:42
手册看过了,里面也是只介绍了UID可以做这三种应用,但是没有详细说这96位代表什么意思。 ...

哦哦,那就不知道拉
| 2016-5-5 21:20 | 显示全部楼层
自己定义个规则不就得了。2^32大概是40多亿种可能
| 2016-5-5 22:13 | 显示全部楼层
好像不是这个意思的,32位的话最多成产2的32次方个芯片
| 2016-5-5 23:44 | 显示全部楼层
想从96位随机数无重复压缩到32位无重复,这个得重修小学体育课。  照这个理论,32位可以进一步压缩到12位, 12位迭代压缩到4位,4位压缩到1位,结论是用1位就可以。-------ST的UID不是蛋糕生产日期条码不可能用来标注明文信息。。。

UID不可能告诉规则的,我估计,ST自己生产可能都是临时产生一随机数,然后对比已经用过的号码,如果有重复就重新再产生一个对比,如果没重复就直接烧入。  可能会包含个别有意义得信息比如产地,但是肯定不会明文而是丢到随机数生成规则里作为因子。  最重要是,ST不可能告诉你UID规则。
| 2016-5-5 23:47 | 显示全部楼层
你也可以用这96位作为一个因子带入一个算法输出32位值,将已经生成过的加入数据库,每次生成新的与库中对比,如果重复就再重新生成一个,  
| 2016-5-6 08:52 | 显示全部楼层
两条路,一个是把你的ID改成96位的,一个是自己重新编码,否则是保证不了不重复的。做硬件的要严谨。东西出厂出问题再小的问题都能恶心死你。
 楼主 | 2016-5-6 09:31 | 显示全部楼层
huangqi412 发表于 2016-5-5 23:44
想从96位随机数无重复压缩到32位无重复,这个得重修小学体育课。  照这个理论,32位可以进一步压缩到12位, ...

我的想法是这样:因为公司的产品没有几十万上百万这种规模,可能往多了说也就万级,而使用的芯片都是同一个型号同一个产地的,那么假如这96位里面有MCU系列代码,产地代码等这些信息,我就可以把这些信息直接去掉,因为他们是相同的,按照ST的理论,余下的信息应该仍然是唯一。这是我说的压缩。
有可能是随机数生成的,所以现在是想找一个确切的答案是不是有UID的明文对照。没有的话也就只有你说的这个办法,做一个算法,输入96位UID输出32位随机数。
感谢耐心解答!
 楼主 | 2016-5-6 09:32 | 显示全部楼层
z_no1 发表于 2016-5-6 08:52
两条路,一个是把你的ID改成96位的,一个是自己重新编码,否则是保证不了不重复的。做硬件的要严谨。东西出 ...

你说的我非常赞同,不能有半点不严谨,所以在没有确切的明文对照情况下,就只能另辟蹊径了。感谢!
| 2016-5-6 10:03 | 显示全部楼层
我们只能猜测哦 原厂的人肯定知道含义的~
| 2016-5-6 11:18 | 显示全部楼层
写一个自动增量就好了,设备序列号,不是非得用UID
| 2016-5-6 14:54 | 显示全部楼层
wjroy11 发表于 2016-5-6 09:31
我的想法是这样:因为公司的产品没有几十万上百万这种规模,可能往多了说也就万级,而使用的芯片都是同一 ...

这种UID百分之一万不可能包含铭文信息段       人家就是需要让人无法从多个UID上找出规律,,,
| 2016-5-6 15:09 | 显示全部楼层
顶一个!
 楼主 | 2016-5-6 18:14 | 显示全部楼层
mcuisp 发表于 2016-5-6 11:18
写一个自动增量就好了,设备序列号,不是非得用UID

要求设备序列号最好无规律,出于安全上面考虑。
| 2016-5-6 18:23 | 显示全部楼层
1FFFF:F000~F7FF是SYTEM MEMORY,內容包括ISP代碼和晶片資訊。

特別注意的是有一個96位的統一ID(UID),每個晶片都是唯一的,可用於晶片加密和終端產品應用。

目前公佈的三個字段:
F7E0是2位元組的FLASH大小
F7E2是2位元組SRAM大小
F7E8是12位元組的UID
(見RM0008手冊(REV4)25章「Device electronic signature」)

下面是三個晶片讀出的1FFF:F7E0~F7FF的內容:

1#
:20F7E00080001400C606360635FFFFFF5737323864652143FFF0FCFF6897FF003DC2C03F50
2#
:20F7E00080001400E706670635FFFFFF5737323837482143FFF0FCFF6897FF003BC4C03F48
3#
:20F7E00080001400BD06400635FFFFFF5737323837442143FFF0FCFF6897FF003BC4C03F9D

比較:

BANK:OFF  LEN      SIGNATURE  VALUE (NOTE/ASCII)
1FFF:F7E0 2BYTES   FLASH SIZE:80 00 (0080*1K=128K)
1FFF:F7E2 2BYTES   SRAM  SIZE:14 00 (0014*1K=20K)
1FFF:F7E4 4BYTES   RESERVED  :C6 06 36 06
                              E7 06 67 06
                              BD 06 40 06
1FFF:F7E8 12BYTES  UNIQURE ID:35 FF FF FF 57 37 32 38 64 65 21 43 (5   W728de!C)
                              35 FF FF FF 57 37 32 38 37 48 21 43 (5   W7287H!C)
                              35 FF FF FF 57 37 32 38 37 44 21 43 (5   W7287D!C)
1FFF:F7F4 12BYTES  RESERVED  :FF F0 FC FF 68 97 FF 00 3D C2 C0 3F
                              FF F0 FC FF 68 97 FF 00 3B C4 C0 3F
                              FF F0 FC FF 68 97 FF 00 3B C4 C0 3F
| 2016-5-6 19:30 | 显示全部楼层
我记得在哪看到的,说是包含,
1、lot号(类似于批号,晶柱的编号,一个晶柱可以切出来25张wafer,在foundry中,lot编号不会重复的);
2、wafer编号(每个lot 25张wafer,编号从1#~25#,保证一个lot内不重复);
3、die坐标(一张wafer上有N多die,每颗die都有一个唯一坐标,即使某颗测试fail了,该坐标也不会重复使用);
4、可能会有一些位是用来checksum的。或者一些自定义的一些编码。。
所以经过以上的步骤,可以保证每颗die都是唯一编号的。  
至于哪些位是干什么,不知道。
| 2016-5-7 00:58 | 显示全部楼层
要弄无序设备序列号,32位太寒酸了。采取任何算法都难保证唯一性。

用32位,你得弄个专用管理软件或设备,存储所有已分配的序列号,按算法产生新序列号、排除重复号、并烧录进芯片,最好还记录下每一片芯片的唯一序列号,存储之后,就建立了两个号的对应关系。

 楼主 | 2016-5-7 08:31 | 显示全部楼层
wsmysyn 发表于 2016-5-6 19:30
我记得在哪看到的,说是包含,
1、lot号(类似于批号,晶柱的编号,一个晶柱可以切出来25张wafer,在foundr ...

非常感谢!
 楼主 | 2016-5-7 08:32 | 显示全部楼层
mega1702 发表于 2016-5-6 18:23
1FFFF:F000~F7FF是SYTEM MEMORY,內容包括ISP代碼和晶片資訊。

特別注意的是有一個96位的統一ID(UID), ...

太感谢了!终于找到一个明确的解释
 楼主 | 2016-5-7 08:38 | 显示全部楼层
mcuisp 发表于 2016-5-7 00:58
要弄无序设备序列号,32位太寒酸了。采取任何算法都难保证唯一性。

用32位,你得弄个专用管理软件或设备 ...

对,现在就是先找一下UID的特征,如果实现不了的话就打算用你说这个方法,做一个管理软件,然后由96位UID生成32位序列号,建立对应关系。
| 2016-5-7 09:39 | 显示全部楼层
wjroy11 发表于 2016-5-6 18:14
要求设备序列号最好无规律,出于安全上面考虑。

你自己编都觉得要无规律, 人家ST为什么不会跟你一样想法呢。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

分享 快速回复 返回顶部 返回列表