beautypg.com

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

background image

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