摘要
识别印刷电路板(PCB)的方法有两种,'最小系统'法是基于采用ROM工艺制造的器件;'标示牌'法需要用户可编程的NV存储器,用它存储相关的PnP信息。实现即插即用性能最直接的方式是利用存储器保存所需要的信息,而且这些信息在断电时也不会丢失。用于印刷电路板标识的1-Wire芯片必须能在不加电的情况下保持存储的数据,如ROM、EEPROM和EPROM (一次编程)。
绪论
从事过在PC上添加调制解调器或者网卡的人都知道:这项工作的进程中可能会出现一些预想不到的后果、所用时间可能比预期的要长。为了降低大批量生产的成本,在设计中要使内插电路板在逻辑上与绝大多数来自不同供应商的母板兼容。这种灵活性要求电路板在实际运行之前有必要针对其操作环境进行配置。实施配置需要两方面的信息:一是电路板所要嵌入的系统的全部信息;二是有关电路板本身的一些信息。一旦确定了适当的设置,就要设置电路板上的跳线或开关状态。这样就完成了硬件安装过程中的棘手工作。
如果产品的升级或修改是由经过培训的人员操作、而且这些操作被纳入常规进行,这将很有时效、并且不会涉及大的风险。每当处理一种陌生产品时,就开始了一个新的学习周期,首先要研究相关的文档(这个文档可能写的并不好),进行反复的试验,这个过程可能会损坏产品或支持这项工作的系统。1994年,“即插即用”(PnP)概念的诞生使人们摆脱了上述困境,特别是PC系统。为了能使PnP功能发挥作用,每个PnP器件必须具备以下性能:
- 它必须能够被唯一识别。
- 它必须声明所提供的服务以及所需资源。
- 它必须能够识别支持它的软件驱动程序。
- 它必须允许软件对其进行设置。
尽管这些要求最初只是用来规定PC产品,但后来所有由多个器件(或电路板)组成的电子系统都从即插即用功能中受益非浅。
实现PnP功能最直接的方式是利用存储器保存所需要的信息,而且这些信息在断电时也不会丢失。有些情况下,电路板上已带有适当的存储器(例如,内嵌在微控制器中、一个并行存储器芯片或串行EEPROM)。没有存储器的情况下、或者是所有存储器已被其它功能占用时,就需要一片额外的存储器芯片。由于串行存储器具有较小的物理尺寸、需要极少的附加I/O,因此比并行存储器更适用。在所有串行存储器中,带有
PnP功能没有用到的剩余存储器字节可用于使能/禁止电路板的一些资源,而且能够在不升级硬件的条件下开放许可协议管理。根据存储容量和芯片制造技术,存储器还可保存一些有关质量控制、担保信息、维修记录的生产数据。拥有这些可访问的信息能够减少维修时间。
器件工艺
用于印刷电路板标识的
表1. 用于电路板标识的
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. 标识选择概述
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硅序列号,通过一个中心数据库将
成本略高的选择(1B)是利用带有用户定制ROM注册号的器件。它允许用户(电路板制造商)指定64位ROM码(图1)中的8、12或16位内容。对一些ROM码的控制能力使它在一定程度上能够满足PnP的要求。此时,仍然需要一个中心数据库建立ROM内容与电路板之间的联系。为使PnP发挥作用,板子上的电路必须能够读取
因为定制芯片只卖给最初用户及其授权的代理商,它们是受控产品,那些仿造产品的厂商无法得到。为利用这一优势,固件必须能够区别合法的定制芯片和通用型芯片或是为其他用户制造的定制芯片。
通用型器件(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校验码之间,并将其存为一个数据文件。有关用于
根据存储器尺寸(字节数)可能还能够存储其它信息,如生产数据。因为信息储存在电路板的芯片中,所以不必为了获得有关电路板的信息去访问中心数据库。但保持这样一个数据库存储那些未装入存储器芯片或有意避免公众访问(例如,材料清单、元件供应商名称)的信息是一个良好的惯例。与最小系统方案相同,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字节的密钥。一旦安装完毕,该密钥—与密码不同—将从不暴露在
通用器件(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. |
标示牌设计注意事项
电子标示牌必须包含PnP需要的全部数据条目、识别每个数据条目的方法以及在适当格式下每个条目的值。空间允许的话,可在标示牌中添加一些附加信息。如同金属标示牌或纸标示牌一样,有时或许希望增加公司名称和地址信息。鉴于OTP-EPROM的位在编程时只能从1设置为0,需要产生一种在这种约束下能够改变数据的格式定义。
下述的示例设计思路符合上述要求,标示牌以公司名称和网址的ASCII字符串开头,紧跟着一个00字节做分隔符。所有后续数据均被分组,每组包含一个特定用途的数据条目,每个数据条目有一个分组内唯一的标识号(1至255)。同一组内所有数据条目值的长度相同。每组以一个用来识别组号(1至15)和组内值的长度(1至15个字节)的引导字节开头。组号存储在引导字节的高4位,留出低4位来指定值的长度。在一个分组的最后一个值后面,用00h字节作为分隔符。
这种定义的有效性在MxTNI™电路板上得到了验证,MxTNI板是一块SIMM板大小的小型网络服务器。TINI服务器由包含一个微处理器在内的大约65个组件构成。其中一些组件和跳线只安装在特定版本的电路板上。而且,数据分成两组:生产数据和PnP数据,如表3所示。
表3. 标示牌示例的内容
Group | Function | Items | Ident. # |
Length | Format |
1 | Manufacturing Data | Product name Part number Hardware revision Date code/lot number |
1 2 3 4 |
12 bytes each | ASCII |
2 | PnP Data | RAM chip select RAM size Ethernet chip presence Ethernet chip to SIMM connection Non-volatizer presence |
1 2 3 4 5 |
1 byte each | Numeric Numeric (Mbits) Boolean Boolean Boolean |
生产数据包括了集成电路的所有典型参数,所有这些信息均可用每项条目不超过12个字节的ASCII文本表示。
PnP数据由5个参数组成:1) RAM片选线的数量,2) 每片RAM的尺寸,3) 是否存在以太网芯片,4) 以太网芯片到SIMM引脚是否连接,5) 是否存在NV存储器。其中前两项参数值是数字值;其余三项是“布尔”值,表示它们非真即假。尽管这些布尔参数能够合并到一个单字节的三位中,但本示例中没有这么做。而是用字节FFh代表“真”、用00h代表“假”。包括公司名称的完整标示牌如下所示:
(C)MAXIM www.ibutton.com<00>
<1C><01>MxTNI SERVER <02>90-TINI1-512<03>REVB1 030900<04>0023B/117989<00>
<21><01><01><02><04><03><FF><04><FF><05><FF><00>
括号<>内的信息用十六进制格式表示字节,所有其它信息采用简单的ASCII文本格式。整个标示牌仅需要106个字节,因此能够很容易地将它们装配到一片DS2502芯片中。如果选用的是容量较大的存储器芯片,就能将所有型号列表或材料清单囊括到标示牌中。为了达到这个目的,参数可以按照以下格式分组:
Group | Function | Length | Format |
1 | Manufacturing data | 12 bytes each | ASCII |
2 | Plug-and-play data | 1 byte each | (varies) |
3 | Batteries | 9 bytes each | ASCII |
4 | Capacitors | 9 bytes each | ASCII |
5 | Diodes | 9 bytes each | ASCII |
6 | Transistors | 9 bytes each | ASCII |
7 | Resistors | 9 bytes each | ASCII |
8 | ICs part 1 | 9 bytes each | ASCII |
9 | ICs part 2 | 12 bytes each | ASCII |
10 | Crystals | 9 bytes each | ASCII |
11 | Circuit board | 9 bytes each | ASCII |
对于相同范例的电路板,所有这些信息将占用不到1kB。按照这样的估算,选择专有的器件型号编码系统,分配12个字符的型号代码给所有器件。因为器件型号的前三个字符相同,所以常将它们省去,长度则减少至九个字符。第九组中集成电路型号的起始字符不同,所以仍用12个字符长度。
因为在一个分组中标识号总是在每项条目的前面,这些条目的顺序并不严格。另外,因为每个分组是根据它的引导字节来识别的,所以分组的顺序也可以改变。这种灵活性能够废除一个分组或分组里的单个参数,然后再对其进行重新定义。这对OTP-EPROM器件有特殊意义。如果将组号改变成0,使整个分组无效,但不改变组内用来定义参数长度的位。随后,把新组的整个拷贝添加到上一次参数分组的后面。废除并重新定义一个参数,要在原来位置把参数号码改成00,并添加一个包含了新参数值的新版参数分组。分组中未改变的那些参数不必包含在内。用EEPROM器件不必废除并重新定义值或分组,如果有任何变动,所有的数据可重新写入。
以上所描述的设计示例的思路是创建标示牌的一种方法。二进制和ASCII数据相结合可使占用的存储空间最小,但这是非标准的。虽然采用XML格式存储效率较低,但它是标准化格式,这种格式只用到ASCII码。XML格式中,类似的范例如下所示:
<NamePlate name="MxTNI SERVER">
<Company> (C)MAXIM www.ibutton.com </Company>
</NamePlate>
<ProdData>
<PartNo> 90-TINI1-512 </PartNo>
<Rev> B1 030900 </Rev>
<Date> 0023B/117989 </Date>
</ProdData>
<Config>
<MemChips> 1 </MemChips>
<MemSize> 4Mbits </MemSize>
<EthChip> true </EthChip>
<EthSimm> true </EthSimm>
<NonVol> true </NonVol>
</Config>
这个XML文件长度为380个字节;
获得一个常规的电路板序列号
虽然已经有一个电路板标识或标示牌,但有时还希望在电路板上印上一个常规的、可人工读取的序列号。64位ROM注册号已经包括了一个十六进制的序列号。如果选择标示牌方案,可将一个十进制的序列号嵌入标示牌的设计中。共有三种类型:
- 通用硅片,最小系统方案(参考1A)
- 定制硅片,最小系统和标示牌方案(参考1B、2B和3B)
- 通用硅片,标示牌方案(参考2A、2C和3A)
为了得到一个常规序列号,取出48位序列号(参见图1),并将其转换为十进制数。因为DS2401 (最小系统方案的典型芯片)已经生产了很大的批量,其十进制数已达到9位或10位。
为了得到一个常规序列号,取出序号区域的内容,并将其转换为十进制数。如图1所示,定制器件的序号区域不超过28位,这就将序列号的长度限制到9位(选项A)或8位(选项B)十进制数。根据预测的结论,可选用7位数字的电路板序列号。另外,在定义印刷序列号的格式时,应该确定是否以及怎样包含用户自定义的子字段。一般都采用十六进制格式;按照子字段的内容,可将数字用二进制编码的十进制(BCD)码表示,并将它们直接印制成十进制数。当按照十六进制格式印制完整的ROM注册码及其型号时,CRC码应印制在左边,家族码印制在右边。例如:25002066007A8081。去掉家族码和CRC校验码,剩余码为002066007A80、用户标识符以及用户定义子字段与序列号的组合。如果知道了ROM选项(本范例是B),就能说出该器件的实际序列号是十六进制的007A80或十进制的31360。本范例中,子字段可看作十进制或十六进制。
得到一个常规序列号的首选方案是将其包含在标示牌中,并以十进制形式表示。这种类型的序号需要由控制电路板检测器的软件管理,但这项工作并不像想象的那样简单。因为给每个器件定义的序列号不同,所以在标识芯片安装到电路板之前不能成批地进行编程。如果不将序号包含在标示牌中,就后退到了情况1) 通用硅片,最小系统方案的过程。
与主电路连接
为了将PnP数据送到主机CPU,电路板标识芯片必须连接到电路板的电路中。图2所示接口适合于双向端口。考虑其开漏特性,适合选用8051兼容微控制器的端口0驱动
图2. 双向读取模式接口
标准工作模式下,通过2.2kΩ的电阻将端口上拉到VCC。而且,MOSFET内部的寄生二极管保证
图2电路也可用于其它类型的串行接口;然而,对数据线、时钟以及控制信号来说,去耦晶体管将是十分必要的。或许对串行存储器芯片的电源线也需要进行去耦。有时可能需要4引脚或5引脚的连接器来代替简单的2引脚探测器。所存在的缺陷是:非
应用举例
我们选择MxTNI板作为标示牌设计的范例,此电路板包含一个电子标示牌。考虑到它采用的是以太网接口,每块电路板都需要一个以太网地址。硅片中得到这个地址的最简单的方法是利用DS2502-E48,其中一页预置为以太网地址和控制数据,另外三页存储器能够在不增加额外成本的条件下供标示牌使用。
实际的MxTNI标示牌设计与示例的设计思路有些不同。只要包含所有相关数据、可以识别、有数值就可以接受。MxTNI标示牌包含七个数据实体或标签,如表4所示。
表4. MxTNI标示牌内容
Tag Name | Tag # | Tag Length | Tag Format | Possible Tag Values |
TAG_TINI_HW_VERSION | 01 | 35 bytes | ASCII | (text string) |
TAG_DATE_CODE | 02 | 4 bytes | numeric | (UNIX 32-bit time format) |
TAG_RAM_CHIP_SELECT_CONFIG | 03 | 1 byte | numeric | 1, 2 |
TAG_RAM_SIZE_EACH_CONFIG | 04 | 3 bytes | numeric | 0 to 16777216 bytes |
TAG_SMC_NOT_PLACED | 05 | 1 byte | numeric | 0 = Ethernet available 1 = Ethernet unavailable |
TAG_SMC_PORT_PINS_CONNECTED | 06 | 1 byte | numeric | 0 = pins not connected 1 = pins connected |
TAG_NONVOLATIZER_NOT_PLACED | 07 | 1 byte | numeric | 0 = non-volatizer used 1 = non-volatizer not used |
每个标签由后面跟随一个长度字节和标签值的号码来识别。从1号标签开始,七个标签连接起来构成TINI的配置数据。然后,MxTNI配置数据被重新格式化为每项条目32个字节的数据包,以符合存储页面的尺寸。每个包以一个长度字节打头,以CRC16结尾。产生的数据模板包括一个器件的预置数据示例,如表5所示。
表5. MxTNI标识芯片示例
Preprogrammed Section | ||||||||||||||||
Address | ||||||||||||||||
0000 | 0A | 29 | 11 | 00 | 00 | B8 | 93 | 00 | 35 | 60 | 00 | 68 | 59 | FF | FF | FF |
0010 | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF |
Nameplate Section | ||||||||||||||||
Address | ||||||||||||||||
0020 | 1D | 01 | 23 | 44 | 53 | 20 | 54 | 49 | 4E | 49 | 20 | 4D | 6F | 64 | 65 | 6C |
0030 | 20 | 33 | 39 | 30 | 20 | 52 | 65 | 76 | 20 | 44 | 20 | 44 | 53 | 54 | F3 | 3C |
0040 | 1D | 49 | 4E | 49 | 31 | 2D | 35 | 31 | 32 | 02 | 04 | A0 | 3E | 36 | 3A | 03 |
0050 | 01 | 01 | 04 | 03 | 00 | 00 | 08 | 05 | 01 | 00 | 06 | 01 | 01 | 07 | C5 | 01 |
0060 | 02 | 01 | 00 | AF | AF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF |
0070 | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF |
色码图例
Data Packet Length Byte | Constant data (IEEE® company Identification) | |
Data Packet CRC | (no color = unused byte) | |
Data Pattern Identification Number | Nameplate Parameter Number and Parameter Length | |
Serialization | Nameplate Parameter Value |
为了读取标示牌,需要识别跟随在标签尺寸后面的标签号。标签长度指定的后续字节是标签值。再下一个字节是标签号,以此类推。表6表示表5中数据的解码形式,对标签值进行解码时,很重要的一点是要知道多个字节编号的最低有效字节存放在低位地址内(“Little Endian”字节顺序)。为了恢复数字的自然顺序,需要把字节(而不是数字)按倒序写下来(如,在“Explanation”一栏中是从右到左的顺序)。文本是按自然顺序保存的(例如,第一个字符存在低位地址)。
表6. 标示牌解码
Preprogrammed Section | Tag # | Value | Explanation |
(N/A) | 29 11 00 00 | Data pattern ID# 00001129 | |
(N/A) | B8 93 00 | Ethernet extension ID# 0093B8 (serialization) | |
(N/A) | 35 60 00 | Ethernet company ID# 006035 (constant data) | |
Nameplate Section | |||
01 | (text) | Text = "DS MxTNI Model 390 Rev D DSTINI1-512" | |
02 | A0 3E 36 3A | 3A363EA0 = December 12, 2000, 15:05:04 hours (see note) | |
03 | 01 | 1 chip select | |
04 | 00 00 08 | 08 00 00 = decimal 524288 bytes (512K) | |
05 | 00 | SMC Ethernet chip is available | |
06 | 01 | SMC port pins are connected to SIMM edge connector | |
07 | 00 | Non-volatizer is used |
注:日期编码3A363EA0代表自1970年1月1日UTC时间0点后976633504秒。这种时间格式假定每天是精确的24小时。这样一来,从秒到每天的时间变换将非常直接。但关于日期的计算需要包括闰年补偿,更复杂一些。有关常规时间、日期与秒之间相互转换的算法描述请参见应用笔记517:"DS1371/DS1372/DS1374 32-Bit Binary Counter Time Conversion"。
因为配置数据是按照长度字节打头、CRC16结尾的形式打包,所以它不可能将一个参数置为无效(例如,在安装完第二片存储器后更新标示牌)。这种操作在数据打包之前是可行的。这种打包形式能够保护芯片内的数据不受存储器位错误的影响。若一个存储器位出现错误,CRC16将不再匹配。为防止通信过程中出现误码,所有