你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32的96位UID能否取低24位,重复概率如何?

[复制链接]
zhumx 提问时间:2019-8-23 20:18 /
如题,需要每个设备具有唯一号,长度24bit,能否使用STM32的96位UID的低24位,重复概率如何?能有千万分之一的概率重复吗?有其他办法可以压缩吗?比如CRC,求和是否可行?

评分

参与人数 1 ST金币 +1 收起 理由
gk18965 + 1 非常好的说

查看全部评分

收藏 评论16 发布时间:2019-8-23 20:18

举报

16个回答
tyhjrwx2011 回答时间:2019-8-24 00:19:26
给LZ提供一个不成熟的计算:

2^24 = 16777216,简单假设每位都是任意随机,1年的出货量约为3-12亿颗,存在不小的重复,考虑伪随机的实际应用,重复率应该略高于理论(如若唯一ID有部分字段根据地区、厂家等固定因素设定)。

小概率事件0.5%计算的话,只要小于167772 / 2 = 83886的出货量,可以不加以重视
如果你的产品,本身出货量就很小(如小于1K)则基本可以忽略

96位其实也不过12个字节,你用24位,3个字节,有点保守了。。。

http://dy.163.com/v2/article/detail/EDTSLJBB0511CPMT.html
STM32 过去九年的的出货量
  尤其是其STM32 MCU的出货,更是表现惊人。据IHS统计,过去四年,STM32的平均年复合增长率高达30%,去年公司的STM32出货量更是达到了12亿颗。统计2007年到现在的数据,公司的STM32出货量更是超过40亿片,服务的客户也超过四万家。

http://www.sohu.com/a/169347867_132567
而从市场份额看,2007年到2016年,ST的MCU在中国的市占率从2%增长到14%。2016年年底,STM32品牌的MCU在中国占据了36%的出货量,这是一个非常可观的数字。

从2007年到2012年的五年时间里,STM32的全球出货量达到了1亿片;到了2013年,全球出货量达到了10亿片;2013年到2016年这三年又增加了10亿。

所以第一个十亿花了6年,第二个十亿花了3年。而ST的目标是在2017年,达到每秒钟32颗STM32的出货量。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

maxtch 回答时间:2019-10-15 16:02:02
如果不介意成本但需要保证绝对全球唯一,可以考虑加一颗保证全球唯一的 UID 芯片,譬如 24AA02E48。这颗芯片用起来就是一颗普通的 24C02,但出厂时从地址 0xFA 到 0xFF 烧录了一个保证唯一的 48 位 MAC 地址,而且从 0x80 到 0xFF 这后半片被写保护起来了。

我常用这个芯片搭配 STM32F407、W5500 或支持网络的 Linux 板用。
奏奏奏 回答时间:2019-8-24 07:40:57
我告诉你我的情况吧,我之前只取低48位,为了CAN协议节省占用空间,结果被上司说了一顿,改回96位也就是12个字节保证唯一性了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

a707083746 回答时间:2019-8-24 09:07:44
我用低16位,也就是2字节试过,几十片就有重复的了
低24位也不行,同一批芯片它可能只在高字节有变化。
压缩的结果应该与这12个字节有关,有助于减少重复率。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

MrJiu 回答时间:2019-8-24 14:31:32
简直就是不用思考,就知道不行啊。。。因为批次问题,你无法保证某一批次不是低位逐渐递增的。。。所以还是洗洗睡吧!!!自建UID不就好了。。。现在很多批量烧写器都支持指定flash保存数据,可以递增的。。。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

zhumx 回答时间:2019-8-25 11:04:10
tyhjrwx2011 发表于 2019-8-24 00:19
给LZ提供一个不成熟的计算:

2^24 = 16777216,简单假设每位都是任意随机,1年的出货量约为3-12亿颗,存在 ...

谢谢解答,我这产品预估出货量不可能过万。。。。,24位主要是放在扩展帧的低24位,用于保证每个节点发送的CAN帧ID不重复
zhumx 回答时间:2019-8-25 11:07:31
a707083746 发表于 2019-8-24 09:07
我用低16位,也就是2字节试过,几十片就有重复的了
低24位也不行,同一批芯片它可能只在高字节有变化。
...

感谢解答,请问你们怎么压缩的?
奏奏奏 回答时间:2019-8-25 18:33:35
楼主及早回头是岸呀!你明知道这么做是不可能的还要去赌运气,除非你根本就不想在公司发展。你这是在作死的边缘上疯狂试探呀!
zhumx 回答时间:2019-8-25 19:23:26
奏奏奏 发表于 2019-8-25 18:33
楼主及早回头是岸呀!你明知道这么做是不可能的还要去赌运气,除非你根本就不想在公司发展。你这是在作死的 ...

说点有用的
你若安好_清风徐来 回答时间:2019-8-26 17:53:52
难顶 高字节压缩 低字节不压缩  (也是碰运气)  说不定哪天遇到了    不管任何方式都有几率碰撞,还是自建UID 好一些

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

zhumx 回答时间:2019-8-27 10:02:11
你若安好_清风徐来 发表于 2019-8-26 17:53
难顶 高字节压缩 低字节不压缩  (也是碰运气)  说不定哪天遇到了    不管任何方式都有几率碰撞,还是自建 ...

谢谢,有哪些办法自建UID?
你若安好_清风徐来 回答时间:2019-8-28 16:25:15
黑色裂变 发表于 2019-8-27 10:02
谢谢,有哪些办法自建UID?

几种方法啊   加内存芯片或者ROM,每次烧程序加1 不仅可以了嘛  多设置几个字节,可以用到老
STM1024 回答时间:2019-10-15 12:55:54
黑色裂变 发表于 2019-8-27 10:02
谢谢,有哪些办法自建UID?

出货量大的话,找别人定做ROM,这种是最合理的搞法,甚至还可以搞专用的加密型
小批量的话,可以使用Flash或者备份寄存器作为你的自建UID,就是烧写麻烦一些
butterflyspring 回答时间:2019-10-15 17:16:04
某些国内烧录器可以支持生成序列号功能,并能添加到代码的指定位置。找找看,看这种烧录器的对应软件。
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版