Example 2:
Following example shows usage of SQTP serialization mode when serial number is split into
RETLW instructions for Microchip PIC16F628 devices.
Device PIC16F628 has 14 bit wide instruction word. Instruction RETLW has 14-Bit Opcode:
Description
MSB 14-Bit
word LSB
RETLW
Return with literal in W
11
01xx
kkkk
kkkk
where xx can be replaced by 00 and k are data bits, i.e. serial number byte
Opcode of RETLW instruction is hexadecimal 34KKH where KK is data Byte (serial number
byte)
Let’s assume we want to write serial number 1234ABCDH as part of four RETLW instructions
to device PIC. The highest Byte of serial number is the most significant Byte. We want to
write the serial number to device program memory at address 40H. Serial number split us
very useful in this situation. Serialization without serial number split will write the following
number to buffer and device:
Address Data
0000080
CD AB 34 12 xx xx xx xx xx xx xx xx xx xx xx xx
Note:
address 80H is because buffer has byte organization and PIC has word organization
so it has equivalent program memory address 40H. When buffer has word organization x16,
the address will be 40H and number 1234ABCDH will be placed to buffer as following:
Address Data
0000040
ABCD 1234 xxxx xxxx xxxx xxxx xxxx xxxx
We want to use RETLW instruction so buffer has to be:
Address Data
0000040
34CD 34AB 3434 3412 xxxx xxxx xxxx xxxx
We can do this by following steps:
A)
write four RETLW instructions at address 40H to main buffer (this can be done by hand
editing buffer or by loading file with proper content). The bottom 8 bits of each RETLW
instruction are not important now, because serialization will write correct serial number bytes
at bottom 8 bits of each RETLW instruction.
The buffer content before starting device program will look for example as following:
Address Data
0000040
3400 3400 3400 3400 xxxx xxxx xxxx xxxx
8 bits of each RETLW instructions are zeros, they can have any value.
B)
Set the serialization options as following:
S/N size:
4 Bytes
Address: 40H
Start value:
1234ABCDH
89
Summary of Contents for 844USB
Page 7: ...Introduction 7 ...
Page 12: ...Quick Start 12 ...
Page 15: ...Detailed description 15 ...
Page 16: ...859 16 ...
Page 28: ...866B 28 ...
Page 41: ...844USB 41 ...
Page 50: ...848A 50 ...
Page 56: ...Setup 56 ...
Page 67: ...Pg4uw 67 ...
Page 117: ...Pg4uwMC 117 ...
Page 127: ...Common notes 127 ...
Page 134: ...Troubleshooting and warranty 134 ...