User's Manual

Part 1 Universal Socket Connectivity Chapter 1 – Universal Socket Connectivity
Multi-Tech Systems, Inc. Universal Socket Hardware Guide for Developers (S000342K) 30
Multi-Tech Systems, Inc. Flash Programming
Protocol
This information is provided exclusively for the users of Multi-Tech Systems, Inc. SocketModems, specifically the
MT9234SMI. Multi-Tech Systems, Inc. SocketModem owners have the right to use, modify, and incorporate this code
into other products provided they include the Multi-Tech Systems, Inc. notice and the associated copyright notice with
any such product.
Copyright (C) Multi-Tech Systems, Inc. 1995
All Right Reserved
The flash programming protocol is provided "AS IS” without warranty.
Important: When interacting with the boot code, it is possible to make the modem inoperable.
Use extreme caution.
Programming the Modem
There are two ways to start flash programming a modem. It can be programmed
1. From “AT” mode
2. When the modem powers up.
The following table shows how a modem is programmed.
DTE Modem Comments
AT*FS\r This effectively “restarts” the modem so that it enters the boot code.
Handshake Sequence
M’s Many M’s are sent (10 milliseconds apart) at 19200 baud.
This is where the handshake starts if the modem is just powered up.
U U is sent at 19200 baud if M’s are received within 100 milliseconds of
power up. If the M’s are not received within 100 milliseconds, then
the modem starts up normally. If the AT*FS command is used, then
you have 1 second (1000mS) to perform the handshake.
D Sent at 19200 baud.
M M if can receive at 9600/19200/38400/57600/115200
I|J|K|L|M I if modem will be programmed at 9600
J if modem will be programmed at 19200
K if modem will be programmed at 38400
L if modem will be programmed at 57600
M if modem will be programmed at 115200
\r\nOK\r\n Modem is ready to be programmed
Program Sequence:
DTE Modem Comments
ATFLP\r Request to the modem to program
G Modem is ready for next program packet
[Length
High]
High byte of data packet length
[Length Low] Low byte of data packet length
Packet lengths can be up to 4096 bytes in size for most boot code
versions
[Address
High]
High byte of program address
[Address
Middle]
Middle byte of program address
[Address
Low]
Low byte of program address
Addresses are 3 byte values with a range of 00000h-FFFFFh
[Data Bytes] These are the data bytes to be programmed at the address specified
above. They must be the same number of bytes as specified above.
[Checksum] This checksum is generated by exclusive ORing together all of the
Data Bytes (do not include the Length or Address bytes in that
calculation).
\nOK\r\n
\nERROR\r\n
If bytes are programmed and verified.
If verify fails or checksum is bad.
Retry the block 3 times on an ERROR.
….
….
More of the above sequence until all the data bytes have been sent
to the modem.
ATFLEND\r This ends programming and restarts the modem.