Specifications

AN93
58 Rev. 0.9
3.2. DSP
The DSP (data pump) is primarily responsible for
modulation, demodulation, equalization, and echo
cancellation. Because the ISOmodem is controller-
based, all interaction with the DSP is via the controller
through AT commands, S-Registers, and/or U-
Registers.
3.3. Memory
The user accessible memory in the Si2493/57/34/15/04
consists of the S-Registers accessed via the ATSn
command, and the U-Registers from 0x0000 to 0x0079
in the main memory space, accessed via the AT:Rhh
(register read) and the AT:Uhh (register write)
commands (where hh is the two digit hexadecimal
address of the register) and the external EEPROM.
These memory locations allow the modem to be
configured for a wide variety of functions and
applications and for global operation.
3.3.1. Firmware Upgrades
The Si2493/57/34/15/04 contains an on-chip Program
ROM that includes the firmware required for the
features listed in the data sheet. Additionally, the
Si2493/57/34/15/04 contains on-chip Program RAM to
accommodate minor changes to ROM firmware. This
allows Silicon Labs to provide future firmware updates
to optimize the characteristics of new modem designs
and those already deployed in the field.
Firmware upgrades (patches) provided by Silicon Labs
are files loaded into the Si2493/57/34/15/04 Program
RAM after a reset using the AT:P command (see
Table 18). Once loaded, the upgrade status can be read
using the ATI1 command to verify the firmware revision
number. The entire firmware upgrade in RAM is always
cleared on a reset. To reload the file after a reset or
powerdown, the host processor rewrites the file using
the AT:P command during post-reset initialization.
Patch files may be more than 6000 characters in some
cases. They come in a .txt file containing multiple lines
that are sent serially to the ISOmodem. There are
several patch loading techniques that can be used in
different environments. See the description and
Table 25. Whichever technique is used, it is wise to do
an AT&T6 to verify the CRC of the loaded patch.
3.3.1.1. Method 1 (The Fastest)
Send the entire file in quiet mode using a program that
waits for a precise amount of time after every line. This
can give load times as short as 0.7 seconds for a 6235
byte patch (at 115 kBaud). The file transfer should be
preceded by an ATZ or RESET followed by an ATE0
and an ATQ1. After the transfer, perform an ATE1 and/
or ATQ0 if needed.
1. Low pulse on RESET signal for at least 5.0 ms.
2. Wait 300 ms.
3. Send ATE0.
4. Wait for an OK.
5. Send ATQ1 to the modem.
6. Wait 0.5 ms.
7. Send AT:PIC (First line of the patch).
8. Wait 0.5 ms.
...
(n-5) Send AT:PIC0 (Last Line of Patch).
(n-4) Wait 0.5 ms.
(n-3) Send ATQ0 to the modem.
(n-2) Wait for an OK.
(n-1) Send AT&T6 to the modem.
(n) Wait for an OK.
3.3.1.2. Method 2
Send the entire file using a program that waits for an OK
after every line. This will give 3.98 seconds for a 6235
byte patch (at 115 kBaud). Perhaps longer if the OS has
some latency issues.
3.3.1.3. Method 3
For development purposes, send the entire patch file
using a program that allows a timed preprogrammed
pause between lines, e.g. Hyper terminal or ProComm.
This will give times of around 16 seconds for a 6235
byte patch (at 115 kBaud). Due to the granularity of a
typical desktop operating system, be sure to set the
time delay between lines to 100 ms.