beautypg.com

6 communicating with the 71m6x0x, 7 bootloader feature, Communicating with the 71m6x0x – Maxim Integrated 71M6541 Demo Board User Manual

Page 32: Bootloader feature

background image

71M6541 Demo Board REV 3.0 User’s Manual

32

Rev 4.0

Table 1-10: Identification of 71M6X0X Remote Sensor Types

Bit 5/Bit 4

71M6X0X Remote Interface

Current

Range [A]

00

71M6601 or 71M6603

60

01

71M6103 or 71M6113 (Poly-Phase)

100

10

71M6201 or 71M6203

200

11

Invalid

--

1.10.6 COMMUNICATING WITH THE 71M6X0X

Some commands are useful to communicate with the 71M6X0X Remote Sensor Interface for the purpose of
test and diagnosis. Some useful commands are:

1) 6C1.42 – this command causes the 71M6X0X Remote Sensor Interface to output its reference voltage

on the TMUX pin (pin 5).

2) 6R1.20 – this command returns the reading from the temperature sensor (STEMP) of the 71M6X0X

Remote Sensor Interface in a two-byte hexadecimal format (e.g., FFDF). Negative readings are sig-
naled by the MSB being 1.
T = 22°C + (STEMP*0.337 - (STEMP

2

)*0.00015)°C

Example: For STEMP = 0xFFDF the decimal equivalent is -32. The temperature calculates to 22°C –
10.9°C = 11.1°C.
Note that the IC temperature is averaged and displayed more accurately with the M1 command.

1.10.7 BOOTLOADER FEATURE

Demo Codes 5.4F and later are equipped with a bootloader feature. This feature allows the loading of code via
the serial interface (USB connector CN1) when a Signum ADM-51 emulator or the Maxim Integrated TFP2
Flash Loader is not available.

The bootloader functions as follows:

1) Meter code must be modified in order to be loaded by the bootloader. The meter code must start at address

0x0400, and its interrupt vector table must also start at 0x400. The bootloader itself is located at address
0x0000 and must be loaded into the IC by some method if the flash memory of the 71M6543 is empty or if
code of a previous revision is loaded. The bootloader is part of Demo Code 5.4F.

2) The bootloader loads Intel hex-86 files at 38,400 baud 8 bits, no parity. It will only accept record types 0, 4

and 1, which are the types produced by Maxim Integrated’s bank_merge program or checksum program,
and the Keil compiler (PK51). No records may overlap. (Keil, bank_merge and checksum produce this style
of hex file by default.)
The records from 0x00000 to 0x00400 are ignored, so that the bootloader can't overwrite itself.

3) If the bootloader load process is not invoked, the bootloader jumps to address 0x0400 and executes the

code found there.

4) A detailed description of the bootloader can be found in the _readme.txt file contained in the source code

ZIP package.

For a 71M6541-DB containing code with the bootloader, instructions for loading new code are as follows:

1) Connect a PC running HyperTerminal or a similar terminal program to the DB6543. Set the program to

38,400 baud 8 bits, no parity, XON/XOFF flow control.

2) Turn off the power to the 71M6541-DB.

3) Install a jumper from board ground to the VARh pulse output (JP59, right pin), which is also SEGDIO1. A

low voltage on this pin signals to the bootloader that new code should be loaded via the UART.

4) Apply power to the meter.

5) After a brief delay, the Wh pulse LED (D5) will light up (SEGDIO0). The bootloader should send a ":" on the

UART to the PC. If this occurs, the flash is erased, and the 71M6541-DB is ready to load code.
- If this does not occur, check the jumper, and reset or repower the unit
- If the Wh LED still does not light up, then the boot code is not installed.
- If the Wh LED lights up, but the ":" does not appear, debug the RS-232 wiring. Possible issues are that the
baud rate is not 38400 baud, or that the wiring is wrong, (debug using a known-good meter), or that the
terminal program in the PC is not working.