8. Serialization
8.1 Introduction
The programmer has the ability to automatically program the target device's serial number (SN) and save it in flash memory. New SNs can be created automatically by incrementing a starting base SN, or can be taken from a file created by the user. SNs that have been used are stored in separate data files to account for devices that have already been programmed. In addition to this SN, the model name, group, and revision number can also be programmed to the target device. The user can specify the display SN format and location in flash memory where this information will be stored.
The SN is programmed when "Auto Program" or "Write SN/Model" buttons are pressed and the SN feature is enabled. When the "Auto Program" function is activated the SN is programmed to the target's device memory after code data has been programmed. If "Auto Program" fails for any reason then the new SN is neither created nor programmed to the device. In the case of Gang programming, as many SNs will be used up as there are successfully programmed devices. If there are not enough SNs left to program all devices in the Gang programmer then an error will appear, and the procedure will abort resulting in no devices being serialized.
The software also allows the microcontroller to retain its SN if one has already been assigned to it. Every time a device is programmed and serialization is enabled the contents of the target's memory are scanned for an existing SN. If the SN is found at the specified location the message in Figure 8.1 will appear and allow the user to decide to keep the old SN, program a new SN from the list, or program a SN typed manually.
Figure 8.1: If an MCU already contains serialization information at a specified location then a conflict window will appear giving the user the option to retain the old serial number, or program in a new one.
The Serialization Dialog screen, shown in Figure 8.2, allows the user to configure how serialization is done. Serialization can be enabled, or disabled, by selecting the check mark in the ENABLE Serialization check-box. When serialization is disabled all edit lines and check boxes are disabled. When serialization is enabled, most fields have to be set to ensure that the result will be as the user expects. The necessary fields include:
Display Format - The display format describes the meaning of the characters that comprise the SN.
Memory Format - The memory format describes how the SN will be stored in the device's flash memory.
Memory Location - This address is the memory location reserved for the SN. It can only overlap code regions if the Remove code contents in the location where the serialization and model are defined check-box is also selected.
Starting Number and Increment - When using all display formats except "Custom" and "from File", these parameters are necessary. The starting number will indicate the value of the first SN created. Subsequent SNs will be determined by adding the increment to the current SN number. Both of these parameters can only be positive integers and create SNs that remain within the maximum range described later in this chapter.
Output File - The specified file will store all successfully programmed SNs. The output file is very important not only for logging purposes, but also for restoring state across programming sessions. The output file is used to retrieve the last SN programmed and set the next SN to be programmed when restoring the programming session. If the output file is deleted, or another blank file is selected, the Serialization process will essentially reset to the beginning, and the first SN will be programmed at the next iteration.
The serialization dialog screen also contains several useful optional features:
Model/Group/Revision - In addition to the aforementioned SN formats, the software also allows the user to program each device with separate HEX or ASCII data. This information is saved at a different memory location from the SN, and does not change after each programming cycle. This is used to program static information that should be the same for each target device, like the software revision number, model, etc.
BarCode Scanner - The BarCode Scanner can be used as an input mechanism for new SNs. When enabled, scanning a barcode will set the “Next SN" shown in Figure 8.1 to the value read by the BarCode Scanner. For convenience, the software can be configured to start the “Auto Program" procedure immediately after the BarCode Scanner reads a new number, by selecting the Start AUTOPROGRAM following BarCode scan check-box.
Figure 8.2: Serialization options can be selected here.
8.2 Serial Number Display Format
Programming software has eight formats for writing a serial number, referred to as Display Format, and three methods of storing the SN in memory, referred to as In Memory Format in the serialization dialog screen. When a serial number is created, the current date (if required) is taken from the PC timer, therefore ensure that your computer has the correct date and time.
Display Formats:
YYYY-1234(5) - (SN Format F0) Serial number has 8 or 9 characters depending on other settings. First four characters specify the year, and the remaining 4 or 5 characters specify the serial number up to a maximum of:
9999 - when BCD memory format is selected, or if Ascii format with Decimal radix is selected (i.e. 20039999).
0xFFFF (65535) - when HEX memory format is selected, or if Ascii format with Hex radix is selected (i.e. 200365535, 2003aab0).
YYMM-1234(5) - (SN Format F1) Serial number has 8 or 9 characters depending on other settings. First two characters specify the last two digits of the year, next two characters specify the month, and the remaining 4 or 5 characters specify the serial number up to a maximum of:
9999 - when BCD memory format is selected, or if Ascii format with Decimal radix is selected (i.e. 03059999).
0xFFFF (65535) - when HEX memory format is selected, or if Ascii format with Hex radix is selected (i.e. 030565535, or 0305aab0).
YYMMDD-1234 - (SN Format F5) Serial number has 10 characters. First six characters contain date (year, month, day of month) and remaining 4 characters specify the serial number up to 9999, e.g. 1205309998.
YYDDD-1234(5) - (SN Format F4) Serial number has 9 or 10 characters depending on other settings. First five characters specify the year, day of the year from 1 to 366, and remaining 4 or 5 characters specify the serial number up to a maximum of:
9999 - when BCD memory format is selected, or if Ascii format with Decimal radix is selected (i.e. 123559999).
0xFFFF (65535) - when HEX memory format is selected, or if Ascii format with Hex radix is selected (i.e. 1235565535, 12355ffff).
12345678 - (SN Format F2) Serial number has 8 digits. The maximum value is:
99999999 - when BCD memory format is selected, or if Ascii format with Decimal radix is selected.
0xFFFFFFFF - when HEX memory format is selected, or if Ascii format with Hex radix is selected.
1234(5) - (SN Format F3) Serial number has 4 or 5 characters depending on other settings. . The 4 or 5 characters specify the serial number up to a maximum of 9999 or 65535.
9999 - when BCD memory format is selected, or if Ascii format with Decimal radix is selected (i.e. 9999).
0xFFFF (65535) - when HEX memory format is selected, or if Ascii format with Hex radix is selected (i.e. 65535, or aab0).
Custom - (SN Format F6) 4 to 256 ASCII characters or hexadecimal numbers entered manually or from the Bar-Code Reader.
from File - (SN Format F7) 4 to 256 ASCII characters or hexadecimal numbers taken from a user created file.
For SN display formats 1 to 6 above (logfile format F0 through F5), the non-date components can be entered using either decimal or hexadecimal notation. Normally only characters from 0 to 9 will be accepted unless a "0x" prefix is added informing the software that a hexadecimal number is begin entered, allowing the user to use A to F as well. All characters are subsequently converted to a chosen memory format, which can be HEX, BCD or ASCII, before they are saved to flash memory.
When a "Custom" (F6) or “from File" (F7) SN display format is selected then all characters can be accepted depending on the memory format chosen. Specifically, when the ASCII format is selected the SN can be comprised of any characters and is saved using 8-bits per character into flash memory. Conversely, when the HEX format is selected the SN can only be comprised of HEX characters (0...9,A...F) and is saved using 4-bits per character.
8.3 Serial Number Memory Format
This section describes the different formats in which serial numbers can be stored in flash memory. These numbers can be stored using various types of byte-ordering schemes including:
Most-Significant-Byte (MSB) first - The most significant byte, in a number composed of multiple bytes, is the byte that represents the greatest value 8-bit sub-component of that number. For example, the number 0x12345678 is composed of 4 bytes: 0x12, 0x34, 0x56, and 0x78, where 0x12 is the most significant byte. When this 4 byte number is stored in memory using MSB first ordering, then the lowest byte address (the first address) will store the most significant byte (0x12). Addr: 0x0, Content: 0x12 Addr: 0x1, Content: 0x34 Addr: 0x2, Content: 0x56 Addr: 0x3, Content: 0x78
Most-Significant-Word (MSW) first - The most significant word, in a number composed of multiple words, is the word that represents the greatest value 16-bit sub-component of that number. For example, the number 0x12345678 is composed of 2 words: 0x1234, and 0x5678, where 0x1234 is the most significant word. When this 2 word number is stored in memory using MSW first ordering, then the lowest word address (the first address) will store the most significant word (0x1234). Addr: 0x0, Content: 0x1234 Addr: 0x2, Content: 0x5678
Least-Significant-Byte (LSB) first - The least significant byte, in a number composed of multiple bytes, is the byte that represents the smallest value 8-bit sub-component of that number. For example, the number 0x12345678 is composed of 4 bytes: 0x12, 0x34, 0x56, and 0x78, where 0x78 is the least significant byte. When this 4 byte number is stored in memory using LSB first ordering, then the lowest byte address (the first address) will store the least significant byte (0x78). Addr: 0x0, Content: 0x78 Addr: 0x1, Content: 0x56 Addr: 0x2, Content: 0x34 Addr: 0x3, Content: 0x12
Least-Significant-Word (LSW) first - The least significant word, in a number composed of multiple words, is the word that represents the smallest value 16-bit sub-component of that number. For example, the number 0x12345678 is composed of 2 words: 0x1234, and x5678, where 0x5678 is the least significant word. When this 2 word number is stored in memory using LSW first ordering, then the lowest word address (the first address) will store the least significant word (0x5678).
Addr: 0x0, Content: 0x5678
Addr: 0x2, Content: 0x1234
Figure 8.3: This window will appear when there is a conflict between memory allocated to code and the SN. To avoid this pop-up, select the option to "Remove code contents in the location where the serialization and model are defined" in Figure 8.2.
The location in the target device's flash memory where the SN will be stored is specified in the \Memory Location - SN Start Address in Memory" field of the serialization dialog screen (see Figure 8.3). Specified address must be even and should be specified in empty memory space, not used by program code or data block. However, if you'd like to integrate the SN with existing code, by programming the SN to a code location, then check the box Remove code contents in the location where the serialization and model are defined .
The SN memory formats will be described in the following subsections.
8.3.1 HEX Memory Format
When this format is selected the serial number is encoded using hexadecimal (HEX) notation. In general, each sub-component of the SN written in base 10 is converted to an equivalent base 16 number. The number of bytes used varies depending on the display format (F0, F1, F2, F4, and F5 - 4 bytes; F3 - 2 bytes; F6, and F7 - between 2 to 128 bytes).
Display Format: YYYY-12345 - size in FLASH - 4 bytes
Can be stored using MSW, and LSW/LSB byte-ordering.
SN: 200300123 will be encoded as:
YYYY: 2003 = 0x07D3 (HEX)
12345: 00123 = 0x007B (HEX)
and combined into one 32-bit HEX number: 0x07D3007B
<-- Addr-->
00-01-02-03
D3 07 7B 00 -> HEX(MSW first)
7B 00 D3 07 -> HEX(LSW/LSB first)
Display Format: YYMM-12345 - size in FLASH - 4 bytes
Can be stored using MSW, and LSW/LSB byte-ordering.
SN: 030300123 will be encoded as:
YYMM: 0303 = 0x012F (HEX)
12345: 00123 = 0x007B (HEX)
and combined into one 32-bit HEX number: 0x012F007B
<-- Addr-->
00-01-02-03
2F 01 7B 00 -> HEX(MSW first)
7B 00 2F 01 -> HEX(LSW/LSB first)
Display Format: YYMMDD-1234 - size in FLASH - 4 bytes
Can be stored using MSW, and LSW/LSB byte-ordering.
The date component is compressed to fit into only two bytes as
follows:
Bits 15:9 - year (starting from 2000)
Bits 8:5 - month
Bits 4:0 - day
SN: 0405110123 will be encoded as:
YYMMDD: 040511 = 0x08AB (HEX)
1234: 0123 = 0x007B (HEX)
and combined into one 32-bit HEX number: 0x08AB007B
<-- Addr-->
00-01-02-03
AB 08 7B 00 -> HEX(MSW first)
7B 00 AB 08 -> HEX(LSW/LSB first)
Display Format: YYDDD-1234 - size in FLASH - 4 bytes
Can be stored using MSW, and LSW/LSB byte-ordering.
The date component is compressed to fit into only two bytes as
follows:
Bits 15:9 - year (starting from 2000)
Bits 8:0 - day
SN: 041110123 will be encoded as:
YYDDD: 04111 = 0x086F (HEX)
1234: 0123 = 0x007B (HEX)
and combined into one 32-bit HEX number: 0x086F007B
<-- Addr-->
00-01-02-03
6F 08 7B 00 -> HEX(MSW first)
7B 00 6F 08 -> HEX(LSW/LSB first)
Display Format: 12345678 - size in FLASH - 4 bytes
Can be stored using MSB, MSW, and LSW/LSB byte-ordering.
SN: 12345678 will be encoded as:
12345678 = 0x00BC614E (HEX)
<-- Addr-->
00-01-02-03
00 BC 61 4E -> HEX(MSB first)
BC 00 4E 61 -> HEX(MSW first)
4E 61 BC 00 -> HEX(LSB/LSW first)
Display Format: 12345 - size in FLASH - 2 bytes
Can be stored using MSB, MSW, and LSW/LSB byte-ordering.
SN: 12345 will be encoded as:
12345 = 0x3039 (HEX)
<Addr>
00-01
30 39 -> HEX(MSB first)
39 30 -> HEX(MSW first)
39 30 -> HEX(LSB/LSw first)
Display Format: Custom - size in FLASH - between 2 to 128 bytes
Can be stored using MSB, and LSW/LSB byte-ordering. A SN entered using the "Custom" format is entered as a series of either an even number of HEX digits or any number of ASCII characters. This subsection deals only with storing the SN entered as a series of an even number of HEX digits, where two adjacent HEX digits comprise one byte (two digits are adjacent if they have the index j and k, where j=2*i and k=2*i+1, for all i where 0<i<N, where N_ {2:128}). The SN can be composed of anywhere between 4 and 256 characters.
SN sequence entered as ``0x12345678AABBCCDD'' will be stored as:
<--------Addr------->
00-01-02-03-04-05-06-07
12 34 56 78 AA BB CC DD -> HEX(MSB first)
DD CC BB AA 78 56 34 12 -> HEX(LSB/LSW first)
Display Format: from File - size in FLASH - between 2 to 128 bytes
Can be stored using MSB, and LSB/LSW byte-ordering. A SN entered using the "from File" format is read from the SN input file and can be a series of either an even number of HEX digits or any number of ASCII characters. Section 8.9 describes how to write a SN input file. This subsection deals only with storing the SN entered as a series of an even number of HEX digits, where two adjacent HEX digits comprise one byte (two digits are adjacent if they have the index j and k, where j=2*i and k=2*i+1, for all i where 0<i<N, where N_ {2:128}). The SN can be composed of anywhere between 4 and 256 characters.
SN sequence entered as ``0x12345678AABBCCDD'' will be stored as:
<---------Addr------>
00-01-02-03-04-05-06-07
12 34 56 78 AA BB CC DD -> HEX(MSB first)
DD CC BB AA 78 56 34 12 -> HEX(LSB/LSW first)
8.3.2 BCD Memory Format
When this format is selected the serial number is encoded using binary-coded decimal (BCD) notation. In general, each digit of the SN written in base 10 is separately expressed using 4 bits such that the resulting HEX number reads like a decimal. This is in contrast to HEX notation where the value of the entire number is converted to base 16. The number of bytes used varies depending on the display format (F0, F1, F2, and F4 - 4 bytes; F5 - 5 bytes; F3 - 2; F6, and F7 - N/A). All BCD serial numbers are stored using MSB first byte-ordering scheme.
Display Format: YYYY-1234 - size in FLASH - 4 bytes
SN: 20030123 will be encoded as:
YYYY: 2003 = 0x20 0x03 (BCD)
1234: 0123 = 0x01 0x23 (BCD)
and combined into one 32-bit BCD number: 0x20030123
<-- Addr-->
00-01-02-03
20 03 01 23 -> BCD(MSB first)
Display Format: YYMM-1234 - size in FLASH - 4 bytes
SN: 21090123 will be encoded as:
YYMM: 2109 = 0x21 0x09 (BCD)
1234: 0123 = 0x01 0x23 (BCD)
and combined into one 32-bit BCD number: 0x21090123
<-- Addr-->
00-01-02-03
21 09 01 23 -> BCD(MSB first)
Display Format: YYMMDD-1234 - size in FLASH - 5 bytes
SN: 2109290123 will be encoded as:
YYMMDD: 210929 = 0x21 0x09 0x29 (BCD)
1234: 0123 = 0x01 0x23 (BCD)
and combined into one 32-bit BCD number: 0x2109290123
<---- Addr---->
00-01-02-03-04
21 09 29 01 23 -> BCD(MSB first)
Display Format: YYDDD-1234 - size in FLASH - 4 bytes
The date component is compressed to fit into only two bytes as
follows:
Bits 15:14 - year (starting from 2000) - tens digit (3,2,1,0)
Bits 13:10 - year (starting from 2000) - singles digit (9,8,...1,0)
Bits 9:8 - day - hundreds digit (3,2,1,0)
Bits 7:4 - day - tens digit (9,8,...1,0)
Bits 3:0 - day - singles digit (9,8,...1,0)
SN: 212730123 will be encoded as:
YYDDD: 21273 = 0x86 0x73 (BCD)
1234: 0123 = 0x01 0x23 (BCD)
and combined into one 32-bit BCD number: 0x86730123
<-- Addr-->
00-01-02-03
86 73 01 23 -> BCD(MSB first)
Display Format: 12345678 - size in FLASH - 4 bytes
SN: 12345678 will be encoded as:
12345678 = 0x12 0x34 0x56 0x78 (BCD)
and combined into one 32-bit BCD number: 0x12345678
<-- Addr-->
00-01-02-03
12 34 56 78 -> BCD(MSB first)
Display Format: 1234 - size in FLASH - 2 bytes
SN: 1234 will be encoded as:
1234 = 0x12 0x34 (BCD)
and combined into one 16-bit BCD number: 0x1234
<Addr>
00-01
12 34 -> BCD(MSB first)
Display Format: Custom - N/A
Display Format: from File - N/A
8.3.3 ASCII Memory Format
When this format is selected the serial number is encoded using American Standard Code for Information Interchange (ASCII) notation. In general, each character of the SN is assumed to be an ASCII character and converted to its byte-code representative using the standard ASCII table (each character of the SN will occupy 1 byte). The number of bytes used is directly proportional to the number of characters used in the display format (F0, F1, and F2 - 8 bytes; F3 - 4 bytes; F4 - 9 bytes; F5 - 10 bytes; F6, and F7 - between 4 to 256 bytes). All ASCII serial numbers are stored one byte at a time, where the first ASCII character occupies the lowest byte address (first address).
Display Format: YYYY-1234 - size in FLASH - 8 bytes
SN: 20030123 will be encoded as:
YYYY: 2003 = 0x32 0x30 0x30 0x33 (ASCII)
1234: 0123 = 0x30 0x31 0x32 0x33 (ASCII)
<-----------Addr--------->
00-01-02-03-04-05-06-07
32 30 30 33 30 31 32 33 -> ASCII
Display Format: YYMM-1234 - size in FLASH - 8 bytes
SN: 03030123 will be encoded as:
YYMM: 0303 = 0x30 0x33 0x30 0x33 (ASCII)
1234: 0123 = 0x30 0x31 0x32 0x33 (ASCII)
<-----------Addr--------->
00-01-02-03-04-05-06-07
30 33 30 33 30 31 32 33 -> ASCII
Display Format: YYMMDD-1234 - size in FLASH - 10 bytes
SN: 0405110123 will be encoded as:
YYMMDD: 040511 = 0x30 0x34 0x30 0x35 0x31 0x31 (ASCII)
1234: 0123 = 0x30 0x31 0x32 0x33 (ASCII)
<--------------Addr------------->
00-01-02-03-04-05-06-07-08-09
30 34 30 35 31 31 30 31 32 33 -> ASCII
Display Format: YYDDD-1234 - size in FLASH - 9 bytes
SN: 042140123 will be encoded as:
YYDDD: 04214 = 0x30 0x34 0x32 0x31 0x34 (ASCII)
1234: 0123 = 0x30 0x31 0x32 0x33 (ASCII)
<-------------Addr----------->
00-01-02-03-04-05-06-07-08
30 34 32 31 34 30 31 32 33 -> ASCII
Display Format: 12345678 - size in FLASH - 8 bytes
SN: 12345678 will be encoded as:
12345678 = 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 (ASCII)
<-----------Addr--------->
00-01-02-03-04-05-06-07
31 32 33 34 35 36 37 38 -> ASCII
Display Format: 1234 - size in FLASH - 4 bytes
SN: 1234 will be encoded as:
1234 -> 0x31 0x32 0x33 0x34 (ASCII)
<---Addr-->
00-01-02-03
31 32 33 34 -> ASCII
Display Format: Custom - size in FLASH - between 4 to 256 bytes
A SN entered using the “Custom" format is entered as a series of either an even number of HEX digits or any number of ASCII characters. This subsection deals only with storing the SN entered as a series of ASCII characters. The SN can be composed of anywhere between 4 and 256 characters.
SN sequence entered as ``02WX24S234'' will be encoded as:
0x30 0x32 0x57 0x58 0x32 0x34 0x53 0x32 0x33 0x34
<---------------Addr------------->
00-01-02-03-04-05-06-07-08-09
30 32 57 58 32 34 53 32 33 34 -> ASCII
Display Format: from File - size in FLASH - between 4 to 256 bytes
A SN entered using the “from File" format is read from the SN input file and can be a series of either an even number of HEX digits or any number of ASCII characters. Section 8.9 describes how to write a SN input file. This subsection deals only with storing the SN entered as a series of ASCII characters. The SN can be composed of anywhere between 4 and 256 characters.
SN sequence entered as ``02WX24S234'' will be encoded as:
0x30 0x32 0x57 0x58 0x32 0x34 0x53 0x32 0x33 0x34
<---------------Addr------------->
00-01-02-03-04-05-06-07-08-09
30 32 57 58 32 34 53 32 33 34 -> ASCII
8.4 Serial Number Output File
The Serial Number Output File field specifies the file where serialization information will be saved after successful programming. The SN file contains the following data separated by tabs:
Serial Number Format (F0-6),
Serial Number,
SN action type (New SN[.], unmodified SN[u], overwritten SN[o], manual SN[m]),
Time and date when the SN was created,
Code File Name,
Model/Group/Revision text.
Below is an example of a SN file containing information on three consecutively created serial numbers.
F0 200300011 m ( Sat, Mar 29,2003, 10:09 ) AS010X02-1v2.txt -01 R.0003-04-17
F0 200300012 . ( Sat, Mar 29,2003, 10:43 ) AS010X02-1v2.txt -01 R.0003-04-17
F0 200300013 u ( Sat, Mar 29,2003, 10:43 ) AS010X02-1v2.txt -01 R.0003-04-17
SNs can be saved as a unique SN per target device type, or saved as a unique SN across all devices type. When a unique SN per target device type is saved then a separate SN file should be used for each device type. If a unique SN across all device types is saved, then only one SN file name should be used.
8.5 Model, Group, Revision
The software also allows the user to program each device with separate HEX or ASCII data. This information is saved at a different memory location from the SN, and does not change after each programming cycle. This is used to program static information that should be the same for each target device, like the software revision number, model, etc. This extra data can be composed of anywhere between 2 to 32 characters. This feature is enabled when the ENABLE check-box in the Model/Group/Revision group is selected (see Figure 8.2). When enabled, specify the number of bytes to be reserved for the desired text or data. Also, specify the memory address where this information will be stored on the target device (must be even address). Finally, enter the text or data to be saved and the format it should be stored in.
8.6 BarCode Scanner Setup
The BarCode Scanner can be used as an input mechanism for new SNs. When enabled, scanning a barcode will set the Next SN to the value read by the BarCode Scanner. For convenience, the software can be configured to start the Auto Program procedure immediately after the BarCode Scanner reads a new number, by selecting the Start AUTOPROGRAM following BarCode scan check-box. The BarCode Scanner should be connected to the programming PC computer in series with the keyboard using the Y cable or to the USB port. Refer to your BarCode Scanner manual for setup details.
BarCode Scanner is enabled when the ENABLE check-box in the BarCode Scanner group is selected. Depending on the output from the scanner choose the right terminating character, although commonly the default CR (ENTER) character is used. Finally, change the Display Format to "Custom" and select the proper Memory Format as either HEX or ASCII.
Note: Only ASCII characters from 0x21 to 0xFE are accepted from the BarCode Scanner. Others characters like white characters (space, tab) are ignored. All characters are converted to lower case characters.
8.7 Device Serialization box
The Device Serialization box, located on the main programming dialog screen and shown in Figure 8.4, contains SN and model information. The first two read-only lines contain information taken from the target device during the read process. The first line shows the Model/Group/Revision text and the second line shows the SN. The following two lines contain the SN and model information that will be programmed next generated automatically according to the Serialization setup.
The current target's SN and model information can be read at any time by pressing the "READ / COPY" button located in the Main GUI
Figure 8.4: Seen in the Main GUI, this serialization status box will display the current device's serial number and the next serial number to be programmed.
8.8 Serialization Report Dialog Screen
The Serialization Report Dialog Screen shows the results of the serialization procedure. The report contains detailed information on two SNs, specifically the highest SN and the one selected. The report also shows all programmed units along with their SN, and unmodified or overwritten SNs coming from reprogrammed units (New SN[.], unmodified SN[u], overwritten SN[o], manual SN[m]). Detailed information about all programmed units can be viewed using the Notepad text editor by pressing the Notepad button. A summary of created serial numbers is displayed in the white report box (see Figure 8.5). A SN entry can be removed from the database by pressing the Delete SN button (the delete operation is not reversible).
Figure 8.5: Serialization report gives a summary of all the serial numbers programmed using the selected file.
8.9 Serial Number Input File
The programmer can input serial numbers from user created data files. When the data file is used, change the Display Format to "from File" and select the proper Memory Format as either HEX or ASCII.
The SN data file should contain a proper header followed by a list of SNs specified using the following commands (a command is preceded by the # character). Any data entered after a semicolon (;) will be ignored and can be used for commenting. Use the following list of commands:
#SN LIST ; Header, data file contains a SNs list.
#SN SIZE number; optional. Overwrite size of the custom defined serial number size (see Figure 8.2). If the #SN SIZE is not specified, then the data specified in the serialization dialog screen is used.
#SN HEX MSB ;optional. Select the HEX MSB first format regardless of the setting in the serialization dialog screen.
#SN HEX LSB ;optional. Select the HEX LSB first format regardless of the setting in the serialization dialog screen.
When the format is specified as the HEX format ( #SN HEX MSB or #SN HEX LSB) then the string can contain gaps between numbers or 0x on the front. All gaps will be removed. Up to 256 characters (gaps excluded) can be specified for one SN. All characters must be located in one line for the same SN. Example:
The HEX number:
A434BC5696AD10ACF0
can be specified as:
A434BC5696AD10AC
or
0xA434BC5696AD10AC
or
A434 BC56 96AD 10AC
or
A4 34 BC 56 96 AD 10 AC F0
#SN ASCII ; optional. Select an ASCII format regardless of the setting in the serialization dialog screen.
#SN PREFIX string; optional.
#SN SUFFIX string; optional. SN can contains up to 32 characters. If some of characters are the same in specified serial number list, then the repeatable part can be specified in the #SN PREFIX, or #SN SUFFIX, and only modified part of serial numbers can be listed. Serial number is combined as a string starting with prefix, modified part and ending with suffix. For example if the following serial number should be created:
AB2007X-0001-BMR
AB2007X-0002-BMR
AB2007X-0003-BMR
can the SN be specified as follows:
#SN_PREFIX AB2007X-
#SN_SUFFIX -BMR
and list of following serial numbers:
0001
0002
0003
Prefix and/or suffix numbers can be modified in the list if required, e.g.
#SN_PREFIX AB2007X-
#SN_SUFFIX -BMR
0001
0002
0003
#SN_PREFIX AB2007V-
0001
0002
0003
that defined following serial numbers:
AB2007X-0001-BMR
AB2007X-0002-BMR
AB2007X-0003-BMR
AB2007V-0001-BMR
AB2007V-0002-BMR
AB2007V-0003-BMR
Example of the Serial Number list (5 lines only in this example):
; =====================================================
; Serial Number List
; SN format - ASCII
; =====================================================
#IEEE_SN_LIST
#SN_SIZE 12
WX5E2007001P
WX5E2007002P
WX5E2007003P
WX5E2007004P
WX5E2007005P
; =====================================================
The same Serial Number list with specified prefix /suffix:
; =====================================================
; Serial Number List
; SN format - ASCII
; =====================================================
#IEEE_SN_LIST
#SN_SIZE 12
#SN_PREFIX WX5E2007 ;any ASCII character
#SN_SUFFIX P
001
002
003
004
005
; =====================================================
To use the SN data file, select the “from File” option in the Serialization setup (see Figure 8.2), the desired Memory Format, and finally using the "SN Input File" button located in the Main GUI, load the input file. The selected file shown in the “SN Input File” path in the Main GUI will be converted to specified format and all listed SNs will be displayed, except those already used and stored in the “Serial Numbers' Output Filename” file. SN used before are removed from the SN list; however, to reset the list, simply change or delete the output file and the serialization process will start from the beginning.
For this reason it is important to preserve the SN output file if serialization is to be continued across multiple programming sessions. When the SN file is read and verified, then the pending SN list is displayed in the screen shown in Figure 8.6 with the following information displayed on the top of the list:
number of the SN found in database and removed from the pending list,
number of the Serial Numbers with incorrect size and removed from the pending list.
number of the accepted SN.
When the “Paste to Notepad" button is pressed, then the pending Serial Number list can be saved in format ready to be used as a valid SN data file if required.
Figure 8.6: Serial numbers read from a file.
8.10 Example Output
The screenshot below shows the example output of using the SN input file from Section 8.9.
The output above can be generated using the following setup shown in Figure 8.8 In this case the SN will be written to address 0x08001000; however this destination address can be changed at any time without modifying the SN input file or other settings.