绪论 从事过在PC上添加调制解调器或者网卡的人都知道:这项工作的进程中可能会出现一些预想不到的后果、所用时间可能比预期的要长。为了降低大批量生产的成本,在设计中要使内插电路板在逻辑上与绝大多数来自不同供应商的母板兼容。这种灵活性要求电路板在实际运行之前有必要针对其操作环境进行配置。实施配置需要两方面的信息:一是电路板所要嵌入的系统的全部信息;二是有关电路板本身的一些信息。一旦确定了适当的设置,就要设置电路板上的跳线或开关状态。这样就完成了硬件安装过程中的棘手工作。
如果产品的升级或修改是由经过培训的人员操作、而且这些操作被纳入常规进行,这将很有时效、并且不会涉及大的风险。每当处理一种陌生产品时,就开始了一个新的学习周期,首先要研究相关的文档(这个文档可能写的并不好),进行反复的试验,这个过程可能会损坏产品或支持这项工作的系统。1994年,“即插即用”(PnP)概念的诞生使人们摆脱了上述困境,特别是PC系统。为了能使PnP功能发挥作用,每个PnP器件必须具备以下性能:
- 它必须能够被唯一识别。
- 它必须声明所提供的服务以及所需资源。
- 它必须能够识别支持它的软件驱动程序。
- 它必须允许软件对其进行设置。
尽管这些要求最初只是用来规定PC产品,但后来所有由多个器件(或电路板)组成的电子系统都从即插即用功能中受益非浅。
实现PnP功能最直接的方式是利用存储器保存所需要的信息,而且这些信息在断电时也不会丢失。有些情况下,电路板上已带有适当的存储器(例如,内嵌在微控制器中、一个并行存储器芯片或串行EEPROM)。没有存储器的情况下、或者是所有存储器已被其它功能占用时,就需要一片额外的存储器芯片。由于串行存储器具有较小的物理尺寸、需要极少的附加I/O,因此比并行存储器更适用。在所有串行存储器中,带有1-Wire接口的器件更易于连接,因为它们只需要一根数据线和一个接地参考。多数1-Wire器件甚至没有VCC引脚;它们从数据线上取电提供工作能量。所有的1-Wire器件都有一个唯一的注册号,便于跟踪,并当多个1-Wire器件(不只是存储器)并行连接组成一个1-Wire网络时可用作器件地址,这些特征是其它串行器件所不具备的。注册号的部分代码可以定制,这就将1-Wire器件转变成一个能够标识电路板的定制芯片,并且无法仿造。
PnP功能没有用到的剩余存储器字节可用于使能/禁止电路板的一些资源,而且能够在不升级硬件的条件下开放许可协议管理。根据存储容量和芯片制造技术,存储器还可保存一些有关质量控制、担保信息、维修记录的生产数据。拥有这些可访问的信息能够减少维修时间。
器件工艺 用于印刷电路板标识的1-Wire芯片必须能在不加电的情况下保持存储的数据。因此,器件只能采用非易失(NV)工艺制造,如ROM、EEPROM和EPROM (表1)。在塑料封装中不加窗口或安装晶片级封装的芯片时将有源面朝着电路板安装,将EPROM芯片转变成一次性编程(OTP)的存储器。
表1. 用于电路板标识的1-Wire器件
Part # | Technology | Memory | Appl. Type | Voltage | Packages | Extras |
DS2401 | ROM | 64 bits | Minimalist | 2.8V to 5.5V | Plastic, CSP | ----- |
DS2430A* | EEPROM | 32 + 8 bytes | Nameplate | 2.8V to 5.5V | Plastic, CSP | 8 bytes OTP |
DS2431 | EEPROM | 128 + 7 bytes | Nameplate | 2.8V to 5.25V | Plastic, CSP | Write protection |
DS2432 | EEPROM | 128 + 16 bytes | Nameplate | 2.8V to 5.5V | Plastic, CSP | Challenge & response |
DS28E01 | EEPROM | 128 + 17 bytes | Nameplate | 2.8V to 5.25V | Plastic | Challenge & response |
DS2433 | EEPROM | 512 bytes | Nameplate | 2.8V to 5.5V | Plastic, CSP | ----- |
DS28EC20 | EEPROM | 2560 + 16 bytes | Nameplate | 3.14V to 5.25V | Plastic | Write protection |
DS2406 | OTP EPROM | 128 bytes | Nameplate | 2.8V to 5.5V, 12V write | Plastic, CSP | 2 controlled I/O pins |
DS2502 | OTP EPROM | 128 bytes | Nameplate | 2.8V to 5.5V, 12V write | Plastic, CSP | Write protection |
DS2505 | OTP EPROM | 2048 bytes | Nameplate | 2.8V to 5.5V, 12V write | Plastic | Write protection |
DS2506* | OTP EPROM | 8192 bytes | Nameplate | 2.8V to 5.5V, 12V write | Plastic | Write protection |
电路板标识概述 如表1中Appl. Type一列所示,标识印刷电路板有两种方式。最小系统的方法是基于采用ROM工艺制造的器件;标示牌的方法需要用户可编程的NV存储器,用它来存储相关的PnP信息。表2说明了以上两种方式的标识选择。以1开头的参考号码表示最小系统方案;标示牌方案包括采用EEPROM制造工艺(参考号码以2开头)和采用OTP EPROM制造工艺(参考号码以3开头)的器件。每组中,字母A代表通用型、已上市器件;字母B表示带有定制ROM的器件,关于ROM定制的详细资料,可参阅最小系统方案部分;字母C表示带保护的EEPROM (2C)。欲获得更多的详细资料,请参考标示牌方案部分。
定制器件通过受限制的供货方式避免产品被仿造。仿造产品的制造商买不到定制器件。为了实现对通用器件(DS2432和DS28E01除外)的保护,有必要对数据进行一定的处理,例如,对数据进行加密。
普通的加密方法(例如,密码块链)依靠一个密钥(“保密的”)和初始化向量来实现。将存储器芯片的唯一ROM注册号嵌入初始化向量中,确保同样的数据源对每个单独的器件看起来是不同的。该方法中,如果把数据从一个芯片复制到另一个芯片,那么复制数据在应用中将无法工作。有关加密算法的详细资料及软件可在互联网上查到,例如标准与技术国家协会网站(English only)。
表2. 标识选择概述
Reference | |||||||
1A | 1B | 2A | 2B | 2C | 3A | 3B | |
Approach | Minimalist | Minimalist | Nameplate | Nameplate | Nameplate | Nameplate | Nameplate |
Identification | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Cloning Protection | No | Yes | With encryption | Yes | Yes | With encryption | Yes |
Plug & Play | No | Limited | Yes | Yes | Yes | Yes | Yes |
Automation | Low | Medium | High | High | High | High | High |
Min. Order | N/A | > 10k parts | N/A | > 10k parts | N/A | N/A | > 10k parts |
Typical Volume | Any | > 100k p.a. | Any | > 100k p.a. | Any | Any | > 100k p.a. |
最小系统方案 标识电路板(1A)费用最低的方案是利用通用型(非定制) DS2401硅序列号,通过一个中心数据库将1-Wire芯片的ROM注册号与每块电路板关联起来。由于缺少用户可编程存储器,所以此方法不支持PnP功能。
成本略高的选择(1B)是利用带有用户定制ROM注册号的器件。它允许用户(电路板制造商)指定64位ROM码(图1)中的8、12或16位内容。对一些ROM码的控制能力使它在一定程度上能够满足PnP的要求。此时,仍然需要一个中心数据库建立ROM内容与电路板之间的联系。为使PnP发挥作用,板子上的电路必须能够读取1-Wire器件,并能够将信息转发给主CPU。
因为定制芯片只卖给最初用户及其授权的代理商,它们是受控产品,那些仿造产品的厂商无法得到。为利用这一优势,固件必须能够区别合法的定制芯片和通用型芯片或是为其他用户制造的定制芯片。
通用型器件(1A)很容易订购,小批量订购通常可提供现货。定制器件(1B)是根据订单生产,需要13周的交货期。如需获取登记表请与Maxim或其销售部门联系。
用于最小系统方案的典型芯片是DS2401。
最小系统方案—无用户存储器—对照表
1A | Generic Device |
Method | Database lookup based on registration number. |
Precondition | Database that uses registration number as key to access detailed product information. |
Administration | Enter registration number of every board into database and associate (reference to) detailed product information. |
Cloning Protection | None |
Advantages | Lowest chip cost. |
Disadvantages | Database automation is limited to the tester reading the registration numbers of a batch of boards and then transmitting them as a list to the database; the association to the product information is created manually. Requires access to (remote) database to read a board's detailed information. |
1B | Customized Device |
Method | Database lookup based on registration number. Board types or board versions are distinguished by different codes in the customer-specified section (subfield) of the registration number. |
Precondition | Database that uses registration number as key to access detailed product information. |
Administration | Enter registration number of every board into database and associate (reference to) detailed product information. A portion of the product information can automatically be identified by the content of the customer-specified bits (subfield). |
Cloning Protection | Yes |
Advantages | The chip is less costly than memory chips for the nameplate approach. Less prone to human error, provided that the right chip is mounted on the board. If different products or product versions require different test programs, the name of test program can be used to verify that the right chip was mounted on the board. |
Disadvantages | Database automation is limited to the tester reading the registration numbers of a batch of boards and then transmitting them as a list together with test program name to the database. Requires access to (remote) database to read a board's detailed information. Logistics for stocking and using different customized chips. |
图1. 通用和定制ROM注册号
选项A:每个子字段值有2.68 亿个序列号。
选项B:每个子字段值有1670万个序列号。
选项C:每个子字段值有104万个序列号。
示例 通用型DS2401
示例的注册号以十六进制表示:A3 00 00 00 00 D4 92 01
定制的DS2401,用户ID 123h,选项 A,子字段内容ABh
示例注册号以十六进制表示:E5 12 3A B0 00 56 1D 81
定制家族码的最高有效位总是1。
通过读取一个定制ROM还不能断定具体的选项是什么。不管怎样,对于一个特定的用户标识和器件,用户自定义子字段内容的所有变量要保持相同选项。
标示牌方案 所有适合标示牌方案的器件均带有用户可编程NV存储器,并用它来存储PnP的相关信息。标示牌方案的基本要求是列出使PnP发挥作用的数据条目、定义一个能识别每项数据条目的方法并确定表示每项数据条目值(数字、逻辑或文本)的格式。为节省空间,格式可能针对特殊应用定制;也可以利用某种工业标准,这或许占用较大空间、如XML (可扩展的标记语言)格式。假如数据条目能被标识并选定了一种格式,就能够将这些数据添加到列表中。数据条目就能按一定顺序逐一存储到电路板标识芯片的存储器中。换句话说,数据可以嵌入到开始的一个字节长度和结尾的CRC校验码之间,并将其存为一个数据文件。有关用于1-Wire器件文件格式的更多信息参见应用笔记114:"1-Wire File Structure"。
根据存储器尺寸(字节数)可能还能够存储其它信息,如生产数据。因为信息储存在电路板的芯片中,所以不必为了获得有关电路板的信息去访问中心数据库。但保持这样一个数据库存储那些未装入存储器芯片或有意避免公众访问(例如,材料清单、元件供应商名称)的信息是一个良好的惯例。与最小系统方案相同,64位ROM注册号是数据库的密钥。
标识芯片的价格取决于存储容量(存储器尺寸)和制造工艺。正如本文后面所举的范例,PnP的基本信息可以很容易地安装到128字节甚至更小尺寸的存储器内。如需存储一些附加信息,那么128字节的小容量存储器芯片就不够用了。相反,若用2048字节的芯片按照紧凑的格式存储150条以上的全部材料清单,将会留出许多剩余空间。利用存储效率较低的XML标记格式时,对于包含50项条目的材料清单来说,2048字节仍然够用。
适合标示牌方案的存储器芯片的制造工艺有两种:EEPROM和OTP-EPROM。任何一种工艺中都有通用芯片(EEPROM对应为2A、EPROM对应为3A)和ROM定制芯片(对应于2B和3B)。ROM定制与最小系统方案(参见图1)中的描述相同,并具有相同的约束和申请过程 。
带有保护的EEPROM (2C)是由用户定制的,它在器件内安装了一个8字节的密钥。一旦安装完毕,该密钥—与密码不同—将从不暴露在1-Wire总线上。向受保护的EEPROM写入信息时,主机需要发送一个160位的信息认证码,认证码由密钥和其它数据计算得到。在读取EEPROM时,器件也生成一个认证码,使主机能够验证芯片是否在从不暴露自身密钥的前提下知道正确的密钥。关于带有保护的EEPROM特殊用法的详细信息,请参见应用笔记3675:“保护您的研发成果—双向认证及软件功能保护”。
通用器件(2A、3A和2C)易于订购,而且小批量定单通常可提供现货。定制器件(2B、3B)是根据订单生产,需要13周的交货期。如需获取登记表请与Maxim或其销售部门联系。
用于标示牌方案(2A、2B)的最小EEPROM芯片是DS2430A。此芯片有一特性:除了一个32字节的可重复编程存储器外,它还有一个8字节的一次性编程寄存器。DS2431、DS2433和DS28EC20分别为4页、16页和80页,每页32字节。DS2431和DS28EC20支持写保护和OTP-EPROM仿真。DS2432和DS28E01带有保护的EEPROM器件(2C)能存储128字节(每页32字节,共4页)的应用数据和8字节的密钥,并有多个寄存器用于控制操作。采用EPROM工艺(3A、3B)的器件有四种类型:DS2502 (128字节)、DS2505 (2048字节)、DS2506 (8192字节)和DS2406 (128字节)。所有这些器件均按照32字节的存储页面构成。除存储器外,DS2406还有两个通过软件控制用作开漏输出(激励器)或数字输入(检测器)的引脚。
标示牌方案—EEPROM—对照表
2A | Generic Device |
Method | User-programmable memory chip stores relevant PnP data on the circuit board. Optional: Database lookup based on registration number for additional data. |
Precondition | Definition of PnP data, additional data (as desired), data representation, and formatting. Board tester that programs memory chip at final test. Optional: Database to access additional product information. |
Administration | Ensure that the board tester uses the correct software. Optional: Create link between tester and database to store board registration number, copy of chip data, and board test results. |
Cloning Protection | No, unless data is encrypted. |
Advantages | Highly automated database. If the memory chip was programmed with incorrect data, it can be reprogrammed. |
Disadvantages | More costly than minimalist approach. Unless encrypted or write protected, data is not safe from unauthorized changes. |
2B | Customized Device |
Method | (Same as 2A) |
Precondition | (Same as 2A) |
Administration | (Same as 2A) |
Cloning Protection | Yes, encryption is optional. |
Advantages | (Same as 2A) |
Disadvantages | More costly than generic device. Unless encrypted or write protected, data is not safe from unauthorized changes. |
2C | Protected Device (Customization by User) |
Method | (Same as 2A) |
Precondition | Board tester, which at final test installs a secret in the memory chip and programs it with the desired data. (Otherwise same as 2A) |
Administration | Ensure that the board tester uses the correct software and the correct secret. (Otherwise same as 2A) |
Cloning Protection | Yes, encryption is optional. |
Advantages | Data can be read but not altered without knowing the secret. The secret can be write-protected. (Otherwise same as 2A) |
Disadvantages | More costly than minimalist approach. |
标示牌方案—OTP EPROM—对照表
3A | Generic Device |
Method | (Same as 2A) |
Precondition | Board tester with 12V capability that programs memory chip at final test. (Otherwise same as 2A) |
Administration | (Same as 2A) |
Cloning Protection | No, unless data is encrypted. |
Advantages | Highly automated database. If the memory chip was programmed with incorrect data, incorrect data can be invalidated and new data can be written to an unused memory section (if available). Data can be write-protected in blocks of 32 bytes. |
Disadvantages | More costly than minimalist approach. Requires 12V for writing to the memory chip. |
3B | Customized Device |
Method | (Same as 2A) |
Precondition | (Same as 3A) |
Administration | (Same as 2A) |
Cloning Protection | Yes, encryption is optional. |
Advantages | (Same as 3A) |
Disadvantages | More costly than generic device. Requires 12V for writing to the memory chip. |