Si2401
Preliminary Rev. 0.9
21
AT Command Set
The controller provides several vital functions including
AT command parsing, DAA control, connect sequence
control, DCE protocol control, intrusion detection,
parallel phone off-hook detection, escape control, caller
ID control and formatting, ring detect, DTMF control, call
progress monitoring, and HDLC framing. The controller
also writes to the control registers that configure the
modem. Virtually all interaction between the host and
the modem is done via the controller. The controller
uses AT (ATtention) commands and S-Registers to
configure and control the modem.
The modem has two modes of operation: command
mode and data mode. The Si2401 is asynchronous in
both command mode and data mode. The modem is in
command mode at powerup, after a reset, before a
connection is made, after a connection is dropped, and
during a connection after successfully “Escaping” from
the data mode back to the command mode using one of
the methods previously described. The following section
describes the AT command set available in command
mode.
The Si2401 supports a subset of the typical modem AT
command set since it is intended for use with a
dedicated microcontroller instead of general terminal
applications. AT commands begin with the letters AT
and are followed directly (no space) by the command.
(These commands are also case-sensitive.) All AT
commands
must
be entered in upper case including AT
except w##, r#, m#, q#, and z (wakeup-on-ring).
AT commands can be divided into two groups: control
commands and configuration commands. Control
commands, such as ATD, cause the modem to perform
an action (going off-hook and dialing). The value of this
type of command is changed at a particular time to
perform a particular action. For example, the
ATDT1234<CR> command causes the modem to go
off-hook and dial the number, 1234, via DTMF. This
action exists only during a connection attempt. No
enduring change in the modem configuration exists
after the connection or connection attempt has ended.
Configuration commands change modem
characteristics until they are modified or reversed by a
subsequent configuration command or the modem is
reset. Modem configuration status can be determined
with the use of “ATSR?<CR>” Where R is the two
character hexadecimal address of an S-register.
A command line is defined as a string of characters
starting with AT and ending with an end-of-line
character, <CR> (13 decimal). Command lines may
contain several commands one after the other. If there
are no characters between AT and <CR>, the modem
responds with “O” after the carriage return.
Command Line Execution
The characters in a command line are executed one at
a time. Unexpected command characters are ignored,
but unexpected data characters may be interpreted
incorrectly.
After the modem has executed a command line, the
result code corresponding to the last command
executed is returned to the terminal or host. In addition
to the “ATH” and “ATZ” commands, the commands that
warrant a response (e.g., “ATSR?” or “ATI”) must be the
last in the string and followed by a <CR>. All other
commands may be concatenated on a single line. To
echo command line characters, set the Si2401 to echo
mode using the E1 command.
All numeric arguments, including the address and value
of an S-register, are in hexidecimal format, and two
digits must always be entered.
<CR> End-Of-Line Character
This character is typed to end a command line. The
value of the <CR> character is 13 in decimal, the ASCII
carriage return character. When the <CR> character is
entered, the modem executes the commands in the
command line.
Note:
Commands that do not require a response are exe-
cuted immediately and do not need a <CR>.
Table 12. AT Command Set Summary
Command
Function
A
Answer line immediately with modem
DT#
Tone dial number
DP#
Pulse dial number
E
Local echo on/off
H0
Go on-hook (hang up modem)
H1
Go off-hook
I
Chip revision
:I
Interrupt read and clear
M
Speaker control options
O
Return online
RO
V.23 reverse
S
Read/write S-Registers
w##
Write S-Register in binary
r#
Read S-Register in binary
m#
Monitor S-Register in binary