单片机/C/C++八股:(二十五)SN号和PN号(普及用)
| 上一篇 | 下一篇 |
|---|---|
| 编译文件( .bin 和 .hex ,包括 .elf 和 .axf ) |
SN号和PN号
1)定义
在嵌入式产品开发中,SN号和PN号是设备标识体系里两个不同维度的编号,简单说就是一个管"型号",一个管"个体"。
PN(Part Number)——料号/型号编号,标识的是"这是什么东西"。同一个型号、同一批次的所有设备,PN都是一样的。它本质上是一个产品定义的编码,包含了产品类别、版本、配置等信息。比如你生产了1000块同款开发板,这1000块板子的PN都是同一个。采购、BOM表、仓储管理里说的"料号"就是它。
SN(Serial Number)——序列号,标识的是"这是哪一个"。在同一类型下,每一台设备都有唯一的SN,同型号的1000块板子,SN各不相同。它的作用是追溯到具体的单个产品个体,用于售后追踪、质量溯源、保修管理等。
在实际嵌入式开发中,这两个编号经常会被写进设备的 Flash 或 EEPROM 里,上位机或云平台通过通信协议读取后,就能知道连上来的是什么型号的设备(PN)、具体是哪一台(SN)。有些芯片本身也自带出厂唯一ID(比如STM32的96位UID),可以直接拿来当SN用,也可以基于它再派生自定义的序列号。
2)SN号的绝对唯一与相对唯一
SN全局唯一的做法比较常见于大厂和规范化管理的企业。不管什么型号,所有设备的SN都不重复。好处是拿到一个SN就能直接定位到唯一的设备,不需要再配合PN一起查。如果设备要接入云平台或IoT系统,强烈建议SN做成全局唯一。
SN在各PN范围内独立编号的做法也不少,尤其是中小企业或工业设备领域。比如A型号的设备从0001编到9999,B型号也从0001编到9999,这时候不同PN下就会出现相同的SN。这种方案下,单独一个SN不能唯一确定设备,必须用"PN + SN"组合起来才能定位到具体个体。
