dsPIC33F/PIC24H PROGRAMMING SPECIFICATION
FIGURE 4-2:
PROGRAMMING EXECUTIVE – PROGRAMMER COMMUNICATION PROTOCOL
Programming Executive
Processes Command
Host Transmits
Last Command Word
Host Clocks Out Response
1
2
15 16
1
2
15 16
1
2
15 16
PGC
PGD
MSB X X X LSB
1
0
MSB X X X LSB
MSB X X X LSB
P8
P9a
P9b
8ns
23 µs
PGC = Input (Idle)
PGD = Output
PGC = Input
PGD = Input
PGC = Input
PGD = Output
4.2.2
PACKED DATA FORMAT
4.2
Programming Executive
Commands
When 24-bit instruction words are transferred across
the 16-bit SPI interface, they are packed to conserve
space using the format shown in Figure 4-4. This
format minimizes traffic over the SPI and provides the
programming executive with data that is properly
aligned for performing table write operations.
The programming executive command set is shown in
Table 4-1. This table contains the opcode, mnemonic,
length, time out and description for each command.
Functional details on each command are provided in
the command descriptions (Section 4.2.4 “Command
Descriptions”).
FIGURE 4-4:
PACKED INSTRUCTION
WORD FORMAT
4.2.1
COMMAND FORMAT
All programming executive commands have a general
format consisting of a 16-bit header and any required
data for the command (see Figure 4-3). The 16-bit
header consists of a 4-bit opcode field, which is used to
identify the command, followed by a 12-bit command
length field.
15
8
7
0
LSW1
MSB2
MSB1
LSW2
LSWx: Least Significant 16 bits of instruction word
MSBx: Most Significant Byte of instruction word
FIGURE 4-3:
COMMAND FORMAT
15
12
11
0
Note:
When the number of instruction words
transferred is odd, MSB2 is zero and
LSW2 can not be transmitted.
Opcode
Length
Command Data First Word (if required)
•
4.2.3
PROGRAMMING EXECUTIVE
ERROR HANDLING
•
Command Data Last Word (if required)
The programming executive will “NACK” all
unsupported commands. Additionally, due to the
memory constraints of the programming executive, no
checking is performed on the data contained in the
programmer command. It is the responsibility of the
programmer to command the programming executive
with valid command arguments or the programming
operation may fail. Additional information on error
handling is provided in Section 5.3.1.3 “QE_Code
Field”.
The command opcode must match one of those in the
command set. Any command that is received which
does not match the list in Table 4-1 will return a “NACK”
response (see Section 5.3.1.1 “Opcode Field”).
The command length is represented in 16-bit words
since the SPI operates in 16-bit mode. The program-
ming executive uses the command length field to
determine the number of words to read from the SPI
port. If the value of this field is incorrect, the command
will not be properly received by the programming
executive.
DS70152D-page 48
Preliminary
© 2007 Microchip Technology Inc.