9 command 08h—get loader version, 10 command 09h—get utility rom version, 11 command 0eh—get device number – Maxim Integrated MAX31782 User Manual
Page 162: 12 command 10h—load code, 9command08h—getloaderversion, 10command09h—getutilityromversion, 11command0eh—getdevicenumber, 12command10h—loadcode

MaximIntegrated 18-11
MAX31782 User’s Guide
Revision 0; 8/11
18.3.9Command08h—GetLoaderVersion
This command returns the device’s bootloader version . The format of the version is VersionH .VersionL . For example,
if VersionL returns 00h and VersionH returns 01h, this corresponds to bootloader version 1 .0 . This command is not
password protected .
18.3.10Command09h—GetUtilityROMVersion
This command returns the device’s ROM code version . The format of the ROM version is VersionH .VersionL . For
example, if VersionL returns 00h and VersionH returns 01h, this corresponds to ROM version 1 .0 . This command is not
password protected .
18.3.11Command0Eh—GetDeviceNumber
This command returns the value that is stored in the DEV_NUM register . This command is not password protected .
18.3.12Command10h—LoadCode
This command programs (Length) bytes of data into the program flash starting at byte address (AddressH:AddressL) .
The bootloader writes one 16-bit word to flash at a time . The low bit of the address is always forced to zero because
instructions in program flash are word aligned . If an odd number of bytes are input, the final word written to the pro-
gram flash has its most significant byte set to 00h . Memory locations in flash that have been previously loaded must be
erased (Master Erase or Page Erase command) before they can be loaded with a new value . The MAX31782 uses a
little-endian memory architecture where the least significant byte of each word is loaded first . For example, if you load
bytes (11h, 22h, 33h, 44h) starting at address 0000h, the first two words of program space are written to 2211h, 4433h .
This command is password protected .
The time required to write one word of data to flash is approximately 80Fs . To guarantee correct programming, a
bootloading program needs to ensure that there is at least 100Fs of time between when the bootloader receives two
words of data . The easiest way to do this is to limit the clock rate to 100kHz . The time to transmit one word of data
with a 100kHz clock exceeds 100Fs, thus giving the previously transmit word time to be programmed into flash prior to
processing the next word . If a faster clock rate is used, delays need to be added to ensure that words are not transmit
at rates faster than 100Fs .
Byte1
Byte2
Byte3
Byte4
Byte5
Byte6
Command
NOP
DataOut
DataOut
Return
DummyRX
Input
08h
00h
00h
00h
00h
00h
Output
X
X
VersionL
VersionH
3Eh
X
Byte1
Byte2
Byte3
Byte4
Byte5
Byte6
Command
NOP
DataOut
DataOut
Return
DummyRX
Input
09h
00h
00h
00h
00h
00h
Output
X
X
VersionL
VersionH
3Eh
X
Byte1
Byte2
Byte3
Byte4
Byte5
Command
NOP
DataOut
Return
DummyRX
Input
0Eh
00h
00h
00h
00h
Output
X
X
DEV_NUM
3Eh
X
Byte1
Byte2
Byte3
Byte4
(Length)
Bytes
Byte
Length+5
Byte
Length+6
Byte
Length+7
Command
DataIn
DataIn
DataIn
DataIn
NOP
Return
DummyRX
Input
10h
Length
AddressL
AddressH
Data to load
00h
00h
00h
Output
X
X
X
X
X
X
3Eh
X