3 – entering i2c bootloader, 4 – i2c bootloader disable, 3 – entering i – Maxim Integrated DS4830A Optical Microcontroller User Manual
Page 181: C bootloader, 4 – i, C bootloader disable, Ds4830a user’s guide
DS4830A User’s Guide
181
Table 22-2: JTAG Bootloader Status Bits
BITS 1:0
STATUS
CONDITION
00
Reserved
Invalid condition.
01
Reserved
Invalid condition
10
Loader-Busy
ROM Loader is busy executing code or processing the current
command.
11
Loader-Valid
ROM Loader is supplying valid output data to the host in current shift
operation.
22.1.3 – Entering I
2
C Bootloader
The DS4830A also has built-in functionality that allows bootloading over I
2
C. Bootloading via I
2
C allows the system to
update the firmware using only the I
2
C bus without JTAG or firmware intervention. To access the bootloading
function, slave address 34h is used. This slave address is setup by hardware and cannot be changed through
firmware. As long as the Slave I
2
C port is enabled, which is the default, the DS4830A will always respond to this
slave address without any firmware interaction required. This address should not be used for any purpose other
than the special bootloading features. Table 22-3 details the special functions that can be performed using slave
address 34h.
Table 22-3: Special Functions of Address 34h
COMMAND BYTE
ACTION
F0h
Sets the I2C_SPE bit in the I2C_SPB register to enable bootloading via I
2
C. This bit will not
be cleared on device reset.
BBh
Executes a reset of the DS4830A when an I
2
C STOP is received.
All other bytes
The I2C_SPE bit in I2C_SPB is cleared. The DS4830A will NACK this byte.
To enter I
2
C bootloader, the host must first write slave address 34h with data F0h and then issue a STOP command.
When the STOP command is received, the I
2
C _SPE bit will be set. The DS4830A must then be reset. This can be
done using either the
RST pin or by using the I
2
C self-reset. To do an I
2
C self-reset, the host needs to write slave
address 34h with data BBh. Upon receiving an I
2
C STOP, a reset will be performed.
22.1.4 – I
2
C Bootloader Disable
The DS4830A provides options to disable the bootloader slave address 34h. The device has DEV_NUM register
which is cleared only on POR. The bit 7 of the DEV_NUM controls bootloader slave address. Setting DEV_NUM[7]
disables the slave address. Application in which bootloader address are not required should set the DEV_NUM[7] in
the top of initialization function at the earliest.