Rev. 1.3 8/11 Copyright © 2011 by Silico n Laboratories AN93
This information applies to a product under development. Its characteristics and specifications are subject to change without notice.
AN93
Si2493/57/34/15/04 (Revision D) and Si2494/39
Modem Designers Guide
1. Introduction
The Si2494/93/57/39/34/15/04 ISOmodem chipset family consists of a 38-pin QFN (Si2494/39) or 24-pin TSSOP
(Si2493/57/34/15/04) or 16-pin SOIC (Si2493/57/34/15/04) low-voltage modem device, and a 16-pin SOIC line-
side DAA device (Si301 8/10) co nne cting directly with the telephone local loop (Tip and Ring). This modem solution
is a complete hardware (controller-based) modem that connects to a host processor through a UART, parallel or
SPI interface. Parallel and EEPROM interfaces are available only on the 38-pin QFN or 24-pin TSSOP package
option. Refer to Table 4, “ISOmodem Capabilities,” on page 10 for available part number, capability and package
combinations. Isolation is provided by Silicon Laboratories’ isolation capacitor technology, which uses high-voltage
capacitors instead of a transformer. This isolation technology complies with global telecommunications standards
including FCC, ETSI ES 203 021, JATE, and all known country-specific requirements.
Additional features include programmable ac/dc termination and ring impedance, on-hook and off-hook intrusion
detection, Caller ID, loop voltage/loop current monitoring, overcurrent detection, ring detection, and the hook-
switch function. All required program and data memory is included in the modem device. When the modem
receives a software or hardware reset, all register settings revert to the default values stored in the on-chip
program memory. The host processor interacts with the modem controller through AT commands used to change
register settings and control modem operation. Country, EMI/EMC, and safety test reports are available from
Silicon Laboratories representatives and distributors.
This application note is intended to supplement the Si2494/39 Revision A, Si2493 Revision D, and the Si2457/34/
15/04 Revision D data sheets. It provides all the hardware and software information necessary to implement a
variety of modem applications, including reference schematics, sample PCB layouts, AT command and register
reference, country configuration tables, programming examples and more. Particular topics of interest can be
easily located through the table of contents or the comprehensive index locate d at the back of this document.
Figure 1. Functional Block Diagram
UART
Interface
Parallel
Interface
DSP
DAA
Interface
ROM
PLL
Clocking
XTI XTO
CLKOUT
INT
RESET
C1
To Phone
Line
AOUT
Data Bus
Controller
Si3018/10
RXD
TXD
CTS
RTS
DCD
ESC
RI
CS
WR
RD
A0
D0-D7
Program Bus RAM
EEPROM
Interface
EESD
EECLK
EECS
C2
Si3000
Interface
FSYNC
SDO
SDI
MCLK
SPI
Interface
SDI
SDO
SCLK
SS
AOUTb
AN93
2 Rev. 1.3
AN93
Rev. 1.3 3
TABLE OF CONTENTS
Section Page
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1. Selection Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2. Modem (System-Side) Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1. Resetting the Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1. Reset Sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2. Reset Strapping: General Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.3. Reset-Strap Options for 16-Pin SOIC Package . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.4. Reset-Strap Options for 24-Pin TSSOP Package . . . . . . . . . . . . . . . . . . . . . . 13
2.1.4.1. Reset Strapping Options for TSSOP-24 with UART-Interface. . . . . . . . . 14
2.1.4.2. Reset Strapping Options for TSSOP-24 with Parallel-Interface. . . . . . . . 14
2.1.4.3. Reset Strapping Options for TSSOP with SPI-Interface . . . . . . . . . . . . . 15
2.1.5. Reset Strapping Options for QFN Parts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.5.1. Reset Strapping Options fo r QFN Parts with UART Operation . . . . . . . . 15
2.1.5.2. Reset Strapping Options for QFN Parts with SPI Operation . . . . . . . . . . 16
2.1.5.3. Reset Strapping Options for QFN Parts with Parallel Operation . . . . . . . 16
2.2. System Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1. Interface Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2. Interface Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3. UART Interface Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3.1. UART Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3.2. Autobaud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.3.3. Flow Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.4. Parallel and SPI Interface Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.4.1. Hardware Interface Register 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.4.2. Hardware Interface Register 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.4.3. Parallel Interface Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.4.4. SPI Interface Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.4.5. Interface Communication Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3. Isolation Capacitor Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4. Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.1. Power-Down Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.2. Wake-on-Ring Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.3. Sleep Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5. SSI/Voice Mode (24-Pin TSSOP and 38-Pin QFN Only) . . . . . . . . . . . . . . . . . . . . . . 30
2.6. EEPROM Interface (24-Pin TSSOP and 38-Pin QFN Only) . . . . . . . . . . . . . . . . . . . . 31
2.6.1. Supported EEPROM Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6.2. Three-Wire SPI Interface to EEPROM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6.3. Detailed EEPROM Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6.4. Boot Commands (Custom Defaults). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6.5. AT Command Macros (Customized AT Commands) . . . . . . . . . . . . . . . . . . . . 34
2.6.6. Firmware Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6.6.1. Boot Command Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
AN93
4 Rev. 1.3
2.6.6.2. AT Command Macro Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6.6.3. Autoloading Firmware Upgrade Example . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6.6.4. Combination Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3. DAA (Line-Side) Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1. Hookswitch and DC Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2. AC Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3. Ringer Impedance and Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4. Pulse Dialing and Spark Quenching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5. Line Voltage and Loop Current Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6. Legacy-Mode Line Voltage and Loop Current Measurement . . . . . . . . . . . . . . . . . . . 42
3.7. Billing Tone Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4. Hardware Design Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1. Component Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1. Power Supply and Bias Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.2. Hookswitch and DC Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.3. Clocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.4. Ringer Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.5. Optional Billing-Tone Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2. Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3. Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4. Layout Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4.1. ISOmodem Layout Check List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4.2. Module Design and Application Considerations. . . . . . . . . . . . . . . . . . . . . . . . 53
4.4.2.1. Module Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.4.2.2. Motherboard Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.5. Analog Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.5.1. Interaction between the AOUT Circuit and the
Required Modem Reset Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.5.2. Audio Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5. Modem Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1. Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2. DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3. Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4. AT Command Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.5. Extended AT Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.6. S Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.7. U Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.7.1. U-Register Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.7.2. U00–U16 (Dial Tone Detect Filter Registers). . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.7.3. U17–U30 (Busy Tone Detect Filter Registers). . . . . . . . . . . . . . . . . . . . . . . . . 98
5.7.4. U31–U33 (Ringback Cadence Registers) . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.7.5. U34–U35 (Dial Tone Timing Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.7.6. U37–U45 (Pulse Dial Registers). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.7.7. U46–U48 (DTMF Dial Registers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.7.8. U49–U4C (Ring Detect Registers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.7.9. U4D (Modem Control Register 1—MOD1). . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.7.10. U4E (Pre-Dial Delay Time Register). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
AN93
Rev. 1.3 5
5.7.11. U4F (Flash Hook Time Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.7.12. U50–U51 (Loop Current Deboun cing Registers) . . . . . . . . . . . . . . . . . . . . . 105
5.7.13. U52 (Transmit Level Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.7.14. U53 (Modem Control Register 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.7.15. U54 (Calibration Timing Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.7.16. U62–U66 (DAA Control Registers). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.7.17. U67–U6A (International Configuration Registers) . . . . . . . . . . . . . . . . . . . . 108
5.7.18. U6C (Line-Voltage Status Register). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.7.19. U6E–U7D (Modem Control and Interface Registers). . . . . . . . . . . . . . . . . . 111
5.7.20. U80 (Transmit Delay for V.22 Fast Connect) . . . . . . . . . . . . . . . . . . . . . . . . 119
5.7.21. U87 (Synchronous Access Mode Configuration Register). . . . . . . . . . . . . . 120
5.7.22. UAA (V.29 Mode Register). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.7.23. UIDA Response and Answer Tone Delay Register . . . . . . . . . . . . . . . . . . . 121
5.8. Firmware Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.8.1. Method 1 (Fastest) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.8.2. Method 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.8.3. Method 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.9. Escape Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.9.1. +++ Escape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.9.2. “9th Bit” Escape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.9.3. “Escape Pin” Escape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.10. Data Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.11. Error Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.12. Wire Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.13. EPOS (Electronic Point of Sale) Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.13.1. EPOS Fast Connect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.13.2. EPOS V.29 Fast Connect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.14. Legacy Synchronous DCE Mode/V.80 Synchronous Ac cess Mode . . . . . . . . . . . . 125
5.15. V.80 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6. Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.1. Quick Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.2. Country-Dependent Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.2.1. DC Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.2.2. Country Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.2.1. Country Initialization Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.2.2. Country-Setting Register Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.2.2.3. Special Requirements for India . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
6.2.2.4. Special Requirements for Serbia and Montenegro . . . . . . . . . . . . . . . . 147
6.2.3. Blacklisting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
6.3. Caller ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.3.1. Force Caller ID Monitor (Always On) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.3.2. Caller ID After Ring Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.3.3. UK Caller ID with Wetting Pulse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.3.4. Japan Caller ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.3.5. DTMF Caller ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.4. SMS Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.5. Type II Caller ID/SAS Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
AN93
6 Rev. 1.3
6.6. Intrusion/Parallel Phone Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
6.6.1. On-Hook Condition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
6.6.1.1. Line Not Present/In Use Indication (Me th od 1— Fixed) . . . . . . . . . . . . . 161
6.6.1.2. Line Not Present/In Use Indication (Method 2—Adaptive). . . . . . . . . . . 162
6.6.2. Off-Hook Condition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
6.7. Modem-On-Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
6.7.1. Initiating Modem-On-Hold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
6.7.2. Receiving Modem-On-Hold Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.8. HDLC: Bit Errors on a Noisy Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.9. Overcurrent Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.10. Pulse/Tone Dial Decision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.10.1. Method 1: Multiple Off-Hook Transitions. . . . . . . . . . . . . . . . . . . . . . . . . 169
6.10.2. Method 2: Single Off-Hook Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.10.3. Method 3: Adaptive Dialing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.10.4. Automatic Phone-Line Configuration Detection . . . . . . . . . . . . . . . . . . . . . . 170
6.10.5. Line Type Determination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.11. Telephone Voting Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.12. V.92 Quick Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
7. Handset, TAM, and Speakerphone Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
7.1. Software Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
7.1.1. AT Command Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
7.1.2. AT+ Extended Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
7.1.3. <DLE> Commands (DTE-to-DCE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
7.1.4. <DLE> Events (DCE-to-DTE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
7.1.4.1. Simple Event Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
7.1.4.2. Complex Event Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
7.1.5. U Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
7.2. Voice Reference—Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.3. Si3000 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.3.1. Microphone and Speaker Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.3.2. Register Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.3.3. System Voice Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.3.3.1. TAM Hands-Free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.3.3.2. TAM Handset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.3.3.3. Speakerphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.3.3.4. Handset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.3.3.5. TAM PSTN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
7.4. Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
7.5. Handset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
7.5.1. Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
7.5.2. Handset Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
7.5.3. Call – Automatic Tone Dial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
7.5.4. Call – Manual Off-Hook Tone Dial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
7.5.5. Call – Automatic Pulse Dial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
7.5.6. Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
7.5.7. Terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
AN93
Rev. 1.3 7
7.5.8. Speakerphone Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
7.6. Telephone Answering Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
7.6.1. Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
7.6.2. TAM Hands-Free—Idle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
7.6.2.1. Record OGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
7.6.2.2. Review OGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.6.2.3. Record Local ICM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.6.2.4. Review ICM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.6.2.5. Speakerphone Transition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.6.2.6. Handset Transition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.6.3. TAM Handset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.6.3.1. Record OGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.6.3.2. Review OGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
7.6.3.3. Record Local ICM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
7.6.3.4. Review ICM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
7.6.4. TAM PSTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
7.6.4.1. Normal Answer – OGM Playback with ICM Record. . . . . . . . . . . . . . . . 208
7.6.4.2. Interrupted Answer – OGM Playback with DTMF Menu Entry. . . . . . . . 210
7.6.4.3. Speakerphone Transition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.6.4.4. Handset Transition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.7. Speakerphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 12
7.7.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.7.2. Simplex Speakerphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.7.3. External Microphone/Speaker Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
7.7.3.1. Transmit Gain Calibration—Speakerphone Disabled . . . . . . . . . . . . . . 213
7.7.3.2. Receive Gain Calibration—Speakerphone Disable d . . . . . . . . . . . . . . . 216
7.7.3.3. Speakerphone Calibration—AEC Gain Calibration . . . . . . . . . . . . . . . . 217
7.7.4. Speakerphone Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
7.7.5. Simplex Speakerphone Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
7.7.6. Call—Automatic Tone Dial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
7.7.7. Call—Manual Off-Hook Tone Dial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
7.7.8. Call—Automatic Pulse Dial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
7.7.9. Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
7.7.10. Handset Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
7.7.11. Termination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
7.8. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
7.9. References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
8. Security Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
8.1. Implementing the SIA Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
8.1.1. Modem-Specific Implementation Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
8.1.1.1. Listen-In and V-channel Periods (Voice Pass-Through) . . . . . . . . . . . . 224
8.1.1.2. Inserting a V.32bis period (e.g., SIA Level-3 Video Block Support). . . . 224
8.1.1.3. Considerations when Disconnecting the Session . . . . . . . . . . . . . . . . . 225
8.2. Implementing the Ademco® Contact ID Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
8.2.1. Modem Specific Implementation Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
8.2.1.1. Handshake Tone Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
8.2.1.2. Session Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
AN93
8 Rev. 1.3
9. Chinese ePOS SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
9.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
9.2. SMS AT Command Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
9.2.1. SMS User Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
9.2.2. Procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
9.2.2.1. Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
9.2.2.2. Response 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
9.2.2.3. Response 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
9.2.2.4. Response 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
9.3. Example Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
10. Testing and Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
10.1. Prototype Bring-Up (Si3018/10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
10.1.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
10.1.2. Visual Inspection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
10.1.3. Basic Troubleshooting Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
10.1.4. Host Interface Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
10.1.5. Isolation Capacitor Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.1.6. Si3018/10 Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.1.7. Component Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.2. Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
10.3. Board Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
10.4. Compliance Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
10.4.1. EMI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
10.4.2. Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
10.4.3. Surges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
10.5. AM-Band Interference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10.6. Debugging the DTE interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Appendix A—EPOS Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
VISA II (7E1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Recommendation V.80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
The ISOmodem in EPOS Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
A V.29 FastPOS Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Appendix B—Line Audio Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
When to Use Audio Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Times When Audio Recording May Not Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Hardware Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Audio Playback and Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Examples of Line Impairments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Appendix C—Parallel/SPI Interface Software Implementation . . . . . . . . . . . . . . . . . . . . . 290
Software Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Compiler Option: Dot Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Modem Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Modem Interrupt Service Sample Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Document Change List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Contact Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
AN93
Rev. 1.3 9
1.1. Selection Guide
Tables 1 through 3 list the modulations, protocols, carriers, tones and interface modes supported by the Si2494/3 9
and Si2493/57/34/15/04 ISOmodem family. The Si2493 supports all modulations and protocols from Bell 103
through V.92. The Si2457 supports all modulations and protocols from Bell 103 through V.90. The Si2434 supports
all modulations and protocols from Bell 103 through V. 34. The Si2415 supports all modulations and protocols from
Bell 103 through V.32bis. The Si2404 supports all modulations and protocols from Bell 103 through V.22bis.
Table 1. Modulations
Modulation Data Rates (bps) Modulation Si2494/93 Si2457 Si2439/34 Si2415 Si2404
V.92* 48k, 40k, 32k, 24 k PCM
V.90* 56k, 54.6k, 53.3k, 52k, 50.6k,
49.3k, 48k, 46.6k, 45.3k, 44k,
42.6k, 41.3k, 40k, 38.6k,
37.3k, 36k, 34.6k, 33.3k, 32k,
30.6k, 29.3k, 28k
PCM 
V.34* 33.6k, 31.2k, 28.8k, 26.4k, 24k,
21.6k, 19.2k, 16 .8k, 14.4k, 12k,
9600, 7200, 4800, 2400
TCM 
V.32bis* 14.4k, 12k, 9600, 7200, 4800 TCM 
V.32* 9600
9600, 4800 TCM
QAM 
V.29FC* 9600 QAM *
V.23 1200 FSK 
V.22bis 2400, 1200 QAM 
V.22 1200 DPSK 
Bell 212A 1200 DPSK 
V.21 300 FSK 
Bell 103 300 FSK 
*Note: With the Si3018 DAA only.
Table 2. Protocols
Protocol*Function Si2494/93 Si2457 Si2439/34 Si2415 Si2404
V.44 Compression
V.42bis Compression 
V.42 Error Correct ion 
MNP5 Compression 
MNP2-4 Error Correct ion 
*Note: The Si2494/93/57/39/34/15/04 family allows any supported protocol combined with any modulation.
AN93
10 Rev. 1.3
Table 3. Carriers and Tones
Specification Transmit Carrier
(Hz) Receive Carrier
(Hz) Answer
Tone (Hz) Carrier Detect (Acquire/
Release)
V.92 Variable Variable per ITU-T V.92
V.90 Variable Variable per ITU-T V.90
V.34 Variable Variable per ITU-T V.34
V.32bis 1800 1800 2100 per ITU-T V.32bis
V.32 1800 1800 2100 per ITU-T V.32
V.29 1700 1700 per ITU-T V.29
V.22bis, V.22
Originate/answer 1200
2400 2400
1200 2100 –43 dBm/–48 dBm
–43 dBm/–48 dBm
V.21
Originate/answer (M/S) 1180/980
1850/1650 1850/1650
1180/980 2100 –43 dBm/–48 dBm
–43 dBm/–48 dBm
Bell 212A
Originate/answer 1200
2400 2400
1200 2225 –43 dBm/–48 dBm
–43 dBm/–48 dBm
Bell 103
Originate/answer (M/S) 1270/1070
2225/2025 2225/2025
1270/1070 2225 –43 dBm/–48 dBm
–43 dBm/–48 dBm
Table 4. ISOmodem Capabilities
Part Numbers Package UART EEPROM SPI Parallel SSI/Voice
Si2493/57/34/15/041SOIC-16
Si2493/57/34/15/041TSSOP-24 2
Si2494/39 QFN-38 
Notes:
1. Die Revision D or later
2. The EEPROM interface option is available only when the UART or SPI interface is selected.
AN93
Rev. 1.3 11
2. Modem (System-Side) Device
The Si24xx ISOmodem system-side devices contain a controller, a DSP, program memory (ROM), data memory
(RAM), UART, SPI and parallel interfaces, a crystal oscillator, and an isolation capacitor interface. The following
sections describe the reset seq uence, the host interfa ce, the isolation interface, low- power modes, SSI/vo ice m ode
and the EEPROM interface.
2.1. Resetting the Device
Reset is required after power-on or brownout conditions (the supply dropping to less than the data sheet minimum).
The supply must be stable throughout the minimum required reset time described here and thereafter. A reset is
also required in order to come out of the power down mode.
Some operational choices, including the crystal oscillator frequency used and the command interface used (e.g.
UART vs SPI), is made during the reset time according to pull-down resistors pla ced on so me mo d em pin s. These
pins are modem output lines, but, during reset, the modem places them into a high-impedance mode with weak
internal pull-ups, then reads the user's strapping choice s. It is important that the resultant state changes of these
pins during reset are not misinterpreted by the host.
For example the INT output pin of the modem (and perhaps others) can be strapped low with a 10 k resistor to
request SPI operation. If that mode is chosen, the host should take care not to enable this interrupt input before the
modem reset since the INT signal will transition from high to low and back up during reset in this case and can
generate an unexpected interrupt.
If an external clock signal is provided instead of a crystal attached to the modem, it is important that this external
clock signal be stable before the reset ends.
2.1.1. Reset Sequence
After power-on, the modem must be reset by asserting the RESET pin (low) for the required time then waiting a
fixed 300 ms before sending the first AT command. The reset recovery time of 300 ms is also applicable i f the reset
is a SW triggered event, such as an ATZ command.
If a 4.9152 MHz crystal or an external 27 MHz clock is used, the reset must be asserted for 5 ms, and a wait of
300 ms duration must happen before an AT command is issued. If a 32 kHz crystal is used, the reset pulse must b e
500 ms long and followed by the same 300 ms duration wait as that used for higher frequency clocks.
This is adequate to reset a ll the on -chip r eg isters. No te that 16 µs after the cu stomer-a pplied rese t pulse st art s, the
I/O pins will be tri-stated with a weak pull-up, and, 16 µs after the end of this reset pulse, the IO pins will switch to
inputs or outputs as appropriate to the mode indicated by the pull-down strapping. This 16 µs delay is for newer
revs of the modem parts (those parts that introduce a 32 kHz crystal and SPI operation); older revs exhibit a delay
of only nanoseconds.
The reset sequence described above is appropriate for all user modes of the modem including UART, SPI, and
Parallel bus operation.
A software reset of th e mo dem can als o be perf orm ed by issuing the command ATZ or by setting U-register 6E bit
4 (RST) high using AT commands. After issuing a software or hardware reset, the host must wait for the reset
recovery time before issuing any subsequent AT commands.
There is no non-volatile memory on the ISOmodem other than program ROM. When reset, the ISOmodem reverts
to the original factory default settings. Any set-up or configuration data and software updates must be reloaded
after every reset. This is true whether the reset occurs due to a power-down/power-up cycle, a power-on reset
through a manual reset switch, by writing U6E [4] (RST) = 1, or by executing ATZ.
A suggested reset sequence is as follows:
1. Apply an active-low pulse to the RESET pin; write RST bit or ATZ<CR>.
2. Wait at least the reset recovery time.
3. Load firmware updates (if required).
4. Set non-default DAA interface parameters—DCV, ACT, ILIM, OHS2, OHS, RZ, RT, (U67), LIM, (U68).
5. Set non-default cadence values—Busy Tone, Ringback, Ring.
AN93
12 Rev. 1.3
6. Set non-default frequency values—Ring.
7. Set non-default filter parameters.
8. Set non-default S-register values.
The modem is now ready to detect rings, answer another modem, call, or dial out to a remote modem.
Some key default settings for the modem after reset or powerup include the following:
V.92 and fall-backs enabled (Si2494/93)
V.90 and fall-backs enabled (Si2457)
V.34 and fall-backs enabled (Si2439/34)
V.32bis and fall-backs enabled (Si2415)
V.22bis and fall-backs enabled (Si2404)
V.42/42bis enabled
+++ escape sequence enabled
Answer-on-ring is disabled
Speaker off
DTE echo enabled
Verbal result codes enabled
CTS only enabled
FCC (US) DAA and call progress settings
2.1.2. Reset Strapping: General Considerations
The different options available in the Si24xx ISOmodem family are selected by means of 10 k pulldown resist ors
placed at certain pins. During power-on or pin reset, the ISOmodem’s signal pins are read and the option resistors
are taken into account to determine the required configuration. After reset, the ISOmodem assumes the
functionality selected by the corresponding combination of pu lld own res isto rs .
Below is a summary of reset-strap options. Not all options are available on all part number or packages. Refer to
Table 4, “ISOmodem Capabilities,” on page 10 for details.
Host interface: UART, parallel or SPI
Input clock frequency: 32 kHz, 4.9152 MHz or 27 MHz
Autobaud mode or fixed-rate UART communication (when UART interface is selected). Disabling the au tobau d
feature at reset sets the rate to 19,200 baud.
EEPROM interface
Three-wire EEPROM or four-wire EEPROM when EEPROM interface is selected
Refer to "2.6. EEPROM Interface (24-Pin TSSOP and 38-Pin QFN Only)" on page 31 for more details on the
various ISOmodem EEPROM options.
The next few sections describe the various reset options that must be selected for each package. In all the tables,
the following conventions apply:
0 means a 10 k pulldown resistor to ground.
1 means the pin is left open. If a pin is left open, the internal pullup resistor is normally sufficient as long as the
pin is not driven extern ally du r ing re set. If there is noise or special power-sequencing situations, then an
external pullup resistor may be needed.
AN93
Rev. 1.3 13
2.1.3. Reset-Strap Options for 16-Pin SOIC Package
The clock frequency and interface on the 16-pin SOIC package are selected according to Table 5 below. The
parallel interface, EEPROM and autobaud options are not available in the 16-pin SOIC package.
2.1.4. Reset-Strap Options for 24-Pin TSSOP Package
The pin-strapping options for the 24-pin TSSOP package are described in the three subsections below, depending
on the interface mode selected.
Table 5. SOIC-16 Reset-Strap Options
Mode Reset-Strap Pins
Interface Input Clock Pin 3
RI Pin 5, RXD/MISO Pin 7, CTS/SCLK Pin 11
INT Pin 15
DCD
UART 32 kHz 0 X 1 1 X
4.9152 MHz 1 X 1 1 1
27 MHz 1 X 1 1 0
SPI 32 kHz 1 1 X 0 1
4.9152 MHz 0 1 X 0 X
27 MHz 1 1 X 0 0
AN93
14 Rev. 1.3
2.1.4.1. Reset Strapping Options for TSSOP-24 with UART-Interface
UART-interface options for the 24-pin TSSOP package are shown in Table 6 below.
2.1.4.2. Reset Strapping Options for TSSOP-24 with Parallel-Interface
Parallel-interface options for the 24-pin TSSOP package appear in Table 7 below. The EEPROM and autobaud
options are not available when the parallel interface is selected.
Table 6. TSSOP-24 UART-Interface Options
Mode Reset-Strap Pins
Input Clock Autobaud
Disabled? Three-Wire
EEPROM
Interface?
Pin 4
FSYNC Pin 11, CTS
Pin 15, AOUT
Pin 16, INT
Pin 17
RI Pin 18
SDI/EESD Pin 23
DCD
32 kHz No No 1 1 0 1 X
Yes 0 1 0 1 X
Yes No 1 1 0 0 X
Yes 0 1 0 0 X
4.9152 MHz No No 1 1 1 1 1
Yes 0 1 1 1 1
Yes No 1 1 1 0 1
Yes 0 1 1 0 1
27 MHz No No 1 1 1 1 0
Yes 0 1 1 1 0
Yes No 1 1 1 0 0
Yes 0 1 1 0 0
Table 7. TSSOP-24 Parallel-Interface Options
Mode Reset-Strap Pins
Input Clock Pin 9, RD
Pin 10, WR Pin 11
SCLK Pin 15
INT
27 MHz 1 0 0
4.9152 MHz 1 1 0
AN93
Rev. 1.3 15
2.1.4.3. Reset Strapping Options for TSSOP with SPI-Interface
Table 8 lists the SPI-interface options for the 24-pin TSSOP package.
2.1.5. Reset Strapp in g Op tio ns fo r QF N Parts
2.1.5.1. Reset Strapping Options for QFN Parts with UART Operation
Table 9 lists the reset strapping options for QFN parts with UART operation.
Table 8. TSSOP-24 SPI-Interface Clock-Frequency Options
Mode Reset-Strap Pins
Input Clock Three-Wire
EEPROM
Interface?
Pin 4
FSYNC Pin 9, RXD
Pin 11, SCLK
Pin 15, AOUT
Pin 18, SDI/EESD
Pin 16
INT Pin 17
RI Pin 23
DCD
32 kHz No 1 1 0 1 1
Yes 0 1 0 1 1
4.9152 MHz No 1 1 0 0 X
Yes 0 1 0 0 X
27 MHz No 1 1 0 1 0
Yes 0 1 0 1 0
Table 9. Reset Strapping Options for QFN Parts with UART Operation
Input Clk Auto-Baud
Disable Three-Wire
EEPROM
Interface
FSYNCH CTS AOUT EECLK INT RI SDI DCD
Pin 2 Pin 21 Pin 15 Pin 13 Pin 35 Pin 19 Pin 8 Pin 28
32 kHz No No 1 1 1 1 1 1 1 1
Yes 0 1 1 1 1 1 1 1
Yes No 1 1 1 1 1 1 0 1
Yes 0 1 1 1 1 1 0 1
4.9152 MHz No No 1 1 1 1 1 0 1 X
Yes 0 1 1 1 1 0 1 X
Yes No 1 1 1 1 1 0 0 X
Yes 0 1 1 1 1 0 0 X
27 MHz No No 1 1 1 1 1 1 1 0
Yes 0 1 1 1 1 1 1 0
Yes No 1 1 1 1 1 1 0 0
Yes 0 1 1 1 1 1 0 0
AN93
16 Rev. 1.3
2.1.5.2. Reset Strapping Options for QFN Parts with SPI Operation
Table 10 lists the reset strappin g op tio ns for QFN parts with SPI operation.
2.1.5.3. Reset Strapping Options for QFN Parts with Parallel Operation
Table 11 lists the reset strapping options for QFN parts with parallel operation.
Table 10. Reset Strapping Options for QFN parts with SPI Operation
Input Clk Three-Wire
EEPROM
Interface
FSYNCH AOUT EECLK INT RI SDI DCD MISO
Pin 2 Pin 15 Pin 13 Pin 35 Pin 19 Pin 8 Pin 28 Pin 22
32 kHz No 1 1 1 0 1 1 1 1
Yes 0 1 1 0 1 1 1 1
4.9152 MHz No 1 1 1 0 0 1 X 1
Yes 0 1 1 0 0 1 X 1
27 MHz No 1 1 1 0 1 1 0 1
Yes 0 1 1 0 1 1 0 1
Table 11. Reset Strapping Options for QFN Parts with Parallel Operation
Input Clk CS AOUT EECLK RD
Pin 21 Pin 15 Pin 13 Pin 22
32 kHz 1 0 1 1
10 1 1
4.9152 MHz 1 0 0 1
10 0 1
27 MHz 0 0 1 1
00 1 1
AN93
Rev. 1.3 17
2.2. System Interface
The ISOmodem can b e connected to a h ost processor throug h a UAR T, SPI or p arallel interface. Con nection to the
chip requires low-voltage CMOS signal levels from the host and any other circuitry interfacing directly. The
following sections describe the digital interface options in detail.
2.2.1. Interface Selection
The interface is selected during reset, as described in "2.1. Resetting the Device". Tables 12, 13, and 14 show the
functions of the affected pins for possible interface modes for 16-, 24- and 38-pin packag es, respectively.
Table 12. Pin Functions vs. Interface Mode (SOIC-16)
Pin # UART Mode SPI Mode
3RI RI
5 RXD MISO
6 TXD MOSI
7CTS SCLK
11 INT INT
14 ESC ESC
15 DCD DCD
16 RTS SS
Table 13. Pin Functions vs. Interface Mode (TSSOP-24)
Pin # UART Mode SPI Mode Parallel Mode
2 FSYNC (SSI) FSYNC (SSI) D6
3 CLKOUT (SSI) CLKOUT (SSI) A0
8RTS SS D7
9 RXD MISO RD
10 TXD MOSI WR
11 CTS SCLK CS
15 AOUT AOUT INT
16 INT INT D0
17 RI RI D1
18 SDI (SSI) SDI (SSI) D2
22 ESC ESC D3
23 DCD DCD D4
24 SDO (SSI) SDO (SSI) D5
AN93
18 Rev. 1.3
Table 14. Pin Functions vs. Interface Mode (QFN-38)
Pin # UART Mode SPI Mode Parallel Mode
35 INT INT INT
34 GPIO18 GPIO18 D0
33 GPIO17 GPIO17 D1
32 GPIO16 GPIO16 D2
31 GPIO23 GPIO23 D3
30 GPIO24 GPIO24 D4
29 ESC D5
28 DCD D6
24 RTS SS D7
23 TXD MOSI WR
22 RXD MISO RD
21 CTS SCLK CS
20 GPIO11 GPIO11 A0
19 RI
AN93
Rev. 1.3 19
2.2.2. Interfa c e Signa l De sc ripti on
The following tables describe each set of UART, parallel and SPI interface signals:
2.2.3. UART Interface Operation
The UART interface allows the host processor to communicate with the modem controller through a UART driver.
In this mode, the modem is analogous to an external “box” modem. The interface pins are 5 V tolerant and
communicate with TTL-compatible, low-voltage CMOS levels. RS232 interface chips, such as those used on the
modem evaluation board, can be used to make the UART interface directly compatible with a PC or terminal serial
port.
2.2.3.1. UART Options
The DTE rate is set by the autobaud feature after reset. When autobaud is disabled, the UART is configured to
19.2 kbps, 8-bit data, no parity and 1 stop bit on reset. The UART data rate is programmable from 300 bps to
307.2 kbps with the AT\Tn command (see Table 42, “Extended AT\ Command Set,” on page 81). After the AT\Tn
command is issued, the ISOmodem echoes the result code at the old DTE rate. After the result code is sent, all
subsequent communication is at the new DTE rate.
The DTE baud clock is within the modem crystal tolerance (typically ±50 ppm), except for DTE rates that are
uneven multiples of the modem clock. All DTE rates are within the +1%/–2.5% required by the V.14 specification.
Table 18 shows the ideal DTE rate, the actual DTE rate, and the approximate error.
Table 15. UART-Interface Signals
Signal Direction Description
TXD Input Data input from host TXD pin
RXD Output Data output to host RXD pin
RTS Input Active-low request-to-send input for flow control
CTS Output Clear to send: Si2493 is ready to receive data on the TXD pin (active low)
Table 16. SPI-Interface Signals
Signal Direction Description
SCLK Input Serial data clock
MISO Output Serial data output
MOSI Input Serial data input
SS Input Chip select (active low)
INT Output Interrupt (active low)
Table 17. Parallel-Interface Signals
Signal Direction Description
A0 Input Register selection (a dd r ess input)
CS Input Chip select (active low)
RD Input Read enable (active low)
WR Input Write enable (active low)
D[7:0] Bidirectional Parallel data bus
INT Output Interrupt (active low)
AN93
20 Rev. 1.3
The UART interface sy nchronizes on the start bits of incoming characters and samples the data bit field and stop
bits. The interface is designed to accommodate character lengths of 8, 9, 10, and 11 bits giving data fields of 6, 7,
8, or 9 bits. Data width can be set to 6, 7, o r 8 bits with the AT\Bn command. Parity can be set to odd, even, mark,
or space by the AT\Pn command in conjunction with AT\B2 or AT\B5. Other AT\Bn settings have no parity.
Figure 2. Asychronous UART Serial Interface Timing Diagram
2.2.3.2. Autobaud
When set in UART interface mode, the ISOmodem includes an au tomatic baud rate detection feature that allows
the host to start tran sm itt i ng da ta at any standard DTE rate from 300 bps to 307.2 kbps. This feature is enabled by
default. When autobaud is enabled, it continually adjusts the baud rate, and the ISOmodem always echoes result
codes at the same baud rate as the most recently received character from the host. Autobaud can be turned off
using AT commands \T0 through \T15, and \T17. Host software should disable autobaud operation once the DTE
rate has been established. This prevents transients on TXD to cause inadvertent baud rate changes.
Autobaud is off when dialing, answering, and in data mode. When autobaud mode is off, the baud rate is set to the
most recently-active baud rate prior to entering one of these states. When autobaud mode is on, autoparity is
performed when either “at” or “AT” is detected. Autoparity detects the formats listed in Table 19.
Table 18. DTE Rates
Ideal DTE Rate (bps) Actual DTE Rate (bps) Approximate Error(%)
300 300
600 600
1200 1200
2400 2400
7200 7202 0.01
9600 9600
12000 12003 0.02
14400 14400
19200 19200
38400 38400
57600 57488 0.2
115200 115651 0.4
230400 228613 0.8
245760 245760
307200 307200
D1D0 D2 D3 D4 D5 D6 D7
START
BIT
MARK STOP
BIT
BIT TIMES
BIT SAMPLING
SPACE
D1D0 D2 D3 D4 D5 D6 D7
START
BIT
MARK STOP
BIT
BIT TIMES
BIT SAMPLING
SPACE D8
AN93
Rev. 1.3 21
:
Note: For 7N1, the modem is programmed to 7 data bits, mark parity and one stop bit. This may be changed with the AT\P and
AT\B commands. In autobaud mode, 7N1 is properly interpreted and echoed, but the AT\P and AT\B commands must be
sent prior to dialing in orde r to lock the parity and format to 7N1. Otherwi se, the ISOmodem locks to 7 bits, mark parity
and two stop bits (7N2).
2.2.3.3. Flow Control
The ISOmodem supports flow control through RTS/CTS and XON/XOFF. RTS (request-to-send) is a control signal
from the terminal (DTE) to the modem (DCE) indicating data may be sent from the modem to the terminal. CTS
(clear-to-send) is a control signal from the modem (DCE) to the terminal (DTE) indicating data may be sent from
the terminal to the modem for transmission to the remote modem. This arrangement is typically referred to as
hardware flow control. There is a 14-character FIFO and a 1024 character elastic transmit buffer (see Figure 3).
CTS goes inactive (high) when the 1024 character buffer reaches 796 characters, then reasserts (low) when the
buffer falls below 128 characters. There is no provision to compensate for FIFO overflow. Data received on TXD
when the FIFO is full are lost.
XON/XOFF is a software flow control method in which the modem and terminal control the data flow by sending
XON characters (^Q/0x11) and XOFF characters (^S/0x13). XON/XOFF flow control is enabled on the ISOmodem
with AT\Q4.
DCD does not de-assert during a retrain (see Table 45: S9, Carrier presence timer and S10, Carrier loss timer).
CTS always deasserts during initial training, retrain, and at disconnect regardless of the \Qn setting. For \Q0 CTS,
flow control is disabled; CTS is inactive during data transfer. The modem remains in the data mode during normal
automatic retrains. The host can force a retrain by escaping to the command mode and sending ATO1 or ATO2.
The DCD and RI pins can be used as ha rdwa re monitor s of th e carrier detect and ring signa ls. Additiona lly, the INT
pin can be program med to monitor th e bits in register U70 listed in Table 20. The RI, PPD, OCD, CID, and RST bits
are sticky, and the AT:I command reads and cl ea rs thes e sig na ls an d de ac tiva te s the INT pin if INT is enabled.
Table 19. Serial Formats Detected in Autobaud Mode
Symbol Data bits Parity Stop bits
7N1 7 None (mark) 1
7N2 7 None (mark) 2
7S1 7 None (space) 1
7O1 7 Odd 1
7E1 7 Even 1
8N1 8 None (mark) 1
8E1 8 Even 1
8O1 8 Odd 1
9N1 9 None (mark) 1
AN93
22 Rev. 1.3
Figure 3. Transmit Data Buffers
Figure 4. Receive Data Buffers
Table 20. Register U70 Signals INT Can Monitor
Signal U70 Bit Function
DCD 0 Data Carrier Detect—active high (inverse of DCD pin)
RI 1 Ring Indicator—active high (inverse of RI pin)
PPD 2 Parallel Phone Detect
OCD 3 Overcurrent Detect
CID 4 Caller ID Preamble Detect
796 Characters
128 Characters
1024 Character Elastic Tx Buffer
SRAM CTS Deasserts
CT S Asse rts
Transmit
14-Character
Ha rd wa re
Buffer
T x D a ta
CTS
796 Characters
128 Characters
1024 Character Elastic Rx Buffer
SRAM
Receive
12-Character
Ha rd w are
Buffer
Rx data
RTS
RXF bit
REM bit
Parallel
Mode
AN93
Rev. 1.3 23
A block diagram of the UART in the serial interface mode is shown in Figure 5.
.
Figure 5. UART Serial Interface
2.2.4. Parallel and SPI Interface Operation
Refer to "2.1. Res etting the De vice" on page 11 for interfac e selec tion. The parallel inte rface h as an 8-bit data bus
and a single address bit. The SPI likewise operates with 8-bit data transfers, using a single address bit. When the
parallel or SPI interfa ce mode is selected, the modem must be configured for a DTE in terface or 8N1 only. The host
processor must calculate parity for the MSB. The modem sends bit s as received by the ho st and does not calculate
parity. Refer to "Appendix C—Parallel/SPI Interface Software Implementation" on page 290 for detailed parallel or
SPI interface application information.
The parallel or SPI int erfac e us es th e FI FOs t o buffer data in the same way a s in UART mode , with the addit ion of
Hardware Interface Registers 0 (HIR0) and Hardware Interface Register 1 (HIR1). The Hardware Interface
Registers were formerly called Parallel Interface Registers (PIR0 and PIR1) in older products, because those
products wo uld support only a p arallel interface. Flow con trol must b e implemented b y monitoring REM and TXE in
HIR1. There is no protection against FIFO overflow. Data transmitted when the transmit FIFO is full are lost.
Figure 6 shows the interaction of th e transmit and re ceive FIFOs with the Hardware (Parallel) Interface Registers in
the case of a p arallel inte rface. The ar rangemen t is similar when the SPI inter face is se lected. Table 21 on page 25
shows a bit map of HIR0 and HIR1.
UART oriented control lines, such as RTS and CTS, are not used in Parallel and SPI Interface mode. They are
replaced by bits in the HIR1 register.
SPI and para llel operation only sup port s 8- bit dat a word s. The longe r words that are implied by the \B5 (8P1) & \B6
8X1 commands are not allowed. These commands should not be used.
11 Bits
to Data Bus
CONTROL RX Shift
Register
TX Shift
Register
TX FIFO
MUX
TXD
(10) CTS
(11) RTS
(8) RXD
(9)
INT
(16)
RX FIFO
AN93
24 Rev. 1.3
Figure 6. Parallel Interface
11 Bits
to Da ta Bu s
CONTROL
P a ra lle l I /F
Register 1
MUX
P a ra llel I/F
Register 0
A0
(3) D0
(16) D1
(17) D2
(18) D3
(22) D4
(23) D5
(24) D6
(4) D7
(8) RD
(9) WR
(10) CS
(11) INT
(15)
MUX
Parallel Interface Unique
Shared-Serial/Parallel
Parallel mode pin functio n
Parallel mode pin number
TX FIFO
14 Characters RX FIFO
12 Characters
AN93
Rev. 1.3 25
2.2.4.1. Hardware Interface Register 0
Hardware Interface Register 0 (HIR0) is the eight-bit wide read/write location where modem da ta and comm ands
are exchanged with the host. Writing a byte to the HIR0 adds that byte to the modem’s transmit FIFO (AT
command buffer in command mode or data transmission in data mode). If data are available (modem data in data
mode or command responses, such as OK, in command mode), reading from the HIR0 fetches data from the
modem’s receive FIFO. The maximum burst data rate is approximately 350 kbps (45 kBps).
2.2.4.2. Hardware Interface Register 1
Hardware Inte rface Re gister 1 ( HIR1) contains vario us status and control flags for use by the host to perform data
flow control, to escape to command mode a nd to quer y var iou s in terr upt co ndition s. T he HIR1 bit map is de scr ibe d
in Table 22. This register is reset to 0x63.
Bit 7 (RXF) is a read/write bit that gives the status of the 12-byte deep receive FIFO. If RXF = 0, the receive FIFO
contains less than 10 bytes. If RXF = 1, the receive FIFO contains more than 9 bytes and is full or almost full.
Writing RXF = 0 clears the interrupt.
Table 21. Hardware Interface Register Bit Map
A0 RD WR Action Register D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 Read HIR0 Modem data or command from receive FIFO
0 1 0 Write Modem data or command to transmit FIFO
1 0 1 Read HIR1 RXF TXE REM INTM INT ESC RTS CTS
1 1 0 Write RXF TXE *Note INTM *Note ESC RTS n/a
*Note: REM and INT are read-only bits.
Table 22. Hardware Interface Register 1
Bit Name R/W Reset Function
7RXFR/W 0Receive FIFO Almost Full
6TXER/W 1Transmit FIFO Almost Empty
5REM R 1Receive FIFO Empty
4INTMR/W 0Interrupt Mask
0 = INT pin trigge re d on risin g ed ge of RXF or TXE only
1 = INT pin triggered on rising edge of RXF, TXE or INT (bit 3 below)
3INT R 0Interrupt
0 = No interrupt
1 = Interrupt triggered
2 ESC R/W 0 Escape
1RTSR/W 1 Request-to-Send (active low) — Deprecated — fo r flow control, use the
TXE and REM bits for polling- or interrupt-based communication.
This bit must be written to zero.
0CTS R1Clear-to-Send (active low) — Deprecated — for flow control, use the TXE
and REM bits for polling- or interrupt-based communication.
AN93
26 Rev. 1.3
Bit 6 (TXE) is a read/write bit that gives the status of the 14-byte deep transmit FIFO. If TXE = 0, the transmit FIFO
contains thr ee or mo re bytes. If TXE = 1, the transmit FIFO cont ains two or fewer bytes. Writing TXE = 0 clears the
interrupt but does not change the state of TXE.
Bit 5 (REM) is a read-only bit tha t indicates when th e receive FIFO is empty. If REM = 0, the receive FIFO conta ins
valid data. If REM = 1, the receive FIFO is empty. The timer interrupt set by U6F ensures that the receive FIFO
contents 9 bytes are serviced properly.
Bit 4 (INTM) is a read/write bit that controls whether or not INT (bit 3) triggers the INT pin.
Bit 3 (INT) is a read-only bit that reports Interrupt status. If INT = 0, no interrupt has occurred. If INT = 1, an
interrupt due to CID, OCD, PPD, RI, or DCD (U70 bit s 4, 3, 2, 1, 0, respectively) has occurred. T his bit is reset by :I.
Bit 2 (ESC) is a read/write bit that is functionally equivalent to the ESC pin in the ser i al mode. The operation of this
bit, like the ESC pin, is enabled by setting U70 [15] (HES) = 1.
The use of bits 1 and 0 (RTS and CTS) has been deprecated for both parallel and SPI interfaces. Instead, the use
of bits 6 and 5 (TXE and REM) is recommended for polling- and interrupt-based communication.
2.2.4.3. Parallel Interface Operation
When the device is powered up for parallel interface, the pins include eight data lines (D7–D0), a single address
(A0), a read strobe (RD), a write strobe (WR), an interrupt line (INT), and chip select (CS). Table 23 summarizes
the parallel-interface signals:
Refer to the device data sheet for timing characteristics. Address pin A0 allows the host processor to choose
between the two interface registers, HIR0 and HIR1. The timing diagrams below show typical parallel-interface
operation. Refer to the respective product data sheets for timing specifications.
Table 23. Parallel Interface Signals
Signal Function Direction
CS Chip Select (active low) Input
A0 Register address Input
RD Read strobe (active low) Input
WR Write strobe (active low) Input
D[7:0] Data bus Bidirectional
INT Interrupt (active low) Output
AN93
Rev. 1.3 27
Figure 7. Parallel Interface Read Timing
Figure 8. Parallel Interface Write Timing
AN93
28 Rev. 1.3
2.2.4.4. SPI Interface Operation
SPI interface operation is supported in the Si24 93/57/34 /15/04 Revision D o r later and the Si2494/39 Revision A or
later. When the device is powered up for SPI interface, the modem becomes an SPI slave, and the pins are
configured to SS (chip select input, active low), MOSI (serial data input to modem), MISO (serial data output from
modem) and SCLK (serial data clock input). The HIR0 and HIR1 registers described above are also available in
SPI mode. Each SPI operation consists of a control-and-address byte and a data byte. The bit definitions of the
control-and-address byte are shown in Table 24. The timing diagrams that follow show SPI read and write
waveforms. Refer to the device data sheet for timing characteristics.
Figure 9. SPI Read and Write Timing Diagrams
2.2.4.5. Interface Communication Modes
Data flow control is implemented in the SPI and parallel interfaces differently from UART mode. When parallel or
SPI mode is selected, data communication may be driven by interrupts or by polling. Refer to "Appendix C—
Parallel/SPI Interface Software Implementation" on page 290 for implementation details for both methods. The
parallel and SPI interfaces have four sources of interrupts and only one interrupt pin. The four interrupts are:
1. RXF Interrupt: receive FIFO almost full
2. TXE Interrupt: transmit FIFO almost empty
3. Timer Interrup t: re ce ive FIF O no t em pt y
4. U70 Interrupt: various conditions, such as ringing, parallel phone pickup, etc. as defined in register U70
The source of the interrupt can be determined by reading HIR1.
Table 24. SPI Control-and-Address Bit Definitions
Bit Function Meaning when High Meaning when Low
7 Address Access HIR1 Access HIR0
6 Read/Write Read register Write register
5:0 Reserved Not allowed Must be all zeroes
SCK
NSS
MISO
MOSI
Hi
Z
Hi
Z
SPI2
B
y
teWriteProtocol
Addre ss /C ontr ol Data
SCK
NSS
MIS
O
MOSI
Hi
Z
Hi
Z
SPI2
B
y
teRe ad Pr oto col
Address/Control
Data
AN93
Rev. 1.3 29
2.3. Isolation Capacitor Interface
The isolation capacitor is a proprietary high-speed interface connecting the modem chip and the DAA chip through
a high-voltage isolation barrier provided by two capacitors. It serves three purposes. First, it transfers control
signals and transmit data from the modem chip to the DAA chip. Second, it transfers receive and status data from
the DAA chip to the modem chip. Finally, it provides power from the mo dem chip to the DAA chip while the modem
is in the on-hook condition. The signaling on this interface is intended for communication between the modem and
the DAA chips an d cannot be used for any other purpo se. It is impo rta nt to keep the length of the ISOcap™ path as
short and direct as possible. The layout guidelines for the pins and comp onents associated with t his interface are
described in "4.4. Layout Guidelines" on page 49 and must be carefully followed to ensure proper operation and
avoid unwanted emissions.
2.4. Low-Power Modes
2.4.1. Power-Down Mode
The Power-Down mode is a lower power state than sleep mode. It is entered immediately upon writing
U65 [13] (PDN) = 1. Once in the Power-Down mode, the modem requires a hardware reset via the RESET pin to
become active again.
2.4.2. Wake-on-Ring Mode
The ISOmodem can be set to enter a low-power wake-on-ring mode when not connected. Wake-on-ring mode is
entered using the co mmand AT&Z. The ISOmodem returns to the active mode when one of th e followin g h appens:
There is a 1 to 0 transition on TXD in the UART mode
There is a 1 to 0 transition on CS in the parallel mode
There is a 1 to 0 transition on SSS in the SPI mode
An incoming ring is detected
A parallel telephone is picked up
Line polarity reversal
2.4.3. Sleep Mode
The ISOmodem can be set to enter a low-power sleep mode when not connected and after a period of inactivity
determined by the S24 register.
The ISOmodem enters the sleep mode S24 seconds after the last DTE activity, after the transmit FIFO is empty,
and after the last data are received from the remote modem. The ISOmodem returns to the active mode when one
of the following happens:
There is a 1 to 0 transition on TXD in the UART mode
There is a 1 to 0 transition on CS in the parallel mode
There is a 1 to 0 transition on SSS in the SPI mode
An incoming ring is detected
A parallel telephone is picked up
Line polarity reversal
The delay range for S24 is 1 to 255 secon ds. T he d efaul t se tting of S24 = 0 disables the sleep timer a nd ke eps the
modem in the normal power mode regardless of activity level.
AN93
30 Rev. 1.3
2.5. SSI/Voice Mode (24-Pin TSSOP and 38-Pin QFN Only)
Voice mode is supported in the Si2439 and the Si2494. Table 25 lists the pin connections for the ISOmodem SSI
interface. This interface enables Voice Mode operation. See "7. Handset, TAM, and Speakerphone Operation" on
page 173 for additional information.
The Si3000 is used in conjunction with the ISOmodem to transmit and receive 16-bit voice samples to and from
telephone lines as shown in Figure 10.
Figure 10. Voice Mode Block Diagram
Table 25. SSI Interface Pin Connection
Signal Pin Number
(TSSOP-24) Pin Number
(QFN-38)
CLKOUT 3 3
FSYNC 42
SDI 18 8
SDO 24 9
RESET 12 16
Si24xx Modem
Si3000 Voice Codec
Si30xx
DAA
Handset
HOST AT commands
Responses 2- wire
SDISDO
FSYNC MCLK
CLKOUT
SDI SDO
FSYNC
TDMA Interface
AN93
Rev. 1.3 31
2.6. EEPROM Interface (24-Pin TSSOP and 38-Pin QFN Only)
The 24-pin TSSOP and 38-pin QFN packages feature an optional three-wire interface (EESD, EECS and EECLK)
that may be directly connected to SPI EEPROMs. An EEPROM may contain custom default settings, firmware
upgrades, and/or user-defined AT command macros for use in custom AT commands or country co des. Firmware
upgrades may also be automatically loaded into the ISOmodem using the BOOT format.
2.6.1. Supported EEPROM Types
The EEPROM must support SPI mode 3 with a 16-bit (8–64 kbit range) address. The EEPROM must be between
8192 and 65536 bits in size and support the commands given in Table 26. The EEPROM must also support 16-bit
addressing regardless of size, allow a clock frequency of at least 1 MHz, assert its output on falling edges of
EECLK and latch input data on rising edges of EECLK. All data are sent to and from the EEPROM with the LSB
first. Required EEPROM command format and signal timing are shown in Tables 26 to 28. A typical EEPROM-
access timing diagram is shown on Figure 11. Such EEPROMs are available from several different manufacturers,
for example:
Microchip: 25LC080..25LC640
Atmel: AT25080..AT25640
WEL = write enable latch
WIP = write in progress
Table 26. EEPROM Commands
Instruction Name Instru ction Format Description
READ 0000 0011 Read data from memory at address
WRITE 0000 0010 Write data to memory array beginning at addr es s
WRDI 0000 0100 Clear write enable bit (disable write operation)
RDSR 0000 0101 Read status register
WRSR 0000 0001 Write status register
WREN 0000 0110 Set write enable bit (enable write operations)
Table 27. EEPROM Status Register (Any Other Bits are Unused)
76543210
——————WELWIP
Table 28. EEPROM Timing
Parameter Symbol Min. Typ. Max. Unit
EECLK period ECLK 1.0 µs
EESD input setup time EISU 100 ns
EESD input hold time EIH 100 ns
EESD output setup time* EOSU 500 ns
EESD output hold time* EOH 500 ns
EECS asserted to EECLK positiv e edg e ECSS 500 ns
AN93
32 Rev. 1.3
Figure 11. EEPROM Serial I/O Timing
EESD tristated before last falling EECLK edge during read
cycle. Last positive half of EECLK cycle is extended to provide
both 500 ns minimum EOH and 100 ns EESD before EECLK
falling edge.
EOZ 100 ns
EECS disable time betw ee n accesses ECSW 500 ns
EECS asserted af ter final EECLK edge ECSH 1 µs
*Note: EESD output at negative EECLK edge
Table 28. EEPROM Timing
Parameter Symbol Min. Typ. Max. Unit
ECLK
LSB
MSB
EISU
EOSU EIH
EDH
ECSH ECSW
EOZ
ECSS
EEPROM Data Format
EESD
EECS
8-bit instruction 16-bit address 8-bit data
EOH
AN93
Rev. 1.3 33
2.6.2. Three-Wire SPI Interface to EEPROM
To enable the 3-wire SPI interface to EEPROM on the 24-pin TSSOP package, appropriate pins must be reset
strapped according to Table 6 on page 14, or Table 8 on page 15, depending on the interface selected. The
EEPROM option is not available on the 24-pin TSSOP package if the parallel host interface is selected.
Figure 12 shows the connection diagram for the 3-wire SPI interface to EEPROM. A four-wire EEPROM (with
separate serial input and output data wires) may also be used with the input and output pins connected to EESD, if
its SO output is tristated on the last falling edge of EECLK during a read cycle.
Figure 12. Three-Wire EEPROM Connection Diagram
2.6.3. Detailed EEPROM Examples
Upon powerup, if the option is selected, the ISOmodem attempts to detect an EEPROM. The modem looks for a
carriage return in the first 10 memory locations. If none is found, the modem assumes the EEPROM is not
programmed and stops reading it. If a programmed EEPROM is detected, customer defaults that are programmed
into the EEPROM be tween the option al heading "BOOT" and the "<CR><CR>" delimiter are executed immediately ,
and AT command macros are loaded into the ISOmodem RAM. The memory that may be allocated to the
<commands> portion of the EEPROM is limited to 1000 bytes. Three <CR> must be the last three entries in the
EEPROM.
EEPROM Data are stored and read in hexadecimal ASCII format in eight address blocks beginning at a specified
hexadecimal address. For example, the AT:M0000,y0,y1,y2,y3,y4,y5,y6,y7 command writes the hexadecimal
values y0…y7 at addresses from 0 to 7, respectively. The AT:E0000 command reads the hexadecimal values
y0…y7 from addresses 0 to 7, respectively.
The following sections give specific examples of EEPROM usage for command macros, firmware upgrades, boot
commands, etc.
2.6.4. Boot Commands (Custom Defaults)
Commands to be executed upon boot-up are stored between the heading BOOT and the first <CR><CR> delimiter.
The boot command has the followin g format:
BOOT<CR>
<commands><CR>
<commands><CR>
<CR>
HOST
SPIEEPROM
SI/SO CS SCLK
MODEM
EESD EECS SCLK
Si3018/10
TELEPHONELINE
AN93
34 Rev. 1.3
The commands end with a <CR>, which, in combination with the final<CR>, provides the <CR><CR> delimiter.
Boot commands must be the first entry in the EEPROM and are used to set the modem up with custom defaults,
such as settings for specific countries, auto answer, or other special settings upon power up or after a hardware or
software reset.
This saves th e host proces sor from r eloadin g spec ial configuration strings at power up or after a reset, and allows
the modem to be customized by programming the EEPROM or by substituting preprogrammed EEPROMs. If the
BOOT command is the final entry in the EEPROM, it must end with an additional <CR> to provide the
<CR><CR><CR> delimiter indicating the end of the EEPROM.
2.6.5. AT Command Macros (Customized AT Commands)
Macros allow the creation of single custom AT commands that execute combinations of default AT commands
including special register configurations. AT command macros have the following format:
<command name><CR>
<commands><CR>
<commands><CR>
<CR>
Each AT Command Macro ends with a <CR><CR>. The final entry in the EEPROM ends with an additional <CR>
to provide the <CR><CR><CR> delimiter indicating the end of the EEPROM. AT command macros can have a
name consistin g of any stri ng of cha r act e rs but must be the only command on a line.
2.6.6. Firmware Upgrades
Firmware upgrades (“patches”) are typically executed upon boot-up and stored between the heading, BOOT, and
the first <CR><CR> delimiter. A firmware upgrade has the format: BOOT<firmware upgrade><CR>. The firmware
upgrade ends with a <CR>, which, in combination with the final<CR>, provides the <CR><CR> delimiter, which
marks the end of the EEPROM contents. A firmware upgrade can also be stored as an AT command macro in a
system where using the firmware upgrade is optional. The following are examples of boot commands, AT
command macros, and automatically-loaded firmware upgrades.
2.6.6.1. Boot Command Example
On power-up or reset, it is desired to set the UART rate to 115.2 kbps and limit the ISOmodem to V.34 and lower
operation.
The AT commands required to do this manually are:
AT\T12<CR>
AT&H2<CR>
To implement this as a boot command, the commands are:
BOOT<CR>
AT\T12<CR>
AT&H2<CR>
<CR>
This must be written to the EEPROM as ASCII hexadecimal in eight address block s. The actu al AT commands t o
store this boot command in the EEPROM starting at address 0 are:
AT:M0000,42,4F,4F,54,0D,41,54,5C
AT:M0008,54,31,32,0D,41,54,26,48
AT:M0010,32,0D,0D,00,00,00
The value 0x41 co rresponds to th e display charac ter A, 0x54 to T, 0x42 to B, 0x4F to O etc., and the value 0x0D,
for carriage return corresponds to the decimal value, 13, stored in S-register 3 (S3). Table 30 shows the
relationship between the decimal values, hexadecimal values, and display characters.
AN93
Rev. 1.3 35
2.6.6.2. AT Command Macro Example
This example creates the AT command macro ATN<CR> to configure the ISOmodem for operation in Norway.
The AT commands required to do this manually are:
AT:U2C,00B0,0080<CR>
AT:U67,000C,0010,0004<CR>
AT:U4D,001<CR>
To implement this as an AT command macro, the EEPROM contents should be:
N<CR>
AT:U2C,00B0,0080<CR>
AT:U67,000C,0010,0004<CR>
AT:U4D,001<CR>
<CR><CR>
This must be written to the EEPROM as ASCII hexadecimal in eight address block s. The actu al AT commands t o
store this boot command in the EEPROM starting at address 0 are:
AT:M0000,4E,0D,41,54,3A,55,32,43
AT:M0008,2C,30,30,42,30,0D,0D,30
AT:M0010,38,30,0D,41,54,3A,55,36
AT:M0018,37,2C,30,30,30,43,2C,30
AT:M0020,30,31,30,2C,30,30,30,34
AT:M0028,0D,41,54,3A,55,34,44,2C
AT:M0030,30,30,31,0D,0D,0D
With this macro installed in the EEPROM, th e comman d ATN<CR> configures the modem for op er ation in Norway.
2.6.6.3. Autoloading Firmware Upgrade Example
This example stores a firmware upgrade in EEPROM that is automatically loaded into the modem af ter power-up or
hardware/software reset if the EEPROM option is selected.
The AT commands required to load the firmware upgrade manually are:
AT*Y254:W0050,0000<CR>
AT:PF800.08D5
To implement this as a boot command macro, the commands are:
BOOT<CR>
AT*Y254:W0050,0000<CR>
AT:PF800.08D5
This must be written to the EEPROM as ASCII hexadecimal in eight address block s. The actu al AT commands t o
store this boot command in the EEPROM starting at address 0 are:
AT:M0000,42,4F,4F,54,0D,41,54,2A
AT:M0008,59,32,35,34,3A,57,30,30
AT:M0010,35,30,2C,30,30,30,30,0D
AT:M0018,41,54,3A,50,46,34,30,30
AT:M0020,2C,30,38,44,35,0D,0D,0D
This firmware upgrade (patch) is only an example meant to illustrate the procedure for loading a patch into the
EEPROM. Loading this code into a ISOmodem causes undesirable behavior.
AN93
36 Rev. 1.3
2.6.6.4. Combination Example
This example shows boot commands and custom AT commands stored in the same EEPROM.
Table 29. Combination Example
Command Function
BOOT<CR>
<commands><CR>
<commands><CR>
Start of EEPROM contents
<CR>
<Custom AT Command Name 1><CR>
<commands><CR>
<commands><CR>
End of BOOT string
Start of Custom AT Command 1
<CR>
<Custom AT Command Name 2><CR>
<commands><CR>
<commands><CR>
End of Custom AT Command 1
Start of Custom AT Command 2
<CR>
<Custom AT Command Name 3><CR>
<commands><CR>
<commands><CR>
End of Custom AT Command 2
Start of Custom AT Command 3
<CR> End of Custom AT Command 3
<CR> End of EEPROM Contents
AN93
Rev. 1.3 37
Table 30. ASCII Chart
dec hex Display dec hex Display dec hex Display dec hex Display
0 00 <NUL> 32 20 <space> 64 40 @ 96 60 `
1 01 <SOH> 33 21 ! 65 41 A 97 61 a
2 02 <STX> 34 22 66 42 B 98 62 b
3 03 <ETX> 35 23 # 67 43 C 99 63 c
4 04 <EOT> 36 24 $ 68 44 D 100 64 d
5 05 <ENQ> 37 25 % 69 45 E 101 65 e
6 06 <ACK> 38 26 & 70 46 F 102 66 f
7 07 <BEL> 39 27 ' 71 47 G 103 67 g
8 08 <BS> 40 28 ( 72 48 H 104 68 h
9 09 <HT> 41 29 ) 73 49 I 105 69 i
10 0A <LF> 42 2A * 74 4A J 106 6A j
11 0B <VT> 43 2B + 75 4B K 107 6B k
12 0C <FF> 44 2C , 76 4C L 108 6C l
13 0D <CR> 45 2D - 77 4D M 109 6D m
14 0E <SO> 46 2E . 78 4E N 110 6E n
15 0F <SI> 47 2F / 79 4F O 111 6F o
16 10 <DLE> 48 30 0 80 50 P 112 70 p
17 11 <DC1> 49 31 1 81 51 Q 113 71 q
18 12 <DC2> 50 32 2 82 52 R 114 72 r
19 13 <DC3> 51 33 3 83 53 S 115 73 s
20 14 <DC4> 52 34 4 84 54 T 116 74 t
21 15 <NAK> 53 35 5 85 55 U 117 75 u
22 16 <SYN> 54 36 6 86 56 V 118 76 v
23 17 <ETB> 55 37 7 87 57 W 119 77 w
24 18 <CAN> 56 38 8 88 58 X 120 78 x
25 19 <EM> 57 39 9 89 59 Y 121 79 y
26 1A <SUB> 58 3A : 90 5A Z 122 7A z
27 1B <ESC> 59 3B ; 91 5B [ 123 7B {
28 1C <FS> 60 3C < 92 5C \ 124 7C |
29 1D <GS> 61 3D = 93 5D ] 125 7D }
30 1E <RS> 62 3E > 94 5E ^ 126 7E ~
31 1F <US> 63 3F ? 95 5F _ 127 7F
AN93
38 Rev. 1.3
3. DAA (Line-Side) Device
The Si3018/10 DAA or line-side device, contains an ADC, a DAC, control circuitry, and an isolation capacitor
interface. The Si3018/10 and surrounding circuitry provide all functionality for telephone line interface requirement
compliance, including a full-wave rectifier bridge, hookswitch, dc termination, ac termination, ring detection, loop
voltage and current monitoring, and call-progress monitoring. The Si3018/10 external circuitry is largely
responsible for EMI, EMC, safety, and surge performance.
3.1. Hookswitch and DC Termination
The DAA has programmab le settings for the dc impeda nce, curr ent limiting, minimum operationa l loop current, and
Tip-to-Ring voltage. The dc impe da nce of the DAA is normally represented by a 50 slope as shown in Figure 13,
but can be changed to an 800 slope by setting the DCR bit. This higher dc termination presents a higher
resistance to the line as the loop current increases.
Figure 13. FCC Mode I/V Characteristics
DCV[1:0] =11, MINI[1:0] =00
For applications requiring current limiting per the legacy TBR21 standard, the ILIM bit may be set to select this
mode. In this mode, the dc I/V curve is changed to a 2000 slope above 40 mA, as shown in Figure 14. This
allows the DAA to operate with a 50 V, 230 feed, which results in the highest current possible in the old TBR21
standard.
Figure 14. TBR21 (Legacy) Mode I/V Characteristics
DCV[1:0] =11, MINI[1:0] =00
The MINI[1:0] bits select the minimum operational loop current for the DAA, and the DCV[1:0] bits adjust the DCT
pin voltage, which affects the Tip-to-Ring voltage of the DAA. These bits allow important trade-offs to be made
between signal headroom and minimum operational loop current. Increasing the Tip-Ring voltage increases signal
headroom, whereas decreasing the voltage allows compliance to PTT standards in low-voltage countries, such as
Japan or Ma laysia. Increasing the minim um ope rational l oop cur re nt ab ove 10 mA also increases sig na l he adr oo m
and prevents degradation of the signal level in low-voltage countries.
12
11
10
9
8
7
6.01 .02 .03 .04 .05 .06 .07 .08 .09 .1 .11
Loop Current (A)
FCC DCT Mode
Voltage Ac ross DAA (V)
45
40
35
30
25
20
15
10
5
.015 .02 .025 .03 .035 .04 .045 .05 .055 .06
Loop Current (A)
TBR21 DCT Mode
Voltage Across DAA (V)
AN93
Rev. 1.3 39
3.2. AC Termination
The ISOmodem has four ac termination impedances when used with the Si3018 line-side device, selected by th e
ACT bits in Register U63. The four available settings for the Si3018 are listed in Table 31. If an ACT[3:0] setting
other than the four listed in Table 31 is selected, the ac termination is forced to 600 (ACT[3:0] = 0000).
3.3. Ringer Impedance and Threshold
The ring detector in many DAAs is ac coupled to the line with a large 1 µF, 250 V decoupling capacitor. The ring
detector o n the ISOmodem is r esistively coupled to the line. This produces a high ringer impedance to the line of
approximatel y 20 M. This meets the majority of country PTT specifications, including FCC and ETSI ES 203 021.
Several countries, including Poland, South Africa, and Slovenia, require a maximum ringer impedance that can be
met with an internally synthesized impedance by setting the RZ bit (Register 67, bit 1).
Some countries specify different ringer thresholds. The RT bit (Register U67, bit 0) selects between two different
ringer thresholds: 15 V ±10% and 21.5 V ±10%. These two settings satisfy ringer threshold requirements
worldwide. The thresholds are set so that a ring signal is guaranteed to be detected above the maximum and not
detected below the minimum.
3.4. Pulse Dialing and Spark Quenching
Pulse dialing is accomplished by going off- and on-hook at a certain cadence to generate make and break pulses.
The nominal rate is ten pulses per second. Some countries have strict specifications for pulse fidelity that include
make and break times, make resistance, and rise and fall times. In a traditional, solid-state dc holding circuit, there
are many problems in m eeting these requir eme nts. The ISOmodem dc holding circuit actively controls the on-ho ok
and off-hook transients to maintain pulse dialing fidelity.
Spark-quenching requirements in countries such as Italy, the Netherlands, South Africa and Australia deal with the
on-hook transition during pulse dialing. These tests provide an inductive dc feed resulting in a large voltage spike.
This spike is caused by the line inductance and sudden decrease in current through the loop when going on-hook.
The traditional solution to the problem is to put a parallel resistive capacitor (RC) shunt across the hookswitch
relay. However, the capacitor required is bulky (~1 µF, 250 V) and relatively costly. In the ISOmodem, the loop
current can be controlle d to achieve three disti nct on-hook speeds to p ass sp ark-quenching test s without additional
BOM components. Through settings of two bits in two registers, OHS (Register U67, bit 6) and OHS2 (Register
U62, bit 8), a delay between the time the OH bit is cleared and the time the DAA actually goes on-hook, can be
created, which induces a slow ramp-down of the loop current.
3.5. Line Voltage and Loop Current Sensing
There are two methods for line voltage and loop current sensing. The first method is the legacy mode using
U79 (LVCS) [4:0]. The legacy mode is intended for backward compatibility in applications originally designed for
the previous generation ISOmodem. This mode is used in the intrusion detection algorithm implemented on the
device.
The second method of measuring line voltage and loop current takes advantage of the improved resolution
available on the Si3018 a nd Si3010 DAA chip s. U63 (LCS) [15:8] represent s the value of off-hook loop current as a
non-polar binary number with 1.1 mA/bit resolution. Accuracy is not guaranteed if the loop current is less than the
minimum required for normal DAA operation. U6C (LVS) [15:8] represents the value of on-hook and off-hook loop
voltage as a signed, two’s complement number with a resolution of 1 V/bit.
Table 31. AC Termination Settings for the Si3018 Line-Side Device
ACT[3:0] AC Termination
0000 600
0011 220 + (820 || 120 nF) and 220 + (820 || 115 nF)
0100 370 + (620 || 310 nF)
1111 Global complex impedance
AN93
40 Rev. 1.3
Bit 15 represents the polarity of the Tip-Ring voltage, and a reversal of this bit represents a Tip-Ring polarity
reversal. LVS = 0x0000 if the Tip-Ring voltage is less than 3.0 V and, in the on-hook st ate, can be taken as “no line
connected.”
The ISOmodem r eport s the on-hoo k line voltag e with the LVS bits in two’s com plement. LVS has a full scale of 87 V
with an LSB of 1 V. The first code step (going from 0 to 1) is offset so that a 0 indicates a line voltage of less than
3 V. The accuracy of the LVS bits is ±10%. The user can read these bits directly through the LVS register. A typical
transfer function is shown in Figure 15.
When the ISOmodem is off-hook, the LCS bits measure loop current in 1.1 mA/bit resolution. These bits en able the
user to detect another phone going off-hook by monitoring the dc loop current. Line-curre nt sensing is detailed in
Figure 16 and Table 32.
Figure 15. Typical Loop Voltage LVS Transfer Function
0
16
32
48
64
80
96
112
128
0 163248648096112128
Tip/Ring V o ltage (V o lts )
LVS Bits
AN93
Rev. 1.3 41
Figure 16. Typical Loop Current LCS Transfer Function
Table 32. Loop Current Transfer Function
LVCS[4:0] Condition
00000 Insufficient line current for normal oper ation.
00001 Minimum line current for normal oper ation.
11111 Loop current overload. Overload is defined as 128 mA or more, except
in TBR21, where ov er loa d is defined as 56 mA or more.
0
32
64
96
128
160
192
224
256
0 163248648096112128144
Loop Current (mA)
LCS Bits
ILIM = 1
ILIM = 0
AN93
42 Rev. 1.3
3.6. Legacy-Mode Line Voltage and Loop Current Measurement
The 5-bit LVCS register, U79 (LVCS) [4:0], reports line voltage measurements when on-hook and loop current
measurements when off-hook.
Using the LVCS bits, the user can determine the following:
When on-hook, detect if a line is connected.
When on-hook, detect if a parallel phone is off-hook.
When off-hook, detect if a parallel phone goes on or off-hook.
Detect if enough loop current is available to operate.
3.7. Billing Tone Detection
Billing tones or metering pulses generated by the central office can cause connection difficulties in modems. The
billing tone is typically a 12 kHz or 16 kHz signal and is sometimes used in Germany, Switzerland, and South
Africa. Depending on line conditions, the billing tone may be large enough to cause major modem errors. The
ISOmodem chipset can provide feedback when a billing tone occurs and when it ends.
Billing tone detection is enabled by setting the BTE bit (U68, bit 2). Billing tones less than 1.1 V PK on the line are
filtered out by the low-pass digital filter on the ISOmodem. The ROV bit (U68, bit 1) is set when a line signal is
greater t han 1.1 VPK, indicating a receive overload condition. The BTD bit is set when a line signal (billing tone) is
large enough to excessively reduce the line-derived power supply of the line-side device (Si3018/10). When the
BTE bit is set, the dc termination is changed to an 800 dc impedance. This ensures minimum line voltage levels
even in the presence of billing tones.
The OVL bit should be polled following billing-tone detection. When the OVL bit returns to 0, indicating that the
billing tone has passed, the BTE bit should be written to 0 to return the dc termination to its original state. It takes
approximately 1 se cond to return to normal dc operatin g conditions. The BTD and ROV bit s are sticky and must be
written to 0 to be reset. After the BTE, ROV, and BTD bits are cleared, the BTE bit can be set to reenable billing-
tone detection.
Certain line events, such as an off-hook event on a parallel phone or a polarity reversal, may trigger the ROV bit or
the BTD bit, after which the billing-tone detector must be reset. Look for multiple events before qualifying whether
billing tones are actually present.
Although the DAA remains off-hook during a billing-tone event, the received data from the line is corrupted (or a
modem disconnect or retrain may occur) in the presence of large billing tones. To receive data in the presence of a
billing tone, an external LC filter must be added. A modem manufacturer can provide this filter to users in the form
of a dongle th at co nn ec ts on the p hon e lin e be fo re th e DAA. T h is k ee ps the man u fa ctu re r fro m ha vin g to inc l ud e a
costly LC filter internal to the modem when it may only be necessary to support a few countries or customers.
Alternatively, when a billing tone is detected, the host software may notify the user that a billing tone has occurred.
This notification can be used to prompt the user to contact the telephone company to have the billing tones
disabled or purchase an external LC filter.
AN93
Rev. 1.3 43
4. Hardware Design Reference
This section describes hardware design requirements for optimum Si24xx ISOmodem chipset implementation.
There are three important considerations for any hardware design. First, the reference design and components
listed in the associated bill of materials should be followed exactly. These designs reflect field experience with
millions of deployed u nit s throug hout the wor ld and ar e optimized for cost an d perfor mance. Any deviation from the
reference design schematic and components will likely have an adverse affect on performance. Second, circuit
board layouts must follow "4.4. Layout Guidelines" rigorously. Deviations from these layout techniques will likely
affect modem performance and regulatory compliance. Finally, all reference designs use a standard component
numbering scheme. This simplifies documentation references and communication with the Silicon Laboratories
technical support team. It is strongly recommended that these same component reference designators be used in
all ISOmodem designs.
4.1. Component Functions
In spite of the significant internal complexity of the chip, the ex ternal support circuitry is very s imple. The following
section describes the modem’s functions in detail.
4.1.1. Power Supply and Bias Circuitry
Power supply bypassing is important for the proper operation of the ISOmodem, suppression of unwanted
radiation, and prevention of interfering signals and noise from being coupled into the modem via the power supply.
C50 and C52 provide filtering of the 3.3 V system power and must be located as close to the ISOmodem chip as
possible to minimize lead lengths. The best practice is to use surface-mount components connected between a
power plane and a ground plane. This technique minimizes the inductive effects of component leads and PCB
traces and provides bypassing over the widest possible frequency range, and minimizes loop areas that can
radiate radio frequency energy.
Two bias voltages used inside the modem chip require external bypassing and/or clamping. VDA (pin 7) is
bypassed by C51. VDB (pin 19) is bypassed by C53. R12 and R13 are optional resistors that can, in some cases,
reduce radiated emissions due to signals associated with the isolation capacitors. These components must be
located as close to the ISOmodem chip as possible to minimize lead lengths.
The Si3018/10 is powered by a small current passed across the ISOcap in the on-hook mode and by the loop
current in the off-hook mode. Since there is no system ground reference for the line-side chip due to isolation
requirements, a virtual ground, IGND, is used as a reference point for the Si3018/10. Several bias voltages and
signal reference points used inside the DAA chip require external bypassing, filtering, and/or clamping. VREG2
(pin 10) is bypassed by C6. VREG (pin 7) is bypassed by C5. These components must be located as close to the
Si3018/10 chip as possible to minimize lead lengths.
4.1.2. Hookswitch and DC Termination
The hookswitch and dc termination circuitry are shown in Figure 18 on page 46. Q1, Q2, Q3, Q4, R5. R6, R7, R8,
R15, R16, R17, R19, and R24 perform the hookswitch function. The on-hook/off-hook condition of the modem is
controlled by Si3018/10 pins 13 (QB) and 1 (QE).
4.1.3. Clocks
The crystal oscillator circuit has three operating frequencies/modes that are selected by using the correct clock
source and by installing the correct pulldown resistors on the modem in order to signal the ISOmodem which mode
to operate. Selecting among these modes of operation is described in "2.1. Resetting the Device" on page 11.
One mode requires a 4.9152 MHz fundamental mode parallel-resonant crystal. Typical crystals require a 20 pF
load capa cit ance. Th is load is calcu lated as the se ries combination o f the capacitan ce from ea ch cryst al termina l to
ground, including parasitic capacitance due to package pins and PCB traces. The parasitic capacitance is
estimated as 7 pF per ter minal. This, in combination with the 33 pF capacitor, provides 4 0 pF per term inal, which,
in series, yields the pr op er 20 pF load for the crystal.
Instead of using a 4.9152 MHz crystal, a signal at 4.9 152 MHz can be applied to the XTALI pin. In such a case, th e
crystal loading caps should not be used.
AN93
44 Rev. 1.3
The second mode is a 32.768 kHz fundamental mode parallel-resonant crystal. Typical crystals require a 12.5 pF
load capa cit ance. Th is load is calcu lated as the se ries combination o f the capacitan ce from ea ch cryst al termina l to
ground, including parasitic capacitance due to package pins and PCB traces. The parasitic capacitance is
estimated as 7 pF per terminal. This, in combination with the 18 pF capacitors, provides 25 pF per terminal, which,
in series, yields the proper 12.5 pF load for the crystal.
Instead of a using a 32.768 kHz crystal, a signal at 3 2.768 kHz can be applied to the XTALI pin. In such a case, the
crystal loading caps should not be used.
The third mode is to use a 27 MHz clock signal. A crystal cannot be used for this mode, and the signal must be
applied to the XTALI pin.
Frequency stability and accuracy are critically important to the performance of the modem. ITU-T specifications
require less than 200 ppm difference between the car rier frequencies of two modems. This value, split b etween the
two modems, requires the oscillator frequency of each modem to be accurate and stable over all operating
conditions within ±100 ppm. This tolerance includes the initial accuracy of the crystal, the frequency drift over the
temperature range that the crystal is expected to experience, and the five-year aging of the crystal. Other factors
affecting the oscillator frequency include the tolerance and temperature drift of the load capacitor values. For
optimal V.92 performance, it is recommended to increase the oscillator stability to ±25 ppm.
For all the abov e three modes of op eration, the CLKIN/XTALI pin (Pin 1) can accept a 3.3 V external clock signal
meeting the accuracy and stability requirements described above.
The CLKOUT/A0 pin outputs a signal derived from the 4.9152 MHz clock. If the frequency of the output is
controlled via register U6E (CK1) using the Si2404 or Si2415, this signal is programmable from 2.64 MHz to
40.96 MHz. If using the Si2434 or Si2457, this signal is programmable from 3.17 MHz to 49.152 MHz. There are
two special cases for the value of R1: R1 = 00000, CLKOUT is disabled, and R1 = 11111 (default),
CLKOUT = 2.048 MHz.
On older parts, the CLKOUT pulse starts immediately after RESET goes high, but, on the most recent versions
(those including SPI and 32 kHz operation), there is a small delay after RESET goes high. The delay is of
approximately 200 µs when using 4.91592 MHz or 27 MHz and approximately 8 ms when using a 32 kHz clock.
4.1.4. Ringer Network
R7 and R8 comprise the ringer network. These components determine the modem’s on-hook impedance at Tip
and Ring. These components are selected to present a high impedance to the line, and care must be taken to
ensure the circuit board area around these components is clean and free of contaminants, such as solder flux and
solder flakes. Leakage on RNG1 (Si3018/10 pin 8) and RNG2 (Si3018/10 pin 9) can impair mod em performance.
R7 and R8 are also used by the modem to monitor the line voltage.
4.1.5. Optional Billing-Tone Filter
To operate without degradation during billing tones in Germany, Switzerland, and South Africa, an external LC
notch filter is required. (The Si3018/10 will remain off-hook during a billing tone event, but modem dat a may be lost,
or a modem disconnect or retrain may occur, in the presence of large billing-tone signals.) The notch filter design
requires two notches: one at 12 kHz and one at 16 kHz. Because these components are expensive and few
countries require billing-tone support, this filter is typically placed in an external dongle or added as a population
option. Figure 17 shows an example billing tone filter. L3 must carry the entire loop current. The series resistance
of the induct ors is important to a chieve a narr ow and de ep notch. Th is design ha s more than 25 d B of attenu ation
at 12 kHz and 16 kHz. The billing tone filter degrades the ac termination and return loss slightly, but the global
complex ac termination passes worldwide return-loss specifications with and without the billing tone filter by at
least 3 dB.
AN93
Rev. 1.3 45
Figure 17. Billing-Tone Filter
Table 33. Optional Billing Tone Filters Component Values
Symbol Value
C1,C2 0.027 µF, 50 V, ±10%
C3 0.01 µF, 250 V, ±10%
L3 3.3 mH, >120 mA, <10 , ±10%
Coilcraft RFB0810-332 or equivalent
L4 10 mH, >40 mA, <10 , ±10%
Coilcraft RFB0810-103 or equivalent
L4
C3
RING
TIP
FROM
LINE To
DAA
C1
C2
L3
AN93
46 Rev. 1.3
EECLK/D5/RXCLK
DCD_/D4
ESC/D3
AOUT/INT_
TXD/WR_
RESET_
RXD/RD_
CTS_/CS_/ALE_
alt_RI_/D6/TXCLK
INT_/D0
RI_/D1
EESD/D2
CLKOUT/A0/EECS
RTS_/D7
VDD
RING
TIP
No Ground Plane In DAA Section
External crystal option
Emissions option
Emissions option
Bias
Ring Detect/CID
Hookswitch
DC Term
Bypass
RV1
R3
C41
FB1
C9
R7
C53
R8
C5
C3
C40
R6
R4
C2
U2
Si3018
QE 1
DCT 2
RX 3
IB
4
C1B
5
C2B
6
VREG
7
RNG1 8
DCT2 16
IGND
15
DCT3 14
QB 13
QE2 12
SC
11
VREG2
10 RNG2 9
-+
D1
R12
Q2
R10
Y1
12
C10
Q5 Q1
R13
R11
Q4
C8
R15
Z1
C50
Q3
R2
C1
+
C4
C51
R5
U3
CLKIN/XTALI 1
XTALO 2
CLKOUT/A0/EECS
3
alt_RI/D6/TXCLK
4
VD3.3 5
GND
6
VDA
7
RTS/D7
8
VDB
19
GND
20 VD 3.3 21
C2A 13
C1A 14
ESC/D3
22 DCD/D4
23 EECLK/D5/RXCLK
24
CTS/CS/ALE
11
RXD/RD
9
TXD/WR
10
RESET
12
RI/D1
17
EESD/D2
18
AOUT/INT
15
INT/D0
16
C6
FB2
R16
C7
C52
R1
R9
Si2493/57/34/15/04
Hookswitch/DCT
EMI/EMC
Capacitors
ACT
ISOcap
Conducted Disturbance
Figure 18. Si3018/10 Component Functions
AN93
Rev. 1.3 47
4.2. Schematic
EECLK/D5/RXCLK
DCD_/D4
ESC/D3
AOUT/INT_
TXD/WR_
RESET_
RXD/RD_
CTS_/CS_/ALE_
alt_RI_/D6/TXCLK
INT_/D0
RI_/D1
EESD/D2
CLKOUT/A0/EECS
RTS_/D7
VDD
RING
TIP
No Ground Plane In DAA Section
RV1
R3
C41
FB1
C9
R7
Si2493/57/34/15/04
R8
C5
C3
C40
R6
R4
C2
U2
Si3018/10
QE 1
DCT 2
RX 3
IB
4
C1B
5
C2B
6
VREG
7
RNG1 8
DCT2 16
IGND
15
DCT3 14
QB 13
QE2 12
SC
11
VREG2
10 RNG2 9
-+
D1
R12
Q2
R10
Y1
12
C10
Q5 Q1
R13
R11
Q4
C8
R15
Z1
C50
Q3
R2
C1
+
C4
C51
R5
U3
CLKIN/XTALI 1
XTALO 2
CLKOUT/A0/EECS
3
alt_RI/D6/TXCLK
4
VD3.3 5
GND
6
VDA
7
RTS/D7
8
VDB
19
GND
20 VD 3.3 21
C2A 13
C1A 14
ESC/D3
22 DCD/D4
23 EECLK/D5/RXCLK
24
CTS/CS/ALE
11
RXD/RD
9
TXD/WR
10
RESET
12
RI/D1
17
EESD/D2
18
AOUT/INT
15
INT/D0
16
C6
FB2
R16
C7
C52
R1
R9
Note: See Section "10.4.2. Safety" for information regarding the use of a fuse or PTC resisto r.
Figure 19. Si3018/10 Schematic
AN93
48 Rev. 1.3
4.3. Bill of Materials
Component Value Supplier(s)
C1, C2 33 pF, Y2, X7R, ±20% Panasonic, Murata, Vishay,
Holy Stone
C3 10 nF, 250 V, X7R, ±20% Venkel, SMEC
C4 1.0 µF, 50 V, Elec/Tant, ±20% Panasonic
C5, C6, C50, C5210.1 µF, 16 V, X7R, ±20% Venkel, SMEC
C7 2.7 nF, 50 V, X7R, ±20% Ve nkel, SMEC
C8, C9 680 pF, Y2, X7R, ±10% Panasonic, Murata, Vishay,
Holy Stone
C10 0.01 µF, 16 V, X7R, ±20% Venkel, SMEC
C40
C41 32.768 kHz, 18 pF, 16 V, NPO, ±5% Venkel, SMEC
4.9152 MHz, 27 MHz, 33 pF, 16 V, NPO, ±5%
C51, C5310.22 µF, 16 V, X7R, ±20% Venkel, SMEC
D1, D22Dual Diode, 225 mA, 300 V, MMBT3004S Diodes Inc.
FB1, FB2 Ferrite Bead, BLM18AG601SN1 Murata
Q1, Q3 NPN, 300 V, MMBTA42 Diodes Inc., Fairchild
Q2 PNP, 300 V, MMBTA92 Diodes Inc., Fairchild
Q4, Q5 NPN, 80 V, 330 mW, MMBTA06 Diodes Inc., Fairchild
RV1 Sidactor, 275 V, 100 A Teccor, Protek, ST Micro
R1 1.07 k, 1/2 W, 1% Venkel, SMEC, Panasonic
R2 150 , 1/16 W, 5% Venkel, SMEC, Panaso ni c
R3 3.65 k, 1/2 W, 1% Venkel, SMEC, Panasonic
R4 2.49 k, 1/2 W, 1% Venkel, SMEC, Panasonic
R5, R6 100 k, 1/16 W, 5% Venkel, SMEC, Panasonic
R7, R8 20 M, 1/16 W, 5% Venkel, SMEC, Pana so ni c
R9 1 M, 1/16 W, 1% Venkel, SMEC, Panasonic
R10 536 , 1/4 W, 1% Venkel, SMEC, Panasonic
R11 73.2 , 1/2 W , 1% Venkel, SMEC, Panasonic
R12, R13 56 , 1/16 W, 1% Venkel, SMEC, Panasonic
R15, R1630, 1/16 W Venkel, SMEC, Panasonic
U1 Si24xx ISOmodem Silicon Labs
U2 Si3018 Silicon Labs
Y1432.768 kHz, 12 pF, 100 ppm, 50 k max ESR ECS Inc., Siward, Abracon
4.9152 MHz, 20 pF, 100 ppm, 150 ESR
27 MHz (from external clock)
Z1 Zener Diode, 43 V, 1/2 W, BZT84C43 On Semi
Notes:
1. C52 and C53 should not be popula ted with the Si2493 16-pin package option.
2. Several diode bridge configurations are acceptable. For example, a single DF04S or four 1N4004 diodes may be used.
3. Murata BLM18AG601SN1 may be substituted for R15–R16 (0 ) to decrease emissions.
4. To ensure compliance with ITU specifications, frequency tolerance must be less than 100 ppm including initial
accuracy, 5-year aging, 0 to 70 °C, and capacitive loading. For optimal V.92 PCM upstream performance, the
recommended crystal accuracy is ±25 ppm.
AN93
Rev. 1.3 49
4.4. Layout Guidelines
The key to a good layout is proper placement of the components. It is best to copy the placement shown in
Figure 20. Alternatively, follow the following steps, referring to the schematics and Figure 21. It is strongly
recommended to complete the checklist in Table 34 on page 51 while reviewing the fina l layout.
1. All traces, open pad sites, and vias connected to the following components are considered to be in the DAA
section and must be physically separated from non-DAA circuits by 5 mm to achieve the best possible surge
performance: R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R15, R16, U2, Z1, D1, FB1, FB2, RJ11, Q1, Q2,
Q3, Q4, Q5, C3, C4, C5, C6, C7, C8, C9, C10, RV1, C1 pin 2 only, C2 pin 2 only, C8 pin 2 only, and C9 pin 2
only.
2. The isolation capacitors, C1, C2, C8 and C9, are the only components permitted to straddle between the DAA
section and non-DAA section components and traces. This means that for each of these capacitors, one of the
terminals is on the DAA side, and the other is not. Maximize the spacing between the terminals (between pin 1
and pin 2) of each of these capacitors.
3. Place and group the following components: U1, U2, R12*, R13*, C1, C2.
*Note: Do not use ferrite beads in place of R12 and R13.
a.U1 and U2 are placed so that the right side of U1 faces the left side of U2.
b.C1 and C2 are placed directly between U1 and U2.
c.Keep R12 and R1 3 close to U1.
d.Place U1, U2, C1, and C2 so that the minimum creepage distance for the target application is met.
e.Place C1 and C2 so that traces connected to U2 pin 5 (C1B) and U2 pin 6 (C2 B ) ar e physically separated
from traces connected to:
i.C8, R15, FB1
ii.C9, R16, FB2
iii.U2 pin 8, R7
iv.U2 pin 9, R9
4. Place and group the following components around U2: C4, R9, C7, R2, C5, C6, R7, R8. These components
should form the critical “inner circle” of components around U2.
a.Place C4 close to U2 pin 3. This is best achieved by placing C4 northwest of U2.
b.Place R9 close to U2 pin 4. This is best achieved by placing R9 horizontally, directly to the north of U2.
c.Place C7 close to U2 pin 15. This is best achieved by placing C7 next to R9.
d.Place R2 next to U2 pin 16. This is best achieved by placing R2 northeast of U2.
e.Place C6 close to U2 pin 10. This is best achieved by placing C6 southeast of U2.
f.Place R7 and R8 close to U2. This is best achieved by placing these components to the south of U2.
g.Place C5 close to U2 pin 7. This is best achieved by placing C5 southwest of U2.
5. Place Q5 next to R2 so that the base of Q5 can be connected to R2 directly.
6. Place Q4 so that the base of Q4 can be routed to pin 13 of U2 easily and the emitter of Q4 can be routed to U2
pin 12 easily. Route these two traces next to each other so that the loop area formed by these two traces is
minimized.
7. Place and group the following components around the RJ11 jack: FB1, FB2, RV1, R15, R16, C8, and C9.
a.Use 20-mil-wide traces on this grouping to minimize impedance.
b.Place C8 and C9 close to the RJ11 jack, recognizing that a GND trace will be routed between C8 and C9
back to the Si24xx GND pin through a 20-mil-wide trace. The GND trace from C8 and C9 must be isolated
from the rest of the Si3018/10 traces.
c.The trace from C8 to GND and the trace from C9 to GND must be short and of equal lengths.
AN93
50 Rev. 1.3
8. After the previous step, th er e sh ould be s ome space between the grouping around U2 and the grouping of
components a round the RJ11 jack. Place the rest of the components in this a rea, given the following guidelines:
a.Space U2, Q4, Q5, R1, R3, R4, R10 and R11 away from each other for best thermal performance.
b.The tightest layout can be achieved by grouping R6, C10, Q2, R3, R5, and Q1.
c.Place C3 next to D1.
d.Make the size of the Q1, Q3, Q4, and Q5 collector pads each sufficiently large for the transistor to safely
dissipate 0.5 W under worst case conditions. See the transistor data sheet for thermal resistance and
maximum operating temperature information. Implement collector pads on both the component and solder
side, and use vias between them to improve heat transfer for best performance. When ambient conditions
are a moderate 50 deg or less, use 0.05 square inches of copper at the collectors of Q1, Q3, Q4, Q5. Both
sides of the PCB can be used to double the available area.
9. U2, IGND, is the return path for many of the discrete components and requires special mention:
a.Traces associated with IGND should be 20 mils wide.
b.U2's IGND should not be a large ground plane and should only occupy the space under U2. Beyond this
area, use trace s an d av oid get tin g clos e to the components on the other side of the diode bridge.
c.C5, C6, C7 IGND return path should be direct.
10.The traces from R7 to FB1 and from R8 to FB2 should be well matched. This can b e a chieved by r outin g these
traces next to each other as much as possible. Ensure that these traces are not routed close to the traces
connected to C1 or C2.
11.Minimize all traces associated with Y1, C40, and C41.
12.Decoupling capacitors (0.22 µF and 0.1 µF capacitors connected to VDA, VDB, VDD) must be placed next to
those pins. Traces of these decoupling capacitors back to the Si24xx GND pin should be direct and short.
Figure 20. Reference Placement
AN93
Rev. 1.3 51
Figure 21. Illustrated Layout Guidelines
4.4.1. ISOmodem Layout Check List
Table 34 is a checklist that the designer can use during the layout process to ensure that all the recommendations
in this application note have been implemented. Additionally, Figure 21 provides an annotated diagram of all
relevant layout guidelines for the SI3054 CNR/AMR/ACR applications. See "10.4.2. Safety" on page 254 for
information about design for safety compliance.
Table 34. Layout Checklist
P # Layout Items Required
1 U1 and U2 are placed so that pins 9–16 of U1 are facing pins 1–8 of U2. C1 and C2
are placed directly between U1 and U2.
2Place U1, U2, C1, and C2 so that the recommended minimum creepage spacing for
the target application is implemented. R12 and R13 should be close to U1.
3C1 and C2 should be placed directly between U1 and U2. Short, direct traces should
be used to connect C1 and C2 to U1 and U2. These traces should not be longer than
two inches and should be minimized in length. Place C2 such that its accompanying
trace to the C2B pin (pin 6) on the Si3018 is not close to the trace from R7 to the
RNG1 pin on the Si3018 (pin 8).
4Place R7 and R8 as close as possible to the RNG1 and RNG2 pins (pins 8 and 9),
ensuring a minimu m trace length from the RNG1 or RNG2 pin to the R7 or R8 resistor.
In order to sp ace the R7 component further from the trace from C2 to the C2B pin, it is
acceptable to orient it 90 degrees relative to the RNG1 pin (pin 8).
RING
TIP
4A
4B
4C
4D
4E
4F
4G
4F
5
6
3A
3C 3E
3B 3A
3E
3E
3E3E
7A
7B 7C 7C 7B7B
9A
10
10
11
12
12
12
12
11
8C
8D
8D
9B
9C 9C
9C
11
2
2
22
This is not a complete schematic. Only critical component placement and nets are drawn.
1Traces, pad sites and vias
enclosed in box are in the DAA
section, and must be separated
from all other circuits by 5 mm.
Note: Encircled references are described in the numbered paragraphs in Appendix A.
R9
R8
C9
FB2
C26
RV1
R12*
-+
D1
R7
R16
C1
C5
C8
C50
Y1
1 2
U1 Si24HS
XTALI
1
XTALO
2
VDD3.3
5
GND
6
C1A 14
C1B 13
VDDA
7
VDD3.3 21
GND 20
VDDB 19
U2 Si3018
QE
1
DCT
2
RX
3
IB
4
C1B
5
C2B
6
VREG
7
RNG1
8
DCT2 16
IGND 15
DCT3 14
QB 13
QE2 12
SC 11
VREG2 10
RNG2 9
C53
R15
C52
C27
Q5
R2
C2
C7
Q4
+
C4
C6
FB1
C51
R13*
C3
*Note: Do NOT use ferrite
beads in place of R12 and
R13.
AN93
52 Rev. 1.3
5The area of the loop from C50 to U1 pin 4 and from C51 to pin 13 back to pin 12
(DGND) should be minimized. The return traces to U2 pin 12 (DGND) should be on
the component side.
6 The loop formed by XTALI, Y1, and XTALO should be minimized and routed on one
layer. The loop formed by Y1, C40, and C41 should be minimized and routed on one
layer.
7The digital ground plane is made as small as possible, and the ground plane has
rounded corners.
8Series resistors on clock signals are placed near source.
9Use a minimum of 15-mil-wide traces in DAA section, use a minimum of 20-mil-wide
traces for IGND.
10 C3 should be placed across the diode bridge, and the area of the loop formed from
Si3018 pin 11 through C3 to the diode bridge and back to Si3018 pin 15 should be
minimized.
11 FB1, FB2, and RV1 should be placed as close as possible to the RJ11.
12 C8 and C9 should be placed so that there is a minimal distance between the nodes
where they connect to digital ground.
13 Use at least a 20-mil-wide trace from RJ11 to FB1, FB2, RV1, C8, and C9.
14 The routing from Tip and Ring of the RJ11 to the ferrite beads should be well-
matched.
15 The traces from the RJ11 through R7 and R8 to U2 Pin 8 and Pin 9 should be well
matched. These traces may be up to 10 cm long.
16 The distance from Tip and Ring through EMC capacitors C8 and C9 to digital ground
must be short.
17 There should be no digital ground plane in the DAA Section.
18 Minimize the area of the loop from U2 pin 7 and pin 10 to C5 and C6 and from those
components to U2 pin 15 (IGND).
19 R2 should be placed next to the ba se of Q5, and the trace from R2 to U2 pin16 sho uld
be less than 20 mm.
20 Place C4 close to U2 and connect C4 to U2 using a short, direct trace.
21 The area of the loop formed from U2 pin 13 to the base of Q4 and from U2 pin 12 to
the emitter of Q4 should be minimized.
22 The trace from C7 to U2 pin 15 should be short and direct.
23 The trace from C3 to the D1/D2 node should be short and direct.
24 Provide a minimum of 5 mm creepag e (or use the capacitor terminal plating spacing
as a guideline for small form factor applications) from any TNV component, pad or
trace, to any SELV component, pad or trace.
Table 34. Layout Checklist (Continued)
P # Layout Items Required
AN93
Rev. 1.3 53
4.4.2. Module Design and Application Considerations
Modem modules are more susceptible to radiated fields and ESD discharges than modems routed directly on the
motherboard because the module ground plane is discontinuous and elevated from the motherboard’s ground
plane. This separation also creates the possibility of loops that couple interfering signals to the modem. Moreover,
a poor motherboard layout can degrade the ESD and EMI performance of a well-designed module.
4.4.2.1. Module Design
Particular attention should be paid to power-supply bypassing and reset-line filtering when designing a modem
module. Trace routing is normally very short on modules since they are generally designed to be as small as
possible. Care should be taken to use ground an d po we r pl anes in th e low- voltage circuitry whenever possible and
to minimize the number of vias in the ground and power traces. Ground and power should each be connected to
the motherboard through only one pin so as not to create loops. Bypassing and filtering components should be
placed as close to the modem chip as possible with the shortest possible traces to a solid ground. It is
recommended that a pi filter be placed in series with the module VCC pin with a filter such as the one shown in
Figure 22 on the reset line. This filter also provides a proper power-on reset to the modem. Careful module design
is critical since the module designer often has little control over the motherboard design and the environment in
which the module will be used.
4.4.2.2. Motherboard Design
Motherboard design is critical to proper modem module performance and immunity to EMI and ESD events. First
and foremost, good design and layout practices must be followed. Use ground and power planes whenever
possible. Keep all traces short and direct. Use ground fill on the top and bottom layers. Use adequate power supply
bypassing, and use special precautions with the power and reset lines to the modem module. Bypass VCC right at
the modem module connector. Be sure the modem module is connected to VCC through a single pin. Likewise, be
sure ground is connected to the modem module through one pin connected to the motherboard ground plane. The
modem reset line is sensitive and must be kept very short and routed well away from any circuitry or components
that could be subjected to an ESD event. Finally, mount the modem module as close to the motherboard as
possible. Avoid high-profile sockets that increase the separation between the modem module and the
motherboard.
25 Minimize the area of the loop formed from U2 pin 4 to R9 to U2 pin 15.
26 Cathode marking for Z1.
27 Pin 1 marking for U1 and U2.
28 Space and mounting holes to accommodate for fire enclosure if necessary.
29 IGND does not extend under C3, D1, FB1, FB2, R15, R16, C8, C9, or RV1.
30 Size Q1, Q3, Q4, and Q5 collector pads to safely dissipate 0.5 W (see text).
31 Submit layout to Silicon Laboratories for review.
Table 34. Layout Checklist (Continued)
P # Layout Items Required
AN93
54 Rev. 1.3
Figure 22. Modem Module VCC and RESET Filter
4.5. Analog Output
The call progress tone provided by AOUT and discussed in this section comes from a PWM output pin on the
ISOmodem. AOUT is a 50% du ty cyc le, 3 2 kHz square w ave, pulse-width modulated (PWM) by voice band audio,
such as call progress tones.
The PWM signal should be processed by a high-pass filter (R2, R3, R4, C2,C3 and C4), and, with the aid of a
bridge mode amplifier, provides low-cost 100 mW to 250 mW power with a 3 to 5 V supply. See the circuit in
Figure 23. A slightly more expens ive amplifier (LM4862) is available and, while still pin-compatible, provides twice
as much power.
Figure 23. PWM Audio Processing and Amplifying Circuit
4.5.1. Interaction between the AOUT Circuit and the Required Modem Reset Time
When modifying the circuit shown in Figure 23, it is important to examine the reset timing and know that when
external reset is applied to the modem, the AOUT pin still has time to rise to VCC due to the pullup installed on it.
One has to assume that the modem has been operating prior to reset and has put AOUT into a PWM state that is
100% low.
This is important because the AOUT pin, which is shared with INT in some packages, is read by the strapping
option logic in the modem at the end of the reset time to set the oper ation al mo de as shown in "2.1. 3. Res et-Strap
Options for 16-Pin SOIC Package" and "2.1.4. Reset-Strap Options for 24-Pin TSSOP Package" on page 13 and
"2.1.5. Reset Strapping Options for QFN Parts" on page 15.
The value of the capacitors and resistors in the above circuit thus has an effect on the minimum required
ISOmodem reset time.
RESET
Motherboard
Connector
1.0 F 10 k
2.2 F
To RESET
(Si24xx Pin 12)
GND
To Modem Chip VCC
(Si24xx Pins 5, 21)
GND
VCC
Murata BLM 18A
G601 SN1
0.1 F 0.1 F 1.0 F
AN93
Rev. 1.3 55
4.5.2. Audio Quality
The mulipole filter illustrated in this diagram is designed to shape the response for a pleasant sound and remove
interference, but note that, when PWM is demodulated in this way, it carries all the audio spectrum noise that is
present in the power supply of the modem minus 6 dB. This requires VCC to be as clean as one wants the call
progress au dio to be. An alternativ e is for the AOUT signal to be buffered to a clean supply domain using a logic
gate or transistor buffer.
The 3-pole low-p ass filter, with a 3 dB point at approximately 2 kHz, filters the 32 kHz square wave from AOUT and
allows only audio signals below 2 kHz to pass. See Figure 24 below. The amplifier provides differential speaker
drive, eliminating the need for a large coupling capacitor. Some additional design work and optimization must be
done to select the optimum gain and frequency response of this circuit, depending on speaker efficiency, final
product enclosure, and performance requirements. A two- or even one-pole filter may be adequate in some
applications.
Keep this audio circuitry well away from digital signals and use generous ground fill in the PCB layout.
Figure 24. Audio Filter Response
AN93
56 Rev. 1.3
5. Modem Reference Guide
This section provides information about the architecture of the m ode m, its func tional blocks, its registers, and their
interactions. The AT command set is presented, and options are explained. The accessible memory locations (S
registers and U registers) are described. Instructions for writing to and reading from them are discussed along with
any limitations or special considerations. A large number of configuration and programming examples are offered
as illustrations of actual testable applications. These examples can be used alone or in combination to create the
desired modem operation. The use of S registers and U registers to control the operation, features, and
configuration of the modem is documented.
The Si24xx ISOmodem chipset family is controller-based. No modem driver is required to run on the system
processor. This makes the Si24xx ISOmodem family ideal for embedded systems because a wide variety of
processors an d ope ra tin g sys tem s ca n int er fa ce wit h the ISOmodem through a simple UART driver.
The modems in this family operate at maximum connect rates of 48 kbps upstream/V.92 (Si2494/93), 56 kbps
downstream/V.90 (Si2457), 33.6 kbps/V.34 (Si2439/34), 14.4 kbps/V.32b (Si2415), and 2400 bps/ V.22b (Si2404)
with support for all st an dard ITU- T fallback m odes. These ch ipset s can be programmed to comply with FCC, JATE,
ETSI ES 203 021 and other country-specific PTT requirements. They also support V.42 and MNP2–4 error
correction and V.42b and MNP5 compression. “Fast connect” and “transparent HDLC” modes are also supported.
The basic ISOmodem functional blocks are shown in Figure 1 on page 1. The ISOmodem includes a controller,
data pump (DSP), ROM, RAM, an oscillator, phase-locked loop (PLL), timer, UART interface, a parallel interface
option, an SPI interface option, and a DAA interface. An optiona l voice mo de is suppo rted th rough a n SSI inter fac e
and an external Si300 0 voice codec. The modem softwar e is permanently stored in the on-chip ROM. Only modem
setup information (other than defaults) and other software updates need to be stored on the host or optional
external EEPROM and downloaded to the on-chip RAM during initialization. There is no nonvolatile on-chip
memory other than program ROM.
The following memory notation conventions are followed in this document:
Single-variable U registers are ide ntified in this document as the register type (i.e., U) followed by the register’s
hexadecimal address and finally the register identifier in parenthesis, e.g. U4A (RGFD). Once the full register
reference is made, co ntinuing discu ssion refers to the register name to simplify the te xt. The address and value
of a single variable U register are always read from or written to the ISOmodem in hexade cim a l.
Bit-mapped U registers are identified in this document at the top level as the regist er type (i.e., U) followed by
the register’s hexadecimal address and finally the register identifier in parenthesis, e.g. U67 (ITC1). Once the
full register reference is made, continuing discussion of the register at the top level refers to the register name
to simplify the text. The address and value of a bit-mapped U register is always read from or written to the
ISOmodem in hexadecimal.
Bits within bit-mapped registers are identified in this document as the register type (i.e., U) followed by the
register’s hexadecimal address, the bi t or bit ran ge wi thin the r egister in bracke t s, and finally the b it or bit ran ge
identifier in parenthesis. Example: U67 [6] (OHS) or U67 [3:2] (] (DCT). Once the full register reference is made,
continuing discussion of the bit s or bit rang e refer s to the bit or bit ra nge na me to simplify the te xt. The bit or bit
range inside the bracket represents the actual bit or bit range within the register. The value of a bit or bit range
is presented in binar y for clarity. However , the address a nd value of a bit-mapped U re gister is always read from
or written to the ISOmodem in hexadecimal.
ISOmodem S registers are identified with a decimal address (e.g., S38), and the n umber stored in an S re gister
is also a decimal value.
5.1. Controller
The controller provides several vital functions, including AT command parsing, DAA control, connect sequence
control, DCE (data communication equipment) protocol control, intrusion detection, parallel phone off-hook
detection, escape control, Caller ID control and formatting, ring detection, DTMF (dual tone multi-frequency)
control, call progress monitoring, error correction, and data compression. 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, S re gisters, and U reg isters to conf igure and contro l the
modem.
AN93
Rev. 1.3 57
5.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.
5.3. Memory
The user-accessib le memory in the ISOmo dem includes th e S registers, accessed via the ATSn command, and the
U registers, accessed via the AT:Rhh and AT:Uhh commands. These memory locations allow the modem to be
configured for a wide variety of functions and applications and for global operation.
5.4. AT Command Set
AT commands begin with the letters AT, end with a carriage return, and are case-in sensitive. However, case cannot
be mixed in a single command. The only exception to this format is the A/ command. This command is neither
preceded b y AT no r f ollo we d by a car ria g e r etur n bu t re -e xe cu tes the previou s command imme d i at ely wh en th e “/
character is typed. Generally, 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 (in this case, dialing). The
value of this type of command is changed at a particular time to perform a particular action. For example, the
command ATDT1234<CR> causes the modem to go off-hook and dial the number 1234 via DTMF. No change is
made to the modem settings during the execution of an action command. 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 ATY$, ATSn?, or AT:Rhh commands where
Y is a group of AT command argument s, n is an S-register num ber (decimal), and hh is the hexadecimal addr ess of
a U register.
The AT commands for reading configuration status are listed in Table 35. Each command is followed by a carriage
return.
The examples in Table 36 assume the modem is reset to its default condition. Each command is followed by a
carriage return .
Table 35. Configuration Status
Command Action
ATY $ set tin gs Displays status of a group of
settings.
AT$ Basic AT command settings.
AT&$ AT& command settings.
AT%$ AT% command settings.
AT\$ AT\ command settings.
ATSn? Displays contents of S-register n
ATS$ Displays contents of all S registers
AT:Rhh Displays contents of U-register hh
AT:R Displays the current contents of all U registers.
AT+VCID? Displays Caller ID setting.
AN93
58 Rev. 1.3
The modem has a 48-character buffer, which makes it possible to enter multiple AT commands on a single line.
The multiple commands can be separated with spaces or linefeed characters to improve readability. AT, space and
linefeed characters are not loaded into the buffer and are not included in the 48-character count. The command
line must end with carriage return for the modem to begin executing it. The modem ignores command lines longer
than 48 characters and reports ERROR. Table 37 shows examples of multiple AT commands on a single line.
When concatenating commands on the same line, the following must also be taken in to account:
A semicolon is used to append to :U or :R commands. For example, AT:U42,0022;:R43;S6=4.
The command +IPR cannot be on the same line as a :U or :R command.
The commands *Y, :W, :P, +MS and +MR cannot be appended to. They must be the last command in a string.
The command AT+GCI=9 must be on a line of its own.
Consecutive U registers can be written in a single command as AT:Uhh,xxxx,yyyy,zzzz where hh is the first U-
register address in the three register consecutive series. This command writes a value of xxxx to Uhh, yyyy to
Uhh+1, and zzzz to Uhh+2. Additional consecutive values may be written up to the 48 character limit.
Table 36. Command Examples
Command Result Comment
AT$ E = 001 Configuration status of basic
AT commands.
M=000
Q=000
V=001
X=004
Y=000
AT&$ &D = 001
&G = 017 Configuration of &AT
commands.
&H = 000
(Si2457)
&P = 000
ATS2? 043 S-register 2 value—Escape
code charac ter (+).
AT:R2C 00A0 Value stored in register U2C.
Table 37. Multiple AT Commands on a Single Line
Command Result
ATS0=4M1X1<CR> The modem auto-answers on the
fourth ring. The speaker is on during
dial and handshake only. Blind dial-
ing is enabled.
AT S0=4 M1 X1 <CR> Same as above (spaces do not mat-
ter).
ATS0=4<CR> Same as above.
ATM1<CR>
ATX1<CR>
AN93
Rev. 1.3 59
Caution: Some U-register addresses are reserved for internal use and hidden from the user. Consequently, there
are gaps in the addresses of available U registers. Writing to reserved registers can cause unpredictable results.
Care must therefore be taken not to write to reserved or undefined register locations. This is espe cially likely when
writing to consecutive U-regi ster addresses: all addr esses covered by a co nscutive write operation must be d efined
and allowed to the user.
The AT command execution time is as long as 300 ms. The host must wait for a response after each command
(e.g., OK) before issuing additional commands. The reset recovery time (the time between a hardware reset or the
carriage return of an ATZ command and the time the next AT command can be executed) must also be respected,
as described in "2.1.1. Reset Sequence" on page 11.
Characters must not be sent between the ATDT command and the protocol message. During this time, the modem
is in a transition between command and data modes. Any characters sent during this time will cause the
connection attempt to fail.
Blind dialing (dialing without waiting for dial tone) is enabled by ATX0, ATX1, and ATX3. Whether or not blind
dialing is enabled , use of the W dial modif ier causes the modem to look for a dial tone before dialing the number
string after the W. For example, an AT command string, ATX1 DT 9, W123456<CR>, causes the modem to dial 9
immediately without detecting a dial tone but does not dial 123456 until a dial tone is detected. AT commands and
result codes are listed in Tables 39–43. The default settings are shown in bold.
Table 38. Consecutive U-Register Writes on a Single Line
Command Result
AT:U00,0078,67EF,C4FA 0x0078 written to U00
0x67EF written to U01
0xC4FA written to U02
Table 39. Basic AT Command Set
Command Action
$
Display Basic AT command mode settings (see text for details).
Answer incoming call.
Re-execute last command (executes immediatel y , not preceded by
AT or followed by <CR>)
A
A/
AN93
60 Rev. 1.3
Dn
Dial
The dial command, which may be followed by one or more dial
command modifiers, dials a phone number:
Modifier
! or &
, or <
;
@
G
L
P
T
W
En Local DTE echo.
E0 Disable.
E1 Enable.
Hn Hook-switch.
H0 Go on-hook (hang up modem).
H1 Go off-hook.
In Identification and checksum.
I0 Display Si24xx revision code.
A = Revision A.
B = Revision B, etc.
I1 Display Si24xx firmware revision code (numeric).
No Patch
AT Command Chip Revision
ATI0 A
ATI1 A
ATI0 B
ATI1 B
ATI0 C
ATI1 C
ATI0 D
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
Rev. 1.3 61
ATI1 D
Revision B Patch (rb_pX_YYYY)
AT Command Chip Revision
ATI0 B
ATI1 B
ATI0 C
ATI1 C
Revision C Patch (rc_pX_YYYY)
AT Command Chip Revision
ATI0 B (not allowed)
ATI1 B (not allowed)
ATI0 C
ATI1 C
Command Action
I3 Display line-side revision code.
18 (10)C = Si3018/10 Revision C.
I6
Display the ISOmodem model number.
2404 = Si2404
2415 = Si2415
2434 = Si2434
2457 = Si2457
2493 = Si2493
I7
Diagnostic Results 1.
Format
RX <rx_rate>,TX <tx_rate>
PROTOCOL: <protocol>
LOCAL NAK <rre>
REMOTE NAK <rte>
RETRN/RR <rn>
DISC REASON <dr>
I8
Diagnostic Results 2.
Format
RX LEVEL <rx_level>
TX LEVEL <tx_level>
EFFECTIVE S/N <esn>
RESIDUAL ECHO <re>
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
62 Rev. 1.3
Ln Speaker Volume
L1 Low
L2 Medium
L3 High
L4 Very High
Mn Speaker operation (via AOUT).
M0 Speaker is always off.
M1 Speaker is on while dialing and handshaking; off in data mode.
M2 Speaker is always on.
M3 Speaker is off while dialing; on during handshaking and retraining.
On Return to data mode from command mode.
O0 Return to data mode.
O1 Return to data mode and perform a full retrain (at any speed
except 300 bps).
O2 Return to data mode and perform rate renegotiation.
Qn Response mode.
Q0 Enable result codes (See Table 43.)
Q1 Disable result codes (enable quiet mode)
RInitiate V.23 Reversal (U53 bit 15 must be set.)
Sn S-register operations (see Table 45)
S$ List contents of all S registers.
Sn? Display contents of S-register n.
Sn=x Set S-register n to value x (n and x are decimal values).
Vn Result code type (See Table 43)
V0 Numeric result codes.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
Rev. 1.3 63
V1 Verbal result codes.
Xn Call Progress Monitor (CPM)—This command controls which CPM
signals are monitored and reported to the host from the ISOmo-
dem (See Table 43).
X0 Basic results; disable CPM—Blind dial (does not wait for dial tone).
CONNECT message does not include speed.
X1 Extended results; disable CPM—Blind dial. CONNECT message
includes speed.
X2 Extended result s and de te ct dial tone only. X1 with dial tone detec-
tion.
X3 Extended results and detect busy only. X1 with busy tone detec-
tion.
X4 Extended results, full CPM. X1 with dial and busy tone detec-
tion.
X5 Extended result s—Full CPM enabled including r ingback detection.
X4 with ring back detection.
Yn Long space disconnect—Modem hangs up after 1.5 seconds or
more of continuous space while on-line.
*Y0 Disable data memo ry ac ce ss by dis allo win g :W an d :Q Com -
mands.
*Y1 Enable continuous DTMF tone (ATxY1D9 sends continuous “9”
tone).
*Y2 Enable continuous answer tone. To enable continuous answer
tone and answer, use ATxY2A.
*Y254 Enables Data Memory Access, i.e. allows :W and :Q commands.
ZHard reset—This command is functionally-equivalent to pulsing
the RESET pin low.
:E Read from serial EEPROM. The format is AT:Ehhhh, where hhhh
is the EEPROM address in hexadecimal.
:I
Interrupt read—This command causes the ISOmodem to report
the lower eight bits of the interrupt register U70 (IO0). The CID,
OCD, PPD, and RI bit s of this re gister are cleared, and the INT pin
(HIR1 INT flag in parallel or SPI mode) is deactivated on this read.
:LPhh
Read Quick Connect data.
hh is a hexadecimal value. Data are read as follows:
:LP0d1...d8
:LP8d9...d16
:LP10 d17...d24
:LP18 d25...d32
:M Write to serial EEPROM. The format is AT:Mhhhh,xxxx, where
hhhh is the EEPROM address in hexadecimal and xxxx is the
EEPROM data in hexadecimal.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
64 Rev. 1.3
:P
Program RAM write: this command is used to upload firmware
supplied by Silicon Labs to the ISOmodem. The format for this
command is AT:Phhhh,xxxx,yyyy,.... where hhhh is the first
address in hexadecimal, and xxxx,yyyy,.... is data in hexadecimal.
Only one :P command is allowed per AT command line. No other
command can be concatenated in the :P command line. This com-
mand is only for use with special files provided by Silicon Labora-
tories. Do not attempt to use this command for any other purpose.
Use &T6 to display checksum for patch verification.
:Q :Qaaaa reads hexadecimal address aaaa. Returns hexadecimal
data value dddd. Only one command per line.
:R
U-register read—This command reads U-register values in hexa-
decimal.
The format is AT:Rhh, where
hh = A particular U-register address in hexadecimal.
The AT: R command displays all U-register values.
Only one :R command is allowed per AT command line.
:U
U-register write—This command writes to the 16-bit U registers.
The format is AT:Uhh,xxxx,yyyy,zzzz,..., where
hh = user-access address in hexadecimal.
xxxx = data in hexadecimal to be written to location hh.
yyyy = data in hexadecimal to be written to location (hh + 1).
zzzz = data in hexadecimal to be written to location (hh + 2).
etc.
Only one :U command is allowed per AT command line.
:W :Waaaa,dddd writes hexadecimal data value dddd to hexadecimal
data address aaaa. Only one command per line.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
Rev. 1.3 65
*Y[sequence]
S pecial Access Mode—This command enables special modes and
data memory access.
[sequence] Description
254:Waaaa,dddd Write hexadecimal data value dddd to
hexadecimal data address
aaaa. Only one 254:W command per line.
254:Qaaaa Read hexadecimal address a aaa. Retur ns
hexadecimal data value
dddd. Only one 254:Q command per line.
2 Enable continuous answer tone for the
ATA command. Use ATZ to clear this
mode. For example, the single-line, multi-
ple command is AT*Y2A.
1 Enable continuous DTMF tone for first digit
used in the ATD command. Use ATZ to
clear this mode. For example, the single-
line, multiple command for a continuous
DTMF “1” digit would be AT*Y1D1.
0 Exit from 254:W or 254:Q access mode.
Must reside on a separate line and must
be the final sequence be sent after the
final 254:W or 254:Q command.
+DR=X
Data compression reporting.
X Mode
0 Disabled
1 Enabled
If enabled, the intermediate result code is transmitted at the point
after error control negotiation. The format of this result code is as
follows:
Result code Mode
+DR:NONE Data compression is not in use
+DR:V42B Rec. V. 42bis is in use in both directions
+DR:V42B RD Rec. V. 42bis is in use in receive direction only
+DR:V42B TD Rec. V. 42bis is in use in transmit directions only
+DR:V44 Rec. V.44 is in use in bo th dire ctio n s
+DR:V44 RD Rec. V.44 is in us e in re ce ive dir ec tio n on ly
+DR:V44 TD Rec. V.44 is in use in transmit directions only
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
66 Rev. 1.3
+DS=
A,B,C,D
Controls V.42bis data compression function.
A Direction
0 No compression (V.42bis P0 = 0)
1 Transmit only
2 Receive only
3 Both Directions (V.42bis P0 = 11)
B Compression negotiation
0 Do not disconnect if Rec. V.42 is not negotiated.
1 Disconnect is Rec. V.42 is not negotiated.
C Max_dict 512 to 65535
D Max_string 6 to 250
+DS44 =
A,B,C,D,E,F,G,
H,I
Controls V.44 data compression function*
A Direction
0 No compr es sio n (V.42bis P0 = 0)
1 Transmit only
2 Receive only
3 Both Directions (V.42bis P0 = 11)
B Compression negotiation
0 Do not disconnect if Rec. V.42 is not negotiated
1 Disconnect is Rec. V.42 is not negotiated
C Capability
0 Stream method
1 Packet method
2 Multi-packet method
D Max_codewords_tx 256 to 65536
E Max_codewords_rx 256 to 65536
F Max_string_tx 32 to 255
G Max_string_rx 32 to 255
H Max_history_tx 512
I Max_history_rx 512
*Note: Si2493 only
+ES = A, B, C
Enable synchronous access mode
A – specifies the mode of operation when initiating a modem
connection
D=Disable synchronous access mode
6 = Enable synchronous access mode when connection is
completed and data state is entered.
B – This parameter should not be used.
C – Specifies the mode of operation when answer a modem
connection
D=Disable synchronous access mode
8 = Enable synchronous access mode when connection is
completed and da ta state is entered.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
Rev. 1.3 67
+ESA =
A,B,C,D,E,F,G
Synchronous access mode control options
A – Specif ies action taken if an underrun condition occurs
during transparent sub-mode
0=Modem transmits 8-bit SYN sequences (see
+ESA[G]) on idle.
B – Specifies action taken if an underrun condition occurs
after a flag during framed sub-mode
0=Modem transmits 8-bit HDLC flags on idle.
C – Specifies action taken if an underrun or overrun condition
occurs after a non-flag during framed sub-mode
0=Modem transmits abort on underrun in middle of
frame.
1 = Modem transmits flag on underrun in middle of frame
and notifies host of underrun or overrun.
D – Specifies V.34 half duplex operation. This parameter should
not be used.
E – Specifies CRC polynomial used while in framed sub-mode
0=CRC generation checking disable
1 = 16-bit CRC generation and checking is performed by the
modem
F – Specifies NRZI encoding and decoding
0=NRZI encoding and decoding disabled
G – Defines 8-bit SYN
255 = Fixed at 255 (marks)
+FCLASS = X
Class 1 Mode Enable.
XMode
0Off
1 Enables support for V.29 Fast Connect mode.
8 Enables voice mo d e.
256 S MS mo d e
+FRM = X
Class 1 Receive Carrier.
XMode
2 Detect V.21 (980 Hz) tone for longer than 100 ms, then
send answer tone
(2100/2225 Hz) for 200 ms.
95 V.29 short synchronous.
96 V.29 full synchronous.
200 Returns to data mode prepared to receive an SMS mes-
sage.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
68 Rev. 1.3
+FTM = X
Class 1 Transmit Carrier.
XMode
2 Transmit V.21 (980 Hz) tone and detect (2100/2225 Hz).
Stop transmit 980 Hz when (2100/2225 Hz is detected.
53 Same as &T4, but transmit V.29 7200 bps. Data pattern
set by S40 register. AT + FCLASS = 0 must be sent to
restore the ISOmodem to normal operation after test.
54 Same as &T4, but transmit V.29 9600 bps. Data pattern
set by S40 register. AT + FCLASS = 0 must be sent to
restore the ISOmodem to normal operation after test.
95 V.29 short synchronous.
96 V.29 full synchronous.
201 Returns to data mode prepared to transmit an SMS pro-
tocol 1 message.
202 Returns to data mode prepared to transmit an SMS pro-
tocol 2 message.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
Rev. 1.3 69
+GCI = X
Country settings: Automatically configure all registers for a particu-
lar country.
X Country
9 Australia
AAustria
F Belgium
16 Brazil
1B Bulgaria
20 Canada
26 China
27 Columbia
2E Czech Republic
31 Denmark
35 Ecuador
3C Finland
3D France
42 Germany
46 Greece
50 Hong Kong
51 Hungary
53 India
57 Ireland
58 Israel
59 Italy
0 Japan
61 Sout h Kor ea
69 Luxembourg
6C Malaysia
73 Mexico
7B Netherlands
7E New Zealand
82 Norway
87 Paraguay
89 Philippines
8A Poland
8B Portugal
B8 Russia
9C Singapore
9F Sout h Afri ca
A0 Spain
A5 Sweden
A6 Switzerland
FE Taiwan
B4 United Kingdom
B5 United States (default )
Note: U registers are configured to Silicon Laboratories’ recommended
values. Changes may be made by writing indi vidual registers after
sending the AT+GCI command. The +GCI command resets U
registers through U86 and S6 (in Japan) to default values before
setting country-specific values. Refer to the chart and setup tables
beginning with "6.2.2.1. Country Initialization Table" on page 134.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
70 Rev. 1.3
+GCI? List current country code setting (response is: + GCI:<se tting>)
+GCI = ? List all possible country code settings.
+IFC Options
+IFC = A
+IFC = A,B
Specifies the flow control to be implemented.
A Specifies the flow control method used by the host to control
data from the modem
0None
1 Local XON/OFF flow control. Does not pass XON/XOFF
character to th e re mo te
modem.
2 Hardware flow control (RTS)
B Specifies the flow control method used by the modem to con-
trol data from the host
0 None
1 Local XON/OFF flow control.
2 Hardware flow control (CTS).
+IPR = <rate>
Fixed DTE Rate.
<rate> Description
0 Automatically detect the baud rate.
[BPS] The decimal value of the rate in bits per second.
Note that the <rate> parameter represents the DTE rate in bps and
may be set to any of the following values: 300, 600, 1200, 2400,
4800, 7200, 9600, 12000, 14400, 19200, 38400, 57600, 115200,
230400, 245760, and 307200.
+ITF Options
+ITF = A
+ITF = A,B
+ITF = A,B,C
Transmit flow control threshold.
A Threshold above which the modem will generate a flow off
signal
<0 to 511> bytes
B Threshold below which the modem will generate a flow on
signal
<0 to 511> bytes
C Polling interval for <EM><BNUM> indicator
0 to 300 in 10 msec units.
+MR=X
Modulation reporting control.
X Mode
0 Disabled
1 Enabled
If enabled, the intermediate result code is transmitted at the point
during connect negotiation. The format of this result code is as fol-
lows:
+MCR: <carrier> e.g. +MCR: V32B
+MRR: <rate> e.g. +MRR: 14400
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
Rev. 1.3 71
+MS Options
+MS = A
+MS = A,B
+MS = A,B,C
+MS = A,B,C,
D
+MS = A,B,C,
D,E
+MS = A,B,C,
D,E,F
Modulation Selection.
A Preferred modem carrier
V21 ITU-T V.21
V22 ITU-T V.22
V22B ITU-T V.22bis (default for Si2404)
V32 ITU-T V.32
V32B ITU-T V.32bis (default for Si2415)
V34 ITU-T V.34 (default for Si2434)
V90 ITU-T V.90 (default for Si2457)
V92 ITU-T V.92 (default for Si2493)
B Automatic modulation negotiation
0 Disabled
1 Enabled (default)
C Min Tx rate. Specifies minimum transmission rate.
0 Not configurable; always set to 0.
D Max Tx rate. Specifies highest transmission rate. If not
specified, it is determined by th e car rier and aut om ode
settings.
V21 300 V32 9600 V90 33600
V22 1200 V32B 14400 V92 48000
V22B 2400 V34 33600
E Min Rx rate. Specifies minimum receive rate.
0 Not configurable; always set to 0.
F Max Rx rate. Specifies maximum receive rate. If not
specified (set to 0), it is determined by the carrier and
automode settings.
V21 300 V32 9600 V90 54666
V22 1200 V32B 14400 V92 54666
V22B 2400 V34 33600
+PCW = X
Controls the action to be taken upon detection of call waiting.
X Mode
0 Toggle RI and collect type II Caller ID if enabled by +VCID.
1 Hang up.
2 Ignore call waiting.
+PIG=X
Controls the use of PCM upstream in a V.92 DCE.
X Mode
0 Enable PCM upstream.
1 Disable PCM upstream.
+PMH=X
Controls the modem-on-hold procedures.
X Mode
0 Enables V.92 MOH.
1 Disables V.92 MOH.
+PMHF=X V.92 MOH hook flash. This command causes the DCE to go on-
hook and then return off-hook. If this command is initiated and the
modem is not On Hold, Error is returned.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
72 Rev. 1.3
+PMHR=X
Initiate MOH. Requests the DCE to initiate or to confirm a MOH
procedure. Valid only if MOH is enabled.
X Mode
0 V.92 MOH request denied or not available.
1 MOH with 10 s timeout granted.
2 MOH with 20 s timeout granted.
3 MOH with 30 s timeout granted.
4 MOH with 40 s timeout granted.
5 MOH with 1 min. timeout granted.
6 MOH with 2 min. timeout granted.
7 MOH with 3 min. timeout granted.
8 MOH with 4 min. timeout granted.
9 MOH with 6 min. timeout granted.
10 MOH with 8 min. timeout granted.
11 MOH with 12 min. timeout granted.
12 MOH with 16 min. timeout granted.
13 MOH with indefinite timeout granted.
14 MOH request denied. Future request will also be denied.
+PMHT=X
Controls access to MOH request and sets the timeout value.
X Mode
0 De ny V.92 MO H re qu est.
1 Grant MOH with 10 s timeout.
2 Grant MOH with 20 s timeout.
3 Grant MOH with 30 s timeout.
4 Grant MOH with 40 s timeout.
5 Grant MOH with 1 min. timeout.
6 Grant MOH with 2 min. timeout.
7 Grant MOH with 3 min. timeout.
8 Grant MOH with 4 min. timeout.
9 Grant MOH with 6 min. timeout.
10 Grant MOH with 8 min. timeout.
11 Grant MOH with 12 min. timeout.
12 Grant MOH with 16 min. timeout.
13 Grant MOH with indefinite timeout.
+PQC=X
V.92 Phase 1 and Phase 2 Control.
XMode
0 Enable Short Phase 1 and Short Phase 2.
1 En ab le Shor t Phase 1.
2 En ab le Shor t Phase 2.
3 Disable Short Phase 1 and Short Phase 2.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
Rev. 1.3 73
+PSS=X
Selection of full or short startup procedures.
X Mode
0 The DCEs decide to use short startup procedures.
1 Forces the use of short startup procedures on next and sub-
sequent connections.
2 Forces the use of full startup procedures on ne xt and subse-
quent connections.
+VCDT = n
Caller ID Type.
nMode
0=After ring only
1=Always on
2 = UK with wetting pulse
3=Japan
6=DTMF
+VCID = n
Caller ID Enable.
nMode
0=Off
1 = Formatted Caller ID enabled.
2 = Raw data Caller ID enabled.
+VCIDR? Type II Caller ID information—”+VCIDR:” will be followed by raw
Caller ID information including checksum. NO DATA will be dis-
played if no Type II data are available.
+VDR = n
Distinctive Rin g .
n Mode
0,x Disable distinctive ring
1,0 Enable distinctive ring. The ISOmodem will report
DROF and DRON result codes only. DROF and
DRON are reported in 100 ms units.
1,x Enable distinctive ring. The ISOmodem will report
DROF and DRON result codes as well as well as
a RING result code x/10 seconds after the falling
edge of a ring pulse. DRO F an d DRON ar e
reported in 100 ms units.
+VGR
Receive Gain Selection.
The <gain> parameter has a range of 112-134 with 128 being the
nominal value. This represents a range of -48 dB to 18 dB. The
default is 128 (0 dB). This command is used to control the receive
gain at the DTE from either the Si3000 Codec or the DAA. The
purpose is to adjust the DTE receive gain for the TAM voice stream
during idle state.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
74 Rev. 1.3
+VGT
Transmit Gain Selection.
The <gain> parameter has a range of 112-134 with 128 being the
nominal value. This represen ts a range of -48 to 18 d B. The default
is 128 (0 dB). This command is used to control the transmit gain at
the DTE to either the Si3 000 Cod ec or the DAA. The p urpose is to
adjust the DTE tran sm it ga in fo r the TAM voice stream during idle
state.
+VIP Load Voice Factory Defaults.
+VIT
DTE/DCE Inactivity Timer.
The <timer> parameter has a range of 0–255 with units of sec-
onds.
The default is 0 (disable).
+VLS = n Analog Source / Destination Select.
n Description
0 ISOmodem on-hook. AOUT disabled. Tone detec-
tors disabled. Si3000 sample pass-through to
DAA is inactive.
1 ISOmodem off-hook. AOUT disa bled. Tone detectors
disabled.
4 ISOmodem on-ho o k. AOUT connected to ISO m o-
dem tone generators. Tone detectors disabled.
5 ISOmodem off-hook. AOU T conn ec te d to PST N.
Tone detectors enabled.
15 ISOmodem goes off-hook, begins V.253 tone event
reporting and Si3000 to DAA sample pass-through
becomes active. Dial tone can be heard on handset.
20 ISOmodem on-hook. AOUT disabled. Tone detectors
enabled.
21 I SOmodem on-hook. AOUT connec ted to ISO mo-
dem tone generators. Tone detectors enabled.
+VNH = <hook
>Automatic Hangup Control.
<hook> Hook control description
0 The ISOmodem retains automatic hangups as
is normal in the other mode s (such as hanging
up the phone when the ISOmodem does not
detect a dat a carrier with a given time interval).
1 The ISOmodem shall disable automatic hangups
in the other non- vo ice mode s.
2 The ISOmodem sh all disable all han g-ups in other
non-voice modes. The ISOmodem shall only per-
form a “logical” hangup (return the OK result
code).
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
Rev. 1.3 75
+VRA = n Ringing Tone Goes A way Timer.
The ISOmodem only uses this command in call origination trans-
actions. This command set s the amount of time in 0.1 second units
the ISOmodem shall wait between Ringing Tone before it can
assume that the remote modem has gone off-hook. Default tim e
is five seconds.
+VRID = n Repeat Caller ID.
n Description
0 Display Caller ID information of the las t inco min g
call in formatted form.
1 Display Caller ID information of the las t inco min g
call in unformatted form.
+VRN = n Ringing Tone Never Appeared Timer.
This command set s the a mount of time in seco nds the ISOmode m
will wait looking for Ringing Tone. If the ISOmodem does not
detect Ringing Tone in this time period, the ISOmodem shall
assume that the remote station has gone off-hook and return an
OK result code. Default time is 0 seconds.
+VRX Receive Voice Stream.
Enable DTE receive of voice stream. The DCE will return a CON-
NECT response followed by the voice stream as defined by the
+VSM command. The DTE can issue a <DLE><!> or
<DLE><ESC> sequence to terminate the receive stream. The
DCE will return a <DLE><ETX> followed by an OK response for
<DLE><!> and <DLE><ESC> followed by an OK response for
<DLE><ESC>. The DCE can be configured to terminate the
stream using the DTE/DCE Inactivity Ti mer, which is configured
using the +VIT command. The DTE will need to process any
<DLE> shielded events present in the data stream. Any
<DLE><DLE> sequences can b e preserved to allow less overhead
during playba ck of the str eam with th e +VT X comm an d.
+VSD =
<sds>, <sdi> Silence Detection.
<sds> Noise level sensitivity
127 Less aggressive [more sensitive, lower noise lev-
els considered to be silence].
128 Nomi nal level of sensitivity.
129 More aggressive [less sensitive, higher noise lev-
els considered to be silence].
<sdi> sets the length of a time interval in 0.1 second units , which
must contain no or little activity, before the ISOmodem will report
(QUIET) (<DLE><q>). Default is five seconds.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
76 Rev. 1.3
+VSM = n Voice Compression Method.
0 Signed PCM
1 Unsigned PCM
4 G.711 µ-Law
5 G.711 A-Law
129 ADPCM 2-bit (2 kB/s storage)
131 ADPCM 4-bit (4 kB/s storage)
+VSP Voice Speakerphone State
<mode> Description
0 Speakerphone AEC, AES and LEC disabled.
Handset FIR filter coefficients are selected.
1 Speakerphone AEC, AES and LEC enabled.
Speakerphone FIR filter coefficients are selected.
The +VLS=13 command must be used in combination with this
setting.
+VTD = n DTMF / Tone Duration Timer.
This command se ts the default DTMF / tone gen eration duration in
10 ms units for the +VTS command. Default time is 1 second
(n = 100).
+VTS = [<freq
1>, <freq2>,
<dur>]
DTMF and Tone Generation.
This command can be used to produce DTMF tones, single-fre-
quency tones, and double-frequency tones. Note that the bracket
characters ar e re qu ir ed for corr ect operation.
<freq1> Frequency one, which has a range of 0, 200-
3200 Hz.
<freq2> Frequency two, which has a range of 0, 200-
3200 Hz.
<dur> Duration of the tone(s) in 10 ms units.
+VTX Transmit Voice Samples.
Used for sending digitized voice samples from host memory
through the UART interface. The +VSM command determines the
format of the samples. Multiple routing options are available.
Table 39. Basic AT Command Set (Continued)
Command Action
AN93
Rev. 1.3 77
5.5. Extended AT Commands
The extended AT commands, described in Tables 40–42, ar e su pp or te d by the ISOmodem.
Table 40. Extended AT& Command Set
Command Action
&$ Display AT& current settings (see text for details).
&Dn Escape pin function (similar to DTR)
&D0 Escape pin is not used.
&D1 Escape pin escapes to command mode from data mode. The escape pin must be enabled by
setting bit HES (Enable Hardware Escape Pin, U70 bit 15).
&D2 Escape pin assertion during a modem connection causes the mo dem to go on-hook and return to
command mode. The escape pin must be enabled by setting bit HES (Enable Hardware Escape
Pin, U70 bit 15).
&D3 Escape pin assertion causes ATZ command (reset and return OK result code). The escape pin must
be enabled by setting bit HES (Enable Hardware Escape Pin, U70 bit 15).
&Gn Line connection rate limit—This command set s an upper limit on the line speed that the ISOmodem
can connect. The &Hn commands may limit the line speed as well (&Gn not used for &H0 or &H1).
Not all modulations support rates given by &G. Improper settings are ignored.
&G3 1200 bps max.
&G4 2400 bps max.
&G5 4.8 kbps max.
&G6 7.2 kbps max.
&G7 9.6 kbps max.
&G8 12 kbps max.
&G9 14.4 kbps max (default for Si2415)
&G10 16.8 kbps max.
&G11 19.2 kbps max.
&G12 21.6 kbps max.
&G13 24 kbps max.
&G14 26.4 kbps max.
&G15 28.8 kbps max.
&G16 31.2 kbps max.
&G17 33.6 kbps max (default for Si2457 transmit and Si2434)
&Hn Switched network handshake mode—&Hn commands must be on a separate command line from
ATD, ATA, or ATO commands.
&H0 V.90 with automatic fallback (56 kbps to 300 bps) (default for Si2457)
Notes:
1. The initial number attempted to test for an outside line is controlled by S51 (default = 1).
2. AT&$ reflects the last AT&P command issued but does not reflect any subsequent changes made by writing U registers
with AT:U.
AN93
78 Rev. 1.3
&H1 V.90 only (56 kbps to 28 kbps)
&H2 V.34 with automatic fallback (33.6 kbps to 300 bps) (default for Si2434)
&H3 V.34 only (33.6 kbps to 2400 bps)
&H4 ITU-T V.32bis with automatic fallback (14.4 kbps to 300 bps) (default for Si2415)
&H5 ITU-T V.32bis only (14.4 kbps to 4800 bps)
&H6 ITU-T V.22bis only (2400 bps or 1200 bps) (default for Si2404)
&H7 ITU-T V.22 only (1200 bps)
&H8 Bell 212 only (1200 bps)
&H9 Bell 103 only (300 bps)
&H10 ITU-T V.21 only (300 bps)
&H11 V.23 (1200/75 bps)
&H12 V.92 with automatic fallback (default for Si2493)
&Pn Japan pulse dialing*
&P0 Configure ISOmodem for 10 pulse-per-second pulse dialing
&P1 Configure ISOmodem for 20 pulse-per-second pulse dialing (Japan)
&Tn Test mode.
&T2
Initiate ITU-T V.54 (ANALOOP) test. Modem mode set by &H. Test loop is through the DSP and
DAA interface section of the ISOmodem only. ISOmodem echoes data fro m TX pin (Hardwar e Inter-
face Register 0 in parallel or SPI mode) b ack to RX pi n (Hardware Inte rface Registe r 0 in para llel or
SPI mode). This test mode is typically used during board-level debug.
&T3
Initiate ITU-T V.54 (ANALOOP) test. Modem mode set by &H. Test loop is through the DSP (ISOmo-
dem), DAA interface section (ISOmodem), ISOcap interface (Si3018/10), and analog hybrid circuit
(Si3018/10). ISOmodem echoes data from TX pin (Hardware Interf ace Register 0 in parallel or SPI
mode) back to RX pin (Register 0 in parallel or SPI mode). Phone line termination required as in
Figure 25. In order to test only the ISOcap link operation, the hybrid and AFE codec can be rem oved
from the test loop by setting U62 [1] (DL) = 1.
&T4
Initiate transmit as or igin a tin g mo d em with au to m at ic dat a ge ner at ion . Mo du la tion , da ta rat e, and
symbol rate are set by &H, &G, and S41. Data pattern is set by the S40 register. Continues until the
ATH command is sent after an escape into command mode. Data are also demodulated as in
ANALOOP. The test can be ended by escaping and issuing the ATH command.
&T5
Initiate transmit as an swering modem with automatic data generation. Modulatio n, data rate, and
symbol rate are set by &H, &G, and S41. Data pattern is set by the S40 register. Continues until the
ATH command is sent after an escape into command mode. Data are also demodulated as in
ANALOOP. The test can be ended by escaping and issuing the ATH command.
&T6 Compute checksum for firmware-upgradeable section of program memory. If no firmware upgrade
is installed, &T6 returns C:4474.
&Xn Automatic determination of telephone line type.
&X0 Abort &x1 or &x2 command.
Table 40. Extended AT& Command Set (Continued)
Notes:
1. The initial number attempted to test for an outside line is controlled by S51 (default = 1).
2. AT&$ reflects the last AT&P command issued but does not reflect any subsequent changes made by writing U registers
with AT:U.
AN93
Rev. 1.3 79
Figure 25. Phone Line Termination Circuit
&X1
Automatic determination of telephone line type.
Result code: WXYZn
W: 0 = line supports DTMF dialing.
1 = line is pulse dial only.
X: 0 = line supports 20 pps dialing.
1 = line supports 10 pps dialing only.
Y: 0 = extension network present (PBX).
1 = outside line (PSTN) connected directly.
Z: 0 = continuous dial tone.
1 = make-break dial tone.
n: 0–9 (number required for outside line if Y = 0).1
&X2 Same as &X1, but Y result (PBX) is not tested.
Y2A2Produce a constan t an swer tone (ITU-T) a nd return to command mode. The answer tone continues
until the ATH command is received or the S7 timer expires.
&Z Enter low-power wake-on-ring mode.
Table 40. Extended AT& Command Set (Continued)
Notes:
1. The initial number attempted to test for an outside line is controlled by S51 (default = 1).
2. AT&$ reflects the last AT&P command issued but does not reflect any subsequent changes made by writing U registers
with AT:U.
RING
Si3018 VTR IL
600
10 µF
+
TIP
AN93
80 Rev. 1.3
Table 41. Extended AT% Command Set
Command Action
%$ Display AT% command settings (see text for details).
%B Report blacklist. See also S42 register.
%Cn Data compression.
%C0 Disable V.42bis and MNP5 data compression.
%C1 Enable V.42bis in transmit and receive paths.
If MNP is selected (\N2), %C1 enables MNP5 in transmit and receive paths.
%C2 Enable V.42bis in transmit path only.
%C3 Enable V.42bis in receive path only.
%On Answer mode.
%O1 ISOmodem answers a call in answer mode.
%O2 ISOmodem answers a call in originate mode.
%Vn
Automatic Line Status Detection.
After the %V1 and %V2 commands are issued, the ISOmodem automatically checks the telephone
connection for whether a line is present. If a line is present, the ISOmodem automatically checks if
the line is already in use. Finally, the ISOmodem checks line status both before going off-hook and
again before dialing. %V1 uses the fixed method, and %V2 uses the adaptive method. %V0
(default) disables this feature.
%V0 Disable aut oma t ic lin e -i n-u se dete ct io n .
%V1
Automatic Line Status Detection - Fixed Method.
Description: Before going of f-hook with the ATD, ATO, or AT A co mmands, the ISOmodem compares
the line voltage (via LV C S) to re gis te rs NO LN (U83) and LIUS (U84) :
Loop Voltage Action
0LVCS NOLN Report NO LINE and remain on-hook.
NOLN LVCS LIUS Report LINE IN USE and remain on-hook.
LIUS LCVS Go off-hook and establish a modem connection.
Once the call has begun, the off-hook intrusion algorithm (described in "6.6.2. Off-Hook Condition"
on page 162) operates normally. In addition, the ISOmodem reports NO LINE if the line is com-
pletely disconnected. If the HOI bit (U77, bit 11) is set, LINE IN USE is reported upon intrusion.
AN93
Rev. 1.3 81
%V2
Automatic Line Status Detection - Adaptive Method.
Description: Before going of f-hook with the ATD, ATO, or AT A co mmands, the ISOmodem compares
the line voltage (via LVCS) to the NLIU (U85) register:
Loop Voltage Action
0LVCS (0.0625 x NLIU) Report NO LINE and remain on-hook.
(0.0625 x NLIU) < LVCS (0.85 x NLIU) Report LINE IN USE and remain on-hook.
(0.85 x NLIU) < LCVS Go of f-hook and establish a modem connection.
The NLIU register is updated every 1 ms with the minimum non-zero value of LVCS in the last
30 ms. This allows the ISOmodem to eliminate errors due to 50/60 Hz interference and also adapt
to relatively slow changes in the on-hook dc reference value on the telephone line. This algorithm
does not allow any non-zero values for NLIU below 0x0007. The host may also initialize NLIU prior
to issuing the %V2 command. Once the call has begun, the off-hook intrusion algorithm (described
in "6.6.2. Off-Hook Condition" on page 162) operates normally. In addition, the ISOmodem reports
NO LINE if the telephone line is comple te ly disconn ected. If the HOI (U77, bit 11) bit is set, LINE IN
USE is reported upon intrusion.
Table 42. Extended AT\ Command Set
Command Action
\$ Display AT\ command settings (see text for details).
\Bn Character length is automatically set in autobaud mode.
\B0 Reserved
\B1 7N1—Seven data bits, no parity, one stop bit, one start bit, nine bits total (\N0 only)
\B2 7P1—Seven da ta bit s, pa rit y opt ion e d by \P, one stop bit, one start bit, ten bits total
\B3 8N1—Eight data bits, no parity, one stop bit, one start bit, 10 bits total (default)
\B5 8P1—Eight data bits, parity optioned by \P, one stop bit, one start bit, 11 bits total (\N0 only) This
mode is not allowed with a parallel or SPI interface.
\B6 8X1—Eight data bits, one escape bit, one stop bit, one start bit, 11 bits total (ena bles ninth-bit
escape mode) This mode is not allowed with a parallel or SPI interface.
\Nn Asynchr on ou s protocol.
\N0 Wire mode (no error correction, no compression).
Notes:
1. When in autobaud mode, \B0, \B1, and \P1 is not detected automatically. The combinatio n of \B2 and \P3 is detecte d.
This is compatible with seven data bit s, no p arity, two stop bits. Seven data bit s, no parity, one stop bit may be forced by
sending AT\T17\B1.
2. After changing the baud rate, the result code OK is sent at the old DTE rate. Subsequent commands must be sent at
the new rate. If the ISOmodem is configured in autobaud mode, AT commands \T0 through \T15 lock the new baud rate
and disable autobaud. To eliminate any possibility of a race condition between the receipt of the result code and the
changing of the UART speed, CTS is de-asserted while the result code is being sent until after the rate has been
successfully changed. The host should send the \T command and wait for the OK response. After OK has been
received, the host may send data at the new rate as soon as CTS is asserted. The \T command should be the last
command sent in a multi-command line and may not be used on the same command line as :U or :R commands. If it is
not, the OK from the \T command is sent at the old DTE rate, and other result codes are sent at the new DT E rate.
3. The autobaud feature does not de tect this rate.
4. Default is \T16 if autobaud is selected by reset-strap option; otherwise default is \T9 (19.2 kbps).
Table 41. Extended AT% Command Set (Continued)
AN93
82 Rev. 1.3
\N2 MNP reliable mode. The ISOmod em attempts to connect with th e MNP protocol. If unsuccessful, the
call is dropped. Compression is controlled by %Cn.
\N3 V.42 auto-reliable—The ISOmodem attempts to connect with the V.42 protocol. If unsuccess-
ful, the MNP protocol is attempted. If unsuccessful, wire mode is attempted. Compression is
controlled by %Cn.
\N4 V.42 (LAPM) reliable mod e (o r dr op call) —Sa me as \N3 except that the ISOmodem drops the call
instead of connecting in MNP or wire mode. Compression is controlled by %Cn.
\N5 V.42 and MNP reli able m ode - The ISOm odem attempts to connect with V.42. If unsu ccessful, MNP
is attempted. If MNP is unsuccessful, the call is dropped. Wiremode is not attempted. Compression
is controlled by %Cn.
\Pn Parity type is automatically set in autobaud mode.
\P0 Even
\P1 Space1
\P2 Odd
\P3 Mark.
\Qn Modem-to-DTE flow control.
\Q0 Disable all flow control—This may only be used if the DTE speed and the line (DCE) speed are guar-
anteed to match throughout the call.
\Q2 Use CTS only.
\Q3 Use RTS/CTS.
\Q4 Enable XON/XOFF flow control for modem-to-DTE interface. Does not enable modem-to-modem
flow control.
\Tn DTE rate2
\T0 300 bps
\T1 600 bps
\T2 1200 bps
Table 42. Extended AT\ Command Set (Continued)
Command Action
Notes:
1. When in autobaud mode, \B0, \B1, and \P1 is not detected automatically. The combinatio n of \B2 and \P3 is detecte d.
This is compatible with seven data bit s, no p arity, two stop bits. Seven data bit s, no parity, one stop bit may be forced by
sending AT\T17\B1.
2. After changing the baud rate, the result code OK is sent at the old DTE rate. Subsequent commands must be sent at
the new rate. If the ISOmodem is configured in autobaud mode, AT commands \T0 through \T15 lock the new baud rate
and disable autobaud. To eliminate any possibility of a race condition between the receipt of the result code and the
changing of the UART speed, CTS is de-asserted while the result code is being sent until after the rate has been
successfully changed. The host should send the \T command and wait for the OK response. After OK has been
received, the host may send data at the new rate as soon as CTS is asserted. The \T command should be the last
command sent in a multi-command line and may not be used on the same command line as :U or :R commands. If it is
not, the OK from the \T command is sent at the old DTE rate, and other result codes are sent at the new DT E rate.
3. The autobaud feature does not de tect this rate.
4. Default is \T16 if autobaud is selected by reset-strap option; otherwise default is \T9 (19.2 kbps).
AN93
Rev. 1.3 83
\T3 2400 bps
\T4 4800 bps
\T5 7200 bps
\T6 9600 bps
\T7 12.0 kbps3
\T8 14.4 kbps.
\T9 19.2 kbps4
\T10 38.4 kbps
\T11 57.6 kbps
\T12 115.2 kbps
\T13 230.4 kbps
\T14 245.760 kbps3
\T15 307.200 kbps
\T16 Autobaud On4
\T17 Autobaud Off. Lock at current baud rate.
\U
In UART mode:
1. Causes a low pulse (25 ms) on RI and DCD
2. Makes INT the inverse of ESC
3. Makes RTS the inverse of CTS
In parallel or SPI mode, causes a low pulse (25 ms) on INT.
This command terminates with RESET and does not generate an OK message.
\Vn Connect message type.
\V0 Report connect and protocol message.
\V2 Report connect message only (exclude protocol message).
\V4 Report connect and protocol message with both upstr eam and downstream connect rates.
Table 42. Extended AT\ Command Set (Continued)
Command Action
Notes:
1. When in autobaud mode, \B0, \B1, and \P1 is not detected automatically. The combinatio n of \B2 and \P3 is detecte d.
This is compatible with seven data bit s, no p arity, two stop bits. Seven data bit s, no parity, one stop bit may be forced by
sending AT\T17\B1.
2. After changing the baud rate, the result code OK is sent at the old DTE rate. Subsequent commands must be sent at
the new rate. If the ISOmodem is configured in autobaud mode, AT commands \T0 through \T15 lock the new baud rate
and disable autobaud. To eliminate any possibility of a race condition between the receipt of the result code and the
changing of the UART speed, CTS is de-asserted while the result code is being sent until after the rate has been
successfully changed. The host should send the \T command and wait for the OK response. After OK has been
received, the host may send data at the new rate as soon as CTS is asserted. The \T command should be the last
command sent in a multi-command line and may not be used on the same command line as :U or :R commands. If it is
not, the OK from the \T command is sent at the old DTE rate, and other result codes are sent at the new DT E rate.
3. The autobaud feature does not de tect this rate.
4. Default is \T16 if autobaud is selected by reset-strap option; otherwise default is \T9 (19.2 kbps).
AN93
84 Rev. 1.3
The connect messages shown in Table 43 are sent when link negotiation is complete.
Table 43. Result Codes
Numeric1Meaning Verbal Response X0 X1 X2 X3 X4 X5
0 Command was successful OK X X X X XX
1Link established at 300 bps
or higher CONNECT X X X X XX
2 Incoming ring detected RING X X X X XX
3 Link drop pe d NO CARRIER X X X X XX
4 Command failed ERROR X X X X XX
5 Link established at 1200 CONNECT 1200 X X X XX
6 Dial tone not present NO DIALTONE X XX
7 Line busy BUSY X XX
8 Remote not answering NO ANSWER2XXXXXX
9 Ringback detected RINGING X
10 Link established at 2400 CONNECT 2400 X X X XX
11 Link established at 4800 CONNECT 48003XXXXX
12 Link established at 9600 CONNECT 96003XXXXX
14 Link established at 19200 CONNECT 192004XXXXX
15 Link established at 7200 CONNECT 72003XXXXX
16 Link established at 12000 CONNECT 120003XXXXX
17 Link established at 14400 CONNECT 144003XXXXX
18 Link established at 16800 CONNECT 168004XXXXX
19 Link established at 21600 CONNECT 216004XXXXX
20 Link established at 24000 CONNECT 240004XXXXX
21 Link established at 26400 CONNECT 264004XXXXX
22 Link established at 28800 CONNECT 288004XXXXX
23 Link established at 31200 CONNECT 312004XXXXX
24 Link established at 33600 CONNECT 336004XXXXX
30 Caller ID mark detected CIDM X X X X XX
31 Hookswitc h flas h de te cted FLASH X X X X XX
Notes:
1. Numeric mode: Result code <CR>.
2. Response for ATDn@mmm is silence is not found.
3. This message is supported only on the Si24 93, Si2457, Si2434, and Si2415.
4. This message is supported only on the Si2493, Si2457, and Si2434.
5. X is not precede d by <CR><LF>.
6. This message is supported only on the Si2493 and Si2457.
7. V.44 with data compression disabled (+DS = 0) emits this result cod e.
8. If data compression is disabled (+DS = Q), the modem returns the message PROTOCOL:V42.
AN93
Rev. 1.3 85
32 UK CID State Tone Alert
Signal detected STAS XXXXXX
33 Overcurrent condition X5XXXXXX
40 Blacklist is full BLACKLIST FULL (enabled
via S42 register) XXXXXX
41 Attempted number is black-
listed. BLACKLISTED (enabled via
S42 register) XXXXXX
42 No phone line present NO LINE (enabled via %Vn
commands) XXXXXX
43 Telephone line is in use LINE IN USE (enabled via
%Vn commands) XXXXXX
44 Polarity reversal detected POLARITY REVERSAL
(enabled via G modifier) XXXXXX
45 Polarity reversal NOT
detected NO POLARITY REVERSAL
(enabled via G modifier) XXXXXX
52 Link established at 56000 CONNECT 560006XXXXX
60 Link established at 32000 CONNECT 320006XXXXX
61 Link established at 48000 CONNECT 480006XXXXX
63 Link established at 28000 CONNECT 280006XXXXX
64 Link established at 29333 CONNECT 293336XXXXX
65 Link established at 30666 CONNECT 306666XXXXX
66 Link established at 33333 CONNECT 333336XXXXX
67 Link established at 34666 CONNECT 346666XXXXX
68 Link established at 36000 CONNECT 360006XXXXX
69 Link established at 37333 CONNECT 373336XXXXX
70 No protocol PROTOCOL: NONE Set with \V0 command.
75 Link established at 75 CONNECT 75 X X X XX
77 V.42 protocol PROTOCOL: V427Set with \V0 command.
79 V.42bis protocol PROTOCOL: V42bis3Set with \V0 command.
Table 43. Result Codes (Continued)
Numeric1Meaning Verbal Response X0 X1 X2 X3 X4 X5
Notes:
1. Numeric mode: Result code <CR>.
2. Response for ATDn@mmm is silence is not found.
3. This message is supported only on the Si24 93, Si2457, Si2434, and Si2415.
4. This message is supported only on the Si2493, Si2457, and Si2434.
5. X is not precede d by <CR><LF>.
6. This message is supported only on the Si2493 and Si2457.
7. V.44 with data compression disabled (+DS = 0) emits this result cod e.
8. If data compression is disabled (+DS = Q), the modem returns the message PROTOCOL:V42.
AN93
86 Rev. 1.3
80 MNP2 protoc ol PROTOCOL:
ALTERNATE, +CLASS 2 Set with \V command.
81 MNP3 protoc ol PROTOCOL:
ALTERNATE, +CLASS 3 Set with \V command.
82 MNP4 protoc ol PROTOCOL:
ALTERNATE, +CLASS 4 Set with \V command.
83 MNP5 protoc ol PROTOCOL:
ALTERNATE, +CLASS 53Set with \V command.
84 V.44 protocol PROTOCOL: V.448Set with +DR command
90 Link established at 38666 CONNECT 386666XXXXX
91 Link established at 40000 CONNECT 400006XXXXX
92 Link established at 41333 CONNECT 413336XXXXX
93 Link established at 42666 CONNECT 426666XXXXX
94 Link established at 44000 CONNECT 440006XXXXX
95 Link established at 45333 CONNECT 453336XXXXX
96 Link established at 46666 CONNECT 466666XXXXX
97 Link established at 49333 CONNECT 493336XXXXX
98 Link established at 50666 CONNECT 506666XXXXX
99 Link established at 52000 CONNECT 520006XXXXX
100 Link established at 53333 CONNECT 533336XXXXX
101 Link established at 54666 CONNECT 546666XXXXX
102 DTMF dial attempted on a
pulse dial only line UN-OBTAINABLE NUMBER X X X X XX
Table 43. Result Codes (Continued)
Numeric1Meaning Verbal Response X0 X1 X2 X3 X4 X5
Notes:
1. Numeric mode: Result code <CR>.
2. Response for ATDn@mmm is silence is not found.
3. This message is supported only on the Si24 93, Si2457, Si2434, and Si2415.
4. This message is supported only on the Si2493, Si2457, and Si2434.
5. X is not precede d by <CR><LF>.
6. This message is supported only on the Si2493 and Si2457.
7. V.44 with data compression disabled (+DS = 0) emits this result cod e.
8. If data compression is disabled (+DS = Q), the modem returns the message PROTOCOL:V42.
AN93
Rev. 1.3 87
Table 44. Disconnect Codes
Disconnect Code Reason
8002 Handshake stalled.
8 No dial tone detected.
8008 No line available.
9 No loop current detected.
8009 Parallel phone pickup disconnect.
A No ringback.
B Busy signal detected.
D V.42 requested disconnect.
E MNP requested disconnect.
10 Drop-dead timer disconnect.
8014 Loop-current loss.
8017 Remote modem requested disconnect.
8018, 8019 Soft-reset command received.
1a V.42 Protocol error.
1b MNP Protocol error.
801c Loss-of-carrier disconnect.
801e Long-space disconnect.
801f Character-abort disconnect.
802a Rate request failed.
802b Answer modem energy not detected.
802c V.8 negotiation failed.
2d TX data timeout.
AN93
88 Rev. 1.3
5.6. S Registers
S registers are typically used to set modem configuration parameters during initialization and are not usually
changed during normal modem operation. S-register values other than defaults must be written via the ATSn=x
command after every reset event. S registers are specified as a decimal value (S1 for example), and the contents
of the register are also decimal numbers. Table 45 lists the S registers available on the ISOmodem, their functions,
default values, ranges of values, and units.
Many S registers are industry standards, such as S0 (number of rings for auto answer), S1 (ring count), and S2
(escape character) among others. However, there are usually variations in the function (and availability) of S
registers from one chipset to another or from one chipset manufacturer to another. These variations are due to a
combination of feature availability and choices made during the chip design. It is prudent to verify the compatibility
of S-register functions, defaults, ranges, and values when adapting the ISOmodem to an existing design that uses
another chipset. This simple step can save time and help speed product development. If a particular S register is
not available on the ISOmodem, the register may not be necessary, or the function of the S register may be
available with the use of U registers (discussed later) or through an AT command.
Table 45. S-Register Descriptions
Definition
S Register
(Decimal) Function Default
(Decimal) Range Units
0 Automatic answer—This value represent s the number
of rings the ISOmodem must detect before answering
a call. 0 disables auto answer.
0 0–255 rings
1 Ring counter—Counts rings received on current call. 0 0–255 rings
2 ESC code character 43 (+) 0–255 (ASCII)
3 Carriage return character 13 (CR) 0–255 (ASCII)
4 Linefeed character 10 (LF) 0–255 (ASCII)
5 Backspace character 08 (BS) 0–255 (ASCII)
6 Dial tone wait timer—This timer sets the number of
seconds the ISOmodem wait s be fore bl ind dialin g and
is only active if blind dialing is enabled (X0, X1, X3).
02 0–255 seconds
7 Carrier wait timer—This timer starts when dialing is
completed. It sets the number of seconds the modem
waits without carrier before hanging up and the num-
ber of seconds the modem waits for ringback when
originating a call before hanging up. The register also
sets the nu mber of seconds the answer to ne continues
while using the AT*Y2A command.
80 0–255 seconds
8 Dial pause timer for “,” and “<” dial command modifiers 02 0–255 seconds
9 Carrier presence timer—Time the remote modem car-
rier must be detected before activating or reactivating
DCD (carrier loss debounce time).
06 1–255 0. 1 second
AN93
Rev. 1.3 89
10 Carrier loss timer—The time a remote modem carrier
must be lost before the ISOmodem disconnects. Set-
ting this timer to 255 disables the timer, and the
modem does not time out and disconnect. If S10 is
less than S9, even a moment ary loss of carrier causes
a disconnect. Use for V.22bis and lower data rates.
14 1–255 0. 1 second
12 Escape code guard timer—Minimum guard time
before and after +++ to recognize a valid escape
sequence.
50 10–255 0.02 second
14 Wait for dial tone delay timer. This timer starts when
the W command is executed in the dial string. 12 0–255 seconds
24 Sleep inactivity time—This is the time the modem
operates in normal power mode with no activity on the
UART, parallel port, SPI port, or telephone line before
entering the low-power sleep mode and waking on
ring. The modem remains in the normal power mode,
regardless of activity, if the timer is set to 0.
0 0–255 seconds
30 Disconnect activity timer—Sets the length of time that
the modem stays online before disconnecting with no
activity on the UART, parallel port, SPI port, or tele-
phone line (ring, hookswitch flash, or Caller ID). This
feature is disabled if set to 0.
0 0–255 minutes
38 Hang up dela y time—Maximum de lay between rece ipt
of the ATH0 command and ha ng up. If tim e out occur s
before all data can be sent, the NO CARRIER (3)
result code is sent. An OK response is sent if all data
are transmitted prior to time out. This register applies
to V.42 mode only. S38=255 disables time out, and the
modem only disconnects if data are successfully sent
or carrier lost.
20 0–255 seconds
40 Data Pattern - Dat a pattern genera ted dur ing &T4 and
&T5 transmit tests.
0 – All spaces (0s)
1 – All marks (1s)
2 – Random data
002
Table 45. S-Register Descriptions (Continued)
Definition
S Register
(Decimal) Function Default
(Decimal) Range Units
AN93
90 Rev. 1.3
41 V.34 symbol rate - Symbol rate for V.34 when using
the &T4 and &T5 comm a nd s.
0 – 2400 symbols/second
1 – 2743 symbols/second
2 – 2800 symbols/second
3 – 3000 symbols/second
4 – 3200 symbols/second
5 – 3429 symbols/second
A valid combination of symbol rate (S41) and data rate
(&G) must be selected.
Symbol Rate Allowable Data Rates
2400 2400 – 21600
2743 4800 – 26400
2800 4800 – 26400
3000 4800 – 28800
3200 4800 – 31200
3429 4800 – 33600
005
42 Blacklisting—The ISOmodem does not dial the same
number more than two times in S44 seconds. An
attempt to dial a third time within S44 seconds results
in a BLACKLISTED result code. If the blacklist mem-
ory is full, any dial to a new number will result in a
BLACKLIST FULL result code. Numbers are added to
the blacklist only if the modem connection fails. The
%B command lists the numbers on the blacklists.
0 – disable d
1 – enabled
0 (disabled) 0–1
43 Dial attempts to blacklist.
When blacklisting is enabled with S42, this value con-
trols the number of dial attempts that result in a num-
ber being blacklisted.
404
44 Blacklist Timer
Period during which blacklisting is active 180 0–255 seconds
50 Minimum on-hook time—Modem remains on-hook for
S50 seconds. Any attempt to go off-hook is delayed
until this timer expires.
3 0–255 seconds
51 Number to start checking for an outside PBX line. 1 0–9
Table 45. S-Register Descriptions (Continued)
Definition
S Register
(Decimal) Function Default
(Decimal) Range Units
AN93
Rev. 1.3 91
5.7. U Registers
U registers (user-access registers) are 16-bit registers written by the AT:Uhh command and read by the AT:R (read
all U registers) command or AT:Rhh (read U-register hh) command. See the AT command list in Table 39 on
page 59. All values associated with the U registers, the address, and the value written to or read from the register
are hexadecima l.
Some U regis ters are reser ved and no t available to t he user. Therefore, the re are gaps in the a vailable U-re gister
address sequence. Additionally, some bits within available U registers are reserved. Any attempt to write to a non-
listed U register or to write a reserved bit can cause u npredicta ble modem operation.
There are two types of U registers. The first represents a single 16-bit term, such as a filter coefficient, threshold,
delay, or other quantity. These registers can be read from or written to as a single 16-bit value. T h e se co nd typ e o f
U register is bit mapped. Bit-mapped registers are also written and/or read in hexadecimal, but each bit or
combination of bits in the register represents an independent value. These individual bits are used to enable or
disable features and indicate states. Bits in these registers can be read/write, read only, reserved, or they may be
required to always be set to a certain valu e. Pa y p art icu lar attention when writing to bit-mapped r egisters to e nsure
no reserved bits are overwritten. When changing bits in a U register with reserved bits, use a read-modify-write
procedure: read the register value with AT:R; modify only the desired bits, then write the new value with AT:U. This
will ensure the reserved bits are not altered. All U registers revert to their default settings after a reset.
The U registers can be broken into three groups: call progress (U0–U33, U49–U4C), dialing (U37–U48), line
interface, and extended functions (U4D–UA9). Table 46 lists the available U registers, a brief description, and their
default value s. Table 47 summarizes the sign als and va lue s av aila ble in th e bit -m a pp ed re gis ter s. Cou nt ry-sp ecific
register values are presented in "6.2. Country-Dependent Setup" on page 133. All default settings are chosen to
meet FCC requirements.
Table 46. U-Register Descriptions
Register Address
(Hex) Name Description Default
Value
U00 0x0000 DT1A0 Dial-tone detection filters stage 1 biquad coefficients. 0x0800
U01 0x0001 DT1B1 0x0000
U02 0x0002 DT1B2 0x0000
U03 0x0003 DT1A2 0x0000
U04 0x0004 DT1A1 0x0000
U05 0x0005 DT2A0 Dial-tone detection filters stage 2 biquad coefficients. 0x00A0
U06 0x0006 DT2B1 0x6EF1
U07 0x0007 DT2B2 0xC4F4
U08 0x0008 DT2A2 0xC000
U09 0x0009 DT2A1 0x0000
U0A 0x000A DT3A0 Dial-tone detection filters stage 3 biquad coefficients. 0x00A0
U0B 0x000B DT3B1 0x78B0
U0C0x000CDT3B2 0xC305
U0D0x000DDT3A2 0x4000
U0E 0x000E DT3A1 0xB50A
AN93
92 Rev. 1.3
U0F 0x000F DT4A0 Dial-tone detection filter stage 4 biquad coefficients. 0x0400
U10 0x0010 DT4B1 0x70D2
U11 0x0011 DT4B2 0xC830
U12 0x0012 DT4A2 0x4000
U13 0x0013 DT4A1 0x80E2
U14 0x0014 DTK Dial-tone detection filter output scaler. 0x0009
U15 0x0015 DTON Dial-tone detection ON threshold. 0x00A0
U16 0x0016 DTOF Dial-tone detection OFF threshold. 0x0070
U17 0x0017 BT1A0 Busy-tone detection filters stage 1 biquad coefficients. 0x0800
U18 0x0018 BT1B1 0x0000
U19 0x0019 BT1B2 0x0000
U1A 0x001A BT1A2 0x0000
U1B 0x001B BT1A1 0x0000
U1C 0x001C BT2A0 Busy-tone detection filter stage 2 biquad coefficients. 0x00A0
U1D 0x001D BT2B1 0x6EF1
U1E 0x001E BT2B2 0xC4F4
U1F 0x001F BT2A2 0xC000
U20 0x0020 BT2A1 0x0000
U21 0x0021 BT3A0 Busy-tone detection filter stage 3 biquad coefficients. 0x00A0
U22 0x0022 BT3B1 0x78B0
U23 0x0023 BT3B2 0xC305
U24 0x0024 BT3A2 0x4000
U25 0x0025 BT3A1 0xB50A
U26 0x0026 BT4A0 Busy-tone detection filter stage 4 biquad coefficients. 0x0400
U27 0x0027 BT4B1 0x70D2
U28 0x0028 BT4B2 0xC830
U29 0x0029 BT4A2 0x4000
U2A 0x002A BT4A1 0x80E2
U2B 0x002B BTK Busy-tone detection filter output scaler. 0x0009
U2C 0x002C BTON Busy-tone detection ON threshold. 0x00A0
U2D 0x002D BTOF Busy-tone detection OFF threshold. 0x0070
Table 46. U-Register Descriptions (Continued)
Register Address
(Hex) Name Description Default
Value
AN93
Rev. 1.3 93
U2E 0x002E BMTT Busy cadence minimum total time in seconds multiplied by 7200. 0x0870
U2F 0x002F BDLT Busy cadence delta in seconds multiplied by 7200. 0x25F8
U30 0x0030 BMOT Bu sy ca de n ce m inim u m on time in second s mu ltip lie d by 72 0 0. 0x0438
U31 0x0031 R MTT Ringback cadence minimum total time in seconds multiplied by
7200. 0x4650
U32 0x0032 RDLT Ringback cadence delta in seconds multiplied by 7200. 0xEF10
U33 0x0033 RMO T Ringback cadence minimum on time in seconds multiplied by
7200. 0x1200
U34 0x0034 DTWD Window to look for dial tone in seconds multiplied by 1000. 0x1B58
U35 0x0035 DMOT Minimum dial tone on time in seconds multiplied by 7200. 0x2D00
U37 0x0037 PD0 Number of pulses to dial 0. 0x000A
U38 0x0038 PD1 Number of pulses to dial 1. 0x0001
U39 0x0039 PD2 Number of pulses to dial 2. 0x0002
U3A 0x003A PD3 Number of pulses to dial 3. 0x0003
U3B 0x003B PD4 Number of pulses to dial 4. 0x0004
U3C 0x003C PD5 Number of pulses to dial 5. 0x0005
U3D 0x003D PD6 Number of pulses to dial 6. 0x0006
U3E 0x003E PD7 Number of pulses to dial 7. 0x0007
U3F 0x003F PD8 Number of pulses to dial 8. 0x0008
U40 0x0040 PD9 Number of pulses to dial 9. 0x0009
U42 0x0042 PDBT Pulse dial break time (ms units). 0x003D
U43 0x0043 PDMT Pulse dial make time (ms units). 0x0027
U45 0x0045 PDIT Pulse dial interdigit time (ms units). 0x0320
U46 0x0046 DTPL DTMF power level. 0x09B0
U47 0x0047 DTNT DTMF on time (ms units). 0x0064
U48 0x0048 DTFT DTMF off time (ms units). 0x0064
U49 0x0049 RGFH Ring frequency high (2400/maximum valid ring frequency in Hz). 0x0022
U4A 0x004A RGFD Ring frequency delta = (2400/minimum valid ring frequency in Hz)
– (2400/maximum valid ring frequency in Hz) 0x007A
U4B 0x004B RGMN Ring cadence minimum ON time in seconds multiplied by 2400. 0x0258
U4C 0x004C RGNX Ring cadence maximum total time in seconds multiplied by 2400. 0x6720
U4D 0 x0 04 D MOD1 This is a bit-m ap p ed register. 0x0000
Table 46. U-Register Descriptions (Continued)
Register Address
(Hex) Name Description Default
Value
AN93
94 Rev. 1.3
U4E 0x004E PRDD Pre-dial delay-time—(ms units). 0x0000
U4F 0x004F FHT Flash hook time—(ms units). 0x01F4
U50 0x0050 LCDN Loop current debounce on time (ms units). 0x015E
U51 0x0051 LCDF Loop current debounce off time (ms units). 0x00C8
U52 0x0052 XMTL Transmit level adjust (1 dB units) 0x0000
U53 0x005 3 MOD2 This is a bit-mapped regist er. 0x0000
U62 0x0062 DAAC1 This is a bit-mapped register. 0x0804
U63 0x0063 DAAC3 This is a bit-mapped register. 0x0003
U65 0x0065 DAAC4 This is a bit-mapped register. 0x00E0
U66 0x0066 DAAC5 This is a bit-mapped register. 0xXX40
U67 0x006 7 ITC1 This is a bit-map p ed register. 0x0008
U68 0x006 8 ITC2 This is a bit-map p ed register. 0x0000
U6A 0x006A ITC4 This is a bit-mapped register (read only). N/A
U6C 0x0 06 C LVS This is a bit-mapped regist er. 0xXX00
U6E 0x006E CK1 This is a bit-mapped register. 0x1FA0
U6F 0x006F PTME This is a bit-mapped register. 0x0001
U70 0x007 0 IO0 T h is is a bit-map p ed regi st er. 0x2700
U71 0x007 1 IO1 T h is is a bit-map p ed regi st er. 0x0000
U76 0x007 6 GEN1 This is a bit-mapped register. 0x3240
U77 0x0077 GEN2 This is a bit-mapped register. 0x401E
U78 0x007 8 GEN3 This is a bit-mapped register. 0x0000
U79 0x0079 GEN4 This is a bit-mapped register. 0x00XX
U7A 0x007A GENA This is a bit-mapped register. 0x0000
U7C 0 x0 07 C GENC This is a bit-map p ed reg ist er. 0x0000
U7D 0 x0 07 D GEND This is a bit-map p ed reg ist er. 0x4001
U80 0x008 0 This is a bit-mapp ed regi st er. 0x0168
U83 0x0083 NOLN No-Line threshold. If %V1 is set, NOLN sets the threshold for
determination of line present vs. line not present. 3 V/bit 0x0001
U84 0x0084 LIUS Line-in-use threshold. If %V1 is set, LIUS sets the threshold for
determination of line in use vs. line not in use. 3 V/bit 0x0007
U85 0x0085 NLIU Line-in-use/No-line threshold. If %V2 is set, NLIU sets the thresh-
old reference for the adaptive algorithm (see %V2). 3 V/bit 0x0000
Table 46. U-Register Descriptions (Continued)
Register Address
(Hex) Name Description Default
Value
AN93
Rev. 1.3 95
U86 0x0086 V9AGG V.90 rate reduction in 1333 bps units. The V.90 connect rate is
reduced by this amount during negotiation. 0x0000
U87 0x0087 SAMCO This is a bit-mapped register 0x0000
U9F10x009F SASF SAS frequency detection. 0x0000
UA020x00A0 SC0 SAS cadence 0. Sets the duration of the first SAS tone (ms). 0x001E
UA120x00A1 SC1 SAS cadence 1. Sets the duration of the first SAS silence (ms). 0x0000
UA220x00A2 SC2 SAS cadence 2. Sets the duration of the second SAS tone (ms). 0x0000
UA320x00A3 SC3 SAS cadence 3. Sets the duration of the second SAS silence (ms). 0x0000
UA420x00A4 SC4 SAS cadence 4. Sets the duration of the third SAS tone (ms). 0x0000
UA520x00A5 SC5 SAS cadence 5. Sets the duration of the third SAS silence (ms). 0x0000
UA620x00A6 SC6 SAS cadence 6. Sets the duration of the fourth SAS tone (ms). 0x0000
UA720x00A7 SC7 SAS cadence 7. Sets the duration of the fourth SAS silence (ms). 0x0000
UA820x00A8 SC8 SAS cadence 8. Sets the duration of the fifth SAS tone (ms). 0x0000
UA920x00A9 SC9 SAS cadence 9. Sets the duration of the fifth SAS silence (ms). 0x0000
UAA20x00AA V29MODE This is a bit-map p ed reg ist er. 0x0000
UIDA 0x01DA Delay (ms) to the response to an answer tone 0x0000
Notes:
1. See Table 100 for details.
2. See Table 101 for details.
Table 46. U-Register Descriptions (Continued)
Register Address
(Hex) Name Description Default
Value
AN93
96 Rev. 1.3
5.7.1. U-Register Summary
Table 47. Bit-Mapped U-Register Summary
Register Name Bit
15 Bit
14 Bit
13 Bit
12 Bit
11 Bit
10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
U4D MOD1 TOCT NHFP NHFD CLPD FTP SPDM GT18 GT55 CTE
U53 MOD2 REV
U54 CALT OHCT
U62 DAAC1 OHS2 FOH DL
U63 DAAC3 LCS ACT
U65 DAAC4 PWM
GPDN PDL
U66 DAAC5 FDT
U67 ITC1 MINI ILIM DCR OHS DCV RZ RT
U68 ITC2 BTE ROV BTD
U6A ITC4 SQ1 SQ0 OVL
U6C LVS LVS
U6E CK1 R1 HRS
U6F PTME PTMR
U70 IO0 HES TES CIDM OCDM PPDM RIM DCDM CID OCD PPD RI DCD
U71 IO1 COMP PRT
U76 GEN1 OHSR FACL DCL ACL
U77 GEN2 IST HOI AOC OHT
U78 GEN3 IB IS
U79 GEN4 LVCS
U7A GENA ARMLO DOP ADD HDLC FAST
U7C GENC RIGPO RIG-
POEN
U7D GEND NLM TCAL CALD ATZD FDP
U80 XMITDEL V22F
CDF V22FCDEL
U87 SAM MINT SERM FSMS XMTT
UAA V29MODE RUDE V29ENA
AN93
Rev. 1.3 97
5.7.2. U00–U16 (Dial Tone Detect Filter Registers)
U00–U13 set the biquad filter coefficients for stages 1–4 of the dial-to ne dete ctio n filter. U14, U15, and U16 set the
dial-tone detection output scaler, on threshold and off threshold, respectively.
The thresholds are empirically found scalars and have no units. These coefficients are programmed as 16-bit,
two’s complement values. All A0 values are in 3.12 format where 1.0 = 0x1000. All other coefficients are in 1.14
format where 1.0 = 0xC000. Default settings meet FCC requirements. Additionally, register U34 sets the time
window in which a dial tone can be detected. Register U35 sets the minimum time within the U34 window that the
dial tone must be present for a valid detection. See "5.7.5. U34–U35 (Dial Tone Timing Register)" for more
information.
Table 48. U0–U16 (Dial Tone Registers)
Register Name Description Default
U00 DT1A0
Dial-tone detection filters stage 1 biquad coefficients.
0x0800
U01 DT1B1 0x0000
U02 DT1B2 0x0000
U03 DT1A2 0x0000
U04 DT1A1 0x0000
U05 DT2A0
Dial-tone detection filters stage 2 biquad coefficients.
0x00A0
U06 DT2B1 0x6EF1
U07 DT2B2 0xC4F4
U08 DT2A2 0xC000
U09 DT2A1 0x0000
U0A DT3A0
Dial-tone detection filters stage 3 biquad coefficients.
0x00A0
U0B DT3B1 0x78B0
U0C DT3B2 0xC305
U0D DT3A2 0x4000
U0E DT3A1 0xB50A
U0F DT4A0
Dial-tone detection filters stage 4 biquad coefficients.
0x0400
U10 DT4B1 0x70D2
U11 DT4B2 0xC830
U12 DT4A2 0x4000
U13 DT4A1 0x80E2
U14 DTK Dial-tone detection filter output scaler. 0x0009
U15 DTON Dial-tone detection ON threshold. 0x00A0
U16 DTOF Dial-tone detection OFF threshold. 0x0070
AN93
98 Rev. 1.3
5.7.3. U17–U30 (Busy Tone Detect Filter Registers)
U17–U2A set th e biq u ad f ilter c oe fficients for stages 1 –4 of the busy-tone detection filter, and U2B, U2C, and U2D
set the busy-tone detection output scalar on threshold and off threshold, respectively (see Table 49). The
thresholds are empirically found scalars and have no units. These coefficients are programmed as 16-bit, two’s
complement values. All A0 values are in 3.12 format where 1.0 = 0x1000. All other coefficients are in 1.14 format
where 1.0 = 0xC000. Default values meet FCC requirements.
U2E, U2F, and U30 set the busy cadence minimum total time (BMTT), busy cadence delta time (BDLT), and busy
cadence min imum on time (BM OT), resp ectively. Settin gs for b usy cade nces ar e specifie d as a ra nge for ON time
(minimum ON and maximum ON) and a range for OFF time (minimum OFF and maximum OFF). The three values
represented by BMTT, BDLT, and BMOT fully specify these ranges. BMTT (minimum total time) is equal to the
minimum ON time plus the minimum OFF time. BDLT (allowable delta) is equal to the maximum total time
(maximum ON time plus the maximum OFF time) minus the minimum total time (BMTT). BMOT is the minimum
ON time. The values stored in the registers are the hexadecimal representation of the times in seconds multiplied
by 7200. Default values meet FCC requirements (see Figure 26, “Cadence Timing,” on page 100).
Table 49. U17–U30 (Busy Tone Detect Registers)
Register Name Description Default
U17 BT1A0
Busy-tone detection filter stage 1 biquad coefficients.
0x0800
U18 BT1B1 0x0000
U19 BT1B2 0x0000
U1A BT1A2 0x0000
U1B BT1A1 0x0000
U1C BT2A0
Busy-tone detection filter stage 2 biquad coefficients.
0x00A0
U1D BT2B1 0x6EF1
U1E BT2B2 0xC4F4
U1F BT2A2 0xC000
U20 BT2A1 0x0000
U21 BT3A0
Busy-tone detection filter stage 3 biquad coefficients.
0x00A0
U22 BT3B1 0x78B0
U23 BT3B2 0xC305
U24 BT3A2 0x4000
U25 BT3A1 0xB50A
U26 BT4A0
Busy-tone detection filter stage 4 biquad coefficients.
0x0400
U27 BT4B1 0x70D2
U28 BT4B2 0xC830
U29 BT4A2 0x4000
U2A BT4A1 0x80E2
U2B BTK Busy-tone detection filter output scaler. 0x0009
U2C BTON Busy-tone detection ON threshold. 0x00A0
U2D BTOF Busy-tone detection OFF threshold. 0x0070
U2E BMTT Busy cadence minimum total time in seconds multiplied by 7200. 0x0870
U2F BDLT Busy cadence delta time in seconds multiplied by 7200. 0x25F8
U30 BMOT Busy cadence minimum on time in seconds multiplied by 7200. 0x0438
AN93
Rev. 1.3 99
Table 50. BPF Biquad Values
BPF Biquad
Values Stage 1 Stage 2 Stage 3 Stage 4 Output Scalar
310/510 (Default Busy and Dial Tone)
A0 0x0800 0x00A0 0x00A0 0x0400
B1 0x0000 0x6EF1 0x78B0 0x70D2
B2 0x0000 0xC4F4 0xC305 0xC830
A2 0x0000 0xC000 0x4000 0x4000
A1 0x0000 0x0000 0xB50A 0x80E2
K 0x0009
300/480
A0 0x0800 0x01A0 0x01A0 0x03A0
B1 0x0000 0x6E79 0x7905 0x7061
B2 0x0000 0xC548 0xC311 0xC8EF
A2 0x0000 0xC000 0x4000 0x4000
A1 0x0000 0x0000 0xA7BE 0x8128
K 0x0009
320/630
A0 0x0078 0x0210 0x0330 0x0330
B1 0x67EF 0x79E0 0x68C0 0x7235
B2 0xC4FA 0xC252 0xCB6C 0xC821
A2 0x4000 0x4000 0x4000 0x4000
A1 0x0214 0x8052 0xB1DC 0x815C
K 0x0008
325/550
A0 0x0100 0x0600 0x0600 0x0600
B1 0x71CC 0x78EF 0x69B9 0x68F7
B2 0xC777 0xC245 0xC9E4 0xC451
A2 0x4000 0x4000 0x4000 0x4000
A1 0x81C2 0x806E 0xAFE9 0xFCA6
K 0x0009
100/550
A0 0x0800 0x01C0 0x01C0 0x01C0
B1 0x7DAF 0x5629 0x7E3F 0x6151
B2 0xC1D5 0xCF51 0xC18A 0xDC9B
A2 0x4000 0xC000 0x4000 0x4000
A1 0x8000 0x0000 0xB96A 0x8019
AN93
100 Rev. 1.3
Example: The United States specifies a b usy tone “o n” time from 450 to 5 50 ms and “of f” time fro m 450 to 550 ms.
Thus the minimum “on” and “off” times are 0.45 s each , and the maximum “on” and “of f” times are 0.55 s each.
The busy cadence minimum on time is 0.45 s, thus BMOT = 0.45 x 7200 = 0x0CA8.
The busy cadence minimum total time is 0.45 s + 0.45 s = 0.9 s, thus BMTT = 0.9 x 7200 = 6480 = 0x1950.
The maximum total time is 0.55 s + 0.55 s = 1.1 s, thus BDLT = (1.1 0.9) x 7200 = 1440 = 0x05A0.
The hexadecimal values are stored in the appropriate registers using the AT:Uhh command. Detection parameters
can be wider than the minimum specifications. This is often done in the modem defaults and other suggested
settings so that one set of parameters can cover a broad number of different country requirements.
Figure 26. Cadence Timing
K 0x0005
400/440
A0 0x0020 0x0200 0x0400 0x0040
B1 0x7448 0x7802 0x73D5 0x75A7
B2 0xC0F6 0xC0CB 0xC2A4 0xC26B
A2 0x4000 0x4000 0x4000 0x4000
A1 0x96AB 0x8359 0x8D93 0x85C1
K 0x0008
Table 50. BPF Biquad Values (Continued)
BPF Biquad
Values Stage 1 Stage 2 Stage 3 Stage 4 Output Scalar
Maximum Cadence
TOTAL Time
Minimum Cadence
TOTAL Time
(BMTT)
(RMTT)
Cadence Delta
Time (BDLT)
(RDLT)
Minimum ON Time
(BMOT)
(RMOT)
AN93
Rev. 1.3 101
5.7.4. U31–U33 (Ringback Cadence Registers)
U31, U32, and U33 set the ringback cadence minimum total time (RMTT), ringback cadence delta time (RDLT),
and ringback cadence minimum on time (RMOT) (see Table 51). Country-specific settings for ringback cadences
are specified as a range for “on” time (minimum “on” and maximum “on”) and a range for “off” time (minimum “off”
and maximum “off”). The three values represented by RMTT, RDLT, and RMOT fully specify these ranges. RMTT,
minimum total time, is equal to the minimum “on” time plus the minimum “off” time. RDLT (allowable delta) is equal
to the maximum total time (maximum “on” time p lus the maximum “of f time) minus the min imum tot al time (RMTT ).
RMOT is the minimum “on” time. T he values stored in the re gisters are the hexa decimal represent ation of the times
in seconds multiplied by 7200. Default values meet FCC requirements.
5.7.5. U34–U35 (Dial Tone Timing Register)
U34 determines the period of tim e the modem at tempts to detect a dial tone. U35 sets the time within this window
that the dial tone must be present in order to return a valid dial tone detection. The value stored in U35 is the
hexadecimal representation of the time in seconds multiplied by 7200.
The value in U34 is the hexadecimal representation of the time in seconds multiplied by 1000. The time window
represented in U34 must be larger than the dial tone present time represented in register U35 (see Table 52).
5.7.6. U37–U45 (Pulse Dial Registers)
Registers U37–U40 set the number of pulses to dial digits 0 through 9, respectively (see Table 53). The values are
entered in hexadecimal format with digit 0 having a default setting of 0x000A (10 decimal) pulses, digit 1 having a
default setting of one pulse, digit 2 having a default setting of two pulses, etc. This pulse arrangement is used
throughout most of the world. There are, however, two exceptions—New Zealand and Sweden. New Zealand
requires 10 pulses for 0, nine pulses for 1, eight pulses for 2, etc. Sweden, on the other hand, requires one pulse
for 0, two pulses for 1, etc. Complete information is provided in "6.2. Country-Dependent Setup" on page 133.
U42, U43, and U45 set the pulse dial break time (PDBT), make time (PDMT), and interdigit delay time (PDIT),
respectively. The values are entered in hexadecimal format and represent milliseconds. The default values meet
FCC requirements. The default dialing speed is 10 pps. See "6.2. Country-Dependent Setup" on page 133 for
Japanese 20 pps dialing configuration.
Table 51. Ringback Cadence Registers
Register Name Description Default
U31 RMTT Ringback cadence minimum total time in seconds multiplied by 7200. 0x4650
U32 RDLT Ringback cadence delta in seconds multiplied by 7200. 0xEF10
U33 RMOT Ringback cadence minimum on time in seconds multiplied by 7200. 0x1200
Table 52. Dial Tone Timing Register
Register Name Description Default
U34 DTWD Window to look for dial tone in seconds multiplied by 1000 0x1B58
U35 DMOT M inimum dial tone on time in seconds multiplied by 7200 0x2D00
AN93
102 Rev. 1.3
5.7.7. U46–U48 (DTMF Dial Registers)
U46–U48 set the DTMF power level, DTMF “on” time, and DTMF “of f” time, respectively (see Table 54). The DTMF
power levels are set in register U46 as a 16-bit value with the format 0x0HL0, where H is a hexadecimal number
(0–F) for the dBm level of the high-frequency DTMF tone, and L is a hexadecimal number (0–F) for the dBm level
of the low-frequency DTMF tone. The power level is specified in –1 dB units. The DTMF output level is 0 d Bm for
each tone if U46 = 0x0000 and –15 dBm if U46 = 0x0FF0. The default power level is –9 dBm for the high tone and
–11 dBm for the low tone.
U47 and U48 set the DTMF “on” time (DTNT) and “off” time (DTFT) respectively as hexadecimal values in
millisecond s. Th e de fa u lt valu e fo r bo th U4 7 an d U4 8 is 100 ms, and the range of values is 0–1000 ms.
Table 53. Pulse Dial Registers
Register Name Description Default
U37 PD0 Number of pulses to dial 0. 0x000A
U38 PD1 Number of pulses to dial 1. 0x0001
U39 PD2 Number of pulses to dial 2. 0x0002
U3A PD3 Number of pulses to dial 3. 0x0003
U3B PD4 Number of pulses to dial 4. 0x0004
U3C PD5 Number of pulses to dial 5. 0x0005
U3D PD6 Number of pulses to dial 6. 0x0006
U3E PD7 Number of pulses to dial 7. 0x0007
U3F PD8 Number of pulses to dial 8. 0x0008
U40 PD9 Number of pulses to dial 9. 0x0009
U42 PDBT Pulse dial break time (ms units). 0x003D
U43 PDMT Pulse dial make time (ms units). 0x0027
U45 PDIT Pulse dial interdigit time (ms units). 0x0320
Table 54. DTMF Dial Registers
Register Name Description Default
U46 DTPL DTMF power level 0x09B0
U47 DTNT DTMF “on” time (ms units). 0x0064
U48 DTFT DTMF “off” time (ms units). 0x0064
AN93
Rev. 1.3 103
5.7.8. U49–U4C (Ring Detect Registers)
U49, U4A, U4B, and U4C set a representation of the maximum ring frequency, the difference between the highest
and lowest valid ring frequency, minimum ring “on” time, and maximum ring cadence time (time on plus time off),
respectively. U49 is set as the hexadecimal equivalent of 2400 divided by the highest valid ring frequency in Hz.
U4A is set as the hexadecimal equivalent of 2400 divided by the minimum valid ring frequency in Hz minus 2400
divided by the maximum valid ring frequency in Hz.
U4B and U4C are set as the hexadecimal equivalents of the times in seconds multiplied by 2400. The default high
ring frequency, RGFH (U49), is 70.6 Hz. The default ring ca dence minimum on time, RGMN, is 250 ms. The default
ring cadence maximum total time is 11 seconds.
5.7.9. U4D (Modem Control Register 1—MOD1)
U4D is a bit-mapped register that controls various telephony functions, including the enabling of calling and guard
tones and loop current verification prior to dialing. All bits in this register are read/wr ite , except for bits, 15, 13, 9, 6,
2, and 0, which are reserved. These bits must not be written with a logic 1, and reading them returns a value of 0
(see Table 56).
Bit 14 (TOCT) = 0 (default) turns off the calling tone after answer tone detection and allows the calling-tone
cadence to complete before proceeding with the connect sequence (per V.25). TOCT = 1 turns off the calling tone
200 ms after answer-tone detection begins.
Bit 12 (NHFP) = 0 (default) disables hook-flash during pulse dialing (ignores & and ! dial modifiers). NHFP = 1
enables hook-flash during pulse dialing.
Bit 11 (NHFD) = 0 (default) disables hook-flash during dial string (tone or pulse). NHFD = 1 enables hook-flash
during (tone or pulse) dial string.
Bit 10 (CLPD) = 0 (default) Modem ignores loop current prior to dialing. If CLPD = 1, modem measures loop
current prior to dialing. This bit is used in conjunction with the loop-current debouncing registers, U50 and U51
(LCDN and LCDF), and U4D bit 1 (LLC). U50 provides a delay between the modem going off-hook and the loop
current measurement. The delay allows the loop current to stabilize prior to the measurement. Some countries
require the presence of loop current prior to dialing.
Bit 8 (FTP) = 0 (default) allows mixing tone and pulse dialing in a single AT command. FTP = 1 forces the first
dialing mode encountered (tone or pulse) for the entire AT command.
Bit 7 (SPDM) = 0 (default) causes the modem to pulse dial if an ATDP command is given. If this bit is set to 1 the
pulse dial modifie r, P, is ignored , an d th e dia l com m an d is carrie d ou t as a to ne dial (ATD T).
Bit 5 (GT18) = 0 (default) disables the 1800 Hz guard tone. GT18 = 1 enables the 1800 Hz guard tone.
Bit 4 (GT55) = 0 (default) disables the 550 Hz guard tone. GT55 = 1 enables the 550 Hz guard tone.
Bit 3 (CTE) = 0 (default) disables and CTE = 1 enables the calling tone referred to in bit 14 (TOCT). The calling
tone is a 1300 Hz tone in originate mode with a 0.5–0.7 sec on/1.5–2.0 sec off cadence as describe d in V.25.
Table 55. Ring Detect Registers
Register Name Description Default
U49 RGFH Ring frequency high (2400/maximum valid ring frequency in Hz). 0x0022
U4A RGFD Ring frequency delta (2400/minimum valid ring frequency in Hz) –
(2400/maximum valid ring frequency in Hz). 0x007A
U4B RGMN Ring cadence minimum “on” time in seconds multiplied by 2400. 0x0258
U4C RGNX Ring cadence maximum total time in seconds multiplied by 2400. 0x6720
AN93
104 Rev. 1.3
Table 56. Register U4D Bit Map
Bit Name Function
15 Reserved Read returns zero.
14 TOCT Turn Off Calling Tone.
0=Disable.
1=Enable.
13 Reserved Read returns zero.
12 NHFP No Hook-Flash Pulse.
0=Disable.
1=Enable.
11 NHFD No Hook-Flash Dial.
0=Disable.
1=Enable.
10 CLPD Check Loop Current Before Dialing.
0=Ignore.
1=Check.
9 Reserved Read returns zero.
8 FTP Force Tone or Pulse.
0=Disable.
1=Enable.
7 SPDM Skip Pulse Dial Modifier.
0=No.
1=Yes.
6 Reserved Read returns zero.
5GT181800 Hz Guard Tone Enable (UK Guard Tone)
0=Disable.
1=Enable.
4GT55550 Hz Guard Tone Enable.
0=Disable.
1=Enable.
3CTECalling Tone Enable.
0=Disable.
1=Enable.
2 Reserved Read returns zero.
1 Reserved Read returns zero.
0 Reserved Read returns zero.
AN93
Rev. 1.3 105
5.7.10. U4E (Pre-Dial Delay Time Register)
U4E sets the delay time b etween the ATD command carriag e return and when the modem goe s of f-hook and st art s
dialing (either tone or pulse—see Table 57). This delay establishes the min imum time the modem must be on-ho ok
prior to going off-hook and dialing. France, Sweden, Switzerland, and Japan have minimum on-hook time
requirements. The value stored in U4E is the desired delay in milliseconds minus 100 ms. The 100 ms offset is due
to a delay inherent in the dialing algorithm. "6.2. Country-Dependent Setup" on page 133 contains information
about country-specific values for this register.
5.7.11. U4F (Flash Hook Time Register)
U4F sets the time the modem goes on-hook as a result of a “!” or “&” dial modifier (flash hook). The value is stored
in the register in milliseconds (see Table 58).
5.7.12. U50–U51 (Loop Current Debouncing Registers)
U50 (LCDN) sets the loop-current debouncing “on” time, and U51 (LCDF) sets the loop current debouncing “off”
time (see Table 59). Loop-current debounce is used in cases where the presence or absence of loop current must
be determined prior to taking some action. For example, it may be necessary to verify the presence of loop current
prior to dialing. The loop current debounce on-time, LCDN, is used to program a delay in measuring loop current
after the modem goes off-hook to ensure the loop current is stable prior to the measurement. LCDN is used in
conjunction with U4D [10] (CLPD) and U4D [0] (LCN). Loop current debounce off-time, LCDF, is used in
conjunction with LCN to delay the modem going on-hook if loop current is interrupted during a connection. The
values are stored in the registers in milliseconds. The default value for LCDN is 350 ms. The default value for
LCDF is 200 ms. The range of values for both registers is 0–65535 ms.
5.7.13. U52 (Transmit Level Register)
U52 (XM T L) ad justs the modem transmit level referred to a 600 line (see Table 60). The default value of 0x0000
results in a –9.85 dBm transmit level. U52 can be used to decrease this level in –1 dBm steps approximately to the
minimum modem receive threshold of –48 dBm with a register value of 0x0026.
Table 57. Pre-Dial Delay Timer Register
Register Name Description Default
U4E PRDD Pre-dial delay-time after ATD command that modem waits to dial (ms
units). The ISOmodem stays on-hook during this time. 0x0000
Table 58. Flash Hook Time Register
Register Name Description Default
U4F FHT Flash hook time (ms units). 0x01F4
Table 59. Loop Current Debounce Registers
Register Name Description Default
U50 LCDN Loop-current debouncing “on” time (ms units). 0x015E
U51 LCDF Loop-current debouncing “off” time (ms units). 0x00C8
Table 60. Transmit Level Register
Register Name Description Default
U52 XMTL Transmit level adjust (–1 dB units). 0x0000
AN93
106 Rev. 1.3
5.7.14. U53 (Modem Control Register 2)
U53 (MOD2) is a bit-mapped register with all bits, except bit 1 5, reserved (see Table 6 1). The AT&H11 comm and
sets the V.23 1200/75 bps mode. Bit 15 (REV) is used to enable V.23 reversing. This bit is set to 0 (disable
reversing) by default. Setting this bit to 1 enables reversing transmit and receive speeds. Reversing is initiated by
the modem in the “origination mode” (low speed TX and high speed RX). U53 resets to 0x0000 with a power-on or
manual reset.
5.7.15. U54 (Calibration Timing Register)
U54 (CALT) sets the time between off-hook and DAA calibration if timed calibration is enabled with the TCAL bit
(U7D, bit 12). The OHCT bits (15:8) control this timin g in 32 ms units.
5.7.16. U62–U66 (DAA Control Registers)
U62 (DAAC1) is a bit-mapped register with only bits 1, 2, and 8 available. All other bits in this register are reserved
and must be set according to Table 63. U62 resets to 0x0804 with a power-on or manual reset.
Bit 1 (DL) = 1 or 0 causes digital loopback to occu r b eyon d the isolation capacitor interface out to and including the
analog hybrid circuit. Setting bit 1 high enables digital loopback across the isolation barrier only. This setting is
used in conjunction with the AT&H and AT&T3 commands. DL must be set low for normal operation.
Bit 2 (FOH) controls when automatic Si3018/10 calibration takes place.
Table 61. U53 Bit Map
Bit Name Function
15 REV V.23 Reversing.
0=Disable.
1=Enable.
14:0 Reserved Read returns zero.
Table 62. U54 Bit Map
Bit Name Function
15:8 OHCT Off-hook to calibration timing in 32 ms units. If enabled with TCAL (U7D bit 12), this value
controls the time between off-hook and DAA calibration.
7:0 Reserved Must be set to zero.
Table 63. U62 Bit Map
Bit Name Function
15:12 Reserved Must be set to zero.
11 Reserved Must be set to one.
10:9 Reserved Must be set to zero.
8OHS2On-Hook Spee d 2
This bit, in combination with the OHS bit and the SQ[1:0] bits on-hook speeds specified
are measured from the time the OH bit is cleared until loop current equals zero.
OHS OHS2 SQ[1:0] Mean On-Hook Speed
0 0 00 Less than 0.5 ms
0 1 00 3 ms ±10% (meets ETSI standard)
1 X 11 26 ms ±10% (meets Australia spark quenching spec)
Note: The +GCI command does not modify OHS2, SQ[1:0].
7Full 1 0=Disable
1 = Enable. +3.2 dBm maximum into 600 (Si3018 only)
6:5 Reserved Must be set to zero.
AN93
Rev. 1.3 107
U63 (DAAC2) is a bit-mapped regis ter with bits 3:0 reserved an d should be modifie d through a read-mo dify-write
operation.
Bits 15:8 (LCS) function as an 8-bit unsigned measure of off-hook loop current with a resolution of 1.1 mA/bit.
Bits 7:4 (ACT) set the ac termination the Si3010/Si3018 presents to Tip and Ring. The ac impedance setting is
dictated by the certification requirements for the country in which the modem is used.
U65 (DAAC4) is a bit-mapped register with bits 3:0, 12:5, and 15 reserved. Bits 1:0 and 6:5 must not be changed.
Bit 14 (PWMG) = 0 (default) provides 0 dB gain to AOUT. PWMG = 1 provides a 6 dB gain to AOUT.
Bit 13 (PDN) = 0 enables the device for normal operation. PDN = 1 completely powers down both the Si3018/10
and the Si24xx chips. The bit takes effect at the carriage return of the AT command setting this bit high. Once this
bit is set, the modem must be reset via the RESET pin to become active. When reset, the modem reverts to the
default settings.
Bit 4 (PDL) = 0 (default) enables the device for normal operation. PDL = 1 powers the Si3018/10 down. This is a
test mode typically used for board-level debugging, not normal modem operation.
U65 resets to 0x00E0 with a power-on or manual reset.
4 Reserved Must be set to zero.
3 Reserved Must be set to zero.
2 FOH 0 = Automatic calibration timer set to 426 ms.
1=Automatic calibration timer set to 106 ms.
1DL0=Digital loopback beyond ISOcap interface.
1 = Digital loopback across ISOcap interface only.
0 Reserved Must be set to zero.
Table 64. U63 Bit Map
Bit Name Function
15:8 LCS Off-hook loop current (1.1 mA/b it).
7:4 ACT AC Termination Select
ACT AC Termination
0000 Real 600
0011 220 + (820 || 120 nF) and 220 + (820 || 115 nF)
0100 370 + (620 || 310 nF)
1111 Global complex impedance
3:0 Reserved Read returns 0011.
Table 65. U65 Bit Map
Bit Name Function
15 Reserved Read returns zero.
14 PWMG PWM gain.
0=No gain.
1 = 6 dB gain applied to AOUT.
13 PDN Power Down.
0=Normal.
1 = Power Down.
Table 63. U62 Bit Map (Continued)
AN93
108 Rev. 1.3
U66 (DAAC5) is a bit-mapped register with all bits except bit 6 reserved (see Table 66).
Bit 6 (FDT) is a read-only bit that reports whether or not an isolation capacitor frame lock is established. FDT is
typically used for board-level debugging and is not used during normal modem operation.
U66 resets to 0xXX40 with a power-on or manual reset assuming framelock is established. The upper byte is
variable.
5.7.17. U67– U 6 A (In te r na ti o na l Co nf ig u r at io n Re gi st ers )
International Configuration Registers include U67 through U6A. These are bit-mapped registers that control
international configuration settings, such as dc and ac termination, ringer impedance and detection, current limit,
and billing tone protection.
U67 is a bit-m appe d regis ter with bits 5: 4, 8, 11:10 , and 15:14 reserved (see Table 67). U67 resets to 0x0008 with
a power-on or man ua l res et .
Bit 7 (DCR) is used to set the dc line termination of the modem. DCR = 0 is the normal mode of operation with dc
impedance selec te d by U6 7 [3:2] (DCV).
When DCR = 1, the device presents a dc line impedance of 80 0 ,which can be used to enhance operation with a
parallel phone, for improved low line voltage performance, and for overload. This bit must be set to 0 w hen the
modem is on-hook. See "6.2.1. DC Termination" on page 133 for details.
Bit 6 (OHS) is used to control the speed with which the modem drops the line. The default setting, OHS = 0,
causes the modem to go from the off-hook state (drawing loop current) to the on-hook state (not drawing loop
current) quickly. This operation is acceptable in many countries. However, some countries, such as Italy, South
Africa, and Australia, have spark quenching requirements. Spark quenching can be accomplished by placing a
resistor and a capacitor across the hookswitch or by controlling the off-hook to on-hook transition speed to prevent
excessive voltage buildup. Slowly reducing the loop current to zero fulfills the spark quenching requirement without
the extra components. Setting OHS = 1 causes the hookswitch to turn off the loop current with a ramp instead of a
step.
Bits 3:2 (DCV) select the dc termination for the modem. DCV = 00 is the lowest voltage mode supported on the
ISOmodem. DCV = 01 is the next lowest voltage mode. See "6.2.1. DC Termination" on page 133 for details.
Bit 1 (RZ) = 0 (default) allows ringer impedance to be determined by external components. This impedance is
typically 800–900 k. RZ = 1 enables on-chip synthesis of a lowe r ring er impeda nce for countrie s, such as Polan d,
South Africa, and South Korea.
Bit 0 (RT), Ring Threshold, is used to satisfy various country ring detect requirements. R T = 0 (default) sets the ring
threshold for 11–22 VRMS. RT = 1 sets the ring threshold for 17–33 VRMS. Signals below the lower level of the
range are not detected. Signals above the upper level of the range are always detected.
12:7 Reserved Read returns zero.
6:5 Reserved Do not change (use read-modify-write).
4PDLLine-Side Chip Power Down.
0=Normal operation.
1 = Places the Si3018/10 in Power-Down mode.
3:2 Reserved Read returns zero.
1:0 Reserved Do not change (use read-modify-write).
Table 65. U65 Bit Map (Continued)
AN93
Rev. 1.3 109
Table 66. U66 Bit Map
Bit Name Function
15:7 Reserved Read returns zero.
6FDTFrame Detect.
0 = ISOcap frame lock not established
1 = ISOcap frame lock established
5:0 Reserved Read returns zero.
Table 67. U67 Bit Map*
Bit Name Function
15:14 Reserved Read returns zero.
13:12 MINI[1:0] Minimum Operational Loop Current.
Adjusts the minimu m loop curre nt at which the DAA can op erate. In creasing the min imum ope r-
ational loop current can improve signal headroom at lower Tip-Ring voltages.
MINI[1:0] Min Loop Current
00 10 mA
01 12 mA
10 14 mA
11 16 mA
11:10 Reserved Read returns zero
9ILIMCurrent Limiting Enable.
0 = Current limiting mode disabled.
1 = Current limiting mode enabled. This mode limits loop current to a maximum of 60 mA per
the legacy TBR21 standard.
8 Reserved Read returns zero.
7 DCR DC Impedance Selection.
0=50 dc termination slope is selected. This mode should be used for all standard
applications.
1=800 dc termination is selected.
6OHSOn-Hook Speed.
See OHS2.
5:4 Reserved Read returns zero.
3:2 DCV[1:0] Tip-Ring Voltage Adjust.
These bits adjust the voltage on the DCT pin of the line-side device, which affects the Tip-Ring
voltage on the line . L ow-voltage countries should use a lo we r Tip-Ring voltage. Ra isin g the Tip-
Ring voltage can improve signal headroom.
DCV[1:0] DCT Pin Voltage
00 3.1 V
01 3.2 V
10 3.35 V
11 3.5 V
1RZRin ger Impedance.
0 = Maximum (high) ringer impedance.
1 = Synthesize ringer impedan ce. C15, R14, Z2, and Z3 mu st not be inst alled whe n setting this
bit.
AN93
110 Rev. 1.3
U68 is a bit-mapped register with bits 15:3 reserved. Reading these bits returns zero. Bits 4 and 2:0 are all read/
write (see Table 68).
Bit 2 (BTE) = 0 (default) is disabled by defau lt. When BT E = 1, the DAA automatically responds to a collapse of the
line-derived power supply during a billing tone event. When off-hook, if BTE = 1 and BTD goes high, the dc
termination is increased to 800 to reduce loop current. If BTE and U70 [9] (RIM) are set to 1, an interrupt from
U70 [1] (RI) also occurs when BTD goes to 1 (high).
Bit 1 (ROV) is normally 0 and is set to 1 to report an excess ive receive input level. ROV is cleared by writing it to 0.
Bit 0 (BTD) = 0 normally but is set to 1 if a billing tone is detected. BTD is cleared by writing a 0 to BTD.
U68 resets to 0x0000 with a power-on or manual reset.
U6A is a bit-mapped register with bits 15:3 and 1:0 reserved. Reading these bits returns zero. Bit 2 is read-only
(See Table 69).
Bit 2 (OVL) is a read-only bit that detect s a re ceive over load. This bit is simila r to U68 [1] (ROV) except OVL clears
itself after the overload condition is removed.
0RTRinger Threshold Select.
Used to satisfy country requirements on ring detection. Signals below the lower level do not
generate a ring detection; signals above the upper level are guaranteed to generate a ring
detection.
0 = 11 to 22 V rms.
1 = 17 to 33 Vrms.
Table 68. U68 Bit Map*
Bit Name Function
15:8 Reserved Read returns zero.
7:3 Reserved Do not modify.
2BTEBilling Tone Protect Enable.
0=Disabled.
1=Enabled.
1ROVReceive Overload.
0=Normal receive input level.
1=Excessive receive input level.
0BTDBilling Tone Detected.
0=No billing to n e.
1=Billing tone detected (cleared by writing 0).
Table 67. U67 Bit Map* (Continued)
Bit Name Function
AN93
Rev. 1.3 111
5.7.18. U6C (Line-Voltage Status Register)
U6C contains the line voltage status register, LVS, and resets to 0xXX0 0. Bits 7:0 are reserved, and a read returns
zero.
5.7.19. U6E–U7D (Modem Control and Interface Registers)
Modem Control and Interface registers include registers U6E, U70–U71, and U76–U79. These are bit-mapped
registers that control functions including TX/RX gain, clocking, I/O, SSI codecs, intrusion detection, and LVCS (line
voltage current sense).
U6E controls the clockout divider. Bits 15:13 and 7:0 are reserved. U6E resets to 0x1FA0 with a power-on or
manual reset (see Table 71).
Bits[12:8] (R1) control the R1 clockout divider. A 196.608 MHz clock signal passes through a divide-by (R1+1)
circuit to derive the CLKOUT signal. If R1 = 00000, CLKOUT is disabled. R1 is set at a default value of 11111,
which results in CLKOUT = 2.048 MHz. The CLKOUT adjustment range (15 < R1 < 30) is 12.288 MHz to
6.342194 MHz.
U6F contains the parallel/SPI port receive FIFO interrupt timer and resets to 0x00FF.
Bits [15:8] are reserved and should not be written to any value other than 0.
Bits[7:0] set the period of an internal timer that is reset whenever the parallel or SPI port receive FIFO (Hardware
Interface Register 0) is read. If the internal timer expires with data in the receive FIFO, an interrupt is generated
regardless of the state of RXF (Hardware Interface Register 1 bit 7). This ensures that the host always removes all
receive data from the parallel or SPI port receive FIFO even if RXF is not set.
Table 69. U6A Bit Map*
Bit Name Function
15 Reserved Read returns zero.
14 SQ1 Spark quenching. See OHS2.
13 Reserved Read returns zero.
12 SQ0 Spark quenching. See OHS2.
11:3 Reserved Read returns zero.
2 OVL Overload Detected.
This bit has the same function as ROV, but clears itself after the ove rload has bee n remove d.
This bit is only masked by the off-hook counter and is not affected by the BTE bit.
1 Reserved Read only; value indeterminate.
0 Reserved Read returns zero.
Table 70. U6C Bit Map
Bit Name Function
15:8 LVS[7:0] Line Voltage Status.
Eight-bit signed, two’s complement number representing the on-hook or off-hook tip-ring volt-
age. Each bit represents 1 V. Polarity of the voltage is represented by the MSB (sign bit). A
value of zero indicates a measured voltage of less than 3 V.
7:3 Reserved Read returns zero.
2:0 RXG[2:0] Global Receive Gain in dB (Default = 000b).
AN93
112 Rev. 1.3
U70 controls escape and several indicator and detector masks and provides several read-only status bits (see
Table 73). Bits 5, 6, 7, and 14 are reserved.
Bits 4:0 are read only, and bits 15 and 13:8 are read/write. U70 resets to 0x2700 with a power-on or manual reset.
Bit 15 (HES) = 0 (default) disables the hardware escape pin.
Setting HES = 1 enables ESC. When ESC is enab led, escape from the dat a mode to the command mode occurs at
the rising edge of the ESC pin. Multiple escape options can be enabled simultaneously.
For example, U70 [13] (TES) = 1 by default, which enables the +++ escape. If HES is also set (HES = 1), either
escape method works. Additionally, the 9th bit escape can also be enabled with the AT\B6 command or through
autobaud.
Bit 13 (TES) = 1 (default) enables the standard +++ escape sequence. To successfully escape from data mode to
command mode using +++, ther e must be no UAR T, parallel or SPI activity (depending on the interface mo de) for a
guard period determined by register S12, both before and after the +++. S12 can be set for a period ranging from
200 ms to 5.1 seconds.
Bit 12 (CIDM) = 0 (default) prevents a change in U70 [ 4] (CID), Caller ID, from triggering an interrupt. If CIDM = 1,
an interrupt is triggered with a low-to-high transition on CID.
Bit 11 (OCDM) = 0 (default), an interrupt is not triggered with a change in OCD. If OCDM = 1, a low-to-high
transition on U70 [3] (OCD), overcurrent detect, triggers an interrupt. This bit must be set for Australia and Brazil.
Bit 10 (PPDM) = 1 (default) causes a low-to-high transition in U70 [2] (PPD), parallel phone detect, to trigger an
interrupt. If PPDM = 0, an interrupt is not triggered with a change in PPD.
Bit 9 (RIM) = 1 (default) causes a low-to-high transition in U70 [1] (RI), ring indicator, to trigger an interrupt. If
RIM = 0, an interrupt is not triggered with a change in RI.
Bit 8 (DCDM) = 1 (default) causes a high-to-low transition in U70 [0] (DCD), data carrier detect, to trigger an
interrupt. If DCDM = 0, an interrupt is not triggered with a change in DCD.
Bits 4:0 are the event indicators described below. All are “sticky” (i.e., remain high after the event) and are cleared
upon an interrupt read command (AT:I).
Table 71. U6E Bit Map
Bit Name Function
15:13 Reserved Do not modify.
12:8 R1 CLKOUT Divider (Default = 11111b)
7:5 Reserved Read returns 101b. Do not modify.
4 HRS Hardware Reset
0 = Normal operation.
1 = Device will perform hardware reset. All registers will return to default settings.
3:0 Reserved Read returns 0. Do not modify.
Table 72. U6F Bit Map
Bit Name Function
15:8 Reserved Do not modify
7:0 PTMR Parallel/SPI Port Receive FIFO Interrupt Timer (in milliseconds)
AN93
Rev. 1.3 113
Table 73. U70 Bit Map
Bit Name Function
15 HES Enable Hardware Escape Pin.
0=Disable.
1 = Enable.
14 Reserved Read returns zero.
13 TES Enable Escape (+++).
0=Disable.
1=Enable.
12 CIDM Caller ID Mask.
0=Change in CID does not affect INT.
1 = CID low-to-high transition triggers INT.
11 OCDM Overcurrent Detect Mask.
0=Change in OCD does not affect INT.
(“X” result code is not generated in command mode.)
1 = OCD low-to-high transition triggers INT.
(“X” result code is generated in command mode.)
10 PPDM Parallel Phone Detect Mask.
0 = Change in PPD does not affect INT.
1=PPD low-to-high transition triggers INT.
9RIMRing Indicator Mask.
0 = Change in RI does not affect INT.
1=RI low-to-high transition triggers INT.
8DCDMData Carrier Detect Mask.
0 = Change in DCD (U70, bit 0) does not affect INT.
1=DCD high-to-low transition triggers INT.
7:5 Reserved Read returns zero.
4CIDCaller ID (sticky).
1 = Caller ID pream ble det ec te d; da ta to follow. Clears on :I read.
3OCDOvercurrent Detect (sticky).
1 = Overcurrent condition has occurred. Clears on :I read.
2 PPD Parallel Phone Detect (sticky).
1 = Parallel phone detected since last off-hook event. Clears on :I read.
1RIRing Indicator (stick y).
1 = Ring event has occurred (ISOmodem on-hook). Clears on :I read.
0DCDData Carrier Detect (status).
1 = carrier detected (inverse of DCD pin).
AN93
114 Rev. 1.3
Reset settings = 0x0000
U76 provides control for parallel phone detect (PPD) intrusion parameters including the off-hook sample rate
(OHSR), absolute current level with modem off-hook (ACL), ACL update from LVCS (FACL), and the difference in
current between ACL and LVCS that triggers an off-hook intrusion detection (DCL). All bits in U76 are read/write
(see Table 74).
OHSR[15:9] sets the off-hook loop current sampling interval for intrusion algorithms in 40 ms units. The default
value is 25 (1 s). The minimum recommended value is 5 (200 ms). The interval can be adjusted to much lower
values; however, the likelihood of false intrusion detections increases sharply with intervals of less than 520 ms.
Bit 8 (FACL). If FACL = 0 (default), the ACL register is automatically updated to the LVCS value at the sampling
interval determined by OHSR. This feature is used to e nsure the ACL value is continu ously updated. Upd ating ACL
allows host software to determine the loop current (value returned in ACL) provided the modem is off-hook longer
than the time defined by U77 (IST). Loop current on a particular line can vary over tim e due to a varie ty of factors
including temperature and weather conditions. Updating ACL reduces the probability of false intrusion detection by
ensuring the ACL reference reflects the most recent off-hook conditions. If FACL = 1, a value can be written into
ACL by the host. This value is not updated and remains in the ACL register until overwritten by the host or until
FACL is returned to 0 and updates from LVCS overwrite the stored value. Writing an initial value to ACL eliminates
the possibility of the modem going off-hook for the first time simultaneously with an intrusion and storing the
intrusion loop current in ACL.
Bits 7:5 (DCL) set the differential level between ACL and LVCS that triggers an off-hook PPD interrupt. DCL is
adjustable in 3 mA units. The default value is 2 (6 mA).
Bits 4:0 (ACL): ACL provides a means of detecting a parallel phone intrusion during the time between the modem
going of f-hook an d the U77 [15:12] (IST) time value. If ACL = 0, the ISOmodem has no reference an d must use the
loop current sample from the first off-hook event as a reference for paralle l phone intru sion de te ctio n. Typically, the
host sets ACL to an approximate value and FACL = 0 before the first off-hook event after powerup or reset. This
allows the updated ACL value to be used for subsequent calls and eliminates a potential detection problem if an
intrusion occurs simultaneously when the modem goes off-hook for the first time after a powerup or reset. If
ACL = 0, it is ignored by the off-hook intrusion algorithm. A PPD interrupt is generated if U79 [4:0] (LVCS) is DCL
less than ACL for two consecutive samples. The ISOmodem writes ACL with the contents of LVCS after an
intrusion with the last LVCS value before the intrusion. The default value for ACL is 0.
U76 resets to 0x3240 with a power-on or manual reset (see Table 74).
U71 IO1
Bit D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
Name COMP PRT
Type R/W R/W
Bit Name Function
15:5 Reserved Read returns zero.
4COMP0 – Disables compression (PCM mode) .
1 – Enables linear compression.
3:1 Reserved
0PRT0 – Disables PCM mode.
1 – Enables PCM mode.
AN93
Rev. 1.3 115
U77 is a bit-mapped register that controls parameters relating to intrusion detection and overcurrent detection. U77
resets to 0x401E with a power-on or manual reset (see Table 75).
Bits 15:12 (IST) set the delay between the time the modem goes off-hook and the intrusion detection algorithm
begins. This register has 250 ms increments , and the default value is 4 (1 sec).
Bit 11 (HOI) determines whether the host or modem responds to an intrusion. HOI = 0 (default) prevents the
modem from hanging-up in response to an intrusion without host intervention. In this case, the host monitors
U70 [2] (PPD) and takes the appropriate action when PPD is asserted indicating an intrusion. If HOI = 1, the
modem hangs up immediately and will not go off-hook and dial when an intrusion is detected without host
intervention. If %VN commands are set, HOI also causes the LINE IN USE result code upon PPD interrupt.
Bit 9 (AOC) = 0 (default) disables AutoOvercurrent. If enabled and an overcurrent condition is detected, the dc
termination switches to 800 , thus, reducing the current. If AOC = 0, the overcurrent condition is only reported by
U70 [3] (OCD).
Bits 8:0 (OHT) set the delay between the time the modem goes off-hook and LVCS is read for an overcurrent
condition. The default value for this register is 30 ms (see Table 75).
U78 is a bit-mapped r egister that controls intr usion detection blocking and in trusion susp end. U78 reset s to 0x0000
with a power-on or manual reset (see Table 76).
Bits 15:14 (IB) controls intrusion blocking after dialing has begun. Table 76 defines the bit values and intrusion
blocking.
Bits 7:0 (IS) set the delay between the start of dialing and the start of the intrusion algorithm when IB = 10 (see
Table 76).
Table 74. U76 Bit Map
Bit Name Function
15:9 OHSR Off-Hook Sample Rate for Intrusion Detection (40 ms units).
(1 second default)
8FACLForce ACL.
0=While off-hook, ACL is automatically updated with LVCS value.
1 = While off-hook, ACL saves previously written value.
7:5 DCL Differential Current Level (3 mA units, 6 mA default)
4:0 ACL Absolute Current Level (3 mA unit s, 0 mA default)
Table 75. U77 Bit Map
Bit Name Function
15:12 IST Intrusion Settling Time (250 ms units) 1 second default.
11 HOI Hang-Up On Intrusion.
0=ISOmodem does not automatically hang up after an off-hook PPD interrupt.
1 = ISOmodem automatically hangs up after an off-hook PPD interrupt.
10 Reserved Read returns zero.
9AOCAutoOvercurrent.
0=Disable.
1 = Enable.
8:0 OHT[8:0] Off-Hook Time (1 ms units) 30 ms default.
AN93
116 Rev. 1.3
U79 is a bit-mapped register. Bits 15:6 are reserved.
Bits 5:0 represent the line voltage, loop current, or on-hook line monitor (see Table 77). While the modem is on-
hook, the value in the LVCS register measures loop voltage (see Table 78). This value can be used to determine if
a line is connected or if a para llel phone or other device g oes of f-hook or on -hook. The accuracy of th e LVCS bits is
±20%. When the modem goes off-hook, the value in the LVCS register measures loop current. LVCS can indicate
when a parallel phone or other device goes on-hook or off-hook and detect whether enough loop current is
available for the modem to operate or if an overload condition exists.
The line voltage monitor full scale may be modified by changing R5 as follows:
VMAX =V
MIN + 4.2x(10M+ R5 + 1.78 k) / (R5 + 1.78 k)/5
See Table 78. LVCS is backward-compatible with older ISOmodem revisions. The value is absolute and does not
reflect loop polarity. See U6C (LVS) [15:8] for 1 V/bit resolution and signed, two’s complement format and
U63 (LCS) [15:8] for 1.1 mA/bit loop current measurement. The values for loop voltage and loop current in U79 are
calculated by the modem from the values in U6C and U63 respectively.
U7A is a bit-mapped register. U7A resets to 0x0000. Bits 12, 10:8, and 5:3 are reserved.
Bit 7 (DOP) is used in a method to determine wheth er a phone line support s DTMF or only pulse dialing. See "6.10.
Pulse/Tone Dial Decision" on page 169 for details.
Table 76. U78 Bit Map
Bit Name Function
15:14 IB Intrusion Blocking.
00 =No intrusion blocking.
01 = Intrusion disabled from start of dial to end of dial.
10 = Intrusion disabled from start of dial to IS register time-out.
11 = Intrusion disabled from start of dial to CONNECT XXX, NO DIALTONE, or
NO CARRIER
13:8 Reserved Read returns zero.
7:0 IS Intrusion Suspend (500 ms units) default = 0 ms.
Table 77. Monitor Mode Values
On-Hook Voltage Monitor Mode Off-Hook Current Monitor Mode
00000 = No line connected.
00001 = Minimum line voltage (VMIN = 2.5 V ±0.5 V).
11111 = Maximum line voltage (87 V ±20%)
00000 = No loop current.
00001 = Minimum loop current.
11110 = Maximum loop current.
11111 = Overload (more than 60 mA in legacy TBR21
mode or more than 155 mA in other modes)
Table 78. U79 Bit Map
Bit Name Function
15:6 Reserved Read returns zero.
5:0 LVCS Line Voltage Current Sense.
On-Hook = Voltage Monitor (2.75 V/bit).
Off-Hook = Loop Current Monitor (3 mA/bit).
AN93
Rev. 1.3 117
Bit 6 (ADD) attempts DTMF dial, then falls back to pulse dialing if unsuccessful. The first digit is dialed as DTMF. If
a dial tone is still present after two seconds, this suggests that the DTMF digit was not taken into account by the
central office. In that case, the ISOmodem redials the first digit and remaining digits as pulses. If a dial tone is not
present after two seconds, the ISOmodem assumes that the first DTMF digit was recognized and dials the
remaining digits as DTMF. However, in a typical PBX environment, where dialing a DTMF digit (typically 8 or 9) is
required to obtain an outside line, this method does not give any indication that the outside line can accept TDMF
dialing.
Bit 1 (HDLC) controls whether the normal asynchronous mode (default) is used or the transparent HDLC mode is
enabled. See "5.14. Legacy Synchronous DCE Mode/V.80 Synchronous Access Mode" on page 125 for more
details on these modes.
Bit 0 controls whether the normal ITU/Bellcore modem handshake (d efault) or a special fast-connect handshake is
used. Fast connect is typically used in specialized applications, such as point-of-sale terminals, where it is
important to connect and transfer a small amount of data rapidly (see Table 79).
Table 79. U7A Bit Map
Bit Name Function
15 V29FC Enable V29 Fast Connect; used in conjunction with AT +FCLASS=1.
1 = Enable
0 = Disable
14 CNSMS Chinese EPOS SMS enable
1 = Enable
0 = Disable
13 V29EM Use EM shielding to change direction of half duplex V.29FC.
0 = EM shielding
1) <EM><rrn>=<0x19><0xBC> to receive a V29FC packet.
2) <EM><rtn>=<0x19><0xBD> to send a V29FC packet.
1 = RTS pin toggle.
12 Reserved Read returns zero.
11 ARMLO 0=Normal operation.
1 = Accomodate remote modem with large clock offset, such as 340 ppm. May degrade
training for normal modems; enable only when necessary.
10:8 Reserved Read returns zero.
7DOP0=Normal ATDTW operation.
1 = Use ATDTW for pulse/tone dial detection (see "6.10. Pulse/Tone Dial Decision" on page
169 for details).
6ADDAdaptive Dialing.
1 = Enable
0=Disable
5 Reserved Read returns zero.
4 NEWFC New V.22 handshake enable. This bit is mutually exclusive with bit 0. This bit makes hard-
coded U80 timing unnecessary. Without this bit, the appropriate value in U80 is required.
3:2 Reserved Read returns zero.
*Note: When HDLC or FAST is set, th e \N0 (Wire mode) setting must be used.
AN93
118 Rev. 1.3
U7C is a bit-mapped register with bits 15:5 and bit s 3:1 reserved . U7C reset s to 0x0000 with a power -on o r manual
reset.
Bit 4 (RIGPO) is output on RI pin when U7C [0] (RIGPOEN) = 1. This allows the RI pin to be configured as a
general-purpose output pin un der host processor co ntrol. The RI p in must no t pulled down. Doing so forces the
modem to enter an undocumented emulation mode.
Bit 0 (RIGPOEN)=0 (default) allows the RI pin to indicate a valid ring signal. When Bit 0 = 1, RI outputs the value of
RIGPO (See Table 80).
U7D is a bit-mapped register with bits 15,13:9, and bits 8:2 reserved. U7D resets to 0x4001 with a power-on or
manual reset.
Bit 14 (NLM) = 0 (default) causes the modem to automatically detect loop current absence or loss. When bit
14 = 1, this featur e is disa ble d.
Bit 12 (TCAL) = 0 (default) when set to 1 forces the DAA to calibrate at a programmable time after going off-hook.
The time between going off-hook and the start of calibration is programmed with U54 [15:8] in 32 ms units.
Bit 11 (OHCT) = 0 (default) when set to 1 forces the DAA to calibrate at the start of dialing. Th e first dial char acter
should be a delay (“,”) to prevent interference with the first digit.
Bit 1 (ATZD) = 0 (default) allows the ATZ command to be active. When Bit 1 = 1, the ATZ command is disabled.
Bit 0 (FDP) = 0 (default). FSK data processing stops when the carrier is lost. Unprocessed data are lost. Setting
Bit 0 = 1 causes FSK data processing to continue for up to two bytes of data in the pipelin e after carrier is lost.
1HDLCSynchronous Mode.
0=Normal asynchronous mode.
1 = Transparent HDLC mode.*
0 FAST Fast Connect. This bit is mutu ally exclusiv e with bit 4; only one bit can be enabled at a
given time.
0=Normal modem handshake timing per ITU/Bellcore standards.
1 = Fast-connect modem handshake timing.*
Table 80. U7C Bit Map
Bit Name Function
15:5 Reserved Read returns zero.
4RIGPORI pin
Follow this bit when U7C [0] (RIGPIOEN) = 1.
3:1 Reserved Read returns zero.
0 RIGPOEN 0=RI pin indicat es valid ring signal.
1=RI
pin follows U7C [4] (RIGPO).
Table 79. U7A Bit Map (Continued)
Bit Name Function
*Note: When HDLC or FAST is set, th e \N0 (Wire mode) setting must be used.
AN93
Rev. 1.3 119
5.7.20. U80 (Transmit Delay for V.22 Fast Connect)
U80 controls delay parameters when the modem is in V.22 Fast Connect mode (+MS=V22, AT:U7A,3) and the
server does not respond with a short answer tone prior to scrambled data or HDLC flags. U80 configures the
modem to operate without these tones. Bit 15 turns this function on. After the end of dialing, the modem waits for a
time set by U80 [14:0], then begins transmitting scrambled data (or HDLC Flags) . The delay units are 1/600 s. For
example, to command the modem to begin transmitting three seconds after the end of dialing:
3 x 600 = 1800 = 0x0708. Issue command AT:U80,8708.
This register is only used when U7A[4] = 0.
Table 81. U7D Bit Map
Bit Name Function
15 Reserved Read returns zero.
14 NLM Host software recommended to always set this to bit.
0 = Enables “No Loop Current” Detect.
1 = Disables “No Loop Current” Detect.
13 Reserved Read returns zero.
12 TCAL 0 = Timed calibration disabled.
1 = Timed calibration. The time between off-hook and calibration is set in U54 (OHCT).
11 CALD 0 = No calibration during dial.
1 = Calibrate during dial. It is recommended that the dial string start with “,” to prevent first
digit loss.
10:2 Reserved Read returns zero.
1 ATZD 0=ATZ enabled.
1 = ATZ disabled.
0 FDP 0 = FSK data processing stops when carrier is lost.
1 = FSK data processing continues for two bytes after carrier is lost.
U80 XMITDEL Transmit Delay for V.22 Fast Connect
Bit Name Function
15 V22FCDF 0 = Normal operation (default)
1 = Transmit scrambled data (or HDLC flags) after delay set in bits 14 - 0
14:0 V22FCDEL When V22FCDF = 1, V22FCDEL is the delay between end of dialing and sending
scrambled data (or HDLC flags) in 1/600 s units. Default is 0x0168 (600 ms).
When V22FCDEL = 0 , V22FCDEL is the de lay between ANS tone detected to start of
training.
AN93
120 Rev. 1.3
5.7.21. U87 (Synchronous Access Mode Configuration Register)
U87 SAM Synchronous Access Mode Configuration Options
Bit Name Function
15:11 Reserved Read returns zero.
10 MINT Minimal Transparency
Host software must always set this bit.
0 = Generate two-byte <EM> transparency sequences. This option will use codes
<EM><T5> through <RM><T20> (if possible) for received data cont ainin g two back-t o-
back bytes requiring transparency (Rev C and later).
1 = Generate one-byte <EM>transparency sequences. This option will only use codes
<EM><T1> through <EM><T4> for received data (Rev B and later).
9 SERM Special Error Reporting Mode
0 = Ignore unrecognized in-band commands.
1 = Generate <EM><0x45> (“E” for error) in response to any unrecognized in-band
commands.
8FSMSFramed Sub-Mode Startup
0 = Upon successful connection, enter Transp ar ent Sub-Mo de. An <EM><FLAG>
is required to enter Framed Sub-Mode.
1 = Upon successful connection, immediately enter Framed Sub-Mode. The first
received <EM><err> (from a successful hunt) is transformed into an <EM><flag>.
7:0 XMTT Transmitter Threshold
This value represents the number of bytes befor e a transmission is st ar ted. The fo llow-
ing values are special:
0 The same as ten. Upon receipt of ten bytes, data are transferred. The DTE must
supply a closing flag within the required time or an underrun will occur.
255 The same as infinity, e.g. never start a packet until the closing flag is received.
AN93
Rev. 1.3 121
5.7.22. UAA (V.29 Mode Register)
5.7.23. UIDA Response and Answer Tone Delay Register
This register, which is reset to 0, allows the user to add a delay in increments of milliseconds to the time the
modem wait s before responding to an answer tone. This is usef ul in dealing with non-st andard a nswering modems.
5.8. Firmware Upgrades
The Si24xx ISOmodem family contains an on-chip program ROM that includes the firmware required for the
features listed in the data sheet. Additionally, the ISOmodem 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 ISOmodem program RAM after a
reset using the AT:P command (see Table 39 on page 59). 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
reset. To reload the file after reset or power down, 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 se rially to the ISOmode m. Several patch-loading techniques can be used in different environments. See
the description and Table 82. Whichever technique is used, it is suggested to do AT&T6 to verify the CRC of the
loaded patch.
5.8.1. Method 1 (Fastest)
Send the entire file in quiet mode using a program that waits for a set amount of time after every line. This can
result in load times as short as 0.7 seconds for a 6235-byte patch at 115 kbaud (UART interface mode). The file
transfer should be pr eceded by ATZ or reset and follo wed by ATE0 and ATQ1. After the tra nsfer, perform ATE1 and
ATQ0 as needed. The delay between lines must be increased when using the parallel or SPI interface.
1. Low pulse on RESET signal for at least 5.0 ms.
2. Wait the reset-recovery time.
3. Send ATE0.
4. Wait for OK.
5. Send ATQ1 to the modem.
6. Wait 20 ms.
7. Send AT:PIC (first line of the patch).
8. Wait 20 ms.
...
(n-5) Send AT:PIC0 (last Line of Patch).
(n-4) Wait 20 ms.
(n-3) Send ATQ0 to the modem.
UAA V.29 MODE
Bit Name Function
15:3 Reserved Read returns zero.
2 RUDE 0 = Disables rude disconnect.
1 = Enables rude disconnect.
1V29ENA0 = Disables V.29.
1 = Enables V. 29.
0 Reserved Read returns zero.
AN93
122 Rev. 1.3
(n-2) Wait for OK.
(n-1) Send AT&T6 to the modem.
(n) Wait for OK.
5.8.2. Method 2
Send the entire file using a program that waits for OK after every line. This will require 3.98 seconds for a 6235 byte
patch at 115 kbaud or longer if the OS has latency.
5.8.3. Method 3
For development purposes, send the entire patch file using a program that allows a timed preprogrammed pause
between lines, e.g. HyperTerminal 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.
A CRC can be run on the upgrade file loaded into on-chip Program RAM with the AT&T6 command to verify that
the upgrade was correctly written to the on-chip memory. The CRC value obtained from executing the AT&T6
command should match the CRC value provided with the upgrade code.
5.9. Escape Methods
There are four ways to escape from data mode and return to command mode once a connection is established.
Three of these, +++, “9th Bit”, and the “Escape Pin”, allow the connection to be maintained while one or both
modems are in the command mode. The fourth method is to terminate the connection. The three escape methods
that maintain the connection are combined by a logical OR. For example, if +++ and the “Escape Pin” are both
enabled, either r eturns the mod em to the co mma nd mod e fr om the d ata mode. In parallel or SPI mode, the escap e
pin is not available. Instead the system can set the ESC flag in Hardware Interface Register 1 (HIR1).
While in data mode, an escape to command mode occurs if an escape command is sampled as negated for at
least 60 ms, then sampled asserted for at least 60 ms. The modem is then prepared to accept AT commands,
regardless of whether OK has been sent to the host. If the modem is already in command mode, the modem does
not send OK. The host should always wait for OK before entering the next command after an escape.
When making a new connection, the host must not try to escape between the connect message and the protocol
message. An escape attempt in this interval may fail because the modem is not in data mode until after the
protocol message. In practice, it is difficult to determine the exact boundary between command mode and data
mode. The recommendation is to time the escape command 100 ms low and 100 ms high, and expect that the
modem has transitioned to command mode.
Table 82. Load Technique and Speed Table*
Start Condition Delay
Between
Lines
Load time, 6235-Byte
Patch, 115 kbaud UART Approach Used With
Reset, then
ATE0 and ATQ1 0.5 ms 0.694 Embedded systems
1 ms 0.771 Embedded systems
2 ms 0.925 Embedded systems
5 ms 1.385 Embedded systems
10 ms 2.152 Embedded systems
Reset Wait for OK 3.998 Windows or embedded system where
time precision is worse than 10 ms
Reset 100 ms 15.962 Windows without writing a patch loader
*Note: The delay times do not include the time to empty the UART's possibly long TX buffer. The time quoted is between the
end of transmission of the last character of a line and the start of transmission of the first character of the next line.
AN93
Rev. 1.3 123
The system should then flush the receive buffer 100 ms after the escape command has been removed, send AT,
and wait for OK. This ensures that the modem is in command mode because OK is caused by the AT command
and not by the escape command.
5.9.1. +++ Escape
The +++ escape is enabled by default and is controlled by U70 [13] (TES). There are equal guard time periods
before (leading) and after (trailing) the +++ set by the register S12, during which there must be no interface (UART,
SPI or parallel) activity. If this inactivity criterion is met, the ISOmodem escapes to the command mode at the end
of the S12 time period following the +++. An y activity in the host interface during either the leading or trailing time
period causes the ISOmodem to ignore the escape request and remain in data mode. Timing for this escape
sequence is illustrated in Figure 27.
Figure 27. +++ Escape Timing
5.9.2. “9th Bit” Escape
The “9th Bit” escape mode feature is enabled by sending the AT\B6 command through autobaud, which detects a
9th bit space as “9th bit” escape mode. If this escape method is selected, a 1 detected on the ninth bit in a data
word returns the modem to the command mode. The 9th bit is ignored when the modem is in the command mode.
Timing for this escape sequence is illustrated in Figure 28.
Figure 28. “9th Bit” Escape Timing
5.9.3. “Escape Pin” Escape
The “escape pin is controlled by U70 [15] (HES). This bit is 0 by default, which disables the escape pin, ESC. If
HES is set to a 1, a h igh leve l on the ESC pin ca uses the modem to transition to the on-line command mode. The
ESC pin status is polled by the processor, and there is a latency before OK is received and the modem is in
command mode. The escape pin must be kept active until OK is received. In parallel or SPI interface mode, the
function of the escape pin is replaced by bit 2 in Hardware Interface Register 1, described in "2.2.4.2. Hardware
Interface Register 1" on page 25. Setting that bit high causes the modem to escape to the command mode.
+++
Leading Guard
Time T ra ilin g G u a r d
Time
Gua rd Tim e = S12 (20 msec units)
Default Guard Tim e S12 = 50 (1.0 sec)
Gua rd Tim e R ange = 10–255 (0.2–5.1 sec)
UA RT T im ing for Modem T ransm it Path (9N1 M ode with 9th Bit Escape)
D0 D1 D2 D3 D4 D5 D6 ESCD7 StopStart
CTS
TX
tRTS tCTH
9-B it Da ta
Mode
AN93
124 Rev. 1.3
5.10. Data Compression
The modem can achieve DTE (host-to-ISOmodem) speeds greater than the maximum DCE (modem-to-modem)
speed through the use of a data-compression protocol. The compression protocols available are the ITU-T V.44,
V.42bis, and MNP5 protocols. Data compression attempts to increase throughput by compressing the information
to be sent before actually sending it. The modem is thus able to transmit more data in a given period of time.
Table 83 details the ISOmodem error correction and data compression modes of operation.
5.11. Error Correction
The ISOmodem can employ error correction (reliable) protocols to ensure error-free delivery of data sent between
two modems. The error control methods are based on grouping data into frames with checksums determined by
the contents of each frame. The receiving modem checks the frames and sends acknowledgments to the
transmitting modem. When it d etects a faulty frame, the receiving modem requests a retransmissio n. Frame leng th
varies according to the amount of da t a transmitte d and the number of retransmissions requeste d from the opp osite
end.
The ISOmodem support s V.42 and MNP2–4 error correction protocols. V.42 (LAPM) is most commonly used an d is
enabled in the \N3 and \N4 modes. In the default mode (\N3), the ISOmodem attempts to connect with V.42 error
correction and V.42bis data compression (Si2457/34/15), and falls back to either V.42 only, MNP 2–5, or no error
correction (wire mode) if necessary. In \N4 mode, the ISOmodem hangs up if a V.42 connection cannot be
established. If the ISOmodem hangs up in V.42 mode after all data are successfully sent, the result code is OK. If
the modem hangs up before all data are successfully sent, the result code is NO CARRIER. If the mo dem connects
without a protocol, NO CARRIER is always sent.
The V.42 specification allows an alternate error correct ion protoc ol, MNP2-4. MNP2-4 is ena bled in \N2 mode. In
\N2 mode, the ISOmodem hangs up if an MNP2, 3, or 4 connection cannot be established.
5.12. Wire Mode
Wire mode (\N0) is used to communicate with standard, non-error-correcting modems. When optioned with \N3,
the ISOmodem falls back to Wire mode if it fails in an attempt to negotiate a V.42 or MNP2-4 link with the remote
modem. Error correction and data compression are not active in wire mode.
Table 83. Enabling Error Correction/Data Compression
To Enable Use AT Commands
V.44*
V.42bis
V.42 (LAPM)
MNP5
MNP2–4
Wire
+DS44 (argument)
\N3 and %C1 (default)
V.42 and
V.42bis only \N4 and %C1
V.42 only \N4 and %C0
MNP2-4 only \N2 and %C0
MNP2-5 only \N2 and %C1
No dat a compression and
no error correction \N0 and %C0
*Note: V.44 is available only on Si2493.
AN93
Rev. 1.3 125
5.13. EPOS (Electronic Point of Sale) Applications
EPOS applications are discussed in "Appendix A—EPOS Applications" on page 257.
5.13.1. EPOS Fast Connect
The ISOmodem supports several fast connect modes of operation to reduce the time of a connect sequence in
originate mode.
5.13.2. EPOS V.29 Fast Connect
In addition to the low modulation speed fast-connect modes, the modem (only Si2493/57/34/15) also supports a
fast-connect mode based on the 9600 bps V.29 fax modulation standard. V.29 Fast Connect is available as a
patch. Please contact Silicon Laboratories for additional details.
5.14. Legacy Synchronous DCE Mode/V.80 Synchronous Access Mode
The ISOmodem supports two different DTE interfaces to implement an Asynchronous DTE to Synchronous DCE
conversion. Table 84 provides high-level options to choose between the Legacy Synchronous DCE Mode and the
newer V.80 synchronous access mode.
The synchronous access mode has more features than the Legacy Synchronous DCE Mode. For new designs,
use of the newer synchronous access mode interface is recommended. Otherwise, existing software written with
the Legacy Synchronous DCE Mode interface can still be used as long as the AT+ES command settings are not
changed from the default value.
5.15. V.80 Mode
As shown in Table 85, the synchronous access mode is chosen by using the AT+ES=6,,8 command setting.
When using the synchronous access mode, it is expected that the AT\N0 command will be used to disable all other
error correction protocols that may interfere with V.80 synchronous access mode operation.
The V.80 Mode has two distinct submodes. Switching between these two submodes can be accomplished within
the confines of the same connection through the use of In-Band commands. The submodes are:
Transparent Submode
Framed Submode
The Transparent Submode creates a direct bit-by-bit translation from the DTE to and from the DCE. Any
application that requires a method of reconstructing a serial bit-stream at the DCE can use the Transparent Sub-
mode.
The Framed Sub-mode represents data at the DCE in HDLC/SDLC frames. This submode is typically used in
point-of-sale terminals. A common feature used in co njunction with the Fram ed Submode is the use of the 16-bit
CRC. When used with the CRC option, the Framed Submode can b e used in th e same application s curr ently using
the Legacy Synchronous DCE Mode.
Table 84. Synchronous Mode Overview
Mode U Register AT+ES
Settings
Neither U7A [2] = 0 +ES = D,,D
Legacy Synchronous
DCE Mode U7A[2]=1 +ES=D,,D
Synchronous Access
Mode +ES = 6,,8
AN93
126 Rev. 1.3
Prior to sending the ATDT to establish a synchronous access mode connection, the following commands and
registers require initialization: +MS, +ES, +ESA, +ITF, +IFC, U87, and U7A.
As an example, the closest equivalent to the Legacy Synchronous DCE Mode is the following initialization setting.
With either Synchrono us Access Subm ode, once a conn ection has b een est a blished, payload dat a ar e multiplexe d
with command/indicator information by use of <EM> shielding. With <EM> shielding, either of the two bytes
<0x19> or <0x99> (used to represent <EM>) precedes a special command or special indicator.
Synchronous access mode <EM> shielding is designed to support XON/XOFF handshaking. As such, the bytes
0x13 and 0x11 (XON/XOFF) are considered to be special characters in the same way the 0x19 and 0x99 bytes,
used for <EM>, are special.
Since the payload data are multiplexed with <EM> shielded command/indicator and possibly XON/XOFF
characters, Transparency <EM> codes are defined for the purpose of allowing the host software to send 0x13,
0x11, 0x19 and 0x99 bytes to/from the DCE. For example, if one <0x99> character needs to be sent as payload,
the host software sends <EM><0x76> instead. For a complete list <EM> commands and statuses, see Table 86.
Table 85. Synchronous Access Mode Settings
AT\N0 Required to disable MNP,V.42
and other protocols
AT+ES = 6,,8 Enable synchronous access
mode on originate or answer
AT+ESA = 0,0,0,,1,0
Send Abort on underrun/over-
run in Framed Submode.
Enable CRC generation and
checking.
AT+IFC = 2,2 CTS/RTS Flow Control
AT+ITF = 0383,0128 Controls CTS Flow Control
Threshold. CTS off at 383
bytes, CTS On at 128 bytes.
AT:U87,050A
Direct to Framed Sub-mode
upon connection. DCE starts
to transmit upon receipt of 10
bytes from the DTE.
AN93
Rev. 1.3 127
Table 86. EM In-Band Commands and Statuses
Command–
Indicator pair Hex
Code Transmit Direction Receive Direction
Supported
in
Transparent
Submode
Supported
in Framed
Submode
<EM><t1> 0x5C Transmit one 0x19 byte Received one 0x19 byte Yes1Yes1
<EM><t2> 0x76 Transmit one 0x99 byte Received o ne 0x99 byte Yes1Yes1
<EM><t3> 0xA0 Transmit one 0x11 byte Received one 0x11 byte Yes1Yes1
<EM><t4> 0xA1 Transmit one 0x13 byte Received one 0x13 byte Yes1Yes1
<EM><t5> 0x5D Transmit two 0x19 bytes Received two 0x19 bytes Yes Yes
<EM><t6> 0x77 Transmit two 0x99 bytes Received two 0x99 bytes Yes Yes
<EM><t7> 0xA2 Transmit two 0x11 bytes Received two 0x11 bytes Yes Yes
<EM><t8> 0xA3 Transmit two 0x13 bytes Received two 0x13 bytes Yes Yes
<EM><t9> 0xA4 Transmit 0x19, 0x99 Received 0x19, 0x99 Yes Yes
<EM><t10> 0xA5 Transmit 0x19, 0x11 Received 0x19, 0x11 Yes Yes
<EM><t11> 0xA6 Transmit 0x19, 0x13 Received 0x19, 0x13 Yes Yes
<EM><t12> 0xA7 Transmit 0x99, 0x19 Received 0x99, 0x19 Yes Yes
<EM><t13> 0xA8 Transmit 0x99, 0x11 Received 0x99, 0x11 Yes Yes
<EM><t14> 0xA9 Transmit 0x99, 0x13 Received 0x99, 0x13 Yes Yes
<EM><t15> 0xAA Transmit 0x11,0x19 Received 0x11,0x19 Yes Yes
<EM><t16> 0xAB Transmit 0x11,0x99 Received 0x11,0x99 Yes Yes
<EM><t17> 0xAC Transmit 0x11,0x13 Received 0x11,0x13 Yes Yes
<EM><t18> 0xAD Transmit 0x13,0x19 Received 0x13,0x19 Yes Yes
<EM><t19> 0xAE Transmit 0x13,0x99 Received 0x13,0x99 Yes Yes
<EM><t20> 0xAF Transmit 0x13,0x11 Received 0x13,0x11 Yes Yes
<EM><mark> 0xB0 Begin Transparent Mode Abort Detected in Framed
Submode Yes Yes, Receive
Only
<EM><flag> 0xB1
Transmit a flag; enter
Framed Submode if cur-
rently in Transparent Sub-
mode. If +ESA[E] = 1,
append FCS to end of
frame before sen din g
closing HDLC flag.
Detected a non-flag to flag
transition. Preceding dat a was
a valid
frame. If +ESA[E]=1, sent FCS
matches that of the calculated
CRC.
Yes
AN93
128 Rev. 1.3
<EM><err> 0xB2 Transmit an Abort
Detected a non-flag to flag
transition.
Preceding da ta are not a valid
frame.
Yes
<EM><under> 0xB4 not applicable Detected Transmit Data
Underrun Yes Yes
<EM><tover> 0xB5 not applicable Detected Transmit Data Over-
run Yes Yes
<EM><rover> 0xB6 not applicable Detected Receive Data Over-
run Yes Yes
<EM><resume
>0xB7
Resume after a data
underrun or overrun
(applicable if
+ESA[C] = 1)
Not applicable Yes
<EM><bnum> 0xB8 not applicable
<octnum0><octnum1> speci-
fies
number of octets in the trans-
mit data
buffer if +ITF[C] is non-zero2.
Yes Yes
<EM><unum> 0xB9 not applicable
<octnum0><octnum1> speci-
fies
number of discarded octet s fol-
lowing
a data overrun/underrun, after
the
<EM><resume> command.
This is
applicable if +ESA[C] = 12.
<EM><eot> 0xBA Terminate carrier, return to
command mode.
Loss of carrier detected, return
to
command mode Yes Yes
<EM><ecs> 0xBB Escape to On-Line com-
mand
mode
Confirmation of Escape to On-
Line
command mode. Yes Yes
<EM><rrn> 0xBC Request rate renegotia-
tion Indicate rate renegotiation Yes Yes
Table 86. EM In-Band Commands and Statuses (Continued)
Command–
Indicator pair Hex
Code Transmit Direction Receive Direction
Supported
in
Transparent
Submode
Supported
in Framed
Submode
AN93
Rev. 1.3 129
In addition, a common Point-of-Sale V.22 Fast Connect Handshake Protocol (with transparent HDLC) requires
these addition a l setting s :
<EM><rate> 0xBE not supported
Retrain/Rate Reneg com-
pleted, following octets
<tx><rx> indicate tx and rx
rates.
Yes Yes
0x20–1200 bps
0x21–2400 bps
0x22–4800 bps
0x23–7200 bps
0x24–9600 bps
0x25–12 kbps
0x26–14.4 kbps
0x27–16.8 kbps
0x28–19.2 kbps
0x29–21.6 kbps
0x2A–24 kbps
0x2B–26.4 kbps
0x2C–28.8 kbps
0x2D–31.2 kbps
0x2E–33.6 kbps
Notes:
1. U87 [10] = 1 Can be used to limit the transparency characters in the receive direction, to these four cases only.
2. The actual value represented in <octnum0><octnum1> = (octnum0 / 2) + (octunum1 x 64)
3. <EM><0x45> indicates that an unrecognized <EM> command was sent to the modem.
Table 87. Fast Connect Settings
AT+MS = V22 V22 Protocol
AT:U7A,3 Set Fast Connect, Transmit
HDLC Flags instead of Marks
during handshake negotiation.
Table 86. EM In-Band Commands and Statuses (Continued)
Command–
Indicator pair Hex
Code Transmit Direction Receive Direction
Supported
in
Transparent
Submode
Supported
in Framed
Submode
AN93
130 Rev. 1.3
Given the example initialization settings shown in Table 87, after an ATDT command has been sent to establish a
connection, the modem responds with the following:
ATDT12345
CONNECT 1200
PROTOCOL: NONE
<0x19> <0xBE> <0x20> <0x20> <0x19> <0xB1>
The first <EM><rate> indicator shows that the modem connected with a transmit rate of 1200 bps and a receive
rate of 1200 bps. The <EM><flag> that occurs immediately after the <EM><rate> indicates that a non-flag to flag
transition has occurred and that the receiver has now been synchronized. An <EM><flag> indicator is applicable
only to the first occurrence of a non-flag to flag transition. Future occurrences of non-flag to flag transitions are
indicated with an <EM><err> instead. Also, this feature is unique to the U87 [8] =1 opti on . Also, with U87 [8]=1, the
Framed Submode is entered immediately upon connection. Otherwise, if U87 [8]=0, the Transparent Submode is
entered instead, and the host is expected to send an <EM> <flag> to switch to the Framed Submode.
After a connection has been established, the modem is ready to transmit and receive frames. For example, if it is
desired to send a frame whose contents are:
<0x10><0x11><0x12><0x13><0x14><0x15>
The host software sends the following:
<0x10><0x19><0xA0><0x12><0x19><0xA1>
<0x14><0x15><0x19><0xB1>
Note the bytes <0x11> and <0x13> are <EM> shielded because these bytes could have been used for XON /
XOFF handshaking. In this example, CTS/RTS hardware handshaking is used, so it is also possible for the host to
have sent this series of bytes instead:
<0x10><0x11><0x12><0x13><0x14><0x15>
<0x19><0xB1>
However, if the host does not <EM> shield the 0x11 and 0x13 characters, XON / XOFF software handshaking can
no longer be used.
In either of the above transmit frames, the <EM><flag> is us ed t o ind ica te that a logical frame has completed. The
modem does not begin transmitting the frame at the DCE until the <EM><flag> is received or the number of bytes
sent to the modem exceeds the number of bytes programmed into U87 [7:0].
In the above example, the following transmission:
<0x10><0x19><0xA0><0x12><0x19><0xA1>
<0x14><0x15><0x19><0xB1>
meets both criteria of having 10 bytes received at the DTE and receipt of an <EM><flag> command. In this
example, the transmission at the DCE begins approximately after the receipt of the <0xB1> byte.
Once an HDLC frame begins transmitting at the DCE, the host must ensure transmit overrun and underrun do not
occur . It is expected that the +ITF command be used to adjust the transmit flow control thre sholds so that it is tuned
to the system's ability to process the interrupt.
If a transmit underrun occurs, the <EM><tunder> indicator always appears in the receive path, regardless of how
+ESA[C] is programmed.
If +ESA[C] = 0, the modem transmit s an abort character at the DCE at the point of the transmit underrun. Additional
transmit frames can then be transmitted normally.
If +ESA[C] = 1, the modem transmits an HDLC flag at the po int of the tran smit un derru n, and the DCE continue s to
send only HDLC flags until the host sends an <EM><resume> command. The <EM><resume> is then followed by
the <EM><unum> command so that the host software can correct this problem.
A transmit overrun can occur if the host does not properly implement transmit flow control. When a transmit
overflow occurs, the <EM><tover> indicator always appears in the receive path. A transmit over flow is con sidered
to be a catastrophic failure and results in non-deterministic behavior at the DCE. It is recommended that the
session be termina te d imm e dia te ly.
AN93
Rev. 1.3 131
It is expected that the <EM><tover> and <EM><tunder> indicators be encountered during system debug, and
designing the system software properly to avoid having these indicators occur should be the design goal.
In the receive direction, assuming that the remote modem is another Si2493/57/34/15, this is the expected
sequence at the remote receiver DTE, representing the frame sequence of:
<0x10><0x11><0x12><0x13><0x14><0x15>
<0x10><0x19><0xA0><0x12><0x19><0xA1>
<0x14><0x15><0x19><0xB1>
In the rec eiv e dir e ctio n, th e < EM><flag> indicates that the CRC check is successful, and the preceding frame was
received correctly. If there had been an e rror in the prec eding fra me, the <EM><err> would have been sent instead
of the <EM><flag>. The host is expected to discard the entire frame based on whether or not the frame is
terminated with an <EM><flag> or <EM><err>. The host should also expect to occasionally see the <EM><mark>
indicator if the sending modem experienced a transmitter underrun or overrun problem.
In general, the RTS flow control is not used. However, if it is used, and if RTS is negated for too long, the receive
buffers will eventually overflow. This is called a receiver overrun, and the modem sends an <EM><rover> indicator.
A receiver overrun is considered to be a catastrophic failure, and the host is expected to terminate the session.
Host software must be designed so that an <EM><rover> indicator never occurs.
It is expected that the <EM><rover> indicator be encountered during system debug, and designing the system
software properly to avoid having these indicators occur should be the design goal.
Please note that there is an option available in the U87 [10]. The reason for this option is to determine what the
modem sends to the DTE when the modem receives back-to-back occurrences of the special characters, 0x19,
0x99, 0x11, and 0x13, at the DCE.
As an example, if the following string is received at the DCE:
<0x19><0x19><0x11><0x11>
If U87 [10] = 0, this is what the host software will receive at the DTE:
<0x19><0x5D><0x19><0xA2>
If U87 [10] = 1, this is what the host software will receive at the DTE:
<0x19><0x5C><0x19><0x5C><0x19><0xA0><0x19><0xA0>
The choice of how to program U87 [10] is based on whether or not it is desired to simplify the host receive parsing
algorithm or to guarantee that the receive throughput is not overly affected by the <EM> <shielding>. In the wo rst
case, if there is a large frame consisting only of special characters, the required throughput at the DTE will have to
be at least 2x that of the DCE rate to account for the <EM> shielding overhead.
There are two methods of ending a call. One is to use the <EM><eot> command followed by an ATH. Sending the
<EM><eot> command will cause the modem to go to command mode and stop the transmitter; however, the
modem does not go back on hook until ATH. The other method is to use the <EM><esc> command to escape to
command mode, and then issue the ATH command. The main difference is that the <EM><esc> does not shut off
the transmitter. The <EM><esc> can also be followed by an ATO to resume the connection.
AN93
132 Rev. 1.3
6. Programming Examples
The following programming examples are intended to facilitate the evaluation of various modem features and serve
as example command strings that can be used singly or in combination to cr eate the desired modem operation.
6.1. Quick Reference
Table 88 summarizes the modem function/feature and the associated hardware pins, AT commands, S registers,
and U regist ers. Whe n a com mand str ing is cr eated t o enab le a particular feature, Table 88 should be reviewed to
make sure all necessary commands and registers have been considered.
Table 88. Modem Feature vs. Hardware, AT Command and Register Setting
Function/Feature AT Commands S Registers U Registers
Autobaud \T16, \T17
Blacklisting %B 42, 43, 44
Type I Caller ID +VCID, +VCDT U70 [12,4]
Type II Caller ID +PCW
+VCID
+VCIDR
Country-dependent settings U0–U4C, U4D [10,1,0], U50–U52,
U62 [8], U67 [6, 3:2, 1, 0],
U68 [2, 1, 0], U69 [6, 5, 4]
DTE interface En, \Bn, \Pn, \Qn,
\Tn, \U
DTMF dialing D 6, 8, 14 U46–U4 8, U4E
EEPROM :E, :M
Escape (parallel/SPI) U70 [15], Parallel Register 1 [2]
Escape (UART) \B6 12 U70 [13,15]
Intrusion detection U6A [1], U69 [2], U70 [10, 2],
U76 [15:9, 8, 7:5, 4:0], U77 [15:12, 11],
U78 [15:14, 7:0], U79 [4:0], UAE
Line rate &Gn, &Hn
Modem-on-hold +PCW
+PMHF
+PMHR
+PMHT
+PMH
+ATO
Overcurrent detection U67 [7], U70 [11, 3],
U77 [10, 9, 8:0], U79 [4:0]
Power control &Z 24 U65 [13]
Pulse dialing D 6, 8, 14 U37–U45, U4E
AN93
Rev. 1.3 133
6.2. Country-Dependent Setup
Configuring the ISOmodem for operation in different countries is done easily with AT commands. In all but rare
instances, no hardware change is required (the exceptions being an optional maximum ringer impedance, a billing-
tone filter, etc.). For th is reason, the ISOmodem is truly a global modem solution. Modem initialization commands
for various countries are presented in "6.2.2.1. Country Initialization Table". All U-register values are in
hexadecimal. The settings for different countries can be broken into three groups: call progress, dialing, and line-
interface control. Call-progress settings include filter coefficients, cadence data, and threshold values. Dialing
includes DTMF levels, thresholds, timing and pulse-dialing parameters. Line-interface settings include ac line
impedance, off-hook voltage and current characteristics, ringer sensitivity, and transmit levels. CID (Caller ID)
settings are discussed in a separate section. Tables 89–93 describe the registers and bits used for global
configuration and the functions performed by each. Many countries use some or all of the default FCC settings.
6.2.1. DC Termination
The ISOmodem offers a great deal of flexibility in setting dc termination. Several bits can be used to adapt to
particular country requirements and unusual line conditions. The dc termination control bits are shown in Table 89.
A detailed description of each bit is given in the relevant U-register description section of this manual. The following
discussion centers on the use of these bits alone or in combination to meet particular country requirements.
Quick connect +PQ C
+PSS
Reset Z U6E [4], U70 [7,5]
SAS detect U9F–UA9
Self Test &Tn, &Hn 40, 41
SMS +FCLASS
+FRM
+FTM
V.29 +FCLASS
+FTM
+FRM
V.42/V.42b +DR, %Cn, \Nn,
+DS
V.44* +DS44, +DR
V.92 +MS
+PIG
*Note: Si2493 only.
Table 89. DC Termination Control Bits
Reg Bit Val Function
U67 7 DCR DC Impedance Select
U67 3:2 DCV DC Termination Select
U7D 10 LLV Special low-voltage mode
Table 88. Modem Feature vs. Hardware, AT Command and Register Setting (Continued)
Function/Feature AT Commands S Registers U Registers
AN93
134 Rev. 1.3
6.2.2. Country Configuration
The modem default settings are for the US-like countries. Many countries use at least some of the default register
settings. Default values do not have to be written when configuring the modem to operate in a particular country,
assuming the modem was reset just prior to the configuration process. To avoid confusion and possible errors,
the modem should be reset prior to reconfiguration between countries.
Some countries have unusual requirements. For example, registers U37–U40 set the number of pulses to dial
digits 0 through 9, respectively. By default, digit 1 has a setting of 1 pulse; digit 2 has a setting of 2 pulses, and so
on. Digit 0 has a setting of 0xA (10 decimal) pulses. This pulse arrangement is used nearly universally throughout
the world. However, New Zealand requires ten pulses for 0, nine pulses for 1, eight pulses for 2, and so on.
Sweden, on the othe r ha nd , re qu ir es on e puls e for 0, two pulses for 1, and so on.
Japan requires both the usual 10 pps pulse dialing and 20 pps pulse dialing. To configure the modem for 20 pps,
set U42 (PDBT) = 0x0022, U43 (PDMT) = 0x0010, and U45 (PDIT) = 0x0258. The %P command may also be
used.
The Netherlands has a unique dial-tone filter. Other countries, such as Japan, have special low-voltage loop
requirement s. South Kor ea, Polan d, and South Africa have spe cial ringe r impedance requirement s. Set all country-
specific parameters listed in Table 90.
In order to use the +GCI command for a given country and modify one or more U registers, it is necessary to
execute the +GCI command first, then modify the desired register or registers. The +GCI command resets all U
registers through U86 and S7 to factory defaults before applying the country-specific settings. A compliance
laboratory can verify whether the countries that accept the legacy TBR21 specification still accept their previous
settings. It is advantageous in terms of heat dissipation to disable the TBR21 current limit. In order to disable loop-
current limiting, bit ILIM (U67 [9]) should be set to zero after the +GCI command.
Table 90 contains recommended updates to the +GCI register settings. The U-register writes must be loaded after
the +GCI command. Some TBR21 and ES 203 021 countries require blacklisting. This can be enabled with
S42 = 1. Some also require a minimum period of time between calls that can be set with S50 = 6.
6.2.2.1. Country Initialization Table
Table 90. Country Initialization Table
Country Initialization
Algeria*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
Argentina*
AT+GCI=51
AT:U46,680
AT:U52,1
ATS007=50
Armenia* AT+GCI=73
ATS007=80
Australia
AT+GCI=9
AT:U42,55,F
AT:U4F,79
AT:U52,2
ATS006=3
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
Rev. 1.3 135
Austria
AT+GCI=A
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Bahamas Defaults
Bahrain*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
Belarus* AT+GCI=73
Belgium
AT+GCI=F
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Bermuda Defaults
Brazil AT+GCI=16
AT:U67,8
Brunei* AT+GCI=9C
Bulgaria
AT+GCI=1B
AT:U35,10E0
AT:U46,9B0
AT:U62,904
AT:U67,8
Canada AT+GCI=20
Caribbean Defaults
Chile* AT+GCI=73
AT:U49,28,83
ATS007=180
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
136 Rev. 1.3
China AT+GCI=26
AT:U67,8
Colombia AT+GCI=27
Costa Rica Defaults
Croatia*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
Cyprus*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
AT:U67,8
Czech Republic
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
AT:U67,8
Denmark
AT+GCI=31
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Dominican Republic Defaults
Dubai Defaults
Egypt*
AT+GCI=6C
AT:U35,10E0
AT:U62,904,33
AT:U67,208
ATS006=3
El Salvador Defa ults
Ecuador AT+GCI=35
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
Rev. 1.3 137
Estonia*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
AT:U67,8
Finland
AT+GCI=3C
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
France
AT+GCI=3D
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
French Polynesia* AT+GCI=1B
AT:U62,904
Georgia* AT+GCI=73
Germany
AT+GCI=42
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Ghana*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
138 Rev. 1.3
Greece
AT+GCI=46
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Guadeloupe* AT+GCI=1B
AT:U62,904
AT:U67,8
Guam Defaults
Hong Kong AT+GCI = 50
Hungary AT+GCI=51
AT:U35,10E0
AT:U62,904,33
Iceland* AT+GCI=2E
AT:U62,904
India AT+GCI=53
AT:U63,3
AT:U67,8
Indonesia Defaults
Ireland
AT+GCI=57
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Israel
AT+GCI=58
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,1
AT:U62,904
AT:U67,1004
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
Rev. 1.3 139
Italy
AT+GCI=59
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Japan AT+GCI=0
Jordan* AT+GCI=16
AT:U49,22,7A
Kazakhstan* AT+GCI=73
Korea (South) AT+GCI=61
AT:U67,A
Kuwait Defaults
Kyrgyzstan* AT+GCI = 73
Latvia*
AT+GCI=1B
AT:U35,10E0
AT:U46,9B0
AT:U62,904
AT:U67,8
Lebanon*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
Lesotho*
AT+GCI=9F
AT:U63,33
AT:U67,A
ATS006=3
Liechtenstein* AT+GCI=2E
AT:U62,904
Lithuania* AT+GCI=73
AT:U45,344
AT:U62,904,33
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
140 Rev. 1.3
Luxembourg
AT+GCI=69
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Macao Defaults
Malaysia AT+GCI=6C
AT:U46,A80
Malta*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
AT:U67,8
Martinique*
AT+GCI=1B
AT:U62,904
AT:U67,8
ATS007=50
Mexico AT+GCI=73
Moldova* AT+GCI=73
Morocco*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
Netherlands
AT+GCI=7B
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
Rev. 1.3 141
New Zealand
AT+GCI=7E
AT:U38,9,8,7,6
AT:U3D,4,3,2,1
AT:U46,8A0
AT:U52,2
AT:U67,8
Nigeria* AT+GCI=1B
AT:U62,904
Norway
AT+GCI=82
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
ATS006=3
Oman* AT+GCI=89
Pakistan* AT+GCI=89
AT:U46,8A0
Paraguay AT+GCI=87
Peru Defaults
Philippines AT+GCI=89
Poland
AT+GCI=8A
AT:U14,7
AT:U52,2
AT:U62,904
AT:U67,8
AT:U77,4410
ATS006=3
Portugal
AT+GCI=8B
AT:U35,10E0
AT:U42,41,21
AT:U46,9B0
AT:U4F,64
AT:U52,1
AT:U62,904
AT:U67,8
Puerto Rico Defaults
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
142 Rev. 1.3
Qatar* AT+GCI=16
AT:U49,22,7A
Reunion* AT+GCI=1B
AT:U62,904
AT:U67,8
Romania* AT+GCI=73
AT:U62,904,33
Russia AT+GCI=B8
AT:U67,4
Saudi Arabia Defaults
Singapore AT+GCI=9C
Slovakia*
AT+GCI=73
AT:U35,10E0
AT:U47,5A,5A
AT:U62,904,33
Slovenia*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
AT:U67,8
South Africa
AT+GCI=9F
AT:U63,33
AT:U67,A
ATS006=3
Spain
AT+GCI=A0
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Sri Lanka* AT+GCI=9C
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
Rev. 1.3 143
Sweden
AT+GCI=A5
AT:U14,7
AT:U35,10E0
AT:U37,1,2,3,4,5,6,7,8,9,A
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Switzerland
AT+GCI=A6
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
ATS006=3
Syria* AT+GCI=16
AT:U49,22,7A
Taiwan AT+GCI=FE
AT:U67,8
Thailand* AT+GCI=6C
AT:U46,240
AT:U67,4
Tunisia*
AT+GCI=51
AT:U46,680
AT:U52,1
ATS007=50
Turkey*
AT+GCI=1B
AT:U35,10E0
AT:U46,9B0
AT:U62,904
UAE* AT+GCI=6C
AT:U67,8
ATS006=3
USA AT+GCI=B5
Ukraine* AT+GCI=73
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
144 Rev. 1.3
United Kingdom
AT+GCI=B4
AT:U14,7
AT:U35,10E0
AT:U46,9B0
AT:U4F,64
AT:U52,2
AT:U62,904
AT:U67,8
ATS006=3
Uruguay Defaults
Uzbekistan Defaults
Venezuela Defaults
Yemen Defaults
Zambia*
AT+GCI=2E
AT:U35,10E0
AT:U46,9B0
AT:U62,904
Table 90. Country Initialization Table (Continued)
Country Initialization
*Note: These countries do not have a built-in +GCI support but are
using the settings of other countries as a shortcut.
AN93
Rev. 1.3 145
6.2.2.2. Country-Setting Register Tables
Table 91. International Call Progress Registers
Register Value Function
Dial Tone Control
U0–U14 Dial Tone Detect Filter
Coefficients
U15 DTON Dial Tone On Threshold
U16 DTOF Dial To ne Off Threshold
U34 DTWD Dial Tone Detect Window
U35 DMOT Dial Tone Minimum On Time
Busy Tone Control
U17–U2B Busy Tone Detect Filter Coeffi-
cients
U2C BTON Busy Tone On Threshold
U2D BTOF Busy Tone Off Threshold
U2E BMTT Busy Tone Minimum Total Time
U2F BDLT Busy Tone Delta Time
U30 BMOT Busy Tone Minimum On Time
Ringback Cadence Control
U31 RMTT Ringback Tone Minimum Total
Time
U32 RDLT Ringback Tone Delta Time
U33 RMOT Ringback Tone Minimum On
Time
Ring Detect Control
U49 RGFH Ring Frequency High
U4A RGFD Ring Frequency Delta
U4B RGMN Ring Cadence Minimum On
Time
U4C RGNX Ring Cadence Maximum Total
Time
AN93
146 Rev. 1.3
6.2.2.3. Special Requirement s for India
To output a 0 dBm sine wave, use the following commands:
AT:PF800, C4DD, 7B5C, 595F
AT*Y254:W50, 0, 5B86,1
AT:U46,0
AT*Y1X1DT1
This command string turns off the high-frequency DTMF tone, leaving only the low-frequency DTMF tone when an
ATDT is sent. The tone is output continuously until any key is pressed. To restart the tone output, type AT*Y1DT1.
To change the tone power level, type ATU46,00X0 (wher e X is a hexadecimal value 0– F representin g output power
in –1 dB m steps from 0 to –15 dBm).
Table 92. Dial Registers
Register Value Function
Pulse Dial Control
U37–U40 Pulse per Digit Definition
U42 PDBT Pulse Dial Break Time
U43 PDMT Pulse Dial Make Time
U45 PDIT Pulse Dial Interdigit Time
DTMF Control
U46 DTPL DTMF Power Level (and
Twist)
U47 DTNT DTMF On Time
U48 DTFT DTMF Off Time
Table 93. Line Interface/Control Registers
Register Bit Value Function
U4D 10 CLPD Check Loop Current Before
Dialing
1 LLC Low Loop Current Detect
(set for legacy TBR21)
0 LCN Loop Current Needed
U50 LCDN Loop Current Debounce
On Time
U51 LCDF Loop Current Debounce
Off Time
U52 XMTL Transmit Level
U67:
13:12
MINI
9 ILIM
7 DCR DC Impedance Select
6OHSOn-Hook Speed
3:2 DCV DC Termination Select
1 RZ Ringer Impe dance
0 RT Ringer Thresh old Select
U68 2 BTE Billing Tone Protect Enable
1 ROV Receive Overload
0 B TD Billing Tone Detected
AN93
Rev. 1.3 147
6.2.2.4. Special Requirements for Serbia and Montenegro
The following are special network requirements for Serbia and Montenegro. These specifications are based on the
best information available and are believed to be correct.
DC Feed: 48 or 60 V
Feeding Bridge: 2 x 400 or 2 x 500
Network Impedance: 600 resistive
On-Hook (Idle State) Noise: < –60 dBm
On-Hook ac (Ringer) impedance: >2.5 k
DTMF Transmit: –11 to –9 dBm and –8 to –6 dBm
Data Transmit Level: 0 dBm to –15 dBm in 1 dB steps (average –13 dBmo)
Out-of-band energy: not specified
Pulse Dial: 1.6/1 ±15 % (pulse/pause)
Rep Rate: 10 pps
Interdial Pause: 250 ms <x> 800 ms, ±10 %
Ring signal: 25 Hz 80–90 VRMS
Dial Tone: 425 Hz ±15 %
Level: –8 dBm > x > –12 dBm
Cadence: 200 ms ±10% ON
300 ms ±10% OFF
700 ms ±10% ON
800 ms ±10% OFF
Busy Tone: 425 Hz ±15 %
Level: –8 dBm > x > –12 dBm
Cadence: 500 ms ±10 % ON
500ms ±10% OFF
6.2.3. Blacklisting
Blacklisting prevents dialing the same phone number more than three times in three minutes. Any attempt to dial a
fourth time within three m inutes resu lt s in a BLACKLISTED result code . If th e blacklisting memor y is full, any dial to
a new number results in a BL ACKLIST FULL re sult code . The nu mber o f allo wa ble calls may be adju sted in S43 . If
S43 = 3, the third call in S44 seconds is blacklisted. The blacklisting time may be adjusted with register S44
(second unit s). A number is added to the blacklist on ly if the connection fails. The S42 register controls blacklisting.
Any number that is currently blacklisted is reported with the %B command .
S42 Blacklisting
0 (default) Disabled
1 Enabled
AT Command F unction
%B Report blacklisted number (if
any) followed by OK
Example: AT%B\r
5121234567
OK
AN93
148 Rev. 1.3
6.3. Caller ID
The ISOmodem supports all major Caller ID (CID) types. CID is disabled by default (+VCID = 0). Setting +VCID = 1
via the AT+VCID = 1 command enables decoded (formatted) CID, while setting +VCID = 2 causes raw Caller ID
data to be output. The specific CID mode is selected by +VCDT, which is set to the US Telcordia standard by
default. The AT+VCDT = n command is u sed to de fine th e C ID mode acco rdin g to the d ecim al values of n de fined
in Table 94. U70 [4] (CID) is a sticky bit that is set when a CID preamble is received and cleared with an AT:I
(“Interrupt read”) command.
The following sections describe each CID mode.
6.3.1. Force Caller ID Monitor (Always On)
In this mode, the ISOmodem, when on-hook, continuously monitors the line for the CID mark sequence and FSK
data. This mode can be used in all systems, especially those requiring detection of CID data before the ring burst.
It is also useful for detecting voicemail indicator signals and for supporting Type II Caller ID. In most systems,
“Always On” is the preferred method, since it separates CID detection from ring detection.
6.3.2. Caller ID After Ring Only
The ISOmodem detects the first ri ng bu rst, echo es RING to the host, and prepares to detect the CID preamble. On
preamble dete ctio n , the mo de m echoe s th e CIDM response to th e h ost (ind ica tin g th e pr e am b le wa s rec eiv ed an d
FSK modulated CID data will follow), and INT is triggered if enabled.
Next the CID algorithm looks for the start bit, assembles the characters, and sends them to the host as they are
received. When the CID burst is finished, there is no more carrier and NO CARRIER is echoed to the host. The
ISOmodem continues to detect subsequent ring bursts, echoes RING to the host, increments the ring counter, S1,
and automatically answers after the number of rings specified in S0.
6.3.3. UK Caller ID with Wetting Pulse
The ISOmodem first detects a line-polarity reversal, echoes FLASH to the host, and triggers the INT pin. The
ISOmodem then searches for the Idle State Tone Alert signal and, when detected, echoes STAS to the host. After
the Idle State Tone Alert Signal is completed, the ISOmodem goes off-hook then on-hook to apply the 15 ms
wetting pulse to the local loop. Next, the ISOmodem prepares to detect the CID preamble. After 50 continuous
mark bits (1s) are detected, the CIDM response is echoed to the host indicating that the mark sequence was
received and that FSK-modulated CID data will follow, and INT is again trigger ed. Then, th e CID algorithm looks for
the start bit, assembles the characters, and sends them to the host as they are received. When the CID burst is
finished, the carrier is lost, and NO CARRIER is echoed to the host. The ISOmodem detects ring bursts, echoes
RING to the host, incre ments the ri ng coun ter, S1, and automatically answers after the number of ri ngs specifie d i n
S0. If the wetting pulse is not required, +VCDT = 0 or 1 can be used in the UK.
6.3.4. Japan Caller ID
The ISOmodem detects a line-polarity reversal and a brief ring burst, then goes off-hook and triggers the INT pin.
CID data are sent using the V.23 specification. After detecting 40 mark bits (1s), the ISOmodem searches for a
start-bit. CIDM is echoed to the host when a start bit is received. The ISOmodem then begins to assemble
characters and sends them to the host. When the CID signal ends, the ISOmodem hangs up and echoes NO
CARRIER to the host. The modem then waits for the normal ring signal. Table 95 shows the AT command strings
that configure the ISOmodem for Japan Caller ID.
Table 94. Caller ID Modes
n +VCDT Settings
0 After ring only (default)
1 Force CID monitor (always on)
2 UK with wetting pulse
3 Japan
AN93
Rev. 1.3 149
6.3.5. DTMF Caller ID
DTMF Caller ID is supported in the Si2493/57/34/15/04 Revision D or above and Si2494/39 Revision A or above.
DTMF Caller ID detection is needed to provide complete CID support for Brazil, China and other countries. The
ISOmodem detects the preamble and start code (0x41, or ASCII 'A'), then echoes CIDM to the host. The
ISOmodem assembles the rest of the characters in the message and sends them to the host. It detects the stop
code (0x44, or ASCII 'D') and proceeds with the rest of the call processing.
For ISOmodems that support voice mode, detection of DTMF CID is done automatically in +FCLASS = 8 mode
after being enabled by a “+VLS = 14” command. The user can also enable FSK CID with the AT+VCID and
AT+VCDT commands. This gives simultaneous support of DTMF and FSK modes.This is useful in countries like
Brazil, China and Taiwan, where the use of DTMF or FSK varies from region to reg ion.
6.4. SMS Support
Short Message Service (SMS) allows text messages to be sent and received from one telephone to another via an
SMS service center. The ISOmodem provides a flexible interface that can handle multiple SMS standards. This
flexibility is possible because most of the differences between standards is handled by the host in the data stream
itself. The ISOmodem performs the necessary data modulation and provides two options for message packet
structure (Protocol 1 and Protocol 2, as defined in ETSI ES 201 912). The rest of the data link layer and transfer
layer are defined by the host system. The ISOmodem uses a V.23 half-duplex modulation to transmit and receive
the data over the P STN. Prot ocol 2 differs from P rotocol 1 in that a packet is preceded by a 300-bit long channel-
seizure preamble. ETSI ES 201 912 describes the other differences between Protocols 1 and 2, but the host
processor handles these when structuring the data within the packet.
Four command s con tr ol th e be ha vio r of the SMS feature, as described in Table 98 below:
Table 95. Japan Caller ID
Command Function
AT+VCID = 1 Enables Caller ID.
AT+VCDT = 3 Selects Japan CID mode.
Table 96. Protocol 1
80 bits of mark (constant ones) Message
Table 97. Protocol 2
Channel seizure (300-bit
stream of alternating ones
and zeroes)
80-bit stream
of ones Message
Table 98. SMS Commands
Command SMS Feature Behavior
AT+FCLASS = 256 Prepares the modem for
handling SMS calls.
ATDT; Goes off-hook and returns to
command mode. If a phone
number is provided, it is dialed
prior to returning to command
mode.
AN93
150 Rev. 1.3
To enable the SMS features on the ISOmodem, the host must send AT+FCLASS = 256 to the modem prior to
handling an SMS call . The ho st can then dial or answer an SMS call using ATDTxxxx; (where xxxx is the number to
be dialed), or ATDT; respectively. Note the semicolon at the end of the command, which places the modem into
command mode immedi ately afte r dialing and r eturns OK. The host ca n then prep are the mode m for transmitting or
receiving SMS data.
To receive Protocol 1 or Protocol 2 data, the host must send AT+FRM = 200. This causes the modem to return to
data mode silently, listening for data from the remote SMS server. If the modem detects a valid Protocol 1 or
Protocol 2 packet, it responds with a CONNECT 1 or CONNECT 2 message respectively, followed by the SMS
message (without channel seizure and mark). When the carrier stops, the modem returns to command mode and
responds with OK.
To transmit Protocol 1 or Protocol 2 data, the host must send AT+FTM = 201 or AT+FTM = 202. This causes the
modem to return to data mode and wait silently until data are received from the host processor for transmission.
Once data are received from the host, the modem transmits the proper number of channel seizure and mark bits
followed by the data it received from the host. After the modem has begun transmitting, it will send marks when it
does not have data to send and will continue to do so until the host escapes to command mode.
The content of the data message is entirely up to the host including any checksum or CRC. ETSI ES 201 912
describes two standard data and transfer layers that are commonly used. SMS typically relies on caller
identification information to determine if the call should be answered using an SMS device or not. Refer to "6.3.
Caller ID" for more information on how to configure the modem for Caller ID detection.
AT+FRM = 200 Returns to data mode prepared
to receive an SMS message.
AT+FTM = 201 Returns to data mode prepared
to transmit an SMS Protocol 1
message.
AT+FTM = 202 Returns to data mode prepared
to transmit an SMS Protocol 2
message.
Table 98. SMS Commands
AN93
Rev. 1.3 151
6.5. Type II Caller ID/SAS Detection
When a call is in progress, the Subscriber Alerting Signal (SAS) tone is sent by the central office to indicate a
second incoming call. The central office may also issue a CPE Alert Signal (CAS) af ter the SAS to indicate that ca ll
waiting Caller ID (CWCID) information is available. If properly configured, the modem will acknowledge the CAS
tone, receive the CWCID data, and perform a retrain.
The ISOmodem is configured through th e +PCW comma nd to toggle the RI pin (+PCW=0) , ha ng up (+PCW=1), or
do nothing (+PCW=2) upon receipt of the SAS tone. The default is to ignore the SAS tone. The modem, enabled
through the +VCID command, will collect Caller ID information if +PCW is set to toggle the RI pin. The AT:I
command can be used to verify receipt of the SAS and CWCID data. Bit 9 will be set for SAS receipt due to the RI
toggle. Bit 4 will be set if CWCID data are received.
The CWCID data are collected using the +VCIDR? command. The data message is displayed in hexadecimal
format using ASCII text. The modem will return NO DATA if no Caller ID is available. The +VCIDR response is
listed below for the following example CWCID message:
Date & Time: 09/11 16:21
ICLID Number: 512-555-1234
Calling Name: JOHN_DOE
+VCIDR:
80 20 01 08 30 39 31 31 31 36 32 31 02 0A 35 31
32 35 35 35 31 32 33 34 07 08 4A 4F 48 4E 5F 44
4F 45 40
OK
Table 99 defines the Multiple Data Message Format (MDMF) parameters in the example response.
The SAS tone varies between countries and requires configuration of user registers U9F to UA9. The SAS_FREQ
(U9F) register sets the expected SAS tone frequency as shown in Table 100. The default SAS frequency is 440 Hz.
The expected cadence is set in cadence registers SAS_CADENCE0 (UA0) through SAS_CADENCE9 (UA9).
Table 99. MDMF Parameters
Character Description Hexadecimal Value ASCII Value
Message Type (MDMF) 80
Message Length 20
Parameter Type (Date/Time) 01
Parameter Length 08
Month 30 39 09
Day 31 31 11
Hour 31 36 16
Minutes 32 31 21
Parameter Type (Number) 02
Parameter Length 0A
Number 35 31 32 35 35 35 31 32 33 34 5125551234
Parameter Type (Name) 07
Parameter Length 08
Name 4A 4F 48 4E 5F 44 4F 45 JOHN_DOE
Checksum 40
AN93
152 Rev. 1.3
The even-numbered re gisters, (UA0, UA2, etc.), contr ol the amount of time the tone is expected to be present, and
the odd-numbered registers select the amount of time the tone must not be present. The values are expressed in
10 millisecond units. For example, a cadence of on 500 ms, off 300 ms then on for 500 ms may be selected by
writing 0x0032 to UA0, 0x001E to UA1 and 0x0032 to UA2. The unused registers should be written to 0. The
default cadence setting is UA0 equal to 001Eh, and the remaining nine registers are set to zero.
Table 101 defines the SAS cadence for each supported country. The on-time is listed in bold. These data were
obtained from ITU-T Recommendation E.180 Supplement 2 (04/98).
Table 100. SAS Tone Frequency
SAS_FREQ (U9F) SAS Frequency
0x0000 440 Hz (Default)
0x0001 400 Hz
0x0002 420 Hz
0x0003 425 Hz
0x0004 480 Hz
0x0005 450 Hz
0x0006 900 Hz
0x0007 950 Hz
0x0008 523 Hz
0x0009 1400 Hz
Table 101. SAS Cadence for Supported Countries*
Country Tone Frequency (Hz) Cadence (seconds) U Registers
Angola Waiting Tone 400 1.0 – 5.0 U9F = 0x0001
UA0 = 0x0064
UA1 = 0x01F4
Anguilla Waiting Tone 440 0.5 – 10.0 – 0.5
U9F = 0x0000
UA0 = 0x0032
UA1 = 0x03E8
UA2 = 0x0032
Antigua and
Barbuda Call Waiting
Tone 480 0.6 – 10.0 U9F = 0x0004
UA0 = 0x003C
UA1 = 0x03E8
Argentine Republic Waiting Tone 425 0.4 – 0.2 – 0.4 – 4.0
U9F = 0x0003
UA0 = 0x0028
UA1 = 0x0014
UA2 = 0x0028
UA3 = 0x0190
AN93
Rev. 1.3 153
Aruba Call Waiting
Tone 425 0.2 – 0.2 – 0.2 – 4.4
U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0014
UA2 = 0x0014
UA3 = 0x01B8
Australia Call Waiting
Tone 425 0.2 – 0.2 – 0.2 – 4.4
U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0014
UA2 = 0x0014
UA3 = 0x01B8
Austria Waiting Tone 420 0.04 – 1.95 U9F = 0x0002
UA0 = 0x0004
UA1 = 0x00C3
Bermuda Waiting Tone 440 (Two bursts, ten seconds
apart) U9F = 0x0000
Bhutan Waiting Tone 400 0.5 – 0.25 U9F = 0x0001
UA0 = 0x0032
UA1 = 0x0019
Botswana Waiting Tone 425 0.2 – 1.0 U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0064
Brazil Waiting Tone 425 0.05 – 1.0 U9F = 0x0003
UA0 = 0x0005
UA1 = 0x0064
British Virgin
Islands Waiting Tone 440 0.5 – 10.0 – 0.5
U9F = 0x0000
UA0 = 0x0032
UA1 = 0x03E8
UA2 = 0x0032
Brunei
Darussalam Call Waiting
Tone 400×24 0.5 – 0.25 U9F = 0x0001
UA0 = 0x0032
UA1 = 0x0019
Channel Islands:
Jersey Waiting Tone 400 0.1 – 2.5 – 0.1
U9F = 0x0000
UA0 = 0x000A
UA1 = 0x00FA
UA2 = 0x000A
Chile Waiting Tone 900+1300 0.5 – 0.5 U9F = 0x0006
UA0 = 0x0032
UA1 = 0x0032
Table 101. SAS Cadence for Supported Countries* (Continued)
Country Tone Frequency (Hz) Cadence (seconds) U Registers
AN93
154 Rev. 1.3
China Waiting Tone 450 0.4 – 4.0 U9F = 0x0005
UA0 = 0x0028
UA1 = 0x0190
Croatia Call Waiting
Tone 425 0.3 – 8.0 U9F = 0x0003
UA0 = 0x001E
UA1 = 0x0320
Cyprus Call Waiting
Tone 425 0.1 – 0.1 – 0.1 – 5.3
U9F = 0x0003
UA0 = 0x000A
UA1 = 0x000A
UA2 = 0x000A
UA3 = 0x0212
Czech Republic Call Waiting
Tone 425 0.33 – 9.0 U9F = 0x0003
UA0 = 0x0021
UA1 = 0x0384
Dominica
(Commonwealth of) Call Waiting
Tone 440 10.5 – 10.0 – 0.5
U9F = 0x0000
UA0 = 0x0032
UA1 = 0x03E8
UA2 = 0x0032
Ecuador Call Waiting
Tone 425 0.2 – 0.6 U9F = 0x0003
UA0 = 0x0014
UA1 = 0x003C
Estonia Call Waiting
Tone 950/1400/1800 3×(0.33 – 0.3) U9F = 0x0007
Ethiopia Call Waiting
Tone 425 0.2 – 0.6 U9F = 0x0003
UA0 = 0x0014
UA1 = 0x003C
Finland Waiting Tone 425 0.15 – 8.0 U9F = 0x0003
UA0 = 0x000F
UA1 = 0x0320
Germany Waiting Tone 425 0.2 – 0.2 – 0.2 – 5.0
U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0014
UA2 = 0x0014
UA3 = 0x01F4
Ghana Waiting Tone 400 0.8 – 0.2 – 0.33.2
U9F = 0x0001
UA0 = 0x0050
UA1 = 0x0014
UA2 = 0x001E
UA3 = 0x0140
Table 101. SAS Cadence for Supported Countries* (Continued)
Country Tone Frequency (Hz) Cadence (seconds) U Registers
AN93
Rev. 1.3 155
Gibraltar Waiting Tone 400 0.1 – 3.0 U9F = 0x0001
UA0 = 0x000A
UA1 = 0x012C
Greece Call Waiting
Tone 425 0.3 – 10.0 – 0.3 – 10.0
U9F = 0x0003
UA0 = 0x001E
UA1 = 0x03E8
UA2 = 0x001E
UA3 = 0x03E8
Guyana Waiting Tone 480 0.5 – 18.0 U9F = 0x0004
UA0 = 0x0032
UA1 = 0x0708
Honduras Call Waiting
Tone 440 0.5 – 0.5 – 0.2 – 4.0
U9F = 0x0000
UA0 = 0x0032
UA1 = 0x0032
UA2 = 0x0014
UA3 = 0x0190
Hong Kong Call Waiting
Tone 440 3×(0.5 – 0.5) – 8.0)
U9F = 0x0000
UA0 = 0x0032
UA1 = 0x0032
UA2 = 0x0032
UA3 = 0x0032
UA4 = 0x0032
UA5 = 0x0352
Hungary Waiting Tone 425 0.04 – 1.96 U9F = 0x0003
UA0 = 0x0004
UA1 = 0x00C4
Iceland Waiting Tone 425 4x (0.2 – 0.2 – 0.2 – 3.6 –
0.2 – 0.2 – 0.2)
U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0014
UA2 = 0x0014
UA3 = 0x0168
UA4 = 0x0014
UA5 = 0x0014
UA6 = 0x0014
Iran Waiting Tone 425 0.2 0.2 – 0.2 – 10.0
U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0014
UA2 = 0x0014
UA3 = 0x03E8
Table 101. SAS Cadence for Supported Countries* (Continued)
Country Tone Frequency (Hz) Cadence (seconds) U Registers
AN93
156 Rev. 1.3
Israel Call Waiting
Tone 400 1x(0.15 – 10.0 – 0.15)
U9F = 0x0001
UA0 = 0x000F
UA1 = 0x03E8
UA2 = 0x000F
Japan Call Waiting
Tone I 400x16/400 0.5 – 0.0~ 4.0 – 0.05 – 0.45
0.05 – 3.45 – 0.05 – 0.45
0.05 – 3.45
U9F = 0x0001
UA0 = 0x0032
UA1 = 0x0000 to 0x0190
UA2 = 0x0005
UA3 = 0x002D
UA4 = 0x0005
UA5 = 0x0159
UA6 = 0x0005
UA7 = 0x002D
UA8 = 0x0005
UA9 = 0x0159
Call Waiting
Tone Ii 400×16/400 0.1 – 0.1 – 0.1 – 3.0
U9F = 0x0001
UA0 = 0x000A
UA1 = 0x000A
UA2 = 0x000A
UA3 = 0x012C
Call Waiting
Tone Iii 400×16/400 0.0640.436 – 0.064
3.436
U9F = 0x0001
UA0 = 0x0007
UA1 = 0x002C
UA2 = 0x0007
UA3 = 0x0158
Call Waiting
Tone Iv 400×16/400 0.25 – 0.25 – 0.25 – 3.25
U9F = 0x0001
UA0 = 0x0019
UA1 = 0x0019
UA2 = 0x0019
UA3 = 0x0145
Jordan Waiting Tone 420×40//
400+440 0.5 – 2×(0.3 – 0.2) – 3.0
U9F = 0x0001 or 0x0002
UA0 = 0x0032
UA1 = 0x001E
UA2 = 0x0014
UA3 = 0x001E
UA4 = 0x0014
UA5 = 0x012C
Kenya Call Waiting
Tone 425 CONTINUOUS U9F = 0x0003
Table 101. SAS Cadence for Supported Countries* (Continued)
Country Tone Frequency (Hz) Cadence (seconds) U Registers
AN93
Rev. 1.3 157
Kiribati Waiting Tone 425 0.1 – 0.2 – 0.1 – 4.7
U9F = 0x0003
UA0 = 0x000A
UA1 = 0x0014
UA2 = 0x000A
UA3 = 0x01D6
Korea (Republic Of) Waiting Tone 350+440 0.25 – 0.25 – 0.25 – 3.25
U9F = 0x000
UA0 = 0x0019
UA1 = 0x0019
UA2 = 0x0019
UA3 = 0x0145
Lao P.D.R. Waiting Tone 425 0.4 – 0.4 U9F = 0x0003
UA0 = 0x0028
UA1 = 0x0028
Lithuania Waiting Tone 950/1400/1800 3×(0.333 – 1.0) U9F = 0x0007
Macau Call Waiting
Tone 425 0.2 – 0.6 U9F = 0x0001
UA0 = 0x0014
UA1 = 0x003C
Madagascar Call Waiting
Tone 440 0.1 – 1.9 U9F = 0x0000
UA0 = 0x000A
UA1 = 0x00BE
Malaysia Waiting Tone 425 1.0 – 10.0 – 0.5 – 0.25 – 0.5
– 10.0 – 0.5 – 0.25
U9F = 0x0003
UA0 = 0x0064
UA1 = 0x03E8
UA2 = 0x0032
UA3 = 0x0019
UA4 = 0x0032
UA5 = 0x03E8
UA6 = 0x0032
UA7 = 0x0019
Maldives Call Waiting
Tone 400 1.0 – 10.0 U9F = 0x0001
UA0 = 0x0064
UA1 = 0x03E8
Montserrat Waiting Tone 440 0.5 – 10.0 – 0.5
U9F = 0x0000
UA0 = 0x0032
UA1 = 0x03E8
UA2 = 0x0032
Netherlands Waiting Tone 425 0.5 – 9.5 U9F = 0x0003
UA0 = 0x0032
UA1 = 0x03B6
New Zealand Waiting Tone I 400+450 0.5 U9F = 0x0001
UA0 = 0x0032
Table 101. SAS Cadence for Supported Countries* (Continued)
Country Tone Frequency (Hz) Cadence (seconds) U Registers
AN93
158 Rev. 1.3
Waiting Tone Ii 400 0.25 – 0.25 – 0.25 – 3.25
U9F = 0x0001
UA0 = 0x0019
UA1 = 0x0019
UA2 = 0x0019
UA3 = 0x0145
Waiting Tone
Iii 523/659 3×(0.2 – 3.0) – 0.2
U9F = 0x0008
UA0 = 0x0014
UA1 = 0x012C
UA2 = 0x0014
UA3 = 0x012C
UA4 = 0x0014
UA5 = 0x012C
UA6 = 0x0014
Nigeria Call Waiting
Tone 400 2.0 – 0.2 U9F = 0x0001
UA0 = 0x00C8
UA1 = 0x0014
Oman Waiting Tone 425 0.3 – 1.0 U9F = 0x0003
UA0 = 0x001E
UA1 = 0x0064
Papua New Guinea Waiting Tone 425 0.04 – 10.0 – 0.04 – 20.0 –
0.04 – 20.0
U9F = 0x0003
UA0 = 0x0004
UA1 = 0x03E8
UA2 = 0x0004
UA3 = 0x07D0
UA4 = 0x0004
UA5 = 0x07D0
Paraguay Waiting Tone 950/950/1400 0.65 – 0.325 – 0.125 – 1.3
2.6
U9F = 0x0007
UA0 = 0x0041
UA1 = 0x0021
UA2 = 0x00D
UA3 = 0x0082
UA4 = 0x0104
Poland Waiting Tone 425 0.15 – 0.150.15 – 4.0
U9F = 0x0003
UA0 = 0x000F
UA1 = 0x000F
UA2 = 0x000F
UA3 = 0x0190
Portugal Call Waiting
Tone 425 0.2 – 0.2 – 0.2 – 5.0
U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0014
UA2 = 0x0014
UA3 = 0x01F4
Table 101. SAS Cadence for Supported Countries* (Continued)
Country Tone Frequency (Hz) Cadence (seconds) U Registers
AN93
Rev. 1.3 159
Russia Waiting Tone 950/1400/1800 0.333 – 1.0 U9F = 0 x0 00 7
St.-Kitts-and-Nevis Waiting Tone 440 0.5 – 10.0 – 0.5
U9F = 0x0000
UA0 = 0x0032
UA1 = 0x03E8
UA2 = 0x0032
St. Lucia Call Waiting
Tone 425 0.2 – 0.2 – 0.2 – 0.2
U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0014
UA2 = 0x0014
UA3 = 0x0014
Saudi Arabia Call Waiting
Tone 425 0.15 – 0.2 – 0.15 – 10.0
U9F = 0x0003
UA0 = 0x000F
UA1 = 0x0014
UA2 = 0x000F
UA3 = 0x03E8
Sierra Leone Waiting Tone 425 1.0 U9F = 0x0003
UA0 = 0x0064
Singapore Call Waiting
Tone 425 0.3 – 0.2 – 0.3 – 3.2
U9F = 0x0003
UA0 = 0x001E
UA1 = 0x0014
UA2 = 0x001E
UA3 = 0x0140
Slovenia Waiting Tone 425 0.3 – 10.0 U9F = 0x0003
UA0 = 0x001E
UA1 = 0x03E8
Solomon Waiting Tone 400+450/400 0.5 – 0.5 U9F = 0x0001
UA0 = 0x0032
UA1 = 0x0032
South Africa Call Waiting
Tone 400×33 0.4 – 4.0 U9F = 0x0001
UA0 = 0x0028
UA1 = 0x0190
Spain Call Waiting
Tone 425 0.175 – 0.175 – 0.175 – 3.5
U9F = 0x0003
UA0 = 0x0012
UA1 = 0x0012
UA2 = 0x0012
UA3 = 0x015E
Sri Lanka Call Waiting
Tone 425 0.5 – 2.5 U9F = 0x0003
UA0 = 0x0032
UA1 = 0x00FA
Table 101. SAS Cadence for Supported Countries* (Continued)
Country Tone Frequency (Hz) Cadence (seconds) U Registers
AN93
160 Rev. 1.3
Sweden Call Waiting
Tone I 425 0.2 – 0.5 – 0.2
U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0032
UA2 = 0x0014
Tajikistan Call Waiting
Tone 950/1400/1800 0.8 – 3.2 U9F = 0x0007
UA0 = 0x0050
UA1 = 0x0140
Trinidad and
Tobago Waiting Tone 440 0.3 – 10.0 U9F = 0x0000
UA0 = 0x001E
UA1 = 0x03E8
Turkey Call Waiting
Tone 450 0.2 – 0.6 – 0.2 – 8.0
U9F = 0x0005
UA0 = 0x0014
UA1 = 0x003C
UA2 = 0x0014
UA3 = 0x0320
Turks and Caicos
Islands Waiting Tone 440 0.5 – 10.0 – 0.5
U9F = 0x0000
UA0 = 0x0032
UA1 = 0x03E8
UA2 = 0x0032
United States Call Waiting
Tone 440 0.3
U9F = 0x0000
UA0 = 0x001E
UA1 = 0x03E8
UA2 = 0x001E
UA3 = 0x03E8
Uruguay Waiting Tone 425 0.2 – 0.2 – 0.2 – 4.4
U9F = 0x0003
UA0 = 0x0014
UA1 = 0x0014
UA2 = 0x0014
UA3 = 0x01B8
Vanuatu Call Waiting
Tone 425 0.3 – 10.0 U9F = 0x0003
UA0 = 0x001E
UA1 = 0x03E8
Zimbabwe Call Waiting
Tone 523/659 1.5 – 1.5 U9F = 0x0003
UA0 = 0x0096
UA1 = 0x0096
*Note: Explanation of Sy mbols:
1×f2 f1 is modulated by f2.
f1+f2 the juxtaposition of two frequencies, f1 and f2, without modulation.
f1/f2 f1 is followed by f2.
f1//f2 in some exchanges, frequency f1 is used, and in others, frequency f2 is used.
Table 101. SAS Cadence for Supported Countries* (Continued)
Country Tone Frequency (Hz) Cadence (seconds) U Registers
AN93
Rev. 1.3 161
6.6. Intrusion/Parallel Phone Detection
The modem may share a telephon e line with a variety of other devices, especially telephones. In most cases, the
modem has a lowe r pr iority for acce ss to the phon e line. Someo ne dialing 911 in an emer gency, for example, has a
higher priority than a set-top box updating billing information. If someone is using a telephone, the modem should
not go of f-hook. If som eone picks up a phone while the m odem is con nected or dialing, the modem sho uld drop the
connection and allow the phone call to proceed. The modem must monitor the phone line for intrusion in both the
on-hook and off-hook conditions.
6.6.1. On-Hook Condition
When the ISOmodem is on-hook, the U79 [4:0] (LVCS) value represents Tip-Ring voltage; the ISOmodem is in the
command mode, and the host can easily monitor LVCS with the AT:R79 command. A typical local lo op has a T i p-to-
Ring voltage greater than 40 V if all devices sharing the line (telephones, fax machines, modems, etc.) are on-
hook. The typical local loop has a large dc impedance that causes the Tip-Ring voltage to drop below 25 V when a
device goes of f-ho ok. The ho st can monitor LVCS to determine whether the T ip-Ring voltage is approximately 40 V
or something less than 25 V to determine if a parallel device is off-hook. This type of monitoring may also be
performed with the %V1 command. Alternatively, the host could be programmed to periodically monitor LVCS and
store the maximum value as the “all devices on-hook” line volt a ge and est a blish th e on-hoo k intru si on th resh old as
a fraction (possibly 50%) of that value. This allows the system to adapt to different or changing local loop
conditions. An on-chip adaptive monitoring algorithm may be enabled with the %V2 command.
6.6.1.1. Line Not Present/In Use Indication (Method 1—Fixed)
If enabled with %V1, this feature checks the line status before going off-hook and again before dialing. Before
going of f-hook with th e ATD, ATO, or ATA command, the ISOmodem reads the line voltage and compares it to U83
(NOLN) [15:0] and U84 (LIUS) [15:0].
A debouncing timer con trolled by U-reg isters 50 and 5 1 prevent s pola rity reversals from being detected as a loss of
loop current. The intrusion detection algorithm continues to operate if U77 (HOI) [11] is set. In this case, a parallel
phone intrusion while off-hook gives a LINE IN USE result code to indicate the ISOmodem has gone on-hook due
to a parallel phone intrusion.
Note: This method may not be as desireable as method 2, particularly for low-voltage lines.
Pros:
Easy to understand and predict
Allows reference level control
Cons:
Chosen levels must work for all lines—not adaptive
Loop Voltage Action
0<LVCS < U83 Report NO LINE and
remain on-hook
U83 < LVCS < U84
(U register) Report LINE IN USE and
remain on-hook
U84 < LVCS Go off-hook and establish
connection
AN93
162 Rev. 1.3
6.6.1.2. Line Not Present/In Use Indication (Method 2—Adaptive)
This method is enabled through %V2. This feature checks the line status before going off-hook and again before
dialing. While on-hook, the part monitors line voltage and updates U85 (5 (NLIU) [15:0] with this value.
Before going off-hook with the ATD, ATO, or ATA command, the ISOmodem reads the line volt ag e and comp ar es it
with the stored reference.
To prevent polarity reversals from being detected as a loss of loop current, a debounce timer controlled by U-
registers 50 and 51 is used. However, if the HOI bit is set, a parallel phone intrusion while off-hook will give a LINE
IN USE result code to indicate that the ISOmodem h as gone on hook due to a parallel phon e intrusion.
6.6.2. Off-Hook Condition
When the ISOmodem is off-hook, the U79 [4:0] (LVCS) value represents loop current. Additionally, the ISOmodem
is typically in the data mode, and it is difficult for the host to monitor the LVCS value. For this reason, a controller-
based off-hook intrusion algorithm is used.
There is a delay between the ISOmodem going off-hook and the start of the intrusion algorithm set by
U77 [15:12] (IST) (Intrusion Settling Time). This avoids false intrusion detections due to loop transients during the
on-hook to off-hook transition. The off-hook intrusion algorithm monitors the value of LVCS at a sample rate
determined by U76 [15:9] (OHSR). The algorithm compares each LVCS sample to the reference value in
U76 [4:0] (ACL). ACL = 0 at the first off-hook event after reset unless a value is written to it by the host. If ACL = 0,
the ISOmodem does not begin the intru sion algor ithm until af ter two LVCS samples have been received. If the host
writes a non-zero value to ACL prior to the ISOmodem going off-hook, a parallel phone intrusion occurring during
the IST interval and maintained until the end of the IST interval triggers a PPD interrupt. The ISOmodem also
automatically updates ACL with the LVCS value while off-hook if an intrusion has not occurred. An ACL value can
be written by the host and forced to remain unchanged by setting U76 [8] (FACL) = 1. If LVCS is lower than ACL by
an amount greater than the value set in U76 [7:5] (DCL) (6 mA default) for two consecutive samples,
U70 [2] (PPD), Parallel Phone Detect is set. If U70 [10] (PPDM) (Parallel Phone Detect Mask) is set to 1 (default
condition), the INT pin in UART mode or the INT bit (Hardwar e Interface Register 1, bit 3) in parallel or SPI mode is
also triggered. The host can monitor PPD or issue an AT:I to verify the cause of an interrupt and clear PPD. The
host can take the appropriate action when the intrusion is confirmed.
The intrusion detection algorithm is as follows:
if LVCS(t) = LVCS (t 40 ms x OHSR)
and ACL LVCS(t) < DCL
then ACL = LVCS(t)
if (ACL–LVCSx(t–40msxOHSR)>DCL
and ACL LVCS x t > DCL
then PPD = 1
and the INT pin (or the INT bit in parallel or SPI mode) is asserted (PPDM = 1)
The ISOmodem can also be programmed to go on-hook automatically on a PPD interrupt by setting
U77 (HOI) [11] (Hang-Up On Intrusion) to 1.
The off-hook intrusion algorithm may be suspended for a period defined by U78 [15:14] (IB) after the start of
dialing. This guards against false PPD detects due to dial pulses or other transients caused by Central Office
switching.
Table 102 lists the U registers and bits used for Intrusion Detection.
Loop Voltage Action
0<LVCS < 6.25 % x U85 Report NO LINE and remain on-hook
6.25 % x U85 < LVCS < 85% x U85 Report LINE IN USE and remain on-hoo k
85% x U85 < LVCS Go off-hook and establish connection
AN93
Rev. 1.3 163
The ISOmodem has an internal analog-to-digital converter used to monitor the loop voltage when on-hook and
loop current when off-hook to check for parallel devices going off-hook. The host measures loop voltage or current
by reading U79 [4:0] (LVCS). To set the ISOmodem to monitor loop voltage in the on-hook state, the host issues
the following commands:
To set the ISOmodem to monitor loop current, the host issues the following commands:
Table 102. Intrusion Detection
Register Bit(s) Name Function
U70 10 PPDM Parallel Phone Detect
Mask
U70 2 PPD Parallel Phone Detect
U76 15:9 OHSR Off-Hook Sample Rate
U76 8 FACL Force ACL
U76 7:5 DCL Differential Current
Level
U76 4:0 ACL Absolute Current Level
U77 15:12 IST Intrusion Settling Time
U77 11 HOI Hang-Up On Intrusion
U78 15:14 IB Intrusion Blocking
U78 7:0 IS Intrusion Suspend
U79 4:0 LVCS Line Voltage/Current
Sense
U83 15:0 NOLN No Line Threshold %V1
U84 15:0 LIUS Line-in-use Th reshold
%V1
U85 15:0 NLIU Line-in-use/No Line
Threshold %V2
Command Function
AT:R79 Host reads the loop voltage
from the LVCS Register U79
bits 4:0 while the modem is
on-hook.
Command Function
ATH1 To go off-hook
AT:R79 Host reads loop cu rrent from
the LVCS Register U79 bits
4:0 while the modem is off-
hook.
AN93
164 Rev. 1.3
6.7. Modem-On-Hold
The Si2494/93 supports modem-on-hold as defined by the ITU-T V.92 specification. This feature allows a
connected Si2494/93 to place a server modem on hold while a second call, typically a voice call, uses the phone
line. The maximum time the modems will remain on hold is controlled by the modem receiving the modem-on-hold
request. Once the second call has ended, the Si2494/93 will reinitiate the data connection if the time elapsed has
not exceeded the time ne gotiated by the two modems. The Si 2494/93 ca n also be place d on hold it self by a r emote
modem allowing a far-end user to make or receive a voice call. Modem-on-hold is only supported on the Si2494/93
for V.34 (14400–33600 bps) and high er sp eed modula tio ns. The AT+PMH command is used to enable (+PMH = 0)
or disable (+PMH = 1) modem-on-hold.
6.7.1. Initiating Modem-On-Hold
Modem-on-hold is typically initiated when a connected client modem receives a subscriber alert signal (SAS) tone
as described in "6.5. Type II Caller ID/SAS Detection" on page 151. However, it may be initiated any time the
modem is on-line in command mode. The AT+PMHR command is used to initiate a modem-on-hold request. After
this command is issued, the modem will place a modem-on-hold request to the server, and the +PMHR: command
response will indicate the server’s response to the request. The possible responses are shown in Table 103.
If the server refuses to grant a modem-on-hold request, the modem will use the +PMHT setting to determine what
to do. If +PMHT = 0, the modem will remain connected to the server. If +PMHT is set to a non-zero value, the
modems will disconnect. The Si2494/93 will indicate these conditions with the result code, “MHnack;
Disconnecting…” or “MHnack; Reconnecting…”
Once modem-on-hold has be en initiate d, it may be necessary for the Si2494/9 3 to perform a ho ok-flash to indica te
to the central office the incoming call may be accepted. This is initiated with the AT+PMHF command. The Si2494/
93 will go on-hook for the time set in user register U4F and remain off-hook while on-hold. Usually, a second hook-
flash is necessary to reestablish a data connection with the remote modem.
The Si2494/93 will attempt to reestablish a data connection with the remote modem upon receipt of the ATO
command and will indicate the connection has been reestablished with the CONNECT message. If the modems fail
to renegotiate the connection, the Si2494/93 will send the NO CARRIER message.
Table 103. Possible Responses to PMHR Command from Remote Modem
<Value> Description
0Modem-on-hold request denied or not available.
The modem may initiate another modem-on-hold request at a later time.
1 MOH with 10 second timeout granted
2 MOH with 20 second timeout granted
3 MOH with 30 second timeout granted
4 MOH with 40 second timeout granted
5 MOH with 1 minute timeout granted
6 MOH with 2 minute timeout granted
7 MOH with 3 minute timeout granted
8 MOH with 4 minute timeout granted
9 MOH with 6 minute timeout granted
10 MOH with 8 minute timeout granted
11 MOH with 12 minute timeout granted
12 MOH with 16 minute timeout granted
13 MOH with indefinite time out granted
14 MOH request denied. Future requests in the same session will also be denied.
AN93
Rev. 1.3 165
6.7.2. Receiving Modem-On-Hold Requests
If modem-on-hold is enabled via the +PMH=1 command, the Si2493 may be plac ed on hold b y a remot e modem.
The maximum time the modem will remain on hold is configured with the +PMHT setting. Possible values of
+PMHT are given in Table 107. Upon receipt of a modem-on-hold request, the Si2493 will indicate +PMHR:
followed by the code corresponding to the timeout granted. The DCD pin will be deasserted while the modem is on
hold, and the CONNECT result code will indicate a return to data mode. A modem disconnect due to a timeout or
failed negotiation will result in a NO CARRIER result code.
6.8. HDLC: Bit Errors on a Noisy Line
Bit errors can occur on an impaired line. The problem lies in determining and ignoring the spurious data resulting
from poor line conditions and recovering valid data. This example illustrates a typical data-corruption problem due
to a noisy line and the method used to analyze it. Here, the modem is an Si2404 configured with the following
initialization string after reset.
AT+ES=6,,8
AT+ESA=0,0,0,,1,0
AT+ITF=0383,0128
AT:U87,010A
AT+MS=V22
AT:U7A,3
The following data stream was received ove r a noisy line .
0D 0A 43 4F 4E 4E 45 43 54 20 31 32 30 30 0D 0A 19 BE 20 20 19 B1 19 B0 19 B2 30 93
19 B1 19 B2 30 93 19 B1 19 B2 30 93 19 B1 19 B2 30 93 19 B1 19 B2 19 B2 B6 9E F7 46
19 B0 19 B2 29 C6 19 B0 19 B2 FF 98 89 18 19 B0 19 B2 92 6E EF 14 65 19 B0 19 B2 DA
BE C6 07 EA D8 31 C2 05 3C FA C8 86 C4 40 E6 19 A0 CA EA A8 F9 19 B2 8D 00 57 A5 43
29 19 B0 19 B2 05 CB 14 9F 7C 2D 19 B0 19 B2 19 B2 19 BA 0D 0A 4E 4F 20 43 41 52 52
49 45 52 0D 0A
First, the data will be analyzed to point out the occurrence of bit errors and spurious data. Secondly, a simple
algorithm to filter the data will be proposed. Finally, the resulting valid data will be presented.
Table 104 lists an initial analysis of some recurring data patterns.
AN93
166 Rev. 1.3
Table 104. Bit Errors
Data Meaning
19 B0 Is an indication the modem has detected a pattern with
more than 6 marks in a row. Once this occurs, the
receiver begins looking for HDLC flags. Until the occur-
rence of HDLC flags, 19 B2 and subs eq ue n t da ta are
discarded.
19 B2 This patter n has three meanings.
If the receiver is looking for HDLC flags, 19B2 means
that the receiver has found an HDLC flag.
If 19B2 is received after a packet has started (prior
data exists), the receiver assumes the CRC check
does not match the FCS bytes sent by the remote
transmitter and declares the packet bad.
An isolated 19 B2 pattern (no preceding data) is
normal. This can occur when the following example
data pattern is seen: 7E 7E XX 7E 7E (where XX can
be up to 2 bytes of non-FLAG bit patterns at the
DCE).
The data can be analyzed as follows with valid data
shown in bold.
0D 0A 43 4F 4E 4E 45 43 54 20 31 32 30 30
0D 0A CONNECT 1200
19 BE 20 20 tx 1200 rx 1200
19 B1 Received first flag.
Beginning of Packet
19 B0 A spurious byte received with more than 6 mark bits in a
row. The modem is looking for HDLC flags.
19 B2 HDLC flag detected.
Beginning of Packet
30 93
19 B1 Good Packe t.
Beginning of Packet
19 B2 If a 1-bit error is received in an HDLC flag, the modem
assumes a new single-byte packet. Since a 1-byte
packet is invalid, 19 B2 is generated by modem.
Beginning of Packet
30 93
19 B1 Good Packe t
Beginning of Packet
AN93
Rev. 1.3 167
19 B2 A 1-bit error is received in an HDLC flag. The mod em
assumes a new single-byte packet. Since a 1-byte
packet is invalid, 19 B2 is generated by modem.
Beginning of Packet
30 93
19 B1 Good Packe t
Beginning of Packet
19 B2 A 1-bit error is received in an HDLC flag. The mod em
assumes a new single-byte packet. Since a 1-byte
packet is invalid, 19 B2 is generated by modem.
Beginning of Packet
30 93
19 B1 Good Packe t
Beginning of Packet
19 B2 A 1-bit error received in an HDLC flag. The modem
assumes a new single-byte packet. Since a 1-byte
packet is invalid, 19 B2 is generated by modem.
Beginning of Packet
19 B2 A 1-bit error received in an HDLC flag. The modem
assumes a new single-byte packet. Since a 1-byte
packet is invalid, 19 B2 is generated by modem.
Beginning of Packet
B6 9E F7 46 Spurious data
19 B0 Followed by a data byte with more than 6 ma rk bi ts in a
row. The modem looks for HDLC flags.
19 B2 HDLC Flag detected
Beginning of Packet
29 C6 Spurious data
19 B0 Followed by a data byte with more than 6 ma rk bi ts in a
row. The modem looks for HDLC flags.
19 B2 HDLC Flag detected
Beginning of Packet
FF 98 89 18 Spurious data
19 B0 Data byte with more than 6 mark bits in a row. The
modem looks for HDLC flags.
Table 104. Bit Errors (Continued)
Data Meaning
AN93
168 Rev. 1.3
19 B2 HDLC Flag detected
Beginning of Packet
92 6E EF 14 65 Spurious data
19 B0 Data byte with more than 6 mark bits in a row. The
modem looks for HDLC flags.
19 B2 HDLC Flag detected
Beginning of Packet
DA BE C6 07 EA D8 31 C2 05 3C FA C8 86 C4
40 E6 Spurious data
19 A0 Tr an sparency code, represen ts 0x11 data byte found in
receive data.
CA EA A8 F9 Spurious data
19 B2 Calculated CRC not equal FCS. The modem assumes
this is a bad Frame.
Beginning of Packet
8D 00 57 A5 43 29 Spurious data
19 B0 Followed by a data byte with more than 6 ma rk bi ts in a
row. The modem looks for HDLC flags.
19 B2 HDLC Flag detected
Beginning of Packet
05 CB 14 9F 7C 2D Spurious data
19 B0 Followed by a data byte with more than 6 ma rk bi ts in a
row. The modem looks for HDLC flags.
19 B2 HDLC Flag Detected
19 B2 If there is 1-bit error received in an HDLC flag, the
modem assumes a new single-byte packet. Since a 1-
byte packet is invalid, 19 B2 is generated by the modem.
19 BA Loss of Carrier Detected
0D 0A 4E 4F 20 43 41 52 52 49 45 52 0D 0A NO CARRIER
Table 104. Bit Errors (Continued)
Data Meaning
AN93
Rev. 1.3 169
The following steps will allow the spurious data and bit errors to be eliminated while preserving the valid data.
1. Ignore 19 B0.
2. Use 19 B2 to discard all collected receive data.
The filtered version of the HDLC frames, based on this algorithm, is shown below with the valid data in bold.
0D 0A 43 4F 4E 4E 45 43 54 20 31 32 30 30 0D 0A 19 BE 20 20 19 B1 19 B0 19 B2 30 93
19 B1 19 B2 30 93 19 B1 19 B2 30 93 19 B1 19 B2 30 93 19 B1 19 B2 19 B2 B6 9E F7 46
19 B0 19 B2 29 C6 19 B0 19 B2 FF 98 89 18 19 B0 19 B2 92 6E EF 14 65 19 B0 19 B2 DA
BE C6 07 EA D8 31 C2 05 3C FA C8 86 C4 40 E6 19 A0 CA EA A8 F9 19 B2 8D 00 57 A5 43
29 19 B0 19 B2 05 CB 14 9F 7C 2D 19 B0 19 B2 19 B2 19 BA 0D 0A 4E 4F 20 43 41 52 52
49 45 52 0D 0A
6.9. Overcurrent Detection
The ISOmodem has a built-in overcurrent detection feature (disabled by default) that measures loop current a
programmable amount of time after going off-hook. This allows the modem to detect an improper line condition.
The overcurrent detect feature is enabled by setting U70 [11] (OCDM) = 1. During the time after the modem goes
off-hook, loop current is measured and set by U77 [8:0] (OHT). The default delay is 16 ms. After the delay, current
is sampled every 1 ms. An o vercurr ent is detec ted if tw o consecutive samples indicate an overcurrent condition. If
this feature is enabled and excessive current is detected, the ISOmodem sends the X result code and triggers an
interrupt by asserting the INT pin or by setting the INT bit in the parallel or SPI mode. After an interrupt is received,
the host issues the AT:I command to verify the OCD interrupt and clear the OCD bit. The delay between modem
off-hook and loop current measurement is set by the OHT bits. OHT is a 9-bit register with 1 ms units. The default
delay is 16 ms. When the modem is off-hook in an overload condition, LVCS = 11111 (full scale—overload error
condition), an X is sent to the DTE, and the OCD bit is set.
The Overcurrent Detection feature is controlled by changing U-register settings . Th e re gi sters and bits that control
these featur es ar e sh ow n in Table 105.
6.10. Pulse/Tone Dial Decision
There are three methods to detect whether a telephone line supports DTMF dialing or pulse dialing only. The first
method, which is the simplest, may require the modem to go off-hook more than once. The second method is
slightly more complicated but does not require the modem to go off-hook multiple times.
6.10.1. Method 1: Multiple Off-Hook Transitions
Use DTMF to dial the desired number with the ATDT command. If the line accepts tone dialing, the call is
completed, and connection to the remote modem proceeds as usual.
If the line only allows pulse dialing, the modem hangs up and reports UN-OBTAINABLE NUMBER. This indicates
that the modem detected a dial tone after the DTMF dial attempt. Dial the number again using the ATDP command
instead of ATDT to use pulse dialing.
Table 105. Overcurrent Detection
Register Bit Value Function
U67 7 DCR DC Impedance Select
U70 11 OCDM Overcurrent Detect Mask
U70 3 OCD Overcurrent Detect
U77 8:0 OHT Off-Hook Time
U79 4:0 LVCS Line Voltage Current Sense
AN93
170 Rev. 1.3
6.10.2. Method 2: Single Off-Hook Transition
Use this method if it is undesirable for the modem to go of f-h ook more than o nce or to DTMF dial a sin gle digit. This
method is somewhat more complicated and is best illustrated with an example, dialing the number 1234 below.
Set bit 7 of U-register 7A (U7A [7] (DOP) = 1) and se nd ATDT1;<CR> (Dial the first digit using DTMF and wait for a
response). A response of OK indicates that DTMF digit 1 was sent, and the rest of the digits can be dialed. If a
response of NO DIALTONE is received, the command failed because there was no dial tone (no line available),
and the call cannot be completed.
If a response of OK is received after sending ATDT1;<CR>, continue by sending ATDTW;<CR> to perform the
second dial tone detection and wait for a response. A response of NO DIALTONE indicates that no dial tone was
detected for two seconds, and the line is DT MF cap a ble. Complete the dialing b y sending ATDT2345<CR> (DTMF
dial beginning with the second number since the first number was successfully sent initially).
If an OK (dial tone present) was received after the ATDTW;<CR>, the line requires pulse dialing. Pulse dial the
entire telephone number using ATDP12345<CR>.
6.10.3. Method 3: Adaptive Dialing
Adaptive dialing attempts to dial with DTMF, then falls back to pulse dialing. It is enab led with bit 6 of U7A. If bit 6 is
set, the first digit is dialed with DTMF, and the ISOmodem waits two seconds. If a dial tone is still present, the first
digit is resent with pulse dialing followed by the other digits in the dial string. If a dial tone is not present, the
remaining digits are dialed with DTMF. Adaptive dialing does not select 10 pps vs. 20 pps dialing. This must be
configured beforehand. In a PBX installation, this method typically results in pulse dialing, because the first digit
dialed, usually 8 or 9, is used to obtain an outside line and therefore results in a dial tone.
6.10.4. Automatic Phone-Line Configuration Detection
The modem may automatically determine the following characteristics of the telephone line:
DTMF or pulse dialing only
Determine if 20 pps is supported on a pulse dial only line.
Identify it as an outside line or extension network (PBX).
If connected to a PBX, determine if the dial tone is constant or make/break.
If connected to a PBX, determine the number to dial for an outside line.
The AT&X1 command automatically determines the above parameters through a series of off-hooks and dialed
digits.
6.10.5. Line Type Determination
The digit dialed to determine 10 pps vs. 20 pps is programmable through S51. The &X2 command works as
described above; however, only DTMF/20 pps/10 pps determination is made (no PBX). The &X1 and &X2
commands may be aborted by sending the command, AT&X0. The result code will be OK.
Table 106. Automatic Phone Line Configuration
AT
Command Result Code
&X1
WXYZn
W = 0 line supports DTMF dialing
1 line is pulse dial only
X = 0 line supports 20 pps dialing
1 line supports 10 pps dialing only
Y = 0 extension network (PBX)
1 connected to outside line
Z = 0 continuous dial tone
1 make-break dial tone
n = 0–9, number for outside line
AN93
Rev. 1.3 171
6.11. Telephone Voting Mode
The telephon e voting mode ( TVM) of operation monitors the line to detect polar ity reversals af ter dialing. It wait s for
a busy tone to be detected and reports POLARITY REVERSAL or NO POLARITY REVERSAL followed by OK.
To enab le T VM, use the G ch arac ter in the dial string (e g. ATDTG1). The G character must be used for each TVM
call. The S7 timer operates during TVM and indicates NO CARRIER if a timeout occurs before the busy tone is
detected. Polarity reversal monitoring begins af ter the last d igit is di aled and ends at the de tection of the busy ton e.
Any loss of line-side power (drop out) is considered a polarity reversal if loop current is restored within U51
milliseconds.
6.12. V.92 Quick Connect
The Si2493 supports ITU-T V.92 shortened Phase 1 and Phase 2 to decrease the time required to connect to a
server modem using the V.90 modulation. After the first call, the Si2493 will retain line parameters that allow it to
use shortened Phase 1 and 2 to reduce the total negotiation time. If line conditions change or the remote server
does not support the shortening of these phases, the modem will automatically connect with the normal Phase 1
and Phase 2 negotiation unless specifically commanded not to. Two AT commands control this feature: AT+PQC
and AT+PSS.
The AT+PQC command controls the enabling and disabling of shortened Phase 1 and Phase 2 individually
according to Ta ble 108. It is recommended that both shortened phases be used to realize the maximum reduction
in connect time. The possible settings of the AT +PSS command are shown in Table 109. The AT+PSS command
may be used to force quick connect by setting AT+PSS = 1; how ever, this is not recommended because calling a
server that does not support this feature will result in a failed connection.
Table 107. Possible +PMHT Settings
<Value> Description
0 Deny V.92 Modem-on-Hold Request
1 Grant MOH with 10 second timeout
2 Grant MOH with 20 second timeout
3 Grant MOH with 30 second timeout
4 Grant MOH with 40 second timeout
5 Grant MOH with 1 minute timeout
6 Grant MOH with 2 minute timeout
7 Grant MOH with 3 minute timeout
8 Grant MOH with 4 minute timeout
9 Grant MOH with 6 minute timeout
10 Grant MOH with 8 minute timeout
11 Grant MOH with 12 minute timeout
12 Grant MOH with 16 minute timeout
13 Grant MOH with indefinite timeout
AN93
172 Rev. 1.3
Table 108. AT+PQC Parameters
<Value> Description
0 Enable Short Phase 1 and Short Phase 2
1 Enable Short Phase 1
2 Enable Short Phase 2
3 Disable Short Phase 1 and Short Phase 2
Table 109. AT+PSS Parameters
<Value> Description
0 The DCEs decide whether or not to use
the short startup procedures. The short
startup procedures shall only be used if
enabled by the +PQC command.
1 Forces the use of the short startup proce-
dures on the next and subsequent con-
nections if they ar e en a bled by the +PQC
command.
2 Forces the use of the full startup proce-
dures on the next and subsequent con-
nections independent of the setting of the
+PQC command.
AN93
Rev. 1.3 173
7. Handset, TAM, and Speakerphone Operation
This section covers the voice functionality of the Si2494/39. The voice features of the Si2494/39 are divided into
three major categories: handset, telephone answering machine (TAM), and speakerphone. The Si2494/39
implements ITU-T V.253 commands for TAM and speakerphone operation. The TAM voice compression support
includes the following formats:
Signed linear 8-bit, 64 kbps
Unsigned linear 8-bit, 64 kbps
G.711 µ-law 8-bit, 64 kbps
G.711 A-law 8-bit, 64 kbps
G.726 ADPCM 2-bit, 16 kbps
G.726 ADPCM 4-bit, 32 kbps
All formats use a fixed 8 kHz sampling rate. For most applications, the user wants a high-quality message format
(64 kbps) for the Outgoing Message (OGM) and is less concerned about the quality of the Incoming Message
(ICM).
Speakerphone operation employs an acoustical echo canceller (AEC), acoustical echo suppressor (AES), double-
talk detector (DTD), and line-echo canceller (LEC). This solution provides the following performance:
Programmable echo tail filter length: up to 64 ms
Convergence speed (white noise): less than 1.6 s
Single-talk echo suppression: better than 48 dB
Double-talk echo suppression: better than 30 dB
The software reference section presents the implemented V.253 AT Commands, V.253 <DLE> commands, V.253
<DLE> events, and U registers. The voice reference section covers the functional operation of handset, TAM, and
speakerphone modes and includes use cases with programming examples.
7.1. Software Reference
7.1.1. AT Command Set
In Voice Command State, AT commands are used to control the DCE. The DCE responds with verbose response
strings during Voice Command State. During the Voice Transmit, Voice Receive, and Voice Duplex States, the
<DLE> shielded commands are used. The <DLE> events can appear in all states.
7.1.2. AT+ Extended Commands
Table 110. Extended AT+ Command Set
Command Action
+FCLASS = <mode>
Data/Voice Mode Selection
<mode> Description
0 Data (default)
8 Voice mode
256 SMS mode
Note: An ATH command will automatically transition the DCE to +FCLASS=0.
+IPR = <rate>
Fixed DTE Rate
<rate> Description
0 Automatically detect the baud rate.
[BPS] The decimal value of the rate in bits per second.
The <rate> p a rameter r epresents the DTE ra te in bp s and may be set to a ny of th e fol-
lowing values: 300, 600, 1200, 24 00, 4800, 7200, 9600, 12000 , 14400, 19200, 38 400,
57600, 115200, 230400, 245760, and 307200.
AN93
174 Rev. 1.3
+VCDT = <n>
Caller ID Type
<n> Description
0 After ring only
1 Always on
2 UK
3 Japan
4 DTMF after polarity reversal
5 DTMF after polarity reversal (off-hook reception)
6 Always-on DTMF
7 DTMF af ter ring
+VCID = <pmode>
Caller ID Enable
<pmode> Description
0 Off
1 On—formatted
2 On—raw data format
+VDR = <enable>,
<report>
Distinctive Ring Cadence Reporting
<enable>,<report>Mode
0, x Disable distinctive ring
1, 0 Enable distinctive ring. The DCE will report DROF and DRON result
codes only. DROF and DRON are reported in 100 ms units.
1, 1 Enable distinctive ring. The DCE will report DROF and DRON result
codes as well as well as a Ring result code x/10 seconds after the falling edge of a
ring pulse. DROF and DRON are reported in 100 ms units.
+VGR = <gain>
Receive Gain Selection
The <gain> parameter has a range of 112-134 with 128 marking the nominal value.
The default is 128, which represents 0 dB. Step size is 3 dB. This represents a
range of -48 dB to 18 dB. This command is used to control the receive gain at the DTE
from either the Si3000 Codec or the DAA. The purpose is to adjust the DTE receive
gain for the TAM voice stream during idle state. See the <DLE><d> and <DLE><u>
commands discussed in Table 111 on page 178 for information on how to control the
receive gain during active voice stream processing.
+VGT = <gain>
Transmit Gain Selection
The <gain> parameter has a range of 112-134 with 128 marking the nominal value.
The default is 128, which represents 0 dB. Step size is 3 dB. This represents a
range of -48 dB to 18 dB. This command is used to control the transmit gain at the
DTE to either the Si3000 Codec or th e DAA. The purpose is to adjust the DTE tran smit
gain for the TAM voice stream during idle state. See the <DLE><d> and <DLE><u>
commands discussed in Table 111 on page 178 for information on how to control the
transmit gain during active voice stream processing.
+VIP Load Voice Factory Defaults.
+VIT = <timer> DTE/DCE Inactivity Timer
The <timer> parameter has a range of 0-255 with units of seconds. The default is 0
(disable).
Table 110. Extended AT+ Command Set (Continued)
Command Action
AN93
Rev. 1.3 175
+VLS = <label>
Analog Source / Destination Selection
<label> Description
0 DCE is on-hook. AOUT disabled. Tone detectors disabled.
Si3000 sample pass-through to DAA is inactive.
1 DCE is off-hook. AOUT disabled. Tone detectors disabled.
4 DCE is on-hook. AOUT connected to tone generators.
Tone detectors disabled.
5 DCE is off-hook. AOUT connected to PSTN.
Tone detectors enabled.
13 DCE is off-hook. V.253 tone event reporting enabled. Si3000 sample
pass-through to DAA is active with op tions for speakerphone operation.
14 DCE is on-hook. V.253 tone event reporting enabled . Si3000 interface
is active for DTE voice stream pass-through.
15 DCE is off-hook. V.253 tone event reporting enabled. Si3000 sample
pass-through to DAA is active with options for handset operation.
20 DCE is on-hook. AOUT dis abled . Tone detec to rs en able d.
21 DCE is on-hook. AOUT con nected to tone generator s. Tone detectors
enabled.
Table 117 on page 190 shows the voice-mode operation and the signal paths. See
10.2.4.2 of V.253 for an explanation of the AT +VLS=? command results. If an ATD
command is sent while the DCE is in VLS=0 and +FCLASS=8, the DCE will automati-
cally transition to VLS=1. The ATH command will automatically force the DCE to
VLS=0. The main optio ns of interest are the 0, 13, 14 , an d 5. The +V LS= 0 set tin g
must be applied first before applying a new +VLS value to ensure the mode is exited
properly.
+VNH = <hook>
Automatic Hangup Control
<hook> Description
0 The DCE retains automatic hangups as is normal in the other modes
(such as hanging up the phone when the ISOmodem does not detect a data carrier
with a given time interval).
1 The DCE shall disable automatic hangups in the other non-voice
modes.
2 The DCE shall disable all hang-ups in other non- voice modes. The
DCE shall only perform a “logical” hangup (return the OK result code).
+VRA = <interval>
Ringing Tone Goes Away Timer
The DCE only uses this co mman d in call orig ination tr ansaction s. This comma nd sets
the amount of time in 0.1 second units the DCE shall wait between Ringing Tone
before it can assume that the remote modem has gone off-hook. Default time is five
seconds.
+VRID = <rmode>
Repeat Caller ID
<rmode> Description
0 Display Caller ID information of the last incoming call in formatted
form.
1 Display Caller ID information of the last incoming call in unformatted
form.
Table 110. Extended AT+ Command Set (Continued)
Command Action
AN93
176 Rev. 1.3
+VRN
Ringing Tone Never Appeared Timer
This command sets the amount of time in seconds the DCE will wait looking for Ring-
ing Tone. If the DCE does not detect Ringing Tone in this time period, the DCE shall
assume that the remote station has gone off-hook and return an OK result code.
Default time is 0 seconds.
+VRX
Receive Voice Stream
Enable DTE receive of voice stream. The DCE will return a CONNECT response fol-
lowed by the voice stream as defined by the +VSM command. The DTE can issue a
<DLE><!> or <DLE><ESC> sequence to terminate the receive stream. The DCE will
return a <DLE><ETX> followed by an OK response for <DLE><!> and <DLE><ESC>
followed by an OK response for <DLE><ESC>. The DCE can be configured to termi-
nate the stream using the DTE/DCE Inactivity Timer, which is configured using the
+VIT command. The DTE will need to process any <DLE> shielded events present in
the data stream. Any <DLE><DLE> sequences can be preserved to allow less over-
head during playback of the stream with the +VTX command.
+VSD = <sds>, <sdi>
Silence Detection
<sds> Silence Detection Sensitivity
118 More sensitive: lower noise levels considered to be silence
128 Nominal lev el of sensitivity.
138 Less sensitive: higher noise levels considered to be silence
<sdi> Silence Detection Interval
The time interval in 0.1 second unit s, which must contain no or little activity, before the
DCE will report (QUIET) (<DLE><q>). Default is five seconds.
+VSM = <cml>
Compression Selection Method
<cml> Compression Mode
0 Signed linear PCM, 8-bit, 64 kbps
1 Unsigned linear PCM, 8-bit, 64 kbps
4 G.711U -law companding PCM, 8-bit, 64 kbps
5 G.711A A-law companding PCM, 8-bit, 64 kbps
129 G.726 ADPCM, 2-bit, 16 kbps
131 G.726 ADPCM, 4-bit, 32 kbps
All compression modes use a fixed sampling rate of 8 kHz. See 10.2.8.2 of V.253 for
an explanation of the +VSM=? command results.
+VSP = <mode>
Voice Speakerphone State
<mode> Description
0 S peakerphone AEC, AES and LEC disabled. Handset FIR filter
coefficients are selected.
1 Speakerphone AEC, AES and LEC enabled. Speakerphone FIR filter
coefficients are selected. The +VLS=13 command must be used in combination with
this setting.
+VTD = <dur> DTMF / Tone Duration Timer
This command set s the default DTMF / tone g eneration dura tion in 10 ms unit s for the
+VTS command. Default time is 1 second (<dur> = 100).
Table 110. Extended AT+ Command Set (Continued)
Command Action
AN93
Rev. 1.3 177
+VTS = [<freq1>,
<freq2>, <dur>],[...]...
DTMF and Tone Generation
This command can be used to produce single-frequency tones and double-frequency
tones (i.e. DTMF digit). All three parameters are required for correct operation.
<freq1> Frequency one, which has a range of 0, 200-3200 Hz.
<freq2> Frequency two, which has a range of 0, 200-3200 Hz.
<dur> Duration of the tone(s) in 10 ms units.
For only a single tone, use <freq1> with ze ro value for <fre q2>. Bracket synt ax can be
used to group sets of tones to generate simple melodies, e.g.
+VTS=[500,0,10],[600,200,20],[700,250,30]
+VTX
Transmit Voice Stream
Enable DTE transmit of voice stream to DCE. The DCE will return a CONNECT
response. The DTE sends the voice stream as defined by the +VSM command. Any
0x10 character in the voice stream must be shielded with a <DLE>. The DTE issues a
<DLE><ETX> sequence to terminate the transmit stream. The DCE will respond with
<DLE><ETX> followed by OK. The DCE can be configured to terminate the stream
using the DTE/DCE Inactivity Timer, which is configured using the +VIT com man d .
Table 110. Extended AT+ Command Set (Continued)
Command Action
AN93
178 Rev. 1.3
7.1.3. <DLE> Commands (DTE-to-DCE)
The characters listed in the Code column of Table 111 are referenced throughout this document with the <>
notation. Simple action commands consist of a <DLE> character plus a simple action-command character (two
bytes total).
Table 111. <DLE> Commands (DTE-to-DCE)
Format: <DLE>[Code]
Code Hex Simple Action Command Description
<DLE> 0x10 The DTE must shield any 0x10 characters in the voice data stream sent to the DCE to
avoid creation of a <DLE> simple-action command.
<SUB> 0x1A More efficient representation of two 0x10 0x10 characters in the voice data stream.
<CAN> 0x18 Clear transmit buffer of voice data during +VTX session.
<NUL> 0x00 Do nothing. Refresh +VIT Inactivity Timer.
/ 0x3C Disable DTMF reporting.
~ 0x2F Enable DTMF reporting.
<ESC> 0x1B End Voice Receive State started by the +VRX command.
! 0x21 Abort Voice Receive State started by the +VRX command.
u 0x75 Increase volume or gain during voice stream processing. For +VRX, increase the UBF
and UC0 receive gains by 3 dB. For +VTX, increase the UB8 and UB3 transmit gains by
3 dB. The voice driver should track this com mand and update the +VGR or +VGT setting.
Since this <DLE><u> command affects RS232 DAA an d RS232 Si3000 gain registers,
the voice driver should maintain two sets of +VGT and +VGR. The voice driver will need
to know the +VLS state to determine if RS232 is connected to the Si3000 or the DAA.
This command is only processed during an active +VRX or +VTX operation.
d 0x64 Decrease volume or gain during voice stream processing. For +VRX, decrease the UB3
and UB8 receive gains by 3 dB. For +VTX, decrease the UB8 and UB3 transmit gains by
3 dB. The voice driver should track this com mand and update the +VGR or +VGT setting.
Since this <DLE><d> command affects RS232 DAA an d RS232 Si3000 gain registers,
the voice driver should maintain two sets of +VGT and +VGR. The voice driver will need
to know the +VLS state to determine if RS232 is connected to the Si3000 or the DAA.
This command is only processed during an active +VRX or +VTX operation.
AN93
Rev. 1.3 179
7.1.4. <DLE> Events (DCE-to-DTE)
7.1.4.1. Simple Event Reporting
Table 112. <DLE> Simple Events (DCE-to-DTE)
Format: <DLE>[Code]
Code Hex Description
<DLE> 0x10 The DCE will shield a 0x10 character in the voice stream to create a 0x10 0x10
sequence sent to the DTE.
<SUB> 0x1A DLE DLE in datastream
<ETX> 0x03 End of voice stream data state.
X 0x58 Packet Header "Complex Event Detection Report". Implemented for CID and Distinctive
Ring report only.
. 0x2E Packet Terminator "Complex Event Detection Report". Implemented fo r CID and Distinc-
tive Ring report only.
/ 0x2F DTMF tone detection started.
~ 0x7F DTMF tone detection ceased.
R 0x52 Ring incoming.
1 0x31 DTMF 1
2 0x32 DTMF 2
3 0x33 DTMF 3
4 0x34 DTMF 4
5 0x35 DTMF 5
6 0x36 DTMF 6
7 0x37 DTMF 7
8 0x38 DTMF 8
9 0x39 DTMF 9
0 0x30 DTMF 0
A 0x41 Extended keypad DTMF A
B 0x42 Extended keypad DTMF B
C 0 x43 Extended keypad DTMF C
D 0 x44 Extended keypad DTMF D
* 0x2A Extended keypad DTMF E
# 0x23 Extended keypad DTMF F
AN93
180 Rev. 1.3
o 0x6F Rec eive buffer overrun
u 0x75 Transmit buffer underrun.
c 0x63 Fax Calling. DCE has detected T.30 1100 Hz tone.
e 0x65 Data Calling. DCE has detected V.25 1300 Hz tone.
h 0x68 Line vo ltage collapsed (pho ne line de tached).
H 0x48 Line voltage restored (phone line reattached).
q 0x71 Presumed End of Message (QUIET).
l 0x6C Loop current interruption.
b 0x62 Busy tone detected.
d 0x64 Dial tone detected.
r 0x72 Ringing tone detected.
p 0x70 Line voltage incr ease d (p aralle l phone goes on -hook). DCE mo nitors loop cur rent when
off-hook and line voltage when on-hook.
P 0x50 Line voltag e decreased (par allel phone goes of f-hook). DCE monitors loo p current when
off-hook and line voltage when on-hook.
a 0x61 Fax or data answer. DCE has detected T.30 2100 Hz or V.21 1650 Hz answer tone.
f 0x66 Data answer. DCE has detected 2225 Hz, USB1 or AC answer sequence.
( 0x28 Negative (decreased) loop-current drift detected.
) 0x29 Positive (increased) loop-current drift detected.
Table 112. <DLE> Simple Events (DCE-to-DTE) (Continued)
Format: <DLE>[Code]
Code Hex Description
AN93
Rev. 1.3 181
7.1.4.2. Complex Event Reporting
7.1.5. U Registers
This section presents the set of U registers needed for the voice modes.
Table 113. <DLE> Complex Event Reports (DCE-to-DTE)
Format: <DLE><X>[Response]<DLE><.>
Response
Tag Description
DRON Distinctive Ring Cadence On-time tag. See +VDR for details.
DROF Distinctive Ring Cadence Off-time tag. See +VDR for details.
DATE CID DATE tag. Full format is DATE=HHMM. Type I and II supported.
TIME CID TIME tag. Full format is TIME=MMDD. Type I and II supported.
NMBR CID NMDR tag. Full format is NMBR=<Number> or P or O. Type I and II supported.
NAME CID NAME tag. Full format is NAME=<Listing>. Type I and II supporte d.
MESG CID MESG tag. Full format is MESG=<Data Tag><Length of Message><Data><Checksum>.
Type I and II supported.
TA, TB Tone Detector A and B
Format is TA=<tonestate> or TB=<tonestate>
tonestate[31:16] millisecond timestamp
tonestate[15:2] reserved
tonestate[1] Tone B detected
tonestate[0] Tone A detected
Table 114. Voice Mode U Registers
Register Address Name Description Default
U72 0x0072 CDCCTRL Si3000 Audio Codec Control Interface.
UB1 0x00B1 TXGAIN Si3000-to-DAA Transmit Gain. 0x1000
UB3 0x00B3 TXGAIN1 RS232-to-DAA Transmit Gain. 0x1000
UB4 0x00B4 TXGAIN2 VTS-to-DAA Transmit Gain. 0x1000
UB5 0 x00B5 RXGAIN DAA-to- Si3 00 0 Rece ive Ga in . 0x1000
UB6 0x00B6 STGAIN Si3000-to-DAA Side Tone Gain. 0x0000
UB8 0x00B8 TXGAIN3 RS232-to-Si3000 Transmit Gain. 0x1000
UB9 0x00B9 TXGAIN4 VTS-to-Si3000 Transmit Gain. 0x0000
UBF 0x00BF RXGAIN1 DAA-to-RS232 Receive Gain. 0x1000
UC0 0x00C0 RXGAIN2 Si3000-to-RS232 Receive Gain. 0x1000
AN93
182 Rev. 1.3
U156 0x0156 HTXFIR1
Handset TX FIR Filter Coefficients.
0x4000
U157 0x0157 HTXFIR2 0x0000
U158 0x0158 HTXFIR3 0x0000
U159 0x0159 HTXFIR4 0x0000
U15A 0x015A HTXFIR5 0x0000
U15B 0x015B HTXFIR6 0x0000
U15C 0x015C HTXFIR7 0x0000
U15D 0x015D HTXFIR8 0x0000
U15E 0x015E HTXFIR9 0x0000
U15F 0x015F HTXFIR10 0x0000
U160 0x0160 HTXFIR11 0x0000
U161 0x0161 HTXFIR12 0x0000
U162 0x0162 HTXFIR13 0x0000
U163 0x0163 HTXFIR14 0x0000
U164 0x0164 HTXFIR15 0x0000
U165 0x0165 HTXFIR16 0x0000
U166 0x0166 HTXFIR17 0x0000
U167 0x0167 HTXFIR18 0x0000
U168 0x0168 HTXFIR19 0x0000
U169 0x0169 HTXFIR20 0x0000
U16A 0x016A HTXFIR21 0x0000
Table 114. Voice Mode U Registers (Continued)
Register Address Name Description Default
AN93
Rev. 1.3 183
U16B 0x016B HRXFIR1
Handset RX FIR Filter Coefficients.
0x4000
U16C 0x016C HRXFIR2 0x0000
U16D 0x016D HRXFIR3 0x0000
U16E 0x016E HRXFIR4 0x0000
U16F 0x016F HRXFIR5 0x0000
U170 0x0170 HRXFIR6 0x0000
U171 0x0171 HRXFIR7 0x0000
U172 0x0172 HRXFIR8 0x0000
U173 0x0173 HRXFIR9 0x0000
U174 0x0174 HRXFIR10 0x0000
U175 0x0175 HRXFIR11 0x0000
U176 0x0176 HRXFIR12 0x0000
U177 0x0177 HRXFIR13 0x0000
U178 0x0178 HRXFIR14 0x0000
U179 0x0179 HRXFIR15 0x0000
U17A 0x017A HRXFIR16 0x0000
U17B 0x017B HRXFIR17 0x0000
U17C 0x017C HRXFIR18 0x0000
U17D 0x017D HRXFIR19 0x0000
U17E 0x017E HRXFIR20 0x0000
U17F 0x017F HRXFIR21 0x0000
U196 0x0196 OUTLIM Output Limiter Threshold. 0x5000
U197 0x0197 INLIM Input Limiter Threshold. 0x2000
U199 0x0199 VPCTRL This is a bit-mapped register.
U19A 0x019A AECHLEN AEC Filter Length. 0x0200
U19B 0x019B AECDLY AEC Adjustable Delay. 0x001F
U19C 0x019C AECREFG AEC Reference Gain. 0x1000
U19D 0x019D AECMICG AEC Microphone Gain. 0x1000
U19E 0x019E AECNRG This is a bit-mapped register.
Table 114. Voice Mode U Registers (Continued)
Register Address Name Description Default
AN93
184 Rev. 1.3
U1A0 0x01A0 STXFIR1
Speakerphone TX FIR Filter Coefficient s.
0x0000
U1A1 0x01A1 STXFIR2 0x0000
U1A2 0x01A2 STXFIR3 0x0000
U1A3 0x01A3 STXFIR4 0x0000
U1A4 0x01A4 STXFIR5 0x0000
U1A5 0x01A5 STXFIR6 0x0000
U1A6 0x01A6 STXFIR7 0x0000
U1A7 0x01A7 STXFIR8 0x0000
U1A8 0x01A8 STXFIR9 0x0000
U1A9 0x01A9 STXFIR10 0x0000
U1AA 0x01AA STXFIR11 0x0000
U1AB 0x01AB STXFIR12 0x0000
U1AC 0x01AC STXFIR13 0x0000
U1AD 0x01AD STXFIR14 0x0000
U1AE 0x01AE STXFIR15 0x0000
U1AF 0x01AF STXFIR16 0x0000
U1B0 0x01B0 STXFIR17 0x0000
U1B1 0x01B1 STXFIR18 0x0000
U1B2 0x01B2 STXFIR19 0x0000
U1B3 0x01B3 STXFIR20 0x0000
U1B4 0x01B4 STXFIR21 0x0000
Table 114. Voice Mode U Registers (Continued)
Register Address Name Description Default
AN93
Rev. 1.3 185
U1B5 0x01B5 SRXFIR1
Speakerphone RX FIR Filter Coefficients.
0x0000
U1B6 0x01B6 SRXFIR2 0x0000
U1B7 0x01B7 SRXFIR3 0x0000
U1B8 0x01B8 SRXFIR4 0x0000
U1B9 0x01B9 SRXFIR5 0x0000
U1BA 0x01BA SRXFIR6 0x0000
U1BB 0x01BB SRXFIR7 0x0000
U1BC 0x01BC SRXFIR8 0x0000
U1BD 0x01BD SRXFIR9 0x0000
U1BE 0x01BE SRXFIR10 0x4000
U1BF 0x01BF SRXFIR11 0x0000
U1C0 0x01C0 SRXFIR12 0x0000
U1C1 0x01C1 SRXFIR13 0x0000
U1C2 0x01C2 SRXFIR14 0x0000
U1C3 0x01C3 SRXFIR15 0x0000
U1C4 0x01C4 SRXFIR16 0x0000
U1C5 0x01C5 SRXFIR17 0x0000
U1C6 0x01C6 SRXFIR18 0x0000
U1C7 0x01C7 SRXFIR19 0x0000
U1C8 0x01C8 SRXFIR20 0x0000
U1C9 0x01C9 SRXFIR21 0x0000
U1CD 0x01CD LECHLEN LEC Filter Length. 0x0020
U1CE 0x01CE LECDLY LEC Adjustable Delay. 0x002E
Table 114. Voice Mode U Registers (Continued)
Register Address Name Description Default
AN93
186 Rev. 1.3
The SMUTE bit (U199 [1]) mutes the speaker output audio path. The bit should be cleared for normal
speakerphone operation. For recording during hands-free TAM, the bit should be set to mute the speaker output.
The MMUTE bit (U199 [3]) mutes the microphone input audio path. The bit should be cleared for the normal
speakerphone operation. For message review during hands-free TAM, the bit should be set to mute the
microphone.
Bit SPCAL (U199 [2]) in U199 must be set for speakerphone’s calibration and cleared for normal speakerphone
operation.
Bit fields SPKREF and MICREF in U19E contain the speakerphone’s speaker and microphone levels during
speakerphone calibration.
Table 115. U199 and U19E Register Bit Maps
Reg Name Bits
15-9 Bit8 Bit7 Bit6 Bits
4-5 Bit 3 Bit 2 Bi t 1 Bit 0
U199 VPCTRL SSP_LOCTALK SSP_PTT SSP_FLAG MMUTE SPCAL SMUTE
U19E AECREF SPKREF MICREF
Table 116. U199 Bit Definitions
Bit Name Function
8 SSP_LOCTALK 1 = Local talker enabled
0 = Remote talker enabled
Toggled by <DLE><0x27>
7 SSP_PTT 1 = Manually switch between near/far talker (push-to-talk mode)
0 = Automatically switch based on signal levels
Toggled by <DLE><0x26>
6 SSP_FLAG 1 = Enable SSP mode
0 = Disable SSP mode
Toggled by <DLE><0x25>
3 MMUTE 1 = Mute speaker of speakerphone or handset
0 = Unmute speaker
2 SPCAL 1 = AEC speaker / microphone calibration
0 = Normal mode
1 SMU TE 1 = Mute loc al talker
0 = Unmute local talker
AN93
Rev. 1.3 187
7.2. Voice Reference—Overview
This document uses the term “handset mode” to describe the use of the microphone (MIC) and speaker (SPKRL/
SPKRR) connections on the Si3000. The term “hands-free or speakerphone mode” describes the use of the line
input (LINEI) and line out (LINEO) connections on the Si3000.
The term “handset” describes a handheld device containing a microphone and a speaker with a four-wire
connection for microphone signal pair (MIC/MBIAS and GND) and speaker signal pair (SPKRL and GND or
SPKRL and SPKRR). The Si3000 datasheet uses the term “handset” to describe a two-wire device that is
connected directly to the Public Switch Telephone Network (PSTN). This two-wire device is referenced as a
“telephone instrument” to avoid confusion.
The Si24xx-VMB EVB Rev. 2.0 mainboard with Si24xx2G-QFN Rev 1.0 daughtercard serves as the general
evaluation platform for the Si2494/39 parts. See the Si24xx-VMB Global Voice ISOmodem EVB User ’s Guide for
details.
Figure 29 illustrates the handset and speakerphone voice path. The gain registers in Figure 29 use a 4.12 format,
with a range of 0x0001 (–72.247 dB) to 0xFFFF (24.082 dB). For the Si3000-to-DAA gain (UB1) and the DAA-to-
Si3000 gain (UB5), a value of zero is used to disable the path.
The Si2494/39 enters voice mode with +FCLASS=8. Figure 30 illustrates the gain and signal selection options for
the Si3000 codec. Table 117 provides a summary of how the +VLS command is used to control the various voice
mode operations. Table 118 shows the summary of +FCLASS and IDLE state transitions and the expected
responses.
AN93
188 Rev. 1.3
Figure 29. TAM, Handset, and Speakerphone Voice Paths
AN93
Rev. 1.3 189
Figure 30. Si3000 Codec Gain and Signal Selection Options
AN93
190 Rev. 1.3
Table 117. Voice Mode Operations (+FCLASS=8)
+VLS Mode Primitive DAA Active
Detectors Description +VTX +VRX +VSP +VTS
0 None On-Hook Ring, CID1 Voi ce mode is disab led.
1 T Off-Hook FDV DTMF
2Tones*
TAM operation for call
answer with OGM playback
and record message using
DTE voice stream pass
through with no audio moni-
toring using Si3000.
RS232-
>DAA DAA-
>RS232 RS232-
>DAA
4 S On-Hook Ring, CID1 Await call. Use +VTX for
melody playback via AOUT. RS232-
>AOUT RS232-
>AOUT
5 ST Off-Hook FDV DTMF
2Tones*
Place call with audio call
progress on AOUT. +VTS
tone signal can be heard at
AOUT via DAA echo-back.
RS232-
>DAA DAA-
>RS232 RS232-
>DAA
13 M1S1T Off-Hook CID2
FDV DTMF
2Tones*
Speakerphone operation:
Use +VSP=1 to enable
AEC/LEC and speaker-
phone FIR filters without
side-tone gain. Only CID2
detector is active.
Handset operation: Use
+VSP=0 for handset opera-
tion with handset FIR filters
and side tone gain. All the
detectors are active. Same
as +VLS=15 without TAM
operation.
Si3000<
-->DAA
RS232-
>DAA
RS232-
>Si3000
14 H On-Hook Ring, CID1
FDV DTMF
2Tones*
TAM operation for OGM
record and OGM/message
playback via DTE voice
stream pass through.
RS232-
>Si3000
DAA-
>RS232
Si3000-
>RS232
15 HT Off-Hook CID2
FDV DTMF
2Tones*
Handset voice calls over
Si3000<-->DAA path.
TAM operation for call
answer with OGM playback
and record message using
DTE voice stream pass
through with audio monitor-
ing using Si3000.
RS232-
>DAA
RS232-
>Si3000
DAA-
>RS232
Si3000-
>RS232
RS232-
>DAA
RS232-
>Si3000
20 S On-Hook Ring, CID1
FDV DTMF
2Tones*
Await call.
AN93
Rev. 1.3 191
21 S On-Hook Ring, CID1
FDV DTMF
2Tones*
Await call with tone genera-
tor connections to AOUT for
control beeps, ring tone, etc.
RS232-
>AOUT
* 2Tones =
Detector for
2 pro-
grammed
tones.
Table 118. +FCLASS and IDLE State Transitions Expected Response
Input
Command or
Event
Current Modem Settings
+FCLASS=0,1 +FCLASS=8
+VNH = 0 +VNH = 1 +VNH = 2 +VNH = 0 +VNH = 1 +VNH = 2
ATH or
DTR off (&D2)
ON-HK ON-HK,
+VNH = 0 OFF-HK,
+VNH = 0 ON-HK,
+FCLASS = 0
+VLS = 0
ON-HK,
+VNH = 0,
+FCLASS = 0
+VLS = 0
ON-HK,
+VNH = 0,
+FCLASS = 0
+VLS = 0
AT&F
ON-HK
+VNH = 0
+FCLASS = 0
ON-HK
+VNH = 0
+FCLASS = 0
ON-HK
+VNH = 0
+FCLASS = 0
ON-HK
+VNH = 0
+FCLASS = 0
+VLS = 0
ON-HK,
+VNH = 0,
+FCLASS = 0
+VLS = 0
ON-HK,
+VNH = 0,
+FCLASS = 0
+VLS = 0
ATZ or
DTR off (&D3)
ON-HK
+VNH = 0
+FCLASS = 0
ON-HK
+VNH = 0
+FCLASS = 0
ON-HK
+VNH = 0
+FCLASS = 0
ON-HK
+VNH = 0
+FCLASS = 0
+VLS = 0
ON-HK
+VNH = 0
+FCLASS = 0
+VLS = 0
ON-HK
+VNH = 0
+FCLASS = 0
+VLS = 0
Key Abort ON-HK OFF-HK OFF-HK ON-HK
+VLS = 0 ON-HK
+VLS = 0 ON-HK
+VLS = 0
DCE Initiated
disconnects ON-HK OFF-HK OFF-HK ON-HK OFF-HK OFF-HK
+FCLASS = 8
+FCLASS = 8
Go to IDLE
Keep HK
+FCLASS = 8
Go to IDLE
Keep HK
+VNH = 0*
+FCLASS = 8
Go to IDLE
Keep HK
+VNH = 0*
+FCLASS = 0,1
Go to IDLE
Keep HK Go to IDLE
Keep HK Go to IDLE
Keep HK +FCLASS = 0,1
Go to IDLE
Keep HK
+FCLASS = 0,1
Go to IDLE
Keep HK
+VNH = 0*
+FCLASS = 0,1
Go to IDLE
Keep HK
+VNH = 0*
Notes:
1. “HK”: Hook
2. “Keep HK”: Maintain ON or OFF hook status.
3. *If no +VNH=x command executed since last +FCLASS change.
Table 117. Voice Mode Operations (+FCLASS=8) (Continued)
+VLS Mode Primitive DAA Active
Detectors Description +VTX +VRX +VSP +VTS
AN93
192 Rev. 1.3
7.3. Si3000 Configuration
7.3.1. Microphone and Speaker Ports
The TAM and S peakerpho ne applications use two set s of micr ophones and speakers : one for the handset and one
for hands-free operation. For the Si24xxVMB REV 2.0, the handset circuit uses the MIC input and SPKR_L output.
The Si24xxVMB REV 2.0 allows configuration of the MIC, SPKR_L, and matching ground signals on any handset
pinout. There is no industry standard for handset pinout. For the Si24xx-VMB REV 2.0, the speakerphone/hands-
free TAM circuit uses the LINEI input and the LINEO output. The LINEO is sent to an external amplifier.
7.3.2. Register Settings
Figure 30 illustrates the register bit fields and corresponding values used to control the gain/attenuation, filtering,
output drivers, and signal selection. From the software driver perspective, the Si3000 has three configuration
groups th at are applied fo r the given system st ates: handse t, speaker phone, and han ds-free TAM. For applications
requiring handset recording of the OGM, the software may use a fourth configuration for handset TAM. These
configuration groups define the digital gains, analog gains, and control bit settings for registers 1, 5, 6, 7, and 9 of
the Si3000. Speakerphone algorithm inclu des input and referen ce gains that requir e a lower gain in the Si300 0. For
Hands-Free TAM, the speakerphone voice path is disabled, so a higher analog gain can be used.
7.3.3. System Voice Modes
A system voice mode consists of the Si24xx ISOmodem and Si3000 settings combined with the PSTN status to
achieve a desired function. These modes describe the status of the hook switch, the modem voice path, Si3000
configuration (input, output, and gains), and the allowed operations. Figure 31 illustrates the transition events
among these modes.
7.3.3.1. TAM Hands-Free
This is the general idle mode for recording an OGM/local message (+VRX) and reviewing an ICM/local message
(+VTX). All detectors are functional and incoming rings are indicated on the speaker via a tone or a melody. The
modem is on-hook routing audio between the Si3000 and the DTE interface. The modem voice path is configured
for half-duplex audio with speakerphone algorithm disabled. The Si3000 audio transmit and receive path is muted/
unmuted to allow half-duplex control for proper TAM operations. Side tone is disabled. Handset TX/RX coefficients
are applied. The Si3000 is using the LINEI and LINEO signals with hands-free TAM gain settings.
7.3.3.2. TAM Handset
This is variation to the TAM Hands-Free mode above, with the exception that the handset is used to review a
locally-recorded message or ICM privately. The Si3000 is using the MIC and SPKRR and/or SPKRL signals with
handset gain settings. A raised handset usually triggers of f-hook transition, so the c ontroller would have to support
a special mode to not s witc h off-hook into Han d se t mo de .
7.3.3.3. Speakerphone
This mode is used to conduct a hands-free voice call. The modem is off-hook and routing audio between Si3000
and DAA. The modem voice path is configured for full-duplex audio with speakerphone algorithm enabled. Side
tone is disabled. Speakerphone TX/RX filter coefficients are applied. The Si3000 is using the LINEI and LINEO
signals with speakerphone gain settings.
7.3.3.4. Handset
This mode is used to conduct a private voice call. The modem is off-hook and routing audio between the Si3000
and DAA. The modem voice path is configured for full-duplex audio with speakerphone algorithm disabled. Side
tone is enabled. Handset TX/RX filter coefficients are applied. The Si3000 is using the MIC and SPKRR and/or
SPKRL signals with handset gain settings. This mode is supported by all parts.
AN93
Rev. 1.3 193
7.3.3.5. TAM PSTN
This mode is used to answer an incoming call with OGM playback and ICM recording. The caller may p erform local
TAM operations (i.e. record OGM, review ICM) via remote DTMF control. The modem is off-hook routing audio
between the DAA and the DTE interface; however, audio is also available at the Si3000 (via UB5 path) so call
screening is possible via the speaker (LINEO) while the mi crop hone is muted. The modem voice path is configu red
for half-duplex audio with the speakerphone algorithm disabled. Side tone is disabled. Handset TX/RX coefficients
are applied. The Si3000 is using the LINEI and LINEO signals with speakerphone gain settings. This mode is
supported by the Si2418/29/36/38 parts.
Figure 31. System Voice Modes
Handset
Speakerphone
TAM
Hands-Free
TAM
PSTN
Initialize
RING
(Answer On)
On-Hook
Event
(numerous)
SP Button
On Event
Handset
Raised Event
SP Button
On Event
Handset
Lowered Event
SP Button
Off Event
(Handset On-Hook)
SP Button
On Event
Handset
Raised Event
Handset
Raised Event
SP Button
Off Event
(Handset Off-Hook)
TAM
Handset
Handset
Lowered or
Abort Event
User Request +
Handset Raised
Events
AN93
194 Rev. 1.3
7.4. Initialization
The following sequence is used after power up or hardware reset to prepare the modem for voice operations. This
procedure occurs in the Initialize state presented in Figure 31. After initialization, the system will be in the TAM
Hands-Free mode, which is discussed in "7.3.3.1. TAM Hands-Free".
Table 119. Initialization Sequence
Host to Modem Commands Modem to
Host Result
Codes Local Modem Actions
ATZ OK Reset. The Si3000 is not reset by this
command.
ATE0+FCLASS = 0 OK Disable local AT command echo and
enter data mode, which is necessary for
patch loading.
AT+IPR = 115200 OK Disable autobaud and set rate to
115,200 bps.
[ Apply Patch Commands ] OK Apply the modem patch commands.
AT:U199|A OK Mute the microphone and speaker
paths to the codec.
ATE0+FCLASS = 8 OK
Disable local AT command echo and
enter voice mode. Limited V.253 event
reporting enabled with d efault se tting of
+VLS=0.
AT+VLS = 0 OK Disable voice mode. Used as a transi-
tion point between non-zero +VLS voice
modes.
AT+VLS = 14 OK Setup on-hook TAM voice mo d e. See
Table 117 on page 190 for details.
AT*Y254:W59|1 OK Enable the SSI interface to the Si3000.
AT*Y0 OK Exit the AT*Y command mode.
AT+VCDT = 1 OK Enable always-on Type I Caller ID.
AT+VCID = 1 OK Enable formatted Caller ID.
AT+VSD = 129 OK Set silence detection sensitivity lev el.
AT+PCW = 0 OK Enable Type II Caller ID reporting.
AT:U0B1,0500 OK Set Si3000-to-DAA transm it ga in.
AT:U0B5,0200 OK Set DAA-to-Si3000 receive gain.
AT:U0B6,0100 OK Set Sidetone gain.
AT:U0B9,0300 OK Set VTS-to-Si3000 transmit gain.
AT:U0B4,0600 OK Set VTS-to-DAA transmit gain.
AN93
Rev. 1.3 195
AT:U196,5000 OK Set output limiter threshold gain.
AT:U197,2000 OK Set input limiter threshold gain.
AT:U19C,2400 OK Set AEC reference gain.
AT:U19D,1800 OK Set AEC microphone gain.
AT:U19A,01E0 OK Set AEC filter length.
AT:U19B,001F OK Set AEC adjustable delay.
AT:U04F,01F4 OK Set flash hookswit ch per iod .
AT:U156,FF10,FFA2,FFD7,FF35,FEF3,FE68,FB7E OK
Set Handset Transmit FIR coefficients.AT:U15D,F90C,FDDF,091D,4F51,091D,FDDF,F90C OK
AT:U164,FB7E,FE68,FEF3,FF35,FFD7,FFA2,FF10 OK
AT:U16B,0041,00B1,00AA,0001,FF92,0042,0183 OK
Set Handset Receive FIR coefficients.AT:U172,0165,FEC0,FB05,3940,FB05,FEC0,0165 OK
AT:U179,0183,0042,FF92,0001,00AA,00B1,0041 OK
AT:U1A0,0000,0000,0000,0000,0000,0000,0000 OK Set Speakerphone Transmit FIR coeffi-
cients.
AT:U1A7,0000,0000,0000,0000,0000,0000,0000 OK
AT:U1AE,0000,0000,0000,0000,0000,0000,4000 OK
AT:U1B5,0173,0273,045A,043B,0121,FD54,FE41 OK Set Speake rphone Receive FIR coeffi-
cients.
AT:U1BC,0197,0543,FD03,30D6,FD03,0543,0197 OK
AT:U1C3,FE41,FD54,0121,043B,045A,0273,0173 OK
AT:U72,0108 OK
Configure Si3000 Register 1:
Disable speaker driver
Enable line output driver
Disable telephone instrument driver
Disable MBIAS output
AT:U72,05D7 OK
Configure Si3000 Register 5:
20 dB Line In gain
Enable Line In
20 dB MIC input gain
Mute MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065E OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Enable Line Out
Disable telephone instrument output
Table 119. Initialization Sequence (Continued)
AN93
196 Rev. 1.3
7.5. Handset
7.5.1. Overview
This mode uses the voice pass-through connection to route SSI data between the Si3000 and the DAA. The
modem remains in AT command mode and provides V.253 event notifications. The host controller is responsible
for detecting the status of the handset position. The following sections provides detailed examples of originating
and answering a voice call with the handset.
7.5.2. Handset Configuration
Table 120 contains the initial configuration that is used by all dialing use cases. The sequence is also sent for the
answer case. The user will have been notified of the incoming call through a local +VTS ring tone and a raised
handset event would prompt the Handset Configuration sequence to answer the call. The UB1, UB5, UB6, and
Si3000 register configuration vary with the customer’s production hardware. The UB5 register serves as the
general volume control in this mode.
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out attenuation
0 dB Speaker output attenuation
AT:U0B1,0 OK Disable Si3000-to-DAA transmit gain
path. This ensures codec tones are not
sent to the FDV and DTMF.
AT:U0B5,0 OK
Disable DAA-to-Si3000 receive gain
path. This ensures line events such as
CID and ring tone are not heard via the
codec.
AT:U199&FFF7 OK Enable speaker for local ring tone/alert
tones.
Table 119. Initialization Sequence (Continued)
AN93
Rev. 1.3 197
Table 120. Handset Configuration
Host to Modem Commands / Data Modem to Host
Result Codes/
Data Local Modem Actions
AT:U199|A OK Mute the microphone and sp eaker paths to
the codec.
AT+VLS=0 OK Disable voice mode. Used as a transition
point between non-zero +VLS voice modes.
AT+VLS=13 OK Setup off-hook voice mode. See Table 117
on page 190 for details.
AT:U0B1,0500 OK Restore Si3000-to-DAA tr an sm it gain path.
AT:U0B5,0200 OK Restore DAA-to-Si3 00 0 receive gain path.
AT:U72,0110 OK
Configure Si3000 Register 1:
Enable speaker driver
Disable line output driver
Disable telephone instrument driver
Enable MBIAS output
AT:U72,05B3 OK
Configure Si3000 Register 5:
10 dB Line In gain
Mute Line In
20 dB MIC input gain
Enable MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065C OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Disable Line Out
Disable telephone instrument ou tp ut
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out attenuation
0 dB Speaker output attenuation
AT+VSP=0 OK Select handset voice path. See Figure 29 on
page 188 for details.
AT:U199&FFF5 OK Enable the microphone and speaker paths
to the codec.
AN93
198 Rev. 1.3
7.5.3. Call – Automatic Tone Dial
Table 121 lists the commands that occur after the configuration defined in Table 120.
7.5.4. Call – Manual Off-Hook Tone Dial
Table 122 lists the commands that occur after the configuration defined in Table 120.
7.5.5. Call – Automatic Pulse Dial
Table 123 lists the commands that occur after the configuration defined in Table 120.
7.5.6. Answer
A ring event will prompt the user to lift the handset. This will generate a Handset Raised Event and the Handset
Configuration procedure defined in Ta ble 1 20 should be used to answer the call. For ring detection and local ring
tone/melody generation, see "7.6.2. TAM Hands-Free—Idle" .
Table 121. Handset Automatic Tone Dial
Host to Modem
Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
ATDT102 OK
Perform automatic tone dial of 102. Modem will return OK.
Depending on the number of rings the host may receive
<DLE><r> events for ring-back notifications. If the line is
busy, a <DLE><b> event will be sent to the host. After
connection, the host will receive <DLE><q> events during
quiet periods of no voice.
Table 122. Handset Manual Off-Hook Dial
Host to Modem Commands
/ Data Modem to Host Result
Codes/Data Local Modem Actions
AT+VTS=[697,1209,20] OK
The user is free to dial manually using the +VTS com-
mands to create the DTMF digits.
Generate DTMF 1 digit for 200 ms.
Generate DTMF 0 digit for 200 ms.
Generate DTMF 2 digit for 200 ms.
Depending on th e number of rings the host may r eceive
<DLE><r> events for ring-back notifications. If the line
is busy, a <DLE><b> event will be sent to the host.
After connection, the host will receive <DLE><q>
events during quiet periods of no voice.
AT+VTS=[941,1336,20] OK
AT+VTS=[697,1336,20] OK
Table 123. Handset Automatic Pulse Dial
Host to Modem
Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
ATDP102 OK
Perform automatic pulse dial of 102. Modem will return
OK. Depending on the number of rings the host may
receive <DLE><r> events for ring-back notifications. If
the line is busy, a <DLE><b> event will be sent to the
host. After connection, the host will receive <DLE><q>
events during quiet periods of no voice.
AN93
Rev. 1.3 199
7.5.7. Terminate
Upon detection of the Handset Lowered Event, the host should issue the commands in Table 124 to transition to
the TAM Hands-Free mode.
Table 124. Handset to TAM Hands-Free Transition
Host to Modem
Commands / Data Modem to Ho st Result
Codes/Data Local Modem Actions
AT:U199|A OK Mute the microphone and speaker paths to the codec.
AT+VSP=0 OK Select handset voice path. See Figure 29 on page 188 for details.
+VSP must be zero when exiting from +VLS=13.
AT+VLS=0 OK Disable voice mode. Used as a transition point between
non-zero +VLS voice modes.
AT+VLS=14 OK Setup on-hook voice mode. See Table 117 on page 190 for
details. This will return the modem to on-hook state.
AT:U0B1,0 OK Disable Si3000-to-DAA transmit gain path. This ensures
codec tones are not sent to the FDV and DTMF.
AT:U0B5,0 OK Disable DAA-to-Si3000 receive gain path. This ensures line
events such as CID and ring are not heard via the codec.
AT:U72,0108 OK
Configure Si3000 Register 1:
Disable speaker driver
Enable line output driver
Disable telephone instrument driver
Disable MBIAS output
AT:U72,05D7 OK
Configure Si3000 Register 5:
20 dB Line In gain
Enable Line In
20 dB MIC input gain
Mute MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065E OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Enable Line Out
Disable telephone instrument output
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out attenuation
0 dB Speaker output attenuation
AT:U199&FFF7 OK Enable speaker for local ring tone/alert tones.
AN93
200 Rev. 1.3
7.5.8. Speakerphone Transition
In the Handset mode, the SP Button On Event will trigger the transition from Handset to Speakerphone mode. See
"7.7. Speakerphone" on page 212 for details on Speakerphone mode. The voice driver should track the handset
hook switch state, such that if the user exits Speakerphone mode, the system will switch back to Handset
configuration without losing the active call.
Table 125. Handset to Speakerphone Transition
Host to Modem
Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
AT:U199|A OK Mute the microphone and speaker paths to the codec.
AT:U72,0108 OK
Configure Si3000 Register 1:
Disable speaker driver
Enable line output driver
Disable telephone instrument driver
Disable MBIAS output
AT:U72,05D7 OK
Configure Si3000 Register 5:
20 dB Line In gain
Enable Line In
20 dB MIC input gain
Mute MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065E OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Enable Line Out
Disable telephone instrument output
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out attenuation
0 dB Speaker output attenuation
AT+VSP=1 OK Enable speake rp ho n e vo ice path. See Figu re 29 on
page 188 for details.
AT:U199&FFF5 OK Enable the microphone and speaker paths to the codec.
AN93
Rev. 1.3 201
7.6. Telephone Answering Machine
7.6.1. Overview
The Si2494/39 suppor ts telephon e an swering mach ine ( TAM) operations. These parts use the V.253 command set
to control operation. This section covers the three major TAM-related system voice modes. Some modes offer
multiple operations.
The TAM Hands-Free mode is the general voice idle mode. It is used for OGM recording/review and local ICM
recording/review via hands-free operation. The TAM Handset mode is similar to TAM Hands-Free except that the
audio is hand led over the hand set. The TAM PSTN mo de is for playback of the OGM and recording the ICM. The
TAM PSTN mode also permit s rem ote OGM and ICM r ecord/rev iew via DTMF to ne contro l. The +VTX comman d is
used to play voice menu options/prompts. All the use cases in this section start with the modem in TAM
Hands-Free mode, which is configured in the initialization sequence in Table 119 on page 194.
7.6.2. TAM Hands-Free—Idle
The modem will use the events listed in Table 112 on page 179 to communicate status. The <DLE><R> event
indicates ring detection. The +VTS command can be used to play one or more single/dual tone sequences. If
enabled, Ty pe I CID is decoded after the first ring and sent via a complex <DLE> event report. See Table 126 for
details.
Based upon the TAM answer function settings, a ring counter will validate the number of rings before answer. If the
TAM Answer function is disabled or the number of rings before answer has not been reached, the user has the
opportunity to answer the call via handset or speakerphone.
Table 126. Local Ring Notification with Type I CID Event
Host to Modem Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
<DLE><R> Ring Detection
AT+VTS=[700,500,80] OK Play local ring tone.
<DLE><X>
CIDM
DATE=0101
TIME=0110
NMBR=102
NAME=JONES JENNIFER
<DLE><.>
Receive Type I CID DLE complex report.
<DLE><R> Ring Detection.
AT+VTS=[700,500,80] OK Play local ring tone.
<DLE><R> Ring Detection. The voice driver will use a
rings-to-answer count. This example u ses
three rings before answer.
AT+VTS=[700,500,80] OK Play local ring tone.
AN93
202 Rev. 1.3
7.6.2.1. Record OGM
The Si3000-to-RS232 gain register UC0 in the ISOmodem can be used to adjust the voice stream gain. Use the
+VGR command to adjust the UC0 value in command mode. It is best to maintain two versions of +VGR: one for
Si3000-to-RS232 and another for DAA-to-RS232.
Table 127. TAM Hands-Free Record OGM
Host to Modem Commands /
Data Modem to Host Result
Codes/Data Local Modem Actions
AT+VGR=128 OK Set the Si3000-to-RS232 receive gain (UC0) for TAM
Hands-Free.
AT:U0B1,0500 OK
Restore Si3000-to-DAA transmit gain path to allow
voice samples to reach FDV block for silence detection.
This allows the driver to automatically end OGM
recording.
AT+VSD=129 OK Set sensitivity level for OGM recording silence detec-
tion.
AT+VSM=4 OK Select G.711U -law PCM, 8- bit , 64 kb ps format. Th e
voice driver will need to track the OGM format with the
OGM PCM file.
AT+VTS=[1000,0,100] OK Play user record tone prompt.
AT:U199|8 OK Mute speaker to avoid echo (speakerphone algorithm
off).
AT:U199&FFFD OK Enable microphone for OGM recording.
AT+VRX CONNECT Trigger receive operation. The first byte after the new-
line character following the CONNECT message will be
the first data stream byte.
[Voice Stream]
Receive OGM voice stream. During voice stream cap-
ture, the user can adjust the UC0 value via the
<DLE><u> and <DLE><d> commands. The host voice
driver will need track the number of adjustments and
update the +VGR value for future use.
<DLE><!> <DLE><ETX>
OK
Terminate the receive operation. The modem will
respond with <DLE><ETX> to m ark the end of the data
stream. The OK denotes the return to command mode.
AT:U0B1,0 OK Disable Si3000- to-DAA transmit gain path. This
ensures codec tones are not sent to the FDV and
DTMF.
AT:U199|2 OK Mute the microphone.
AT:U199&FFF7 OK Enable speaker for local ring tone/alert tones.
AN93
Rev. 1.3 203
7.6.2.2. Review OGM
The RS232-to-Si3000 gain register UB8 in the ISOmodem can be used to adjust the voice stream gain. Use the
+VGT command to adjust the UB8 value in command mode. It is best to maintain two versions of +VGT: one for
RS232-to-Si3000 and another for RS232-to-DAA.
7.6.2.3. Record Local ICM
The Record Local ICM is identical to the Record OGM procedure provided in Table 127 on page 202. The main
difference is that one of the ADPCM formats is generally used and the PCM file is stored with the other ICM files
recorded from the PSTN.
7.6.2.4. Review ICM
The Review ICM is identical to the Review OGM procedure provided in Table 128 on page 203. The main
difference is that one of the ADPCM formats is generally used to conserve message space.
7.6.2.5. Speakerphone Transition
The SP Button On Event will trigger this transition. See Table 136 on page 219 for configuration sequence.
7.6.2.6. Handset Transition
The Handset Raised Event will trigger this transition. See Table 120 on page 197 for configuration sequence.
7.6.3. TAM Handset
Using the handset to record the OGM will result in better message quality. The handset can also be used to screen
messages in private. The host will need to correctly process the Handset Raised Event to keep the modem on-
hook during record/review operations.
7.6.3.1. Record OGM
The host will prompt the user to lift the handset to begin OGM recording. The procedure restores the TAM Hands-
Free settings before completion.
Table 128. TAM Hands-Free Review OGM
Host to Modem Commands
/ Data Modem to Host Result
Codes/Data Local Modem Actions
AT+VGT=128 OK Set the RS232-to-Si3000 transmit gain (UB8) for TAM
Hands-Free.
AT+VSM=4 OK Select G.711U -law PCM, 8-bit, 64 kbps format. The
voice driver will need to track the OGM format with the
OGM PCM file.
AT+VTX CONNECT Trigger transmit operation.
<DLE><u> TX Underrun. Appears at the start of +VTX before trans-
mit data are seen.
[Voice Stream]
Transmit OGM voice stream. Duri ng voice stream cap-
ture, the user can adjust the UB8 value via the
<DLE><u> and <DLE><d> commands. The host voice
driver will need track the number of adjustments and
update the +VGT value for future use.
<DLE><ETX> OK Terminate the transmit operation. The modem will
respond with OK to denote the return to command
mode.
AN93
204 Rev. 1.3
Table 129. TAM Handset Record OGM
Host to Modem Commands / Data Modem to
Host Result
Codes/Data Local Modem Actions
AT:U199|A OK Mute the microphone and speaker paths to
the codec.
AT:U72,0110 OK
Configure Si3000 Register 1:
Enable speaker dr ive r
Disable line output driver
Disable telephone instrument driver
Enable MBIAS output
AT:U72,05B3 OK
Configure Si3000 Register 5:
10 dB Line In gain
Mute Line In
20 dB MIC input gain
Enable MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065C OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Disable Line Out
Disable telephone instrument output
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out attenuation
0 dB Speaker output attenuation
AT+VGR=128 OK Set the Si3000-to-RS232 receive gain
(UC0) for TAM Hands-Free.
AT:U0B1,0500 OK
Restore Si3000-to-DAA transmit gain path
to allow voice samples to reach FD V block
for silence detection. This allows the driver
to automatically end OGM recording.
AT+VSD = 129 OK Set sensitivity level for OGM recording
silence detectio n .
AT+VSM = 4 OK Select G.711U -law PCM, 8-bit, 64 kbps
format. The voice driver will need to track
the OGM format with the OGM PCM file.
AT+VTS = [1000,0,100] OK Play user record tone prompt.
AT:U199|8 OK Mute speaker.
AT:U199&FFFD OK Enable microphone for OGM recording.
AN93
Rev. 1.3 205
AT+VRX CONNECT
Trigger receive operation. The first byte
after the newline character following the
CONNECT message will be the first data
stream byte.
[Voice Stream]
Receive OGM voice stream. During voice
stream capture, the user can adjust the
UC0 value via the <DLE><u> and
<DLE><d> commands. The host voice
driver will need track the number of adjust-
ments and update the +VGR value for
future use.
<DLE><!> <DLE><ETX>
OK
Terminate the receive operation. The
modem will respond with <DLE><ETX> to
mark the end of the data stream. The OK
denotes the return to command mode. A
Handset Lowered Event, timeout, or silence
event can trigger the <DLE><!> transmis-
sion.
AT:U0B1,0 OK Disable Si3000-to -DAA tr an sm it ga in path.
This ensures codec tones are not sent to
the FDV and DTMF.
AT:U199|A OK Mute the microphone and speaker paths to
the codec.
AT:U72,0108 OK
Configure Si3000 Register 1:
Disable speaker driver
Enable line output driver
Disable telephone instrument driver
Disable MBIAS output
AT:U72,05D7 OK
Configure Si3000 Register 5:
20 dB Line In gain
Enable Line In
20 dB MIC input gain
Mute MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065E OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Enable Line Out
Disable telephone instrument output
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
Table 129. TAM Handset Record OGM (Continued)
AN93
206 Rev. 1.3
7.6.3.2. Review OGM
The host will prompt the user to lift the handset to begin OGM review. The procedure restores the TAM Hands-Free
settings before completion. The host will need to ensure the Handset Lowered Event is received before
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out attenuation
0 dB Speaker output attenuation
AT:U199&FFF7 OK En ab le sp ea ke r for local ring tone/alert
tones.
Table 130. TAM Handset Review OGM
Host to Modem Commands / Data Modem to
Host Result
Codes/Data
Local Modem Actions
AT:U199|A OK Mute the micr op ho n e and sp ea ke r paths to
the codec.
AT:U72,0110 OK
Configure Si3000 Register 1:
Enable speaker driver
Disable line output driver
Disable telephone instrument driver
Enable MBIAS output
AT:U72,05B3 OK
Configure Si3000 Register 5:
10 dB Line In gain
Mute Line In
20 dB MIC input gain
Enable MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065C OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Disable Line Out
Disable telephone instrument output
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Ou t att enu at i on
0 dB Speaker output attenuation
AT+VGT=128 OK Set the RS232 -t o- Si3 00 0 tr an sm it ga in
(UB8) for TAM Hands-Fre e .
Table 129. TAM Handset Record OGM (Continued)
AN93
Rev. 1.3 207
AT+VSM=4 OK Select G.711U -law PCM, 8-bit, 64 kbps
format. The voice driver will need to track
the OGM format with the OGM PCM file.
AT+VTX CONNECT Trigger transmit operation.
<DLE><u> TX Underrun. Appe ar s at th e start of +VTX
before transmit data are seen.
[Voice Stream]
Transmit OGM voice stream. During voice
stream capture, the user can ad just the UB8
value via the <DLE><u> and <DLE><d>
commands. The host voice driver will need
track the number of adjustment s and update
the +VGT value for future use.
<DLE><ETX> OK Terminate the transmit operation. The
modem will respond with OK to denote the
return to command mode.
AT:U199|A OK Mute the micr op ho n e an d sp eake r paths to
the codec.
AT:U72,0108 OK
Configure Si3000 Register 1:
Disable speaker driver
Enable line output driver
Disable telephone instrument driver
Disable MBIAS output
AT:U72,05D7 OK
Configure Si3000 Register 5:
20 dB Line In gain
Enable Line In
20 dB MIC input gain
Mute MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065E OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Enable Line Out
Disable telephone instrument output
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Ou t att enu at i on
0 dB Speaker output attenuation
AT:U199&FFF7 OK Enable speaker for local ring tone/alert
tones.
Table 130. TAM Handset Review OGM (Continued)
AN93
208 Rev. 1.3
7.6.3.3. Record Local ICM
The Record Local ICM is identical to the Record OGM procedure provided in Table 129 on page 204. The main
difference is that one of the ADPCM formats is generally used and the PCM file is stored with the other ICM files
recorded from the PSTN.
7.6.3.4. Review ICM
The Review ICM is identical to the Review OGM procedure provided in Table 130 on page 206. The main
difference is that one of the ADPCM formats is generally used to conserve message space.
7.6.4. TAM PSTN
This system voice mode differs from the TAM Hands-Free and TAM Handset modes in that the modem is off-hook
and connecte d to the PSTN. Du e to th e paired natu re of the +VGR an d +VGT, the voice driver should ma intain two
copies of each: one for RS232-to-Si3000 and another for RS232-to-DAA. See Figure 29 on page 188 for details.
7.6.4.1. Normal Answer – OGM Playback with ICM Record
Table 131. TAM PSTN Normal Answer – OGM Playback with ICM Record
Host to Modem Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
<DLE><R> Ring Detection
AT+VTS=[700,500,80] OK Play local ring tone.
<DLE><X>
CIDM
DATE=0101
TIME=0110
NMBR=102
NAME=JONES JENNIFER
<DLE><.>
Receive Type I CID DLE complex report.
<DLE><R> Ring Detection.
AT+VTS=[700,500,80] OK Play local ring tone.
<DLE><R> Ring Detection. The voice driver will use a
rings-to-answer count. This exam ple uses
three rings before answer.
AT+VTS=[700,500,80] OK Play local ring tone.
AT:U199|8 OK Mute the speaker so the OGM is not heard
locally. The user may remove this com-
mand to allow local review.
AT+VGR=128 OK Set the DAA-to-RS23 2 rece ive ga in reg is-
ter (UBF) for TAM PSTN.
AT+VGT=128 OK Set the RS232-to-DAA tr ansmit gain regi s-
ter (UB3) for TAM PSTN.
AT+VSD=129 OK Set sensitivity level for ICM recording
silence detection.
AT+VSM=4 OK Select G.711U -law PCM, 8-bit, 64 kbps
format. The voice driver will need to track
the OGM format with the OGM PCM file.
AN93
Rev. 1.3 209
AT+VLS=0 OK Disable voice mode. Used as a transition
point between non-zero +VLS voice
modes.
AT+VLS=15 OK Setup off-hook voice to PSTN. See
Table 117 on page 190 for details.
AT+VTX CONNECT Trigger transmit operation.
<DLE><u> TX Underrun. Appears at the st art of +VTX
before transmit data are seen.
[Voice Stream]
T ransmit OGM voice stream. During voice
stream capture, the user can adjust the
UB3 value via the <DLE><u> and
<DLE><d> commands. The host voice
driver will need track the number of adjust-
ments and update the +VGT value for
future use.
<DLE><ETX> OK Terminate the transmit operation. The
modem will respond with OK to denote the
return to command mode.
AT+VSM=131 OK Select G.726 ADPCM, 4-bit, 32 kbps for-
mat.
AT+VTS=[1000,0,100] OK Play user record tone prompt.
AT:U0B5,0200 OK Restore DAA-to-Si3000 receive gain p ath.
This will allow call screening of the ICM.
AT:U199&FFF7 OK Enable speaker for call screening of the
ICM.
AT+VRX CONNECT
Trigger receive operation. The first byte
after the newline character following the
CONNECT message will be the first data
stream byte.
[Voice Stream]
Receive ICM voice stream. During voice
stream capture, the user can adjust the
UBF value via the <DLE><u> and
<DLE><d> commands. The host voice
driver will need track the number of adjust-
ments and update the +VGR value for
future use.
<DLE><!> <DLE><ETX>
OK
Terminate the receive operation. The
modem will respond with <DLE><ETX> to
mark the end of the data stream. The OK
denotes the return to command mode. A
loss of loop current, parallel phone detect,
timeout, or silence event can trigger the
<DLE><!> transmission.
Table 131. TAM PSTN Normal Answer – OGM Playback with ICM Record (Continued)
AN93
210 Rev. 1.3
7.6.4.2. Interrupted Answer – OGM Playback with DTMF Menu Entry
The procedure listed in Table 132 uses a remote-access password of 1234. DTMF decoding is asynchronous. The
host voice driver will need to employ a timer or timestamp to validate the consecutive DTMF digits that comprise
the remote password.
AT:U0B5,0 OK Disable DAA-to-Si3000 receive gain path.
This ensures line events such as CID and
ring tone are not heard via the codec.
AT:U199|2 OK Mute the microphone.
AT:U199&FFF7 OK Enable speaker for local ring tone/alert
tones.
AT+VLS=0 OK Disable voice mode. Used as a transition
point between non-zero +VLS voice
modes. This will hang-up the call.
AT+VLS=14 OK Setup on-hook TAM voice mode. See
Ta ble 117 on page 190 for details.
Table 132. TAM PSTN Interrupted Answer – OGM Playback with DTMF Menu Entry
Host to Modem Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
<DLE><R> Ring Detection
AT+VTS=[700,500,80] OK Play local ring tone.
<DLE><X>
CIDM
DATE=0101
TIME=0110
NMBR=102
NAME=JONES JENNIFER
<DLE><.>
Receive Type I CID DLE complex report.
<DLE><R> Ring Detection.
AT+VTS=[700,500,80] OK Play local ring tone.
<DLE><R> Ring Detection. The voice driver will use a
rings-to-answer count. This example uses
three rings before answer.
AT+VTS=[700,500,80] OK Play local ring tone.
AT:U199|8 OK Mute the speaker so the OGM is not heard
locally. The user may remove this com-
mand to allow local review.
AT+VGR=128 OK Set the DAA-to-RS232 receive ga in regi s-
ter (UBF) for TAM PSTN.
Table 131. TAM PSTN Normal Answer – OGM Playback with ICM Record (Continued)
AN93
Rev. 1.3 211
AT+VGT=128 OK Set the RS232-to-DAA transmit gain regis-
ter (UB3) for TAM PSTN.
AT+VSD=129 OK Set sensitivity level for ICM recording
silence detection.
AT+VSM=4 OK Select G.711U -law PCM, 8-bit, 64 kbps
format. The voice driver will need to track
the OGM format with the OGM PCM file.
AT+VLS=0 OK Disable voice mode. Used as a transition
point between non-zero +VLS voice
modes.
AT+VLS=15 OK Setup off-hook voice to PSTN. See
Table 117 on page 190 for details.
AT+VTX CONNECT Trigger transmit operation.
<DLE><u> TX Underr un. Appears at the start of +VT X
before transmit data are seen.
[Voice Stream]
Transmit OGM voice stream. During voice
stream capture, the user can adjust the
UB3 value via the <DLE><u> and
<DLE><d> commands. The host voice
driver will need track the number of adjust-
ments and update the +VGT value for
future use.
<DLE><~>
<DLE><1>
<DLE></> DTMF 1 digit detected.
<DLE><~>
<DLE><2>
<DLE></> DTMF 2 digit detected.
<DLE><~>
<DLE><3>
<DLE></> DTMF 3 digit detected.
<DLE><~>
<DLE><4>
<DLE></>
DTMF 4 digit detected. The password of
1234 has been matched. Abort answer
sequence.
<DLE><ETX> OK Terminate the transmit operation. The
modem will respond with OK to denote the
return to command mode.
Table 132. TAM PSTN Interrupted Answer – OGM Playback with DTMF Menu Entry (Continued)
Host to Modem Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
AN93
212 Rev. 1.3
7.6.4.3. Speakerphone Transition
A SP Button On Event will trigger the transition to Speakerphone system voice mode. Based upon the point at
which the event is received, the voice driver will vector to a user answer state to gracefully exit the TAM PSTN
mode.
7.6.4.4. Handset Transition
A Handset Raised Event will trigger the transition to Handset system voice mode. Based upon the point at which
the event is received, the voice driver will vector to a user answer state to gracefully exit the TAM PSTN mode.
7.7. Speakerphone
7.7.1. Overview
The Si2494/39 speakerphone consists of the following function components as shown in Figure 29 on page 188:
Acoustical echo canceller (AEC)
Acoustical echo suppressor (AES)
AEC double-talk detector (DTD)
Line echo canceller (LEC)
Howling controller (HC)
High-pass filter (HPF)
7.7.2. Simplex Speakerphone
Simplex Speakerphone (SSP) is a special case of speakerphone operation. Like Speakerphone, it allows two-way
hands-free voice communication over a telephone line, but SSP allows communication in only one direction at a
time. The direction of voice transmission can be done automatically, based on the presence of local and remote
speech at the modem, or manua lly using a push-to -t alk function . Simplex and full-d uplex speakerph one mod es are
mutually exclusive. SSP supports the Ademco Contact ID and SIA security protocols. It also supports DTMF
generation and detection. DTMF detection is enabled only during +VTR. Commonality in control registers between
SSP and full duplex facilitates programming across platforms. SSP supports Type II Caller ID, but Caller ID is
disabled during +VRX. A DLE<R> event report is sent to the DTE when a SAS Call Waiting tone is detected. If a
CAS tone is detected, the modem mutes the Si3000 speaker while Caller ID Type II data are being captured. It
then reports Caller ID info to the DTE as a DLE-shielded complex event. This happens automatically, without the
need for an AT+VCIDR? command.
1. The microphone sample is taken after U19D; the speaker sample is taken after U19C. However, the scale
factors are set to 1.0 internally, so U19C and U19D will not affect the SSP.
2. To mute the local talker, set U199 [1] to 1 and MUTE_DAA_TO_MIXER=1. To mute the remote talker, set
U199 [3] to 1 and MUTE_MIXER_TO_DAA to 1.
AT+VTS=[500,0,100] OK Play special administrator tone.
[Playback Menu Options]
Using the +VTX command, the voice driver
can playback a menu and monitor DTMF
digit events to perform operations
remotely.
Table 132. TAM PSTN Interrupted Answer – OGM Playback with DTMF Menu Entry (Continued)
Host to Modem Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
AN93
Rev. 1.3 213
7.7.3. Externa l Mi cro pho n e /Speaker Calib r at ion
The Si2494/39 speakerphone calibration is required for a new external speaker and microphone pair to work
properly with the speakerphone code. This section covers the following procedures:
To calibrate the speaker and microphone module from a commercial reference platform to have the same
speaker loudness and microphone sensitivity relative to those of the active reference system.
To calibrate the speakerpho ne gains so that the AEC/DTD input sign al levels are ensured for o ptimal AEC/AES/
DTD performance.
The external analog gains on the Si24xx-VMB should be finalized before the performing the speakerphone
calibration.
7.7.3.1. Transmit Gain Calibration—Speakerphone Disabled
Figure 32 illustrates the reference setup where the commercial speakerphone is ac tive with default settings. U sing
the reference commercial speakerphone, call the remote telephone and establish a voice call. Place a sound
source such as a PC speaker at a distance of one foot from the speakerphone’s microphone. Play out white noise
as the near-end speech through the sound source, and adjust the white noise level so that the level at the
speakerphone’s Tip/Ring is -15 dBm. Record the white noise level and disconnect the call.
Figure 32. Transmit Gain Reference Measurements
Figure 33 illustrates the setup used to set the transmit gain. Here the modem has the AEC/AES disabled with
AT+VSP=0. Using the Si24xx-VMB, call the remote phone and establish a voice call. Use the command sequence
in Table 134. Place the same sound source at a distance of one foot from the speakerphone’s microphone. Play
out the same white noise as the near-end speech through the sound source, and adjust the transmit gain UB1 so
that the level at the Si24xx Tip/Ring is –15 dBm. Record the calibrated UB1 value.
Table 133. Simplex Speakerphone U Registers
Register Name Description Default Value
U1D5 SSPHLDTIM Extra time SSP stays in RX or TX mode to prevent frequent switching 0x0000
U1D6 SSPLTHRSH Local talker threshold 0x0000
U1D7 SSPRTHRSH Remote talker threshold 0x0000
U1D8 SSPBKTHRU Break-through threshold for speaker in auto-switch mode.
Disable feature by setting this to 7FFFh. 0x7FFF
AN93
214 Rev. 1.3
Figure 33. Transmit Gain Configuration
AN93
Rev. 1.3 215
Table 134. Transmit/Receive Gain Calibration – Dial Remote Telephone
Host to Modem Commands
/ Data Modem to Host Result
Codes/Data Local Modem Actions
ATZ OK Reset the modem.
AT+FCLASS=8 OK Enter voice mode.
AT:U199|4 OK Set SPCAL (U199 [2]) to enable calibration.
AT*Y254:W59|1 OK Enable the SSI interface to the Si3000.
AT:U72,0108 OK
Configure Si3000 Register 1:
Disable speaker driver
Enable line output driver
Disable telephone instrument driver
Disable MBIAS output
AT:U72,0597 OK
Configure Si3000 Register 5:
10 dB Line In gain
Enable Line In
20 dB MIC input gain
Mute MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065E OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Enable Line Out
Disable telephone instrument output
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out at te nu at ion
0 dB Speaker output attenuation
AT+VLS=13 OK
Setup off-hook voice mode. See Table 115 on page 186
for details. This command will switch the modem to off-
hook state. The default value is +VSP=0 for disabled
speakerphone.
[Dial Number]
AN93
216 Rev. 1.3
7.7.3.2. Receive Gain Calibration—Speakerphone Disabled
Figure 34 illustrates the reference setup where the commercial speakerphone is active with speaker set to
maximum volume. Using the reference commercial speakerphone, call the remote telephone and establish a voice
call. Place a sound source such as a PC speaker at a distance of one foot from the remote telephone microphone.
Play out white n oise as the fa r-end speech through the s ound source, and adjust the white noise level so that the
level at the speakerphone’s Tip/Ring is -15 dBm. Next, measure the speaker loudness by using a sound meter
(preferred) or a PC microphone to record the sound level at a distance of one foot from the speakerphone’s
speaker. Record the white noise level and speaker level loudness, and then disconnect the call.
Figure 34. Receive Gain Reference Measurements
Figure 35 illustrates the setup used to set the transmit gain. Here the modem has the AEC/AES disabled with
AT+VSP=0. Using the Si24xx-VMB, call the remote phone and establish a voice call. Use the command sequence
in Table 135. Send the same white noise as the far-end speech from the remote phone, and adjust the receive gain
UB5 so that the speaker loudness is the same as that of the reference speakerphone. Record the calibrated UB5
value.
Figure 35. Receive Gain Configuration
AN93
Rev. 1.3 217
7.7.3.3. Speakerphone Calibration—AEC Gain Calibration
Figure 36 illustrates the setup used to set AEC speaker reference gain (U19C) and the AEC microphone input
signal gain (U19D). Here the modem has the AEC/AES enabled (AT+VSP=1) with the calibrated UB1 and UB5
values, which where obtained from the two previous sections. Using the Si24xx-VMB, call the remote phone and
establish a voice call. Use the command sequence in Table 135.
The AECREF (U19E) contains the energy information of both the AEC speaker reference signal (SPKREF) and the
microphone signal (MICREF). The SPKREF bits represent the AEC speaker reference energy, and MICREF bits
represent the AEC microphone input energy. The energy value is computed from average(s[t]^2).
Send the white noise from the remote phone so that the energy level at the meter (Tip and Ring) is -15dBm. Use
the AT:R19E command to read the contents of the U19E register. Adjust the AEC gain (U19C) of the speaker
reference signal until SPKREF reaches a value as close to 0x38 as possible. Adjust the AEC gain (U19D) of the
microphone input signal until MICREF has a value as close as possible to 0x38.
U19C and U19D are calibrated when the AT:R19E reading is close to 0x3838, with a power-level difference of less
than 2dB. Record these values and use them in the initialization sequence defined in Table 119, “Initialization
Sequence,” on page 194.
Figure 36. AEC Gain Calibration
Reg. Name Bit
15 Bit
14 Bit
13 Bit
12 Bit
11 Bit
10 Bit
9Bit
8Bit
7Bit
6Bit
5Bit
4Bit
3Bit
2Bit
1Bit
0
U19E AECREF SPKREF MICREF
AN93
218 Rev. 1.3
Table 135. AEC Gain Calibration – Dial Remote Telephone
Host to Modem
Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
ATZ OK Reset the modem.
AT+FCLASS=8 OK Enter voice mode.
AT:U199|4 OK Set SPCAL (U199 [2]) to enable calibration.
AT*Y254:W59|1 OK Enable the SSI interface to the Si3000.
AT:U72,0108 OK
Configure Si3000 Register 1:
Disable speaker driver
Enable line output driver
Disable telephone instrument driver
Disable MBIAS output
AT:U72,0597 OK
Configure Si3000 Register 5:
10 dB Line In gain
Enable Line In
20 dB MIC input gain
Mute MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065E OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Enable Line Out
Disable telephone instrument output
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out attenuati on
0 dB Speaker output attenuation
AT:UB1,xxxx OK Use calibrated value from “Transmit Gain Calibration –
Speakerphone Disabled” section.
AT:UB5,xxxx OK Use calibrated value from “Receive Gain Calibration –
Speakerphone Disabled” section.
AT+VLS=13 OK Setup of f-hook voice mode. See Table 122 on page 198
for details. This command will switch the modem to off-
hook state.
AT+VSP=1 OK Enable speakerphone voice path. See Table 136 for
details.
[Dial Number]
AN93
Rev. 1.3 219
7.7.4. Speakerphone Configuration
This section covers the speakerphone call and answer cases, and the switching between the handset mode and
speakerphone mode. Table 136 contains the initial configuration that is used by all dialing use cases. The
sequence is also sent for the answer case. The user will have been notified of the incoming call through a local
+VTS ring tone and a SP Button On Event would prompt the Speakerphone Configuration sequence to answer the
call. The UB1, UB5, UB6, and Si3000 register configurations vary with the customer’s production hardware. The
UB5 register serves as the general volume control in this mode.
Table 136. Speakerphone Configuration
Host to Modem Commands / Data Modem to Host
Result Codes/
Data
Local Modem Actions
AT:U199|A OK Mute the microphone and speaker p aths to
the codec.
AT+VLS=0 OK Disable voice mo de. Used as a transition
point between non-zero +VLS voice modes.
AT+VLS=13 OK Setup off-hook voice mode. See Table 117
on page 190 for details. This command will
switch the modem to off-hook state.
AT:U0B1,0500 OK Restore Si3000-to-DAA transmit gain path.
AT:U0B5,0200 OK Restore DAA-to-Si3000 receive gain path.
AT:U72,0108 OK
Configure Si3000 Register 1:
Disable speaker driver
Enable line output driver
Disable telephone instrument driver
Disable MBIAS output
AT:U72,0597 OK
Configure Si3000 Register 5:
10 dB Line In gain
Enable Line In
20 dB MIC input gain
Mute MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065E OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Enable Line Out
Disable telephone instrument output
AT:U72,075E OK
Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AN93
220 Rev. 1.3
7.7.5. Simplex Speakerphone Configuration
Configuring the modem to automatically switch between local talker and remote talker is as follows:
For the SSP auto-switch (VOX) function, set SSP_FLAG to 1 (U199 [6] = 1) and SSP_PTT to 0 (U199 [7] = 0).
Set the speaker and microphone level thresholds, which determine whether remote speech or local speech is
active. The thresholds are defined in U19C and U19D. Typical values for the speaker and microphone
thresholds are 0x700 and 0x600, respectively. These thresholds are not affected by the speaker and
microphone control gains UB5 and UB1.
Set the holding time, which is the time that the SSP holds the current mode after the signal level falls below the
threshold. Holding time prevent s fr equen t mod e switching betwe en RX an d TX. A typical val ue for ho lding time
is 0xC8 (200 ms).
For manual operation (push-to-talk):
Set SSP_FLAG to 1 (U199 [6] = 1) and SSP_PTT to 1 (U199 [7] = 1).
Use the SSP_LOCTALK bit (U199 [8]) to set the speech direction: U199 [8] = 1 for local talker; U199 [8] = 0 for
remote talker.
U1D8 is the break-through threshold for the speaker signal in SSP auto-switch mode. If the speaker signal is above
the threshold U1D8 and holds at least for the holding time, the direction is switched to remote talker, no matter how
strong the signal in the microphone is. To disable break-through, set the threshold to 7FFFh (AT:U1D8,7FFF).
U1D8 greater than U1D6: when the speaker signal is greater than or equal to U1D8, the microphone is muted
and speaker unmuted immediately, regardless of the microphone holding time. When the speaker signal is
greater than U1D6 but less than U1D8, the speaker signal goes through after the expiration of the microphone
holding time.
U1D8 less than U1D6: the break-through threshold U1D8 takes over and the speaker level threshold U1D6
becomes inactive.
The default value for U1D8 is 7FFFh. A typical value for U1D8 is 0x1000. Adjust U1D8 according to the needs
of the application.
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out attenuation
0 dB Speaker output attenuation
AT+VSP=1 OK Enable speakerphone voice path. See Figure 29
on page 188 for details.
AT:U199&FFF5 OK Enable the microphone and speaker paths
to the codec.
Table 136. Speakerphone Configuration (Continued)
Host to Modem Commands / Data Modem to Host
Result Codes/
Data
Local Modem Actions
AN93
Rev. 1.3 221
7.7.6. Call—Au t oma ti c Tone Dia l
Table 138 lists the commands that occur after the configuration defined in Table 136.
7.7.7. Call—Manual Off-Hook Tone Dial
Table 139 lists the commands that occur after the configuration defined in Table 136.
Table 137. Simplex Speakerphone Configuration
Host to Modem Command Modem to Host
Result Code Local Modem Actions
AT:U1CD,40,10 OK Set LEC Filter Length
Set LEC Delay
AT:U1D5,C8,400,400,7FFF OK Set Holding Time (ms)
Set Speaker Threshold
Set Microphone Threshold
Disable break-through
AT:U199|40 OK Enable SSP, configure for automatic switch mode
Table 138. Speakerphone Automatic Tone Dial
Host to Modem
Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
ATDT102 OK
Perform automatic tone dial of 102. Modem will return
OK. The user will not receive <DLE> events for dial
tone, ring-back, busy, and quiet since the detectors are
disabled. See Table 117 for details on active detectors.
Table 139. Speakerphone Manual Off-Hook Dial
Host to Modem Commands
/ Data Modem to Host Re sult
Codes/Data Local Modem Actions
AT+VTS=[697,1209,20] OK
The user is free to dial manually using the +VTS com-
mands to create the DTMF digits.
Generate DTMF 1 digit for 200 ms.
Generate DTMF 0 digit for 200 ms.
Generate DTMF 2 digit for 200 ms.
The user will not receive <DLE> events for dial tone,
ring-back, busy, and quiet since the detectors are dis-
abled. See Table 117 on page 190 for details on active
detectors.
AT+VTS=[941,1336,20] OK
AT+VTS=[697,1336,20] OK
AN93
222 Rev. 1.3
7.7.8. Call—Automatic Pulse Dial
Table 140 lists the commands that occur after the configuration defined in Table 136.
7.7.9. Answer
A ring event will prompt the user to press the speakerphone button. This will generate a SP Button On Event and
the Speakerphone Configuration procedure defined in Table 136 on page 219 should be used to answer the call.
For ring detection and local ring tone/melody generation, see "7.6.2. TAM Hands-Free—Idle".
7.7.10. Hand set Tran si tion
For a SP Button Off Eve nt (Handset Of f-Hook) , the voice driver should use the comm and se quence in Table 141 to
return to the Handset mode. Note the voice driver is responsible for tracking the handset hook switch sta te.
Table 140. Speakerphone Automatic Pulse Dial
Host to Modem
Commands / Data Modem to Host Result
Codes/Data Local Modem Actions
ATDP102 OK
Perform automatic pulse dial of 102. Modem will return
OK. The user will not receive <DLE> events for dial
tone, ring-back, busy, and quiet since the detectors are
disabled. See Table 122 on page 198 for details on
active detectors.
Table 141. Speakerphone to Handset Transition
Host to Modem Commands / Data Modem to Host
Result Codes/
Data Local Modem Actions
AT:U199|A OK Mute the microphone and speaker paths to
the codec.
AT:U72,0110 OK
Configure Si3000 Register 1:
Enable speaker driver
Disable line output driver
Disable telephone instrument driver
Enable MBIAS output
AT:U72,05B3 OK
Configure Si3000 Register 5:
10 dB Line In gain
Mute Line In
20 dB MIC input gain
Enable MIC input
Mute telephone instrument input
Enable IIR filter
AT:U72,065C OK
Configure Si3000 Register 6:
0 dB RX PGA gain
Disable Line Out
Disable telephone instrument ou tp ut
AT:U72,075E OK Configure Si3000 Register 7:
0 dB RX PGA gain
Enable SPKRL
Mute SPKRR
AN93
Rev. 1.3 223
7.7.11. Termination
A SP Button Off Event (Handset On-Hook) will cause the system to return to the TAM H ands-Free mode. Use the
same configuration listed in Table 124 on page 199. Note the voice driver is responsible for tracking the handset
hook-switch state.
7.8. Glossary
AEC Acoustica l Echo Canceller of speakerphon e
AES Acoustical Echo Suppressor of speakerphone
Convergence Rate Rate at which AEC or LEC converges
DCE Data Circuit-terminating Equipment
DLE Data Link Escape (0x10)
DTE Data Terminal Equipment
DTD Double talk detector of AEC or LEC
Double-Talk Both the near-end and far-end users talk
ETX End of Text (0x03)
ICM Incoming Message
LEC Line Echo Canceller of speakerphone
OGM Outgoing Message
PSTN Public Switch Telephone Network
Single-Talk Either the near-end or far-end user talks
TAM Telephone Answering Machine
7.9. References
ITU-T G.711 Pulse code modulation (PCM) of voice frequencies – 11/1998
ITU-T G.726 40, 32, 24, 16 kbit/s adaptive differential pulse code modulation (ADPCM) – 12/1990
ITU-T V.253 Control of voice-related functions in a DCE by an asynchronous DTE - 02/1998.
AT:U72,0900 OK Configure Si3000 Register 9:
0 dB Line Out attenuation
0 dB Speaker output attenuation
AT+VSP=0 OK Select handset voice path. See Figure 29 on
page 188 for details.
AT:U199&FFF5 OK Enable the microphone and speaker paths
to the codec.
Table 141. Speakerphone to Handset Transition (Continued)
AN93
224 Rev. 1.3
8. Security Protocols
The Si24xx ISOmodem can handle a variety of security protocols. Two are specifically described here. The
"Ademco® Contact ID Protocol" and the SIA protocol.
8.1. Implementing the SIA Protocol
The SIA protocol defines communication between an alarm panel and a central station. In a traditional security
system, the alarm panel always calls the central station and sends data; the central station only acknowledges its
readiness to receive data and that data has been received. For this reason, the communication part of the alarm
panel has been called the transmitter; the communication part of the central station has been called the receiver.
With the SIA protocol, the central station can also send data to the alarm panel; since data is sent using FSK, the
communication can be half-duplex or full-duplex. Nevertheless, the traditional nomenclature of transmitter for the
alarm panel and receiver for the central station is still used for the SIA protocol.
The communication session consists of four elements:
The Handshake Tone (a single tone)
The Speed Synchronization Signal (two tones)
Data Blocks and Control Signals (transmitted using Bell 103 FSK encoded data)
Acknowledgement Blocks (can be either single tones or Bell 103 FSK encoded data, according to the
capabilities of the transmitter)
8.1.1. Modem-Specific Implementation Details
8.1.1.1. Listen-In and V-channel Periods (Voice Pass-Through)
This can be accomplished with the following procedure using standard voice modem commands:
1. Prior to making the call, the host issues AT+VNH=2 to modem. This will keep the modem off-hook when the
host clears down the FSK data connection using ATH.
2. After the modem has negotiated a Listen-in period using the SIA protocol in Bell 103, the host clears down the
FSK data link with ATH.
3. The host issues AT+VNH=2 to the modem again to main tain off-hook st atus for next cleardown.
4. The host then issues AT+FCLASS=8 followed by the usual Si3000 voice pass-through command sequence. (To
minimize the transition time, the host should set up the Si3000, TX/RX voice filters and all gain stages before
the call.)
5. AT+VLS=5 starts the Si3000 pass through, which supports Listen-in as well as V-Channel (bi-directional voice)
operation. Use +VLS=13, +VSP=1 etc. if speakerphone is desired.
6. When voice period is over, the host puts the modem back in data mode using AT+FCLASS=0. This will
terminate voice operation as well as going to +FCLASS=0. ATH and +VLS=0 must not be used in +FCLASS=8
to terminate the voice session becaus e th ey ov er rid e +VNH=2 (per V.253 standard).
7. The host again issues AT+VNH=2 to the modem to keep it off-hook for the next cleardown.
8. AT+F0 puts the transmitter in Bell 103, SIA mode to resume SIA protocol communication.
8.1.1.2. Inserting a V.32bis period (e.g., SIA Level-3 V ideo Block Support)
This can be accomplished with the following procedure using standard voice modem commands:
1. After clearing down the SIA FSK link, the host issues AT+VNH=2 to the modem to maintain off-hook status for
the next cleardown.
2. The host sets the modem to V.32bis; i.e., AT&H4, AT\N3 (if er ro r cor rec t ion is desir ed )
3. The host selects V.32bis originate or answer mode: AT%O2 if the transmitter should assume the handshake
mode of an originating V.32bis modem; AT%O1 if it should assume the handshake mode of an answering
modem.
AN93
Rev. 1.3 225
4. Issuing ATO to modem will start the V.32bis handshake. The host then waits for the CONNECT message before
sending data. (For an originating modem, the ATO command must be sent as soon as possible so the modem
will be ready when the remote answering modem start s. For an answering modem, the ATO should be delayed
a little to give the remote originating modem a chance to get ready first.)
5. The host disconnects the V.32bis session (using either +++ followed by ATH, or with DTR, if it has previously
been enabled with AT&D2).
6. The host issues AT+VNH=2 to the modem again to main tain off-hook st atus for next cleardown.
7. AT\N0 removes error-correction, if it was used during the V.32bis period.
8. SIA protocol communication resumes by starting up the transmitter in Bell 103, SIA mode with AT+F0.
8.1.1.3. Considerations when Disconnecting the Session
Because AT+VNH=2 keeps the modem off-hook during a cleardown, the first ATH or DTR desertion will not put
modem back on-hook but only force AT+VNH=0 (per V.253). The host must issue a second ATH to put the modem
back in on-hook idle state. Alternatively the host could issue a AT+VNH=0, then ATH (or AT+VNH=0;H)
Table 142 lists the AT Commands provided to support SIA Level-3 Protocol communication.
Table 142. AT Commands Provided to Support SIA Level-3 Protocol Communication
ATCommandModemFunction Remarks
AT+F0 Enable B103 T ransmitter for Dat a Block
transmission. Modem turns on FSK tran smitter and sta rts marking
for the minimum duration required by standard.
Sends CONNECT message to DTE when that is
accomplished.
Modem will then interpret the first character from
DTE as Block Header and use the byte count to
allow transmission of the specified number of char-
acters to the remote modem and then send OK
message to DTE to indicate ready for next AT com-
mand.
Note1: FSK transmitter remains on. DTE is
expected to issue either a +F2 (detect ACK/NACK)
or another +F0 (to send another data block) com-
mand to the modem.
Note2: The “+++” escape sequence can be used to
abort the data block transmission and return the
modem to AT command mode.
Note3: The +F0 command can be used to resume
SIA protocol communication af ter a voice listen-in or
V.32bis interruption.
AN93
226 Rev. 1.3
AT+F1 Enable B103 Receiver for Data Block
reception. Modem enables FSK r eceiver , waits fo r >12T marks
to be detected, then sends CONNECT message to
DTE to indicate a received Data Block follows.
Modem will stay in this mode indefinitely until an AT
command is issued by DTE. It is usually a
+F3(ACK), +F4(NACK) or +F5(ACK followed by
Data Block transmission) command.
Note1: Modem will wait for up to 1 second to detect
>12T marks before unclamping RXD. After 1 sec-
ond RXD will be unclamped regardless.
Note 2: The +F1 command can be used to resume
SIA protocol communication af ter a voice listen-in or
V.32bis interruption.
AT+F2 Enable tonal ACK/NACK detection. Detect and report ACK or NACK to DTE.
‘OK’ for ACK and ‘ERROR’ for NACK.
A NACK will be reported if no valid signal is
detected within 2.5 seconds.
AT+F3 Transmit Tonal ACK Transmit Space for 600 ms. Send ‘OK’ prompt to
DTE when done.
AT+F4 Transmit Tonal NACK Transmit Mark for 600 ms. Sen d ‘OK’ pr om pt to
DTE when done.
AT+F5 Transmit Tonal ACK with reverse chan-
nel command. Transmit Space for 600 ms, followed by Mark for
180 ms. Then send CONNECT to DTE to indicate
modem is ready to accept data.
AT+F6 Abort current Data Block Reception or
Transmission. This command is useful for exception handling,
such as timeout. If the FSK transmitter was on, +F6
shuts it off. FSK reception is aborted and modem
returns to the AT command mode.
Table 142. AT Commands Provided to Support SIA Level-3 Protocol Communication (Continued)
ATCommandModemFunction Remarks
AN93
Rev. 1.3 227
Table 143 lists the definitions of result codes typically expected in an SIA session.
Table 143. Definitions of Result Codes Typically Expected in an SIA Session
Result Code Meaning Remarks
OK Ready for next command
(or ACK) When it comes as a response to the +F2 comman d,
“OK” means ACK
CONNECT Physical handshake is completed. In SIA FSK mode, CONNECT means that the
modem is in the data p assing sta te ready to rece ive
or transmit data.
Note: there is an extra sp ace character between the
letter T and the carriage return delimiter.
In V.32bis mode, CONNECT is followed by the DCE
connection speed: e.g., CONNECT 14400
RING Incoming ring Modem should answer the incoming call; the host
can command this with ATA.
NO CARRIER Connection is terminated
ERROR Invalid AT command
(or NACK) As a response to the +F2 command, “ERROR”
means NACK; otherwise, it means invalid com-
mand.
BUSY Dialed number is Busy.
AN93
228 Rev. 1.3
8.2. Implementing the Ademco® Contact ID Protocol
Contact ID is a communications protocol for security applications. It is a de facto standard which was developed
and is owned by the Ademco Group. The following is a brief overview of the Contact ID protocol. The complete
standard is available at the following web site:
http://webstore.ansi.org/RecordDetail.aspx?sku=SIA+DC-05-1999.09
Communication is between an alarm panel and a central station. The part of the alarm panel that handles
communication has the following functions:
Call the central station
Wait for the central station to indicate that it is ready for data
Send data
Wait for the central station to indicate that data was received
The central station also has a block that handles communication. Its fu nctions are:
Answer calls
Acknowledge that it is ready to receive data
Receive data
Acknowledge that data was received
While performing their security functions, the communication part of the alarm panel always sends data, while the
communication part of the central station always receives data. They are called the transmitter and receiver,
respectively. (Data could flow the other way, for instance to download new firmware to the alarm p anel, but this isn't
covered by the Contact ID Protocol.)
A transaction begins with the transmitter calling the receiver. The receiver goes off-hook and acknowledges that it
is ready to receive data by producing the handshake tone sequence:
1400 Hz tone for 100 ms
Pause for 100 ms
2300 Hz tone for 100 ms
The frequency tolerance on the handshake tones is ±3%. The tolerance on tone and pause times is ±5%.
Transmitters have a frequency tolerance of ±5% to account for older receivers.
After the communication channel has been established, the transmitter sends data to the receiver in Message
Blocks. Data is transmitted as DTMF codes. The frequency tolerance of the DTMF tones is ±1.5%. Twist is not
specified by the Contact ID protocol standard.
After sending the message, the transmitter waits for the receiver to send an acknowledgement (Kissoff) tone. The
Kissoff tone is a 1400 Hz tone that lasts for at least 750 ms and at most 1 second. The frequency tolerance of the
Kissoff tone is ±3%; transmitters have a frequency tolerance of ±5% for back compatibility with old receivers. The
receiver must detect at least 400 ms of the Kissoff tone for it to be considered valid.
The transmitter waits for the Kissoff tone to end, then waits an additional 250 to 300 ms before sending another
Message Block. If no Kissoff tone is received after 1.25 s, the transmitter sends the message again. Up to four
retries are attempted per Message Block. After the last message block has been acknowledged, the transmitter
hangs up.
AN93
Rev. 1.3 229
8.2.1. Modem Specific Implementation Det ails
The DTMF transmitters and receivers are used to send and receive data. Voice mode operation documented in
chapter X is used to transmit and receive the tones.
A summary of the necessary tone transmission AT commands is shown in Table 144.
The procedure is as follows:
Modem Initialization: (host sends to modem ):
AT+FCLASS=8 (enters voice mode)
AT+VLS=15: (goes off hook and starts tone detection)
Send and receive tones example:
AT+VTS=[941,1336,10] Host commands modem to send DTMF di git 0.
0x10, 0x2F, 0x31, 0x32, 0x7 E Modem resp on ds with 5 characters as it receives two DTMF tones:
1 and 2. There are 2 preamble and 1 postamble characters
in this example.
Table 144. Ademco® Contact ID Protocol Tone Transmission AT Commands
DTMF Digit Low Tone (Hz) High Tone (Hz) Contact ID
Digit Contact ID
Digit Value AT Command
0 941 1336 0 10 AT+VTS=[941.1336. 10]
1 697 1209 1 1 AT+VTS=[697.1209. 10]
2 697 1336 2 2 AT+VTS=[697.1336. 10]
3 697 1477 3 3 AT+VTS=[697.1447. 10]
4 770 1209 4 4 AT+VTS=[770.1209. 10]
5 770 1336 5 5 AT+VTS=[770.1336. 10]
6 770 1477 6 6 AT+VTS=[770.1477. 10]
7 852 1209 7 7 AT+VTS=[852.1209. 10]
8 852 1336 8 8 AT+VTS=[852.1336. 10]
9 852 1477 9 9 AT+VTS=[852.1477. 10]
* 941 1209 B 11 AT+VTS=[941.1209. 10]
# 941 1477 C 12 AT+VTS=[941.1477. 10]
A 697 1633 D 13 AT+VTS=[697.1633. 10]
B 770 1633 E 14 AT+VTS=[770.1633. 10]
C 852 1633 F 15 AT+VTS=[852.1633. 10]
D 9 41 16 33 not used N/A N/A
1400 ---- KISSOFF AT+VTS=[1400,0,85]
AN93
230 Rev. 1.3
8.2.1.1. Handshake Tone Detection
Two tone detectors are reconfigured for detection of the 1400Hz and 2300Hz tones. When a valid tone burst is
detected the modem reports it to the host DTE in the V.253 event format as follows.
8.2.1.2. Session Example
Event Modem-to-DTE indication Remarks
1400 Hz tone burst detected 0x10, 0x63 Character pair <DLE><c> is sent to DTE
at the end of the valid tone burst.
2300 Hz tone burst detected 0x10, 0x65 Character pair <DLE><e> is sent to DTE
at the end of the valid tone burst.
Table 145. Ademco® Mode of Operation
Step DTE-to-Modem Command Modem-to-DTE
Indication Remarks
1 AT*y254:w8686,1AA,CCDF,C73B,C001,0
AT*y254:w868B,1AA,D3D1,C39A,3FFF,DDD
AT*y254:w8690,1AA,C34B,C35F,3FFF,54A0
AT*y254:w8695,C,400
AT*y254:w8697,7BE,E050,CC04,3FFF,345F
AT*y254:w869C,7BE,BF39,CA8D,3FFF,37B5
AT*y254:w86A1,C,300,C00,CCD
OK
OK
OK
OK
OK
OK
OK
Initialize 2300 Hz tone detector.
Note: This step must be done
after a reset or ATZ. But it is not
needed for every call.
2 AT*y254:w86A5,100,2A44,C480,C001,0
AT*y254:w86AA,167,25BC,C22F,3FFF,EC95
AT*y254:w86AF,167,303D,C21E,3FFF,BEF2
AT*y254:w86B4,C,400
AT*y254:w86B6,812,1E2F,C772,3FFF,D55F
AT*y254:w86BB,939,3394,C6FC,3FFF,D345
AT*y254:w86C0,1000,0,0,0,0
AT*y254:w86C5,C,140,8c0,CCD
OK
OK
OK
OK
OK
OK
OK
OK
Initialize 1400 Hz tone detector.
This step must be done after a
reset or ATZ. But it is not needed
for every call.
3 ATE0:UAD|40
AT:UAD&FF7F
OK
OK
Set UAD.6 to enable Ademco
mode tone detections.
Clear UAD.7 to disable SIA
mode.
5 AT:R48 0064 DTE reads and records what is
the normal “tone off” duration for
DTMF dialing. This parameter is
country dependent. This param-
eter will be modified for Data
Tones transmission later.
6 AT+FCLASS=8 OK Put modem into V.253 voice
mode.
AN93
Rev. 1.3 231
7 AT:U181,78,0,0,1C OK Set up 1400 Hz detector to
detect 100 ms Handshake tone
burst.
8 ATDnnnnnnn OK Call RECEIVER station.
9 AT+VTD=5;:U48,32 OK Change DTMF on of f time to pr e-
pare for Data Tones transmis-
sion.
10 Wait for RECEIVER to answer with handshake tones
11 <DLE><c>
i.e. 0x10, 0x63
1400 Hz tone burst detected
Note: First part of Handshak e
Tones de te cted .
12 <DLE><e>
i.e. 0x10, 0x65
2300 Hz tone burst detected
Notes: Second part of Hand-
shake To ne s de te cte d.
Since there is a 100 ms silence
between the 1400 Hz and
2300 Hz tones, the <DLE><e>
message should come nomi-
nally 200msec after the previous
<DLE><c> message.
It is the responsibility of the host
DTE driver to measure and vali-
date this time period.
13 AT:U181,334,0,0,12C OK Change 1400 Hz detector to
detect 800 ±300 ms tone burst,
i.e. Kissoff tone.
14 Delay 250 ms before transmitting Data Tones
message. Host DTE should adjust this
delay so that the following +VTS
DTMF transmission will start
between 250 to 300 ms after the
reception of <DLE><e> above.
Table 145. Ademco® Mode of Operation (Continued)
Step DTE-to-Modem Command Modem-to-DTE
Indication Remarks
AN93
232 Rev. 1.3
15 AT+VTS=9,9,9,9,1,8,1,*,#,A,0,0,0,0,0,3 OK First Data Block is transmitted.
Note: Data octets are placed
after the “=” and separated by
commas.
Note: Host DTE driver must per-
form these substitutions,
Octet B as *
Octet C as #
Octet D as A
Octet E as B
Octet F as C
Note: OK is sent at end of trans-
mission.
16 Wait for Kissoff tone
17 1.25 s has elapsed. But modem
still has not repo rt ed <DLE> < c>
to DTE
18 AT*Y254:Q83FB 01AF Check to see if start of a Kissoff
Tone has been detected?
A non zero response (i.e. not
0000) from modem denotes star t
of tone is detected. Modem will
send <DLE><c> to DTE after it
has verified that the Kissof f Tone
burst duration is valid.
19 <DLE><c> Acknowledgement from
RECEIVER detected.
Note: <DLE><c> is sent at end
of tone burst.
20 Delay 250 ms before sending next Data Tone
Message.
Repeat from Step 15 for sending more Data
Codes
ATH OK Hang up at end of session.
Table 145. Ademco® Mode of Operation (Continued)
Step DTE-to-Modem Command Modem-to-DTE
Indication Remarks
AN93
Rev. 1.3 233
AT:U48,64 OK Restore DTMF parameters to
comply with normal dialing
requirements.
Repeat from St ep 6 for next call
Table 145. Ademco® Mode of Operation (Continued)
Step DTE-to-Modem Command Modem-to-DTE
Indication Remarks
AN93
234 Rev. 1.3
9. Chinese ePOS SMS
9.1. Introduction
An ePOS transaction normally begins w ith the ePOS terminal calling the server and transmitting data first. In this
instance the terminal initiates the call, so it is known as the Originate modem, while the server is the Answer
modem. After the modems connect, go through handshake and complete the first data transmission, the two
modems alternate being the transmitter and receiver until the completion of the call.
The Si24xx ISOmodems support SMS (Short Message Service) in an ePOS (electronic point of sale) connection.
An SMS message is delivered in frames, using the format shown in Figure 37.
Figure 37. SMS Message Format
As shown in the figure, an SMS frame follows one of two protocols, Protocol 1 or Protocol 2. Protocol 1 frames
begin with the Mark signal, while Protocol 2 frames start with the Channel Seizure (CS) signal. Otherwise the two
protocols are identical. The Originate modem is configured to transmit in one of the two protocols at the beginning
of a call. The Answer modem recognizes which protocol is being sent and processes the incoming message
accordingly.
The modem strips off the Channel Seizure and Marks at the beginning and end of the data and provides the Data
Frame to the host processor. It does not provide frame content verification of any kind.
Channel Seizure
Protocol 1: 0 bits
Protocol 2: 300 bi ts
Mark Signal
Protocol 1: 80 bits +/-25
Protocol 2: 80 bits +/- 25
Data Frame
Type Length Payload Checksum
Mark
Signal
AN93
Rev. 1.3 235
9.2. SMS AT Command Set
Table 146 shows the AT commands that the host (DTE) uses to control the transmission or reception of SMS
messages.
Table 146. AT Commands for SMS
AT Command ISOmodem Response Description
&D1 OK ESC (pin 22) escapes to command mode from data
mode if also enabled by HES (Enable Hardware
Escape Pin): U70, bit 15.
&D2 OK ESC (pin 22) assertion during a modem connection
causes the modem to go on-hook and return to com-
mand mode. The escape pin must be enabled by set-
ting bit HES: U70, bit 15.
+FCLASS=256 OK E nables SMS mode
DTXXXX; OK Originate modem dials XXXX, then goes back into
command mode.
DT; OK Answer modem picks up the line and goes back into
command mode.
+FRM=200 CONNECT 1 or
CONNECT 2 Receive modem goes into data mode and waits for
FSK data from Transmit modem; response is deter-
mined by whether a Protocol 1 or 2 message was
received.
+FTM=201 CONNECT Transmit modem goes into data mode and waits for
data from the DTE. Se nds marks when first data byte is
received, followed by data.
+FTM=202 CONNECT Transmit modem goes into data mode and waits for
data from the DTE. When first data byte is received,
modem sends Channel Se izure and marks followed by
data.
AN93
236 Rev. 1.3
9.2.1. SMS User Registers
User registers that set up SMS operations are shown in Table 147. The default settings are shown in bold.
Table 147. User Registers for SMS Operations
Register Bits Name Description Default
(Hex)
U70 15 HES Enables ESC (pin 22)
0=Disabled
1 = Enabled
0
UAA 2 RUDE 0 = Disables rude disconnect
1 = Enables rude disconnect 0
UCA 0 SMSMOD Modulation for SMS data
0: Bell202
1: V.23
0
UCB 15:0 TXCS Number of channel seizure bits
0= no Channel Seizure
1 to 65535 = number of continuous alternating
spaces and mar ks in Chan ne l Seizu re .
2580
UCC 7:0 TXMK Number of mark bits in message header 2580
UCD 0 CASRPT Respond to CAS, don’t report to the host (Auto) or d o
report to the host (Manual)
0 = Auto Mode
1 = Manual Mode
0
UD1 11:0 TXDEL Time the Originate modem waits before transmitting a
frame, in 10 ms units. Timed from the termination of the
previous signal.
0000
UD2 11:0 RXTO Time that the Answer modem waits for the received sig-
nal after it receives the +FRM command; in 10 ms units 0000
UD3 15:0 V.29FC Answer Tone Detector Threshold (in ms).
Range = 50–180 ms 0000
UD4 14:0 CTDT CAS Tone Detector Thr eshold 0000
UD7 15:0 SMS Mark Length Threshold 0578
AN93
Rev. 1.3 237
9.2.2. Procedure
To enable the SMS features on the Si24xx, the host sends “AT+FCLASS=256” to the modem prior to an SMS call.
To enable the hardware escape pin functions, the host would set HES with the command “AT:U70|8000”.
After setting the other U-registers according to the configurations of the Originate and Answer modems, the host
can dial an SMS call using the command “ATDTxxxx;” (where xxxx is the number to be dialed) or answer an SMS
call with “ATDT;”. The semi-colon at the end of the command places the modem into command mode after dialing.
The modem responds to the host with “OK”. The host then puts the modem into transmit or receive SMS data
mode.
Many SMS POS protocols perform handshaking using CAS and CAS ACK. CAS is a two-tone signal (2130 Hz /
2750 Hz); CAS ACK is a DTMF ‘D’. The terminal modem connects to the server, which sends CAS tones until it
times out or the terminal modem replies to the server with CAS ACK. The threshold for the modem’s CAS tone
energy detector is set by CTDT, which has a default value of 500h. The CAS tone must have a minimum duration
of 30 ms to guarantee detection.
CAS detection is enabled by setting the detector threshold UD4 to a value other than 7FFFh. When the CAS
detector is enabled, FSK CS/MARK detection will run after CAS is detected. The modem will time out if CAS is not
detected. (When imple menting SM S POS protocols th at don’t use CAS an d CAS ACK, the CAS tone detector must
be disabled with the command AT:UD4,7FFF.)
Once CAS is detected, the modem responds with CAS ACK. The duration of CAS ACK is 60 ms.
CASRPT selects Auto or Manual mode for transmitting CAS ACK.
Auto mode (CASRPT = 0): Auto mode reduces the delay between CAS and CAS ACK. After an AT+FRM=200
command, the modem detects the CAS tones and sends CAS ACK without reporting CAS detection to the host.
Manual mode (CASRPT = 1): Manual mod e allows the host processor to have more con trol. A modem report s to it s
host with the string "CAS" when it detects CAS tones. The modem waits for the host to reply with the ASCII
character 'D ', then it responds to the other modem with CAS ACK. If the host sends any character other than 'D',
the modem returns to the command mode immediately without sending CAS ACK and replies to the host with
<DLE><ETX>. This allows the host to send any DTMF digit. The host can then send an AT+FTM command or an
AT+FRM command. If the host doesn't send any characters or commands, the modem will time out (as set by UD2)
and go back on-hook without sending CAS ACK.
9.2.2.1. Example
The host could use this sequence to set up the modem for Protocol 1 SMS:
To set up the modem for Protocol 2 SMS:
In either protocol, the host must wait for the “CONNECT” response before it sends data. Transmission of data
before this message can result in loss of information.
AT:UCA,1,0,4E This sets up the modem for V.23 modulation, Protocol 1, 78
Mark bits in the message header.
AT+FTM=201 Transmit a Protocol 1 SMS frame
<CR><LF>CONNECT <CR><LF> Modem response to the host
AT:UCA,0,12C,4E This sets up the modem for Bell 103 modulation, Protocol 2,
300 bit Channel Seizure, 78 Mark bit s in the message header .
AT+FTM=202 Transmit a Protocol 2 SMS frame
<CR><LF>CONNECT <CR><LF> Modem response to the host
AN93
238 Rev. 1.3
After the host receives “CONNECT “, it sends the frame data followed by <DLE><ETX>. A frame includes type,
length, payload and checksum. The frame data can contain anything, including <DLE><ETX>. No DLE shielding
is needed. <DLE><ETX> with no data for about 8ms is treated as the end of frame.
After a frame has been sent, the modem response will be: <CR><LF>OK<CR><LF>
On the answer modem side, the command AT+FRM=200 causes the receiver to look for at least 32 bits of CS and
for at least 60 bits of marks. The answer modem detects the protocol of the transaction by whether CS comes
before the marks.
There can be several responses to AT+FRM=200, depending on the received data.
9.2.2.2. Response 1
If the frame had not been received within the time specified in RxTimeout, the modem response to the host would
be:
<DLE><ETX><CR><LF>NO CARRIER<CR><LF>
9.2.2.3. Response 2
If the frame had been received with a mark segment at beginning of frame, the m odem would respond to the host
with:
CONNECT 1<CR><LF>
<Frame Data Received><DLE><ETX>
<CR><LF>OK <CR><LF>
No frame checking would be done by the modem; all of that would be left to the host. As shown above,
<DLE><ETX> marks the end of frame. After sending OK to the host, the modem goes back into command mode.
9.2.2.4. Response 3
If the frame had been receive d with channel seizure and mark segme nt detected at beg inning of frame, th e modem
would send one of the responses below to the host:
CONNECT 2<CR><LF>
<Frame Data Received><DLE><ETX>
<CR><LF>OK <CR><LF>
The Host does all upper level frame validations, since the modem does not do any frame checking. As shown
above, <DLE><ETX> signifies the end of frame. Afte r the modem sends OK, it goes back to command mode.
AT+FRM=200 Receive an SMS frame
AT:UD2,<RxTimeout> Set RxTimeout:
AN93
Rev. 1.3 239
9.3. Example Session
The example below shows a typical session. The user determines the values of the U-registers.
transmit "AT+FCLASS=256<CR>" ;Enable SMS POS mode
waitfor "OK"
transmit "AT:UCA,0,12C,4E<CR>" ;Set SMS POS parameters
waitfor "OK"
transmit "ATD<phone number here>;<CR>" ;dial out
waitfor "OK`x0d`x0a"
The ’;’ at the end of the dial string returns the modem to command mode after dialing. The modem will issue an
OK after dialing.
transmit "AT:UD1,3C<CR>" ; Set TxDelay = 600ms
waitfor "OK"
transmit "AT:UD2,3E8<CR>" ; Wait 10 s for an answer.
waitfor "OK"
transmit "AT+FRM=200<CR>" ; Go into data mode and wait for Originate modem
The length of the timeou t is depen dent on the host called. Once th e con nection is made , th e answer mo dem s host
expects to receive a frame such as:
0x81 0x00 0x05 0x13 0xcd 0xaa 0xa4 0x00 0x4c
Followed by:
<DLE><ETX><CR><LF>OK<CR><LF>
Once a frame has been received, the receive modem becomes th e tr an smit mod em. The server r eturns a frame of
data to the terminal.
transmit "AT+FTM=202<CR>"; Use Protocol 2
waitfor "CONNECT `x0d`x0a"
Transmit a frame such as:
0x82 0x00 0x05 0x6c 0xea 0x50 0x6b 0x00 0x68
transmit "`x10`x03" ; Send <DLE><ETX> at the end of frame
waitfor "OK`x0d`x0a"
AN93
240 Rev. 1.3
Figure 38. Diagram of Handshake (Using CAS/CAS ACK) and Message Packet Exchange
POS
Server
Send FSK Packet
CAS
Send FSK Packet
C
AS Ack
(Complete the CAS Handshake
)
Send FSK Packet
TS
1
TS
3
TS
5
TS
4
TD
3
TS
2
TD
1
TD
2
AN93
Rev. 1.3 241
For Figure 39, assume that the originating modem transmits first and that the two modems alternate transmitting
and receiving. For simplicity, this figure does not show the provisions for timeout cases.
Figure 39. SMS Process in Host and Modem
Originat
e
A
T+FCLASS
=
256
(
V
.
2
3
half-duple
x
)
A
TDTxxxx ;
A
TDT;
O
A
A
T
FRM=20
0
P
rotocol
?
A
T+FTM
=
201
AT
+
FTM
=
202
1 2
Data r ec eived
from Host
N
Data re ceive d
fro m H o st
?
N
80 bits of mark
Ho st sen ds
m es s age followed
by 15
0
ms o
f
silenc
e
, then ESC
Y
80
b its of mark
Host sends
m es s age followed
by 15
0
ms of
silenc
e
, then E S
C
30
0
bits chan nel
seizure
(
altern ating
1
's &
0'
s
)
Y
ESC to
Command
Mod
e
S
end M ar ks
N
CONNECT n
n = 1 o
r
2
ESC t
o
Command
Mode
?
Send Marks
N
Y
Receive messag
e
,
sen d to Hos
t
Y
OK OK
OK
Implicit +FRM
CONNECT
CONNEC
T
HES
=
1
AN93
242 Rev. 1.3
10. Testing and Diagnostics
10.1. Prototype Bring-Up (Si3018/10)
10.1.1. Introduction
This section provides tips for the debugging of initial prototypes. Although most ISOmodem prototype designs
function as expected, there is the potential for layout errors, omitted or incorrect components used in the initial
assembly run, and host software problems. If the prototype modem does not function correctly, the techniques
outlined in this guide will help quickly is olate the problem and get the prototype functioning correctly. A functional
ISOModem evaluation board and data sheet and a computer with HyperTerminal are required for some of the
troubleshooting steps. It is assumed that the designer has read the data sheet, implemented the reference design
using the recommended bill of materials, and carefully followed the layout guidelines presented in "4.4. Layout
Guidelines" on page 49. Troubleshooting begins with system-level checks and then proceeds all the way down to
the component level. In this chapter, all system-side pin numbers refer to the 24-pin TSSOP package and all line-
side pin numbers refer to the 16-pin version.
10.1.2. Visual Inspection
Before troubleshooting, be certain that the circuit boards and components are clean. Carefully wash the boards to
remove all solder flux and solder flakes. Inspect the modem circuitry to ensure all components are installed, and
inspect all solder joints for incomplete connections, cold solder joints, and solder bridges. Check all polarized
components, such as diodes and capacitors, for correct orientation. Thoroughly clean the circuit board after
replacing a component or soldering any connection.
Reset the Mode m
Make sure the modem is reset after the power and clocks are applied and stable.
10.1.3. Basic Troubleshooting Steps
Check the Power
With power off, use an ohmmeter to verify that the system ground is connected to ISOmodem pin 6. Turn on
system power and measure the voltage between pin 5 and pin 6 and between pin 21 and pin 6 on the
ISOmodem. In both cases, th e voltag e should be 3.3 V. If this is not the case, check the power routing. If power
is present, go to the next step.
Check the Phone Line
Check the phone line with a manual telephone to be sure that there is a dial tone and that dialing is possible.
The dc voltage across Tip and Ring should read approximately 40–52 V with the phone on-hook.
Reset the Mode m
Do a manual reset on the modem. Hold ISOmodem pin 12 (RESET) low for at least 5 ms, return to VDD (3.3 V),
and wait for at least 300 ms before executing the first AT command.
Check the DTE Setup (UART Mode)
Be sure the DTE (host) serial port is configu red the same as the modem. The default co ndition is eight data bit s,
no parity-bit, one stop-bit, and a DTE rate of 19.2 kbps.
Check the DTE Connection (UART Mode)
Check the DTE interface connection. Be sure the RTS (ISOmodem pin 8) and CTS (ISOm odem pin 11) signals
are low.
Check the Pulldown Configuration Resistors
Check the Modem Configuration
Read back the modem register settings and correct any inconsistencies. The ATS$ command lists the contents of
all S registers, and the AT:R command lists the contents of all U registers.
If the problem was not located with these basic troubleshooting steps, it is time to narrow the prob lem down to the
host system (hardware and software), the ISOmodem chip and associated components, or the Si3018/10 and
associated components.
AN93
Rev. 1.3 243
AT OK?
The modem responds with an OK to the command AT<CR>. This indicates that the host processor/software is
communicating with the modem controller, and problems are in one of the following areas:
Inappropriate Commands
Verify that all AT commands used are supported by the ISOmodem a nd comply with th e proper format. Be sure
each command and argument is correct. Do not mix upper- and lower-case alpha characters in an AT
command. An AT command string must cont ain 48 or fe wer characters followe d by a carriage return. Command
strings greate r th an 48 char acters are ignore d.
Command Timing
The execution time for an AT command is approximately 200 ms. Execution is complete when OK is received.
Subsequent AT commands should wait for the OK message, which appears within 200 m s after the carriage
return. The reset recovery time (the time between the rising edge of a hardware reset or the carriage return of
an ATZ command and the time the ne xt AT command can be exec uted) is app ro xim ately 300 ms. When a data
connection is being established, do not try to escape to the command mo de until after the protocol message.
Register Conf ig u rat io n s
The ATS$ command lists the contents of all S registers, and the AT:R command lists the conten ts of all U
registers.
Si3018/10 and/or Associated Components
If the modem goes off-hook and draws loop current as a result of giving the ATH1 command, go to "10.1.6.
Si3018/10 Troubleshooting".
If the modem does not go off- hook and draw loop current as a result of giving the ATH1 command and receiving
an OK message, begin troubleshooting with the isolation ca pacitor at the ISOmodem. First, check all solder
joints on the isolation capacitors, Si3018/10, and associated external components. If no problems are found,
proceed to "10.1.5. Isolation Capacitor Troubleshooting" to verify whether the problem is on the ISOmodem or
the Si3018/10 side of the isolation capacitor. If the problem is found to be on the ISOmodem side, check C50,
C51, C53, the corresponding PCB traces, and the ISOmodem pins. Correct any problem found. If no problems
are found with th e external comp onent s, replace the ISOmodem . If the problem is found to be on the Si3018/10
side of the isolation capacitor, go to "Si3018/10 Troubleshooting".
If the modem does not respond with an OK to the command AT<CR>, this indicates that the host processor/
software is not communicating with the modem controller, and the problem can be isolated as follows:
ISOmodem Clock is Oscillating
First, be sure the ISOmodem is properly reset and RESET, pin 12, is at 3.3 V. Next, check the DTE connection
with the host system. If this does not isol ate the problem, go to "10.1.4. Host Interface Troubleshooting".
ISOmodem Clock is Not Oscillating
Check the voltage on the ISOmodem, pins 5 and 21, to be sure th e chip is powered. Also, check that pin s 6 and
20 are grounded. Next, check the solder joints and connections (PCB traces) on C4 0, C41, Y1, and the
ISOmodem Pin 1 and Pin 2. Me asure C26 and C27 (or r eplace them with known go od part s) to ensure that th ey
are the correct value. If these steps do not isolate the problem, replace the ISOmodem.
10.1.4. Host Interface Troubleshooting
The methods described in this section are useful as a starting point for debugging a prototype system or as a
continuation of the troubleshooting process described previously. The procedures presented in this section require
a known good ISOMod em evaluatio n board and data sh eet. This section describ es how to substitute the evaluation
board for the entire modem circuitry in the prototype system. Substituting a known operational modem can help
isolate problems quickly. The first step is to substitute the evaluation board for the complete modem solution in the
prototype system. This im mediat ely dem onstra tes whe ther an y mode m functio nality p roblems are in the pr ototype
modem circuitry or in the host processor, interface, or software.
Verify ISOModem Evaluation Board Functionality
Connect the evaluation board to a PC and a phone line or telephone line simulator. Using a program, such as
HyperTerm in al, mak e a da ta connec tio n be twe en th e evaluation board and a rem ote modem. Remove power
and the RS232 cable from the evaluation board and pr oceed to the next step.
AN93
244 Rev. 1.3
Connect Evaluation Board to Prototype System
Completely disconnect the embedded modem from the host interface in the prototype system. Connect the
ISOModem evaluation board to the host interface using JP3 as described in the ISOModem evaluation board
data sheet section titled Direct Access Interface. This connection is illustrated in Figure 40. Be sure to connect
the evaluation board ground to the prototype system ground. Power up and manually reset the evaluation
board, then power up the prototype system and send AT<CR>. If an OK response is received, make a
connection to the remote modem as in the previous step. If no OK response is received, debug host interface
and/or software. If a connection is successful, go to the next step to isolate the problem in the prototype
modem.
An alternative approach is to connect the prototype modem to the ISOModem EVB motherboard in place of the
daughter card and use a PC and HyperTerminal to test the prototype modem. See Figure 41 for details.
10.1.5. Isolation Capacitor Troubleshooting
Connect the evaluation board isolation capacitor to Prototype Modem Si3018/10. Remove C1 on the evaluation
board and on the prototype system. Solder one end of the evaluation board, C1, to the ISOmodem-side pad
leaving the other end of C1 unconnected. Next, solder a short jumper wire from the unconnected side of C1 on the
evaluation board to the Si3018/10-side C1 pad on the prototype system. This connection is illustrated in Figure 42.
Connect the phone line to the prototype system RJ-11 jack.
Power up and manually reset the evaluation board, then power up the prototype system. Attempt to make a
connection using the host processor and software, the evaluation board ISOmodem, and the prototype system
Si3018/10 and associated external components. If this connection is successful, the problem lies with the PCB
layout, the external components associated with the ISOmodem or the ISOmodem device itself.
If the connection attempt is not successful, the problem lies with the Si3018/10 and/or associated components.
Proceed to “ Si3018/10 Troubleshooting”.
This diagnosis can be validated by connecting the Host ISOcap capacitors to the Si3018/10 on the evaluation
board as shown in Figure 43.
10.1.6. Si3018/10 Troubleshooting
Start by measuring the on-hook and off-hook voltages at the Si3018/10 pins with respect to IGND (pin 15).
Compare these volt ages to those in F igure 44. This may indicate an area of circuitry to in vestigate further u sing the
Component Troubleshooting techniques in the following section. The voltages measured should be reasonably
close to those in the figure.
If any of the on-hook or off-hook Si3018/10 pin voltages are significantly different than those in Figure 44 and
nothing seems wrong with the external circuitry after using the Component Troubleshooting techniques, replace
the Si3018/10.
10.1.7. Component Troubleshooting
A digital multimeter is a valuable tool for verifying resistances across components, diode directions, transistor
polarities and node voltages. During this phase of troubleshooting, it is very useful to have a known, good
ISOModem ev aluation board to c ompare against measurem ents taken from the prototype system. T he resistance
values and voltages listed in Tables 148, 149, and 150 will generally be enough to troubleshoot all but the most
unusual problems.
Start with power off and the phone line disconnected. Measure the resistance of all Si3018/10 pins with the
Ohmmeters black lead on pin 15 (IGND). Compare these measurements with the values in Table 148. Next,
measure the resist ance acro ss the component s listed in Table 149 and comp ar e the readings to the value s listed in
the table. Finally, using the diode checker function on the multimeter, check the polarities of the transistors and
diodes as described in Table 150. The combination of these measurements should indicate the faulty component
or connection. If none of the measu remen ts appears unusual an d the proto type mode m is no t working, repla ce the
Si3018/10.
AN93
Rev. 1.3 245
Figure 40. Test the Host Interface
Figure 41. Test the Prototype Modem
Host
Controller Host
UART Si24xx Si3018 Discretes
RS232
Transceiver Si24xx Si3018 Discretes
EVB
Prototype System
To
Phone
Line
Connect prototype system ground to EVB ground
Disable RS232 transceiver outputs (check evaluation board data sheet)
Disconnect prototype modem interface
Connect the evaluation board to the target system
Host
Controller Host
UART Si24xx Si3018 Discretes
RS232
Transceiver Si24xx Si3018 Discretes
EVB
Prototype System
Connect prototype system ground to EVB ground
Remove modem module from EVB
Disconnect host outputs from prototype modem
Connect EVB RS232 transceivers to prototy pe modem
Use PC with HyperTerminal to test prototype modem
To
Phone
Line
PC
AN93
246 Rev. 1.3
Figure 42. Test the Prototype Si3018/10 Circuitry
Figure 43. Verify Prototype Si3018/10 Failure
To
Phone
Line
Host
Controller Host
UART Si24xx Si3018 Discretes
RS232
Transceiver Si24xx Si3018 Discretes
EVB
Connect the prototype ground to the EVB ground.
Lift prototype C1 and C2 and EVB C1 and C2 so the Si3018 is disconnected from the Si24xx on both modems.
Connect EVB C1 and C2 to the Si3018 pad of prototype system C1 and C2.
Connect the phone line to the RJ11 jack on the prototype system.
Use PC and HyperTerm and attempt to establish a modem connection.
PC
C2
C1
C2
Prototype System
C1
To
Phone
Line
Host
Controller Host
UART Si24xx Si3018 Discretes
RS232
Transceiver Si24xx Si3018 Discretes
EVB
Connect the prototype ground to the EVB ground
Lift prototype and EVB C1 and C2 to decouple the line side from the DSP side. Do same on evaluation board.
Connect prototype system C1 and C2 to the Si3018 pad of EVB C1 and C2
Connect the phone line to the RJ11 jack on the EVB
Run the prototype system software to attempt a modem connection
C2
C1
C2
C1 Prototype System
AN93
Rev. 1.3 247
Figure 44. Si3018/10 Typical Voltages
Table 148. Resistance to Si3018/10 Pin 15
Si3018/10 Resistance
Pin 1 > 6 M
Pin 2 > 5 M
Pin 3 > 2 M
Pin 4 1 M
Pin 5 > 5 M
Pin 6 > 5 M
Pin 7 > 1 M
Pin 8 > 2 M
Pin 9 > 2 M
Pin 10 > 1 M
Pin 11 0
Pin 12 > 2 M
Pin 13 > 5 M
Pin 14 > 14 M
Pin 16 > 5 M
On-Hook
0 V
~1.0 V
~2.3 V
0.9 V
0.5 V
0 V
0 V
0 V QE
RNG1
VREG
C2B
C1B
IB
RX
DCT 0 V
~1.0 V
0 V
0 V
0 V
0 V
0 V
DCT2
RNG2
VREG2
S2
QE2
QB
DCT3
IGND
Off-Hook
1.6 V
1.0 V
2.3 V
0.9 V
0.5 V
0 V
2.5 V
3.4 V QE
RNG1
VREG
C2B
CIB
FB
RX
DCT 2.2 V
0.9 V
1.8 V
0 V
2.1 V
2.8 V
1.6 V
0 V
DCT2
RNG2
VREG2
SC
QE2
QB
DCT3
IGND
Voltages measured with respect to IG N D (Si3018 pin 15)
AN93
248 Rev. 1.3
Table 149. Resistance across Components
Si3018/10 Resistance
FB1 < 1
FB2 < 1
RV1 > 20 M
R1 1.07 k
R2 150
R3 3.65 k
R4 2.49 k
R5 100 k
R6 100 k
R7 4.5 or 16 M
R8 4.5 or 16 M
R9 > 800 k
R10 536
R11 73
R12 < 1
R13 < 1
R15 < 1
R16 < 1
C1 > 20 M
C2 > 20 M
C3 > 3 M
C4 3.5 M or 9.7 M
C7 2 M or 5 M
C8 > 20 M
C9 > 20 M
Note: If two values are given, th e resistance measured is de pendent on polarity.
Table 150. Voltages across Components with Diode Checker
Component Voltage
Q1, Q3, Q4, Q5:
Base (red lead) to Emitter (black lead)
Base (red lead) to Collector (black lead)
(Verifies transistors are NPN)
0.6 V
0.6 V
Q2:
Emitter (red lead) to Base (black lead)
Collector (red lead) to Base (black lead)
(Verifies transistor is PNP)
0.6 V
0.6 V
Collector of Q2 (red lead)
to pin 1 of Si3018/10 (black lead)
If test fails, Z1 is reversed.
>1V
AN93
Rev. 1.3 249
10.2. Self Test
The Si24xx ISOmodem’s advanced design provides the system manufacturer with an enhanced ability to
determine system functionality during production tests and to support end-user diagnostics. In addition to local
echo, a loopback mode allows increased test cover age of system compone nts. For the loopback test mode, a line-
side power source is required. While a standard phone line can be used, the test circuit shown in Figure 45 is
adequate.
Figure 45. Loop Test Circuit
The AT&Tn command, in conjunction with the AT&Hn command, performs a loopback self test of the modem.
AT&Hn determines the modulation use d for the test (V.22bis, V.32bis, etc). If an AT&Hn command is not issued just
prior to the start of the test, the default or previously-selected modulation is used. The modulation options and
defaults are listed in Table 40 on page 77. The test is started with an AT&T2 or AT&T3 command. During the test,
the modem is in data mode. To end the test, escape data mode using one of the “Escape” methods, such as +++,
and end the test with ATH.
The AT&T2 command initiates a test loop from the DSP through the DAA interface circuit of the ISOmodem.
Tr ansmit data are returned to the DSP through the receive channel. In the parallel or SPI mode, the transmit data
are passe d to the receiver via Hardware In terface Register 0. AT&T2 tests only the Si24xx chip, not the Si3018/10.
The AT&T3 command initiates a test loop from the DSP through the DAA interface, the ISOcap interface, the
Si3018/10, and the hybrid circuit. This test exercises the Si24xx, the Si3018/10, and many external co mpo nents. A
phone line termination with loop current and no dial tone is required f or this test since it involves the line-side chip
(Si3018/10) and the hybrid. The modem is off-hook during this test. The AT&T3 mode is useful during emitted and
conducted radiation testing. To test the ISOcap link only, set U62 (DL) [1] = 1 and issue the AT&T3 command.
The AT\U command is also useful as a production test. This command places a 25 ms low pulse on the RI and
DCD pins. It also makes INT the inverse of ESC and RTS the inverse of CT S. Sending the AT\U command can be
used to verify the connection of these pins to the circuit board. This command is terminated by resetting the
ISOmodem.
IL
10 F
600
TIP +
RING
VTR
Si3018 >20 mA
AN93
250 Rev. 1.3
10.3. Board Test
The modem and DAA chips come from Silicon Laboratories 100% functionally tested on automatic test equipment
to guarantee compliance with the published chip specifications. The functionality of a finished product containing
an ISOmodem chipset depends not only on the functionality of the modem chipset after assembly but also on
discrete components and product-related software. Finished product test requirements and procedures depend on
the manufacturer and on the product. Consequently, no universal final test procedure can be defined.
Testing the modem in a finished product is done for several reasons. First, it is important to be sure the modem
chipset and peripheral components were installed correctly during assembly and were not damaged. Second, it is
necessary to be sure the correct component values were installed and that there are no manufacturing problems,
such as solder bridges, cold solder joints, or missing components.
Functional testing can be used to test special features, such as intrusion detection, Caller ID, and overcurrent
detection. An intrusion can be simulated by placing a 1 k resisto r across Ti p and Ring through a relay. Caller ID
testing requires special test equipment, such as the Rochelle 3500 or Advent AI-150 .
Many manufacturers choose to use built-in self-test features, such as the &T3 Loopback test described above.
Others do a complete functional test of the modem by originating and answering a call and successfully passing a
data file in each direction. This process tests the modem and line-side chip functionality, the associated external
components, and the sof tware controlling the modem. This test can be done with a modem under test (MUT) and a
known-good reference modem, or between two modems under test. Testing two modems under test at once
reduces test and setup times. Mode m operational testing is time consuming and adds to product cost. It is up to the
manufacturer to determine whether operational testing is warr anted.
Analog modems (Bell 103 through V.34) can be tested by connecting the modems through a telephone line
simulator, such as Teltone TLS-3. A call can be placed or received in either direction at the speed set in the
modems. A test script must be written for a computer to control the dialing, monitor the call progress, send a file,
and compare the received and sent file. Figure 46 illustrates this test configuration.
Figure 46. Bell 103–V.34 Modem Functional Test Connection
Teltone TLS 3
Modem Under
Test
Reference Modem
Test
Computer
AN93
Rev. 1.3 251
V.90 modems must be tested with a digital modem, such as the USR Courier I. If a digital modem isn’t used as
illustrated in Figure 47, the highest connection speed a V.90 modem will support is 33.6 kbps. A call can be placed
or received in either d irection at the speed set in the modems . A test script mus t be writ ten for a computer to contro l
the dialing, monitor the call progress, send a file, and compare the received and sent files. Figure 47 illustrates this
test configuration.
Figure 47. V.90 Modem Functional Test Connection
Table 151 compares the coverage of &T2, &T3, and full bidirectional functional testing.
Table 151. Test Coverage
Circuit or Function &T2 &T3 Functiona l Test
Si24xx chip Yes Yes Yes
ISOcap Operation Yes Yes Yes
Si3018/10 Operation Yes Yes
Hookswitch Yes Yes
dc Termination Yes Yes
Bridge Yes Yes
AC Termination Yes Yes
Line Voltage Monitor Yes
Ringer Network Yes
Intrusion Detection Yes
Caller ID Yes
Overcurrent Detection Yes
Test
Computer
Teltone
ILS 2000 ISDN Modem
Modem Under Test
ISDN
Terminal
Adaptor
ISDN
ISDN Analog
AN93
252 Rev. 1.3
10.4. Compliance Testing
Regulatory compliance testing requires the modem to be configured in specific ways and controlled to perform
specific operations necessary to make required measurements. Compliance testing commands and configuration
information are provided.
Some helpful commands for conducting compliance testing on the ISOmodem are listed in Table 152. The modem
register defaults configure the modem for FCC operation.
Homologation testing requires that the ISOmodem signal output be measured for each modulation and data rate.
The AT&T3 command establishes an analog loopback connection to the phone line and places the modem in data
mode. The mod ulation is controlled by the &H command . This command is insufficient for homologation for several
reasons:
It is not possible to configure the output tone to be as if from the answering or originating modem.
It is not possible to configure the data rate used in an analoop connection within a given modulation.
Three data patterns need to be sent during output testing: all marks, all spaces, and random data.
Once transmission with automatic dat a gen er ation is in itia ted, the mo de m goes off-hook and begins to transmit the
data in the modulation selected by the existing &H command. Transmission continues until the ATH command is
sent after escape.
Table 152. AT Commands for Compliance Testing
AT Command/Test Method Desired Response
ATH1 Continuous off-hook
ATH0 Return on-hook
AT&Hn (see command description for n) Set modulation
AT&T3 (requires load and loop current) Turn on carrier (originate)
Set S10 = 255 to keep the modem under test from hang ing up af ter the
remote modem is unplugged. Connect with another modem (Si24xx in
answer mode); then, unplug the other modem. Turn on carrier (answer)
AT&T4 Initiate transmit as originating modem
with automatic data gene ration
AT&T5 Initiate tran sm it as an sw er ing mo de m
with automatic data gene ration
ATX0 Blind dial (no dial tone)
AT*Y1D<digit> (example: AT*Y1D1 for DTMF1) Send continuous DTMF digit
ATM2 Speaker on continuously
ATM0 Turn off speaker
AT:Uhh,xxxx (hh is U register and xxxx is the hex value to be written) Write a U register
AT:Rhh (hh is U register) Read a U register
AT:R Read all U registers
ATA Send Answer Tone for 3 seconds
AT:U4D,0008 ATX0 ATDT Send Calling Tone
Connect test modem and remote modem through a telephone line sim-
ulator. Configure test modem without protocol. Set test modem
S10 = 255. Connect phone in parallel to remote modem. Set remote
modem to desired modulation. Dial remote modem and connect. Take
parallel phone off-hook. Remove power from remote modem. Test
modem transmits indefinitely.
Transmit a specific modulation
AN93
Rev. 1.3 253
The data sent during &T4 and &T5 transmission tests is controlled by the S40 register. The data rate for &T4 and
&T5 commands is controlled by the existing &G command. In V.34 cases, where a data rate may use multiple
symbol rates, the symbol rate is controlled by the S41 register. If an invalid combination of data/symbol rate is
selected, the modem chooses a valid symbol rate. It is the responsibility of the operator to select valid
combinations for testing.
After the &T4 or &T5 command is issued and the modulation output has begun, a result code stating CONNECT
followed by the data rate (as if the outpu t were an actual conn ection) is sent. The 300 bps rate does not give the
speed after CONNECT. The &G4 command allows V.34/2400bps operation, and &G3 allows V.22bis/1200 bps
operation.
The answer tone output must also be measured during homologation testing. A bit in memory allows a continuous
answer tone to be output in the same way as a continuous DTMF tone through the AT *Y1 command. After issuing
the commands AT&H10 and AT*Y2A, a constant answer tone is produced, and the modem is returned to command
mode. Both AT commands need to be sent for each and every tone to be produced. Each of the two commands
need to be on its own command line. The tone continues until a character is received or the S7 timer expires. After
the command has been terminated, the modem returns on-hook and sends the NO CARRIER message.
For homologation testing, it may be necessary to output the V.29 modulation with transmit data. The +FTM
command includes additional codes given in Table 154 to initiate output with the transmit data specified in S40.
The AT+FCLASS=0 command must be sent before any other analoop test or connection is made. The modem
must remain on-hook for a time programmed in S-register 50. Any attempt to go off-hook is delayed by this time in
1 s units. S-50 default is 3 seconds.
There is a double CONNECT message for analoop in B1O3, V.21, and V.23 for all options except \V0.
10.4.1. EMI
The ISOmodem chipset and recommended DAA schematic are fully compliant with and pass all international
electromagnetic emissions and conducted immunity tests (including FCC parts 15 and 68; EN50082–1). Careful
attention to the ISOmodem schematic (page 47), bill of materials (page 48), and layout guidelines ensure
compliance with these international standards. In designs with difficult layout constraints, the addition of R12 and
R13 to the C8 and C9 recommended capacitors may improve modem performance on emissions and conducted
immunity. For such designs, a population option for R12 and R13 may allow additional flexibility for optimization
after the printed circuit board has been completed. Also, under some layout conditions, C8 and C9 may improve
the immunity to telephone-line transients.
Table 153. Symbol/Data Rate
S41 V.34 Symbol Rate Allowable Data Rates
0 (default) 2400 symbols/second 2400–21600
1 2743 symbols/second 4800–26400
2 2800 symbols/second 4800–26400
3 3000 symbols/second 4800–28800
4 3200 symbols/second 4800–31200
5 3429 symbols/second 7200–33600
Table 154. V.29 Data Rate
+FTM= Transmit Modulation Data Rate
53 V.29 7200
55 V.29 9600
AN93
254 Rev. 1.3
10.4.2. Safety
Designs using the ISOmodem pass all overcurrent and overvoltage tests for UL1950 3rd Edition with the addition
of a 1.25 A Fuse or PTC, as shown in Figure 48. In a cost-optimized design, compliance to UL1950 does not
always require overvoltage tests. In the design cycle, it is important to plan ahead and know which overvoltage
tests will apply. System-level elements in the construction, such as fire enclosure or spacing requirements, need to
be considered during the design stages. Consult with a testing agency during product design to determine which
tests will apply.
Figure 48. Circuits that Pass All UL1950 Overvoltage Tests
10.4.3. Surges
Use the reference design described in "4. Hardware Design Reference" on page 43 with through-hole Y1
capacitors for C1, C2, C8, and C9. Use spacing betwe en the ca pacitor leads, b etwee n any line-sid e (high vo ltage)
component or trace and system side (low voltage) component or trace greater than 8 mm. Also, the spacing
between any line-side component or trace (or through-hole lead extending through the PCB) and the chassis (or
anything connected to the chassis or low voltage circuitry) must b e greater than 8 mm or p rotected with insulating
material capable of withstanding a voltage greater than 8 kV. Additionally, slots cut through the PCB are
recommended betwee n the leads of C1, C2, C8, and C9 fo r increased cree page. The PCB a nd component s should
be clean and free of contamination, such as solder flux or other residue. The design engineer must verify the
spacing indicated above meets or exceeds any specifications with which they wish to comply. The ISOmodem,
used with the components and techniques described above, offers the highest reliability and lowest cost of any
available solution. The use of supplemental surge-suppression components is not recommended.
C8
FB1
FB2
C9
RV1
Fuse/PTC TIP
RING
1.25 A
1000 @ 100 MHz, 200 mA
1000 @ 100 MHz, 200 mA
AN93
Rev. 1.3 255
10.5. AM-Band Interference
In certain areas, AM-band interference causes poor connectivity rates and error rates. A good EMI common-mode
filter may be necessary in some situations. An example of an off-the-shelf unit designed to plug directly into the
phone line is the Coilcraft TRF-RJ11, which can be used for debugging or fixing problem locations.
Figure 49. Published Coilcraft TRF-RJ11 Filter Performance
AN93
256 Rev. 1.3
10.6. Debugging the DTE interface
A hardware-based serial RS232 monitoring product, such as the Parascope Plus, is an invaluable tool for
debugging the DT E/DC E In te rf ac e. It captures an d re co rd s d e tails of DTE - DCE interaction. He xa de cimal an d bit -
shifted views are possible, and it timestamps every character exchanged with much greater precision than a
software-based monitor. It is sold by FETEST at http://www.fetest.com.
Figure 50. Debugging the DTE Interface
To P C
Printer Port
To
Power
To
DCE
Silabs IsoMod em eval. board
Feline WinXL serial transaction log. Timestamp of highlighted ch ar.
AN93
Rev. 1.3 257
APPENDIX A—EPOS APPLICATIONS
EPOS applications generally require nearly flawless call connection reliability and a very short overall transaction
time. The message length of a typical EPOS terminal is between 120 to 260 bytes of information. Due to the
relatively small message length, the need for reliable connections under all line conditions, and short connection
times, the preferred modulations have traditionally been variations of V.22 (1200 bps) or Bell 212 (1200 bps).
EPOS servers do not strictly follow ITU standards. Despite the informal use of the term “V.22 fast connect”, there is
no ITU “fast connect” standard. De-facto standards with modifications of ITU standards, such as V.22 Fast
Connect, have been adopted to reduce the transaction time. Some server manufacturers make changes to the
modem with the intent of making it difficult for competing terminals to connect. Many EPOS servers have out-of-
specification clocks and use reduced handshake timing. V.22bis (2400 bps) is occasionally used in EPOS
terminals as well. The primary method by which V.22bis terminals achieve a shorter connection time has been
through the use of a shorter answer tone. V.29 FastPOS is a Hypercom proprietary protocol based on the V.29 Fax
standard. F or these re asons, EPOS app lications o f ten r equire some amount of reverse engineering and fine tuning
of the ISOmodem performance, typically with a patch.
Recently, improvements to the overall user experience have necessitated the storage of transaction information
within the EPOS terminal based on some predefined crite ria. These stored transa ctions are typically sent as p art of
a larger transaction at a later time. This effectively increases the message length to over 2 kB, necessitating the
use of higher-speed modulations, such as V.29 FastPOS or V.32bis.
The choice of either V.29 FastPOS versus V.32bis is a tradeoff between transaction message length and
connection times. It is common for a terminal to su pport both of these modulations.
Modulation Typical Connect Time (Sec)*
V.90 25
V.34 10.7
V.32b 7.8
V.22b 5.0
V.22 3.0
V.22 FastConnect 0.6
V.29 FastPOS 0.5
*Note: Does not include dial delay.
VISA II (7E1)
Terminal
ACK (0x06)
Host
STX <data>ETX, LRC
Dials host
Disconnects EO T (0x04)
STX <data>ETX, LRC ACK (0x06)
EN Q (0x05)
AN93
258 Rev. 1.3
Another consideration for EPOS applications is the method of error detection and error correction. Early EPOS
terminals adopted the Zilog 85C30 Serial Communications Controller (SCC) in conjunction with a synchronous
modem to implement an HDLC/SDLC-based data link layer. The complexities of the HDLC handling is done by the
SCC, while the modem performs strict data pump function. However, given the broad availability of UARTs, HDLC
handling can be performed by the modem also. To facilitate this system partitioning, the V.80 protocol is used. V.80
allows the multiplexing of data, control, and status information so that the host processor can specifically control
what frames are sent to, or received from, the modem across the asynchrono us UART (DTE) inter face. The host
performs much of the other layers of the protocol stack beyond this Data Link Layer. A discussion of host software
is beyond the scope of this appendix.
Recommendation V.80
The goal of V.80 is the conc ept of “abs tract ing hard ware circ uits”. This is achie ved by the addition of a contr ol and
status channel alongside the main data channel. The main data channel is effectively the information transfer
across the UART TX and RX lines. The control/status channel that runs alongside the main data channel is
signaled by the use of EM shielding. This means a “special character” is chosen to signify the beginning of the
control/status channel. In its simplest form, this “special character,” in conjunction with the “next” ch aracter, is taken
together as a single nugget of information denoting a special control message or a special status.
V.80 uses <0x19> as a special control character. The next question becomes how to send the character 0x19 as
data? This is accommodated by the concept of transparency, in which the host is required to send a special
sequence to signify its desire to send 0x19 as data rather than a control character.
The concept could have been very simple, but there are additiona l complications:
The desire to support 7-bit data and 1-b it parity asynchronous protocols
The desire to support XON and XOFF handshaking
The desire to limit bandwidth usage
The desire to support 7 data bits and 1 parity bit creates the possibility that the host would be sending <0x99>
when the intention is to be sending the <0x19> special character. The <EM> character is really a shortcut for
saying <0x19> or <0x99>.
The XON and XOFF characters are <0x11> and <0x13>, respectively. These characters are treated in a special
way by many UARTs, and, therefore, V.80 must ensure that neither <0x11> or <0x13> occur in the data stream so
that a lower protocol layer will not need to be rewritten. Hence, the final “special character set” for V.80 includes
<0x19>, <0x99>, <0x11>, and <0x13>.
What happens if the data file being sent is a constant stream of <0x19> bytes? By the single-transparency rules,
one would then argue that the number of bytes sent across the DTE would effectively be doubled. In order to
ensure that the throughput does not become bloated by the EM Shielding, provisions for all combinations of two
special character combinations are created. This adds yet another sixteen EM Shielding cases since there are 4 x
4 matrix of combinations of these special characters.
At this point, the transparency cases for EM Shielding can thus guarantee the ability to send “anything” over the
DTE with the special considerations of 7 vs 8 data bits, XON and XOFF characters and throughput considerations.
However, once the data channel has been architected, the rest of the unused EM codes can be used for the
primary purpose of V.80, which is the concept of hardware abstraction.
In EPOS applications, ther e is little value in abstracting pins such as RI or RTS. The value comes in abstr acting the
TXCLK and RXCLK of the Synchronous UAR T. The Synchronous UART is the primary method of connecting to the
Zilog 85C30 SCC. V.80 allows the interface between the host and the modem to be a simple asynchr onous DTE,
while allowing for synchronous operation performed by the modem itself.
The purpose of goin g thro ugh this e xplanation is to allow th e easier reading of the V.80 standard and to provide the
proper framing of the use of V.80 in an EPOS application. It is important to note that the usage of V.80 for HDLC
function does not use many of the other aspects of V.80.
For example, the data transferred across the UART is assumed to be 8 bits, even though V.80 also provides the
ability to transfer 7-bit ASCII data. Also, it is rare for XON/XOFF handshaking to be used in an EPOS application,
but the transparency rule s of EM Shield in g ar e bu rd en e d with thes e extr a EM co de s in any case .
AN93
Rev. 1.3 259
In the end, the only thing that matters in an EPOS application is the ability to send and receive HDLC frames
across the DTE. For this, the ability of the host to tell the modem “end of transmit frame” and the ability for the
modem to tell the host “CRC succe ssf ul” is, in esse nce , th e ker n el of V.80 use in an EPOS applica tio n.
One final note before showing an example… the V.80 stand ard r efers to a “Transparen t Sub- Mo de” a nd a “ Fra med
Sub-Mode”. The main idea behind the Transparent Sub-Mode is to allow the host to specifically decide what bits
are being sent across the DCE. In the Transparent Sub-Mode, nothing is left out, and the host is responsible for
every single bit that is transmitted to and from the modem. In the Framed Sub-mode, the HDLC handling is
performed by the modem, and, therefore, there are actions taken by the modem that the host assumes and does
not worry about. In EPOS applications, only the “Framed Sub-Mode” is of importance.
Example:sending an HDLC Frame containing the following bytes:
0xFF 0x11
The host will transmit the following byte stream. Note that the 0x11 is sent as an <EM><t3> or 0x19 0xA0. An
<EM><flag> or 0x19 0xB1 denotes the end of frame.
0xFF 0x19 0xA0 0x19 0xB1
At the UART interface at TXD, the bit-representation is:
strt 0xFF stp stp 0x19 stp strt 0xA0 stp strt 0x19 stp strt 0xB1
1 0 11111111 1 0 10001001 1 0 00000101 1 0 10001001 1 0 10001101
The modem strips off the start and stop bits and reconstructs the original bytes:
0xFF 0x19 0xA0 0x19 0xB1
The transparency characters are resolved, and, since t he <EM><fla g> is present, the Frame Check Sequence is
calculated. Let us assume that the FCS is 0xC00F:
16-bit FCS
0xFF 0x11 0xC0 0x0F
Adding the HDLC flags and zero-stuffing, the bit stream is shown as follows. The bit stream containing the 0xFF
and 0x0F bytes have inserted zer o bits. The algorithm is fairly simple in tha t whenever th ere ar e five ones in a row,
a bit is inserted. The inserted bits are shown in red. This bit stream is then modulated and transmitted out to the
DCE.
16-bit FCS
Flag 0xFF 0x11 0xC0 0x0F Flag
01111110 111110111 10001000 00000011 111010000 01111110
The receive process reverses the above steps. The receiver hunts for HDLC flags and synchronizes to the HDLC
flag stream. It then extract s the fra me between th e HDLC Fla gs and performs zero- bit deletion on the p ayload. The
receiver also calculates the CRC and matches with the 16-bit FCS of the frame. Then, the <EM> transparency is
added, and finally, the <EM><flag> is sent as an indicati o n that the calcul ated CRC of the frame matches the F CS.
AN93
260 Rev. 1.3
Figure 51. ISOmodem V.80 Protocol HDLC Framing in Framed Sub-Mode
The ISOmodem in EPOS Applications
The Rev D Si2493/57/34/15/04 and Rev A Si2494/39 include all Rev B and C patches.
AT:U87 [10] must be set when using Rev B silicon.
A V.80 interface to V.29 Fast Connect is not supported on Rev B silicon and can be accomplished only as a
patch on Rev C. Please contact Silicon Laboratories, Inc. for latest patch. "5.8. Firmware Upgrades" on page
121 outlines how to use this patch.
When operating as V.22 Fast Connect (+MS=V22, AT:U7A,3), the register U80 can be modified to account for
unusual server timings. The value in U80 should reflect the expected answer tone duration of the NAC. The
units are in 1/600 s. For example, if the an swe r ton e duration of the server is 500 ms, AT:U80,012C.
When operating as V.22 Fast Connect (+MS=V22, AT:U7A,3), a short answer tone of at least 300 ms is required
for proper operation. This answe r tone can be 2100 Hz, 2225 Hz, or a V.22 Unscrambled Binary Ones (USB1).
If the server NAC does not have any of these answer tones prior to scrambled data or HDLC flags, it is possible
to command the modem to operate without these tones by setting bit 15 of U80. The modem then begins
transmitting scrambled data (or HDLC Flags) some time after the end of dialing, based on the value in
U80 [14:0]. The units are in 1/600 s. For example, to command the modem to begin transmitting 3 s after the
end of dialing, set AT:U80,8708.
Modulate
Data
Block
Data
Block
V.80
Transparency
Encode
V.80
Transpare ncy
Decode
MODEM
UART
HDLC
FLAG
Insertio n
Zero-Bit
Stuffing
g
Frame Check
Sequence
Generate
Data
Block
Data
Block
Data
Block
V.80
Transparency
Decode
Receive
Path
HDLC
FLAG
Detection
Demodulate
Insert V.80
EM<FLAG>
between blocks
V.80
Transpare ncy
Encode
Zero-Bit
Deletion
n
CRC
Check
EM<FLAG> if good
RX frame, EM<ERR>
if bad RX frame
TX Bit
Clock
TXD
RXD
V. 8 0 Ha n dle r
Add EM<FLAG>
or EM <ERR>
DCE
PLL XTAL
RX Bit C loc k
Recovery
Isomodem with V.80
UART
Transmit
Path
Data
Block
MODEM
UART
CTS*
AN93
Rev. 1.3 261
A V.29 FastPOS Sample Program
Introduction
In previous versions of the interface to V.29 FastPOS, the HDLC layer was assumed to be implemented by the host
software. Another issue was the case where the EPOS Terminal was calling a server that could answer either as
V.29 FastPOS or V.22bis; it was not possible for the modem to “train down” to V.22bis.
To address these issues, a new interface has been implemen te d in th e Re v D Si249 3 /5 7/ 34 /1 5 an d Rev A Si2494 /
39 and is available as a patch in the RevC ISOmodem. This interface allows the call to start as a V.29 FastPOS
and can train down to V.22bis if the server NAC can answer as either a V.29 FastPOS or V.22bis. Please contact
Silicon Laboratories, Inc. for the latest patch.
One of the improved aspects of this interface technique is to use two co ntrol lines: (RTS and DTR); RTS controls
direction of transfer, while the DTR hangs up the line. The tradeoff here is that RTS can no longer be used as a
method of stopping the modem fr om sending data to the host.
This is generally not an issue as long as the DTE rate is greater than the DCE rate and the host can keep up with
the receiver without having to resort to the negation of RTS.
The data are in V.80 format. Just read and write data while toggling RTS as needed. Assert RTS to transmit and
de-assert to receive. This is called a push-to-talk paradigm.
The description here shows how to set up and use the modem for V.29 FastPOS and also provides a sample
program along with both a DTE trace and WAV files that capture what is happening at both ends of the modem.
The only critical signals that are not recorded below but obviously controlled in the program are the RTS and DTR
lines.
The hardware used was the Engineering Eval. Board Rev 3.2 and a 24xx2G-DC Rev 1.2 module containing a 24
pin 2457 Rev C ISOmodem chip plus a 3018 DAA chip. JP6 was strapped {1-2, 4-5, 7-8, 10-11, 13-14}. JP5 was
unstrapped.
Setup procedure:
1. Host DTE Rate must be greater than 19200.
2. Host DTE must be configured for 8N1 CTS-only flow control
3. Load Patch “rc_p71_bcd8.txt”
AT+GCI=xxxxxxx
AT&D2 Enables escape pin (U70 HES bit needs to be set also.)
AT+IFC=0,2 Flow control setup
AT:U87,050A V.80 Setup
AT\N0 Wire Mode
AT+FCLASS=1
AT:U7A,1
AT:UAA,8004
AT+ES=6,,8 Synch access mode
AT+ESA=0,0,0,,1 Synch access mode control
4. Make Sure RTS is negated (voltage high)
5. Make Sure DTR is asserted (voltage low)
6. Send ATDT###
Notes:
1. Patch is “Originate Only”
2. RTS is used as DIRECTION of transfer. Think “push-to-t alk” paradigm. Assert RTS PRIOR to transmission.
Negate RTS after frame has been sent. The modem will guarantee that the carrier is turned off after all
current frames have been completed.
AN93
262 Rev. 1.3
3. DTR is assumed to be connected to the ESC pin of the mo dem. It has been pr ogrammed to HANG UP when
DTR is negated.
4. When the modem is in RECEIVE operation (RTS negated), it is not possible to communicate with the
modem. The only control is to hang up using DTR.
5. The modem “automatically” takes care of figuring out if it is supposed to be in “V.29 Long Train” vs. “V.29
Short Train”. The primary host responsibility is to take care of RTS.
6. Data to/from the modem is expected to be in V.80 format.
Example Program in C/C++
This program shows how to establish an SDLC V.29 FastPOS link and keep the loop alive.
How to use the program:
This program is meant to run for only a few minutes for testing. It is run after a reset is done, loads a patch from
“patch.txt” and calls using the atdt line it finds in tel_no.txt”. Both files need to terminate in CR LF.
The tel_no.txt file must contain a complete telephone number dialing line followed by a CR, e.g. ATDT8,5551212.
// V29_test.cpp : Defines the entry point for the console application.
// Copyright 2005 Silicon Labs Inc. All rights reserved.
// Rev 0.0602
#include "stdafx.h"
#include "windows.h"
#include "stdlib.h"
#include <stdio.h>
#include <time.h>
char fnamePatch[]=".\\patch.txt";
char fnameTelno[]=".\\Tel_no.txt";
char *SendAndWaitFor(char *cpCommand, char *cpInBuffRd,
char *cpResponse, int iTimeoutMs);
char *WaitForResponse(char *cpResponse, char *cpInputBuffer,
int iTimeOutInMs);
void SetupSerPort(void);
void AssertRTS(bool bAssert);
void AssertDTR(bool bAssert);
void Delay(long iMs) ;
bool GetFileTextLine(char *cpIn);
void LoadAndSendPatch(void);
char *cpInBuffer;
char *cpOutBuffer;
char *cpInputWr;
char *cpErrorString;
FILE *hpPatchFile;
FILE *hpTelNoFile;
DCB dcb;
HANDLE hCom;
char *pcCommPort = "COM1";
COMMTIMEOUTS sCOMMTIMEOUTS;
int iCharCount;
char *cpInputRd, *cpInputRd_temp, cpInput_test[255];
AN93
Rev. 1.3 263
char caUA_PKT_STR[] = {(char)0x30, (char)0x73, (char)0x19, (char)0xb1, (char)0 };
char caRR_PKT_STR[] = {(char)0x30, (char)0x19, (char)0xa0, (char)0x19, (char)0xb1, (char)0 };
char caSNRM_PKT_STR[] = {(char)0x30, (char)0x93, (char)0x19, (char)0xb1, (char)0 };
char caRX_PKT_STR[] = {(char)0x19, (char)0xb1, (char)0 };
void AlternateCall(void);
int main(int argc, char* argv[])
{
// Initialize these buffers.
cpInBuffer = (char *)malloc(100000);
cpOutBuffer = (char *)malloc(100000);
cpErrorString = (char *)malloc(100000);
for (int i= 0; i< 10000; i++)
{
cpInBuffer[i] = 0;
cpOutBuffer[i] = 0;
cpErrorString[i] = 0;
}
cpInputRd = cpInBuffer;
cpInputWr = cpInBuffer;
unsigned long ulNoOfbytes;
SetupSerPort();
LoadAndSendPatch();
AssertDTR(true);// Leave DTR asserted for calling
cpInputRd = Send AndWaitFor("atz\r", cpI nputRd, "OK\r\n", 300 ); // A soft rese t Just in case
Delay(300); // Important, AN93 implies this delay must be done after an ATZ.
cpInputRd = SendAndWaitFor("ATE0\r", cpInputRd, "OK\r\n", 300);
cpInputRd_temp = SendAndWaitFor("AT&T6\r", cpInputRd, "OK\r\n", 300);// Get the patch CRC
printf ("%s \n", cpInputRd); cpInputRd=cpInputRd_temp; // Display the patch CRC
// setup county of operation ********************MODIFY to your locality******************
// cpInputRd = SendAndWaitFor("at+gci=B 5\r", cpInputRd, "OK\r \n", 300);
// &D2 enables escape pin, // X4 enable extended result codes
// \V2 report connect message only // %c0 disable data compression
// %V1 Auto line status detection mode is the fixed method
// +IFC=0,2 No data flow control, Hardware flow control
cpInputRd = SendAndWaitFor("AT&D2x4\\V2%c0%V1+IFC=0,2\r", cpInputRd, "OK\r\n", 300);
// \N0 wire mode, // +FCLASS=1 HDLC mumbo jumbo
cpInputRd = SendAndWaitFor("AT\\N0+FCLASS=1\r", cpInputRd, "OK\r\n", 300);
cpInputRd = SendAndWaitFor("AT:UAA,8004\r", cpInputRd, "OK\r\n", 300);
// +ES=6,,8 enabled synch access, // 6,, enables synch access on initiating a connect
AN93
264 Rev. 1.3
// ,,8 enables synch access on answering a connect
cpInputRd = SendAndWaitFor("AT+ES=6,,8\r", cpInputRd, "OK\r\n", 300);
// AT+ESA=0,0,0,,1 synch access mode control
// 0,,,, modem transmits SYN if underrun during transparent mode
// ,0... modem tx's flags after underrun after flag happens in framed sub mode
// ,,0,, modem tx's abort on underrun in frame middle during framed sub mode
// ,,,,1 enables CRC generation and checking
cpInputRd = SendAndWaitFor("AT+ESA=0,0,0,,1\r", cpInputRd, "OK\r\n", 300);
// "AT:U87,010A Synch access mode config
// 0x0400 bit 10 Minimal transparency <EM><T1 thru T4> during Rx
// 0x0100 bit 8 Upon connection immediately enter framed sub mode
// 0x000A bits 3:0 Wait for 10 bytes before starting xmission.
cpInputRd = SendAndWaitFor("AT:U87,050A\r", cpInputRd, "OK\r\n", 300);
// :U7A,1 Fast connect
cpInputRd = SendAndWaitFor("AT:U7A,1\r", cpInputRd, "OK\r\n", 300);
AssertRTS(false);
if ((hpTelNoFile = fopen(fnameTelno, "rb")) == NULL)
{
fprintf(stderr, "The Tel. Number File is missing.\n");
exit(1);
}
char caOutGoing[256];
bool bValidLine = GetFileTextLine(caOutGoing);
printf("Phone Number: %s\n",caOutGoing);
if(bValidLine)
cpInputRd = SendAndWaitFor(caOutGoing, cpInputRd, "CONNECT\r\n", 120000);
else
{
fprintf(stderr, "The Tel. Number File is incorrect.\n");
exit(1);
}
int iLength;
iCharCount = 0; //reset the total chars to 0 for data mode.
// Skip waiting for the speed packet.
// cpInputRd = WaitForResponse("\0x19\0xbe\0x24\0x24\0x19\0xb1", cpInputRd, 6000); // ???
// Long training happens now!
cpInputRd = WaitForResponse(caSNRM_PKT_STR, cpInputRd, 6000);
Delay(50); //Delay to allow the line to turn around
AN93
Rev. 1.3 265
AssertRTS(true); //RTS=1 for transmitting
Delay(300); //Delay to allow the line to turn around
// Alternatively use USE CTS
iLength = strlen(caUA_PKT_STR);
WriteFile(hCom, caUA_PKT_STR, iLength, &ulNoOfbytes, 0); // Tx UA messge
Delay(100);
while(1) // Short training happens now!
{
AssertRTS(false); printf("RTS=0 Rx "); //RTS=0 for receiving
cpInputRd=WaitForResponse(caRX_PKT_STR,cpInputRd,3000);//Rx RR message
iLength = strlen(cpInput_test);
for (int i=0; i<iLength; i++)
printf("%02x ", (unsigned char)cpInput_test[i]);printf("**%d ", *cpInputRd);
//Alternatively use CTS
Delay(150);
do{ // flush out the bytes for last RX packets.
BOOL bError = !ReadFile(hCom, cpInputWr, 1, &ulNoOfbytes, 0); //ulNoOfbytes=1
printf("%02x ", (unsigned char)cpInputWr[0]);
}while (ulNoOfbytes); printf("\n");
AssertRTS(true); printf("RTS=1 Tx "); //RTS=1 for transmitting
Delay(50); // morrie 01/20/06
iLength = strlen(caRR_PKT_STR);
for (i=0; i<iLength; i++)printf("%02x ", (unsigned char)caRR_PKT_STR[i]); printf("\n");
WriteFile(hCom, caRR_PKT_STR, iLength, &ulNoOfbytes,0); //Tx RR message
Delay(100); //Delay x ms to complete TX sending before set RTS=0 for RX
}
return;
}
// --------------------------------- -------- -------- -------- -------- --------- -------- ---
// Use this call to check CTS status
// DWORD iEVentMAsk; // wait for EV_CTS
// BOOL WaitCommEvent(HANDLE hFile, &iEVentMAsk, LPOVERLAPPED lpOverlapped);
// --------------------------------- -------- -------- -------- -------
void SetupSerPort()
{
BOOL bSuccess;
hCom = CreateFile(pcCommPort, GENERIC_READ | GENERIC_WRITE, 0,
NULL, OPEN_EXISTING, 0, NULL);
if (hCom == INVALID_HANDLE_VALUE)
{ // Handle the error.
printf ("CreateFile failed with error %d.\n", GetLastError());
exit(1);
AN93
266 Rev. 1.3
}
// Build on the current configuration, and skip setting the size
// of the input and output buffers with SetupComm.
bSuccess = GetCommState(hCom, &dcb);
if (!bSuccess)
{
// Handle the error.
printf ("GetCommState failed with error %d.\n", GetLastError());
exit(1);
}
// Fill in DCB: 57,600 bps, 8 data bits, no parity, and 1 stop bit.
dcb.fBinary = TRUE; // Binary mode; no EOF check
dcb.fOutxCtsFlow = FALSE; // No CTS output flow control
dcb.fOutxDsrFlow = FALSE; // No DSR output flow control
dcb.fDtrControl = DTR_CONTROL_ENABLE; // DTR flow control type
dcb.fDsrSensitivity = FALSE; // DSR sensitivity
dcb.fTXContinueOnXoff= TRUE; // XOFF continues Tx
dcb.fOutX = FALSE; // No XON/XOFF out flow control
dcb.fInX = FALSE; // No XON/XOFF in flow control
dcb.fErrorChar = FALSE; // Disable error replacement
dcb.fNull = FALSE; // Disable null stripping
dcb.fRtsControl = RTS_CONTROL_ENABLE; // assert RTS
dcb.fAbortOnError = FALSE; // Do not abort rds/wr on error
dcb.BaudRate = CBR_115200; // set the baud rate
dcb.ByteSize = 8; // data size, xmit, and rcv
dcb.Parity = NOPARITY; // no parity bit
dcb.StopBits = ONESTOPBIT; // one stop bit
bSuccess = SetCommState(hCom, &dcb);
if (!bSuccess)
{ // Handle the error.
printf ("SetCommState failed with error %d.\n", GetLastError());
exit(1);
}
printf ("Serial port %s successfully initialized.\n", pcCommPort);
return;
}
// --------------------------------- -------- -------- -------- -------- --------- -----
char *SendAndWaitFor(char *cpCommand, char *cpInBuffRd,
char *cpResponse, int iTimeoutMs)
{
unsigned long ulNoOfbytes;
strcpy(cpOutBuffer, cpCommand);
WriteFile(hCom, (long *)cpOutBuffer, strlen((char *)cpOutBuffer),
&ulNoOfbytes, 0);
if(iTimeoutMs)
AN93
Rev. 1.3 267
cpInBuffRd = WaitForResponse(cpResponse, cpInBuffRd, iTimeoutMs);
if(!cpInBuffRd)
exit(0);
return cpInBuffRd;
}
// Check for a specific response in the input buffer, and return ptr to what
// follows. If this times out or ERRORs before the response is found then a
// NULL is returned; It keeps reading the ser channel while waiting
char *WaitForResponse(char *cpResponse, char *cpInputBuffer, int iTimeOutInMs)
{
unsigned long ulNoOfbytes;
clock_t sStartTime = clock();
clock_t sCurrentTime;
// covert wait time in ms's to clock_t by mutiplying by CLOCKS_PER_SEC/1000
clock_t sWaitTime = (clock_t)(iTimeOutInMs*CLOCKS_PER_SEC)/1000;
int iPasses = 0;
int iCharCnt =0; // set to 0
while(1)
{
char cTemp = *cpInputWr;
*cpInputWr = 0;
char *cpFound = strstr(cpInputBuffer, cpResponse);
*cpInputWr = cTemp;
if(cpFound)
{//copy the received bytes for late display
strncpy(cpInput_test, cpInputBuffer, iCharCnt);cpInput_test[iCharCnt]='\0';
return cpFound + strlen(cpResponse);
}
// Setup a 50 ms timeout for reads
sCOMMTIMEOUTS.ReadIntervalTimeout = 0;
sCOMMTIMEOUTS.ReadTotalTimeoutMultiplier = 0;
sCOMMTIMEOUTS.ReadTotalTimeoutConstant = 50;
sCOMMTIMEOUTS.WriteTotalTimeoutMultiplier = 0;
sCOMMTIMEOUTS.WriteTotalTimeoutConstant = 0;
SetCommTimeouts(hCom, &sCOMMTIMEOUTS);
// Read the serial port
//cpInputWr has char from the port
BOOL bError = !ReadFile(hCom, cpInputWr, 1, &ulNoOfbytes, 0);
iCharCount += ulNoOfbytes; iCharCnt+=ulNoOfbytes;
if(bError)
{
strcat(cpErrorString, "Read Error\r\n");
exit(10); // implement a write to file before exit(0)
}
cpInputWr += ulNoOfbytes;
// check for a timeout
AN93
268 Rev. 1.3
sCurrentTime = clock();
iPasses++;
if( sCurrentTime > (sStartTime + sWaitTime) )
{
strcat(cpErrorString, "Timeout of "); strcat(cpErrorString, cpResponse);
printf ("\n%s\n", cpErrorString);
strncpy(cpInput_test, cpInputBuffer, iCharCnt);
cpInput_test[iCharCnt]='\0'; //copy the received bytes for late display
return cpInputBuffer; // we exit with the same input string we came in with
// because we time out.
}
}
};
// --------------------------------- -------- -------- -------- -------- --------
void AssertRTS(bool bAssert)
{
BOOL bSuccess;
if(bAssert)
dcb.fRtsControl = RTS_CONTROL_ENABLE; // assert RTS
else
dcb.fRtsControl = RTS_CONTROL_DISABLE; // dis-assert RTS
bSuccess = SetCommState(hCom, &dcb);
if (!bSuccess)
{ // Handle the error.
printf ("SetCommState failed with error %d.\n", GetLastError());
exit(1);
}
else
return;
}
void AssertDTR(bool bAssert)
{
BOOL bSuccess;
if(bAssert)
dcb.fDtrControl = RTS_CONTROL_ENABLE; // assert RTS
else
dcb.fDtrControl = RTS_CONTROL_DISABLE; // dis-assert RTS
bSuccess = SetCommState(hCom, &dcb);
if (!bSuccess)
{ // Handle the error.
printf ("SetCommState failed with error %d.\n", GetLastError());
exit(1);
}
AN93
Rev. 1.3 269
return;
}
void Delay(long iMs)
{
clock_t wait;
// covert ms's to clock_t by mutiplying by CLOCKS_PER_SEC/1000
wait = (clock_t)(iMs*CLOCKS_PER_SEC)/1000;
clock_t goal;
goal = wait + clock();
while( goal > clock() )
;
}
void LoadAndSendPatch(void)
{
char caOutGoing[256];
cpInputRd_temp = SendAndWaitFor("AT&T7\r", cpInputRd, "OK\r\n", 300); // Reset the modem
printf ("Current %s \n", cpInputRd); cpInputRd=cpInputRd_temp;
printf ("Loading patch:%s...\n", fnamePatch);
if ((hpPatchFile = fopen(fnamePatch, "rb")) == NULL)
{
fprintf(stderr, "The Patch File is missing.\n");
exit(1);
}
AssertRTS(true );
cpInputRd=SendAndWaitFor("ATE1\r", cpInputRd, "OK\r\n", 300);
bool bValidLine = true;
while(bValidLine)
{
bValidLine = GetFileTextLine(caOutGoing);
if(bValidLine)
cpInputRd = SendAndWaitFor(caOutGoing, cpInputRd, "OK\r\n", 3000);
}
cpInputRd = SendAndWaitFor("ATE1\r", cpInputRd, "OK\r\n", 300);
cpInputRd_temp = SendAndWaitFor("AT&T6\r", cpInputRd, "OK\r\n", 300);
printf ("Finish Loading, %s \n", cpInputRd); cpInputRd=cpInputRd_temp;
fclose(hpPatchFile);
}
// Returns FALSE when at end of file
// Stops after first LF.
bool GetFileTextLine(char *cpIn)
{
*cpIn = 0; char cpInChar[8]; cpInChar[1] = 0;
while(!feof(hpPatchFile))
AN93
270 Rev. 1.3
{
cpInChar[0] = fgetc(hpPatchFile);
strcat(cpIn, cpInChar);
if(*cpInChar == '\n')
return TRUE;
}
return FALSE;
}
AN93
Rev. 1.3 271
V.29 FastPOS Det a iled Wave Files
The following is a wave file that shows a V.29 FastPOS SDLC transaction. It was captured with the program listed
above with a keep-alive loop. See "Appendix B—Line Audio Recording" on page 27 3 for de tails on how to captu re
wave files.
RTS (not
RTS) signal
V.29 Calling Tone Answer Tone
(2225 Hz)
Calling modem is receiving
and sends to the DTE:
“Connect Packet” :
<EM><0xBE><0x24><0x24><EM><B1>
Then the SNRM Packet:
<0x30><0x93><EM><0xB1>
DTE sends the calling
modem a UA packet
to transmit:
<0x30>(0x73><EM><0xB1>
Calling modem is receivin g.
Sends a Tx abort to DTE:
<EM><0xB2>
Then the received RR packet:
<30><EM><0xA0><EM><B1>
DTE sends the calling modem
an RR packet to transmit:
<30><EM><0xA0><EM><B1>
Repeat
AN93
272 Rev. 1.3
V.29 FastPOS DTE Trace
This is recorded while the program listed above is running. The patch load is left out for brevity.
DCE CR LF CR LF O K CR LF a t z CR CR LF O K CR LF
DTE a t z CR A T
DCE A T E 0 CR CR LF O K CR LF CR LF C :
DTE E 0 CR a t & T 6
CR
DCE b c d 8 CR LF CR LF O K CR LF CR LF O K CR LF
DTE A T * y 0
CR
DCE CR LF O K CR LF
DTE a t + g c i = B 5 CR A T & D 2 x 4
\
DCE CR LF O K CR LF
DTE V 2 % c 0 % V 1 + I F C = 0 , 2
CR A
DCE CR LF O K CR LF
DTE T \ N 0 + F C L A S S = 1 CR A T :
U
DCE CR LF O K CR LF
DTE A A , 8 0 0 4 CR A T + E S = 6 , ,
8
DCE CR LF O K CR LF CR
DTE CR A T + E S A = 0 , 0 , 0 , , 1
CR
DCE LF O K CR LF CR LF O K CR LF
DTE A T : U 8 7 , 0 5 0
A CR A
DCE CR LF O K CR LF
DTE T : U 7 A , 1 CR A T D T 8 ,
0 1 1 5
DCE CR LF C O N N E C T CR LF
DTE 5 1 1 5 8 5 3 2 5 0 7
CR LF
DCE EM BE $ $ EM B1 0 93 EM B1 EM B2 0 EM A0 EM B1
DTE 0 s EM B1 0 EM A
0
DCE EM B2 0 EM A0 EM B1 EM B2 0 EM A0 EM B1
DTE EM B1 0 EM A0 EM B1 0 EM A
0
AN93
Rev. 1.3 273
APPENDIX B—LINE AUDIO RECORDING
Recording and examining the audio signals on the phone line is one of the best debugging techniques for PSTN
modems. Virtually all the relevant signals are in the audio spectrum and are easy to acquire using a standard PC
sound card and accessory hardware and software that is especially designed for music creation and analysis.
The required hardware is a Radio Shack Catalog No. 43-228A “Recorder Control”. It can be used with any
computer equipped with a 3.5 mm audio-input jack.
The resulting wave can usually be recorded in the field using the computer s operating-sys tem resources, but for
analysis, a softwa re p a ckag e capable of showing the spectral contents as they change over time is recommended.
The two most widely used ones are Adobe Audition, a commercial product, and WaveSurfer, which is a free open-
source product that runs on Windows, Linux, OS X and Unix. This audio-recording technique does not replace
sophisticated test equipment, but it is quite useful in showing up some faults in the line and in the modem's (DUT)
negotiation with the device on the other side of the phone line.
When to Use Audio Recording
This technique is best used when the modem appears to connect normally against some servers but does not
connect well when calling a specific server or modem. This implies the hardware is functional and the issues most
likely involve the negotiations between the modems during connect and retrain. One way to rule out the possibility
of a hardware problem is to call the server or modem where the connect issue is found using the Silicon Labs EVB
module.
Times When Audio Recording May Not Help
Some signals are exceptions and cannot be monitored in this way due to the limits of the bandwidth examined.
Examples are the dc voltage and currents that exist during both on- and off-hook conditions, precise details of the
pulse dialing waveforms, and most EMI signals. EMI signals, which are not visible during the recordings, may
produce in-band demo dulated and cross-product signals in the modem.
Some in-band signals cannot easily be monitored this way because they are common-mode signals. While they
may be less visible to the recording app aratus, they can be received by the modems in some cases. An example of
this is a strong common-mode 50 or 60 Hz hum with its harmonics (a 50 or 60 Hz buzz).
Hardware Setup
The Radio Shack Recorder Control contains a transformer that bridges the phone line with a dc-blocking capacitor,
plus a voice-operated switch output that starts and stops a recording device. We only use one of the output
connectors since we are not interested in the VOX mechanism. Connect the audio output connector (a 3.5 mm
O.D. connector) to the microphone input socket at the back of the computer. The RJ11 connector from the
Recorder Control should be connected to the Tip and Ring of the phone line being monitored.
AN93
274 Rev. 1.3
Figure 52. Hardware Setup
Setting PC Microphone Input for Recording (Windows NT)
Use the following procedure:
1. Click Start->Settings->Control Panel->Sounds an d Multi med ia to open th e “Sounds and Multimedia Prop erties”
window.
2. Click Audio Tab; click Volume to open the “Recording Control” window.
3. Select Microphone as input; adjust balance and volume.
Connect the R11
jack in parallel
with Tip/Ring of
modem
The larger of the
two jacks (3.5 mm)
carries audio to
the PC
AN93
Rev. 1.3 275
Figure 53. Sounds and Multimedia Properties
Setting PC Microphone Input for Recording (Windows 98)
Use the following procedure:
1. Select Start->Settings->Control Panel->Multimedia Properties to open the Multimedia Properties window.
2. Select the “Audio” tab and then the “Recording” icon to open the Recording Control window.
3. Select Microphone as input, and adjust the balance and volume.
AN93
276 Rev. 1.3
Figure 54. Multimedia Properties
Setting PC Microphone Input for Recording (Windows XP)
Use the following procedure:
1. Select Start->Contro l Panel->Multimedia Properties to open the Sounds and Audio Devices Properties window.
2. Select the Audio tab and then the Sound Recording volume button to open the Recording Control window.
3. Select Micropho n e as inp u t, an d ad ju st ba lan ce and volu m e.
4. Select Advanced to open the Advanced Controls for Microphone screen.
5. Deselect the “1 Mic Boost” radio button (Mic. Boost is essentially an AGC mechanism that can spoil the audio
recordings.)
AN93
Rev. 1.3 277
Figure 55. Sounds and Audio Devices Properties
AN93
278 Rev. 1.3
Making the Recording with Windows Sound Recorder (Windows XP, NT or Windows 98)
Use the following procedure:
1. Click Start->Programs->Accessories->Entertainment->Sound Recorder to open “Sound Recorder” window
2. Select the red record button to start recording, then File->Save when done.
Figure 56. Sound Recorder
Making the Recording with Adobe Audition or WaveSurfer
These applications provide more recording options than the Window Sound Recorder application. They should be
set up for monophonic recordings at a sample rate of about 11,000 samples per second in order to save recording
space while still retaining reasonable fidelity. The number of bits per word should be 16 bits to allow the full
dynamic range available in the sound card. The larger resolution size of 32 bits floating point would be a waste of
space and computing power.
Figure 57. Adobe Audition Example
AN93
Rev. 1.3 279
Audio Playback and Analysis
Below are two displays showing the results of recording a good V.22 transaction using Adobe Audition. We need to
examine the signal both in the time domain and the frequency domain, with the frequency domain being a much
more useful view . The graphs below show time on the horizontal axis and either wave energy in dB or Frequency in
Hz on the vertical scale. In the frequency display, the color of the wave indicates the energy at that combination of
elapse d time and fr equency. The color sche me is progra mmable. It is typica l in the temp oral view to se e a dc of fset
until one applies a high-pass filter, a step that is rarely necessary.
Figure 58. Adobe Audition Temporal View of a Good V.22 Transaction
AN93
280 Rev. 1.3
Figure 59. Adobe Audition Spectral View of a Good V.22 Transaction
An important parameter that is not obvious at first glance is the resolution in “bands” of the spectral display. There
is a tradeoff that must always be considered. This is set up in the Options->Settings Display tab in the Adobe
Audition product. This parameter allows for finer and coarser vertical (frequency) resolution at the cost of time-
domain uncert ainty. Figures 60 and 61 depict the same wa ve files but with 256 ba nds versus 2048 bands. One ca n
see better timing details in one graph compared with the other. The 256-band spectral display shown in Figure 60
shows the fine timing details of the protocol, but with poor frequency resolution. The 2048-band spectral display
shown in Figure 61 allows more precise frequency measurements and signal separation, but at the cost of
obtaining a coarser time res olu tio n.
AN93
Rev. 1.3 281
Figure 60. 256 Band Spectral Display
Figure 61. 2048 Band Spectral Display
AN93
282 Rev. 1.3
Audio-Recording Pitfalls
To facilitate communications protocol debugging, it is imperative that audio recordings be made properly. The two
most common conditions that degrade the quality of audio recordings are:
"Waveform clipping due to excessive recording level
"Time-varying levels due to use of AGC (automatic gain control)
Figure 62. Recording Made at Excessive Level
The above recording was made at an excessively high level. One can see clipping in the time domain and
numerous distortion products in the frequency domain.
Figure 63. Recording Made with AGC Noise Reduction
The above recor ding was made with AGC "Noise Reduct ion" still enabled, as can be seen from the gradual level
drop in the time domain graph at the start of V.22 negotiations. It als o sh ows evidence of a microp ho ne being use d
instead of the Radio Shack adapter. This is visible in the frequency-domain graph as horizontal striations (an
undulating freq uency response) durin g the scrambled portion of th e V.2 2 communication. One ca n also see third-
harmonic distortion.
AN93
Rev. 1.3 283
Details of Some Low-S p eed Protocols
The following annotated recordings give basic ideas of what to expect the EPOS modem transactions will look like.
There are many possible variations of these examples, both in and out of compliance with publis hed standar ds, in
common use. There are also very unusual variations that Silicon Labs has made efforts to support in order to allow
customers to connect to non-standard and essentially broken modems. Some of these are described in a later
section.
Figure 64. Appearance of Bell 212 Protocol
Figure 65. Appearance of V.22 Protocol
Answering modem’s
Scambled Binary
Ones and Scrambled
Data; visually indis-
tinguishable from
each other.
Calling modem’s
Scrambled Binary
Ones and Scrambled
Data; visually indis-
tinguishable from
each other.
DTMF dialing
Bell 212 (2225 Hz
Answer Tone)
Unscrambled Binary
Scrambled Binary
Ones and Scrambled
Data; visually indis-
tinguishable from each
other.
Ones (USB1) signal.
Two tones at 2250 and
2850 Hz.
Calling modem’s
Scrambled Binary
Ones and Scrambled
Data; visually indis-
tinguishable from
each other.
DTMF dialing
2100 Hz
Answer Tone
AN93
284 Rev. 1.3
Figure 66. Appearance of V.22 bis Protocol
This looks the same as the V.2 2 bis protocol above e xcept for S1 signal used for signaling V.22 bis(ness) and for
start of retrains.
Figure 67. Appearance of V.22 Fast Connect Protocols
Calling modem’s
Scrambled Binary
Ones and Scram-
bled Data; visually
indistinguishable
from each ot her.
Answering modem’s
scrambled binary
ones and scrambled
data; visually indis-
tinguishable from
each other.
Unscrambled Binary
Ones (USB1) signal.
Two tones at 2250
and 2850 Hz.
2100 Hz Answer Tone.
The three short horizontal
lines are the S1 signal
that triggers V.22bis train-
ing. The S1 signal is an
unscrambled double
digit 00 – 01.
Caller Responds with
SB1s and scrambled
data.
Caller sends SB1s
immediately.
2100 Hz Answer Tone.
DTMF dialing.
AN93
Rev. 1.3 285
As shown in Figure 68, the V.29 FastPOS protocol looks different than the older, slower V.22-like protocols. It is
also half-duplex, and each participating modem uses the entire spectral space available on the telephone line.
A receiving modem recognizes that the calling modem is V.29-capable by detecting the V.29 calling tone at 980 Hz.
Another example with some more SDLC-oriented data is provided later in this document.
Figure 68. Appearance of V.29 FastPOS Protocol
DTMF dialing.
V.29 Calling
Tone (980 Hz).
Answer Tone
(2225 or 2100 Hz).
Answering modem
sends tra i ning pat-
terns and packet(s).
Calling modem sends
training patterns and
packet(s).
Modem exchange packets.
AN93
286 Rev. 1.3
Figure 69. Examples of EPOS Server Misbehavior
A V.22 bis server
with unpre dictable
and undesirab le
gaps during the
USB1 signal.
A V.22 bis server
with a 2225 answer
tone instead of
2100 Hz.
AN93
Rev. 1.3 287
Figure 70. Example of EPOS Server Misbehavior
The Answer Tone
is too short at
400 ms.
Innocent, answer
modem generated,
guard tone.
AN93
288 Rev. 1.3
Examples of Line Impairments
DTMF Distorted by Low Line Level
Figure 71. Defective DTMF
Figure 72. Normal DTMF
Solutions:
Fix the telephone line.
Lower the DTMF leve l with AT:U46, 0BD0 or AT:U46, 0CF0
Check the loop-current level with AT:R79 and AT:R6C.
AN93
Rev. 1.3 289
Power Line Related Noise
Figure 73. Odd Harmonics of 50 Hz Manifest as Horizontal Lines Spaced at 100 Hz
Causes:
Unbalanced phone line
High ac leakage supply
Poor CMR in modem
Solutions:
Fix the telephone line.
Ground the system to earth or float completely using a battery.
Use an analog supply with lower ac Leakage
AN93
290 Rev. 1.3
APPENDIX C—PARALLEL/SPI INTERFACE SOFTWARE IMPLEMENTATION
This appendix describes the software interface requirements for communication with the ISOmodem in parallel or
SPI mode. Sample code was developed to run on the Silicon Labs C8051F12xx platform to allow basic
communication between the modem and a PC using the parallel or SPI interface. Figure 74 shows a typical
connection between a PC and the modem using the MCU C8051F12xx demo board as inter face:
Figure 74. PC to Modem Connection through a C8051F12xx Demo Board
A typical application is structured in four software layers:
1. Hardware access: where the MCU perfo rms all the basic I/O accesses to and from the modem
2. Interrupt service or polling: depending on the mode of access (polling or interrupt), this layer contains the
algorithms that determine when the host and the modem exchange data.
3. Data buf fer management, st atus and contr ol: this portion of the code contains the circular buffers that relay data
between the UART and the modem in both directions. Access functions are provided for the a pplication to set
the software interrupt mask and the escape bit, and to query the status of software interrupts.
4. The application layer: this code depends on the application. An example application main() block is provided
in this document. An optional diagnostic console-level command set is also available to run on the application
layer. This command set is enabled using compiler options in the MCU development environment. Refer to
"Compiler Option: Dot Commands" on page 299 for details.
AN93
Rev. 1.3 291
Figure 75 illustrates the MCU software architecture, and the MCU and modem hardware connections.
Figure 75. MCU Software and Modem Interface
MCU
Modem
Interruptserviceand/orpolling
Hardwareaccesslayer
Buffermanagementlayer
Applicationlayer
(Optional)
Dotcommandshell
dot_command_loop.cmodem_main.c
application_buffers.cstatus_control.c
ISR_and_polling.c
test_code.c
modem_hardware.c
Parallelinterface
MCU_hardware.c
MCUhardware
(UART,timers,etc.)
SPImaster
Parallelinterface SPIslave UARTinterface
HardwareInterface
Register1(HIR1)
Trans mit and
receiveFIFOs
AN93
292 Rev. 1.3
Software Description
Hardware Access Layer
This layer contains all the routines to access the MCU and modem hardware at the most basic level. The
application layer typically does not need to access these functions directly. It consists of two source files:
MCU_hardware.c
modem_hardware.c
MCU_hardware.c
This sample code will work only on the Silicon Labs MCU C8051F12xx platform used for this example. This file
contains code specific to the MCU hardware configuration such as port configuration, oscillator configuration,
timers, UART, GPIOs, etc.
modem_hardware.c
This code can be ported to other applications with minimal changes needed to compile on a given host platform.
This file contains code to read from or write to the modem. The two functions below provide basic access to the
modem's Hardware Interface Registers:
char readModem( tHIRREG eHIR ): This is the main access point for unconditionally reading the modem's
data and status registers in parallel or SPI mode. The function reads the HIR0 when eHIR is HIR0 (0) and the
HIR1 when eHIR is HIR1 (1).
void writeModem( tHIRREG eHIR, char val, char mask ): This is the main access point for
unconditionally writing the mod em's dat a and contro l registers in p arallel or SPI mod e. The p arame ter eHIR can be
HIR0 (0) or HIR1 (1). When writing to the HIR1, an optional mask value allows first reading the HIR1 from the
modem by calling readModem(), and then setting or clearing only those bits that are high in mask. Defined values
for mask are:
#define SiCTSb 0x01 // Clear to send (active low)
#define SiRTSb 0x02 // Request to send (active low)
#define SiESC 0x04 // Escape to command mode
#define SiINT 0x08 // Software interrupt
#define SiINTM 0x10 // Enable software interrupt
#define SiREM 0x20 // Receive FIFO empty
#define SiTXE 0x40 // Transmit FIFO almost empty interrupt
#define SiRXF 0x80 // Receive FIFO almost full interrupt
Boolean-OR combinations of the above are possible. This allows setting and/or clearing several bits
simultaneously. Thus a mask value of 0xFF results in all bits of val being written to the HIR1, and a mask value of
zero reads the HIR1 and simply rewrites the value just read, ignoring val. The mask parameter is ignored when
writing to the HIR0.
Interrupt Service and Polling Layer
Sample code for this layer can be found in the ISR_and_Polling.c file. This code can be ported to other
applications with minimal changes need ed to compile on the host platform. This block contains the interrupt service
routines for both modem access and MCU to PC UAR T access. Except for modemCommunicationUpdate(), the
application lay er typi cally do es no t nee d to ac cess thes e fu nctio ns dir ectly. The acc es s mod e is interr upt dr iven b y
default. In order to select polling mode, the system must set the global variable pollingNotInterruptMode to a
nonzero value. The software is designed to allow switching back and forth between polling and interrupt modes. If
only one mode is ever used, the code can be simplified acco rdingly. The next two sections det ail out the functioning
of the polling and interrupt modes.
AN93
Rev. 1.3 293
Polling HIR1 Method
Transmitting and receiving data to and from the modem is accomplished by polling HIR1 st atus bits TXE and REM.
Polling is implemented by the following code fragment, excerpted from modemCommunicationUpdate(), which
must run in an infinite loop:
static char bytesToSend == 12; // Declared in modemCommunicationUpdate()
if ( ( readModem( HIR1 ) & SiREM ) == 0 && rxBufferSize < MODULUS_MASK )
{
readModemByte;
}
if ( gUARTToModemBufferSize > 0 ) // If there are data to be sent
{
if ( bytesToSend == 12 ) // Check TXE only every twelve bytes sent
{
status = readModem( HIR1 ) & SiTXE;
if ( status ) // If transmit FIFO empty
{
writeModem( HIR0, pullByteForModem(), 0xFF );
bytesToSend--;
}
}
else // No need to check TXE because transmit FIFO is twelve deep
{
writeModem( HIR0, pullByteForModem(), 0xFF );
bytesToSend--;
// If the bytes to send count = 0, reset the count
if ( bytesToSend == 0 )
{
bytesToSend = 12;
}
}
}
Interrupt Service Routine (ISR) Method
Transmitting and receiving data to and from the modem is accomplished by servicing the interrupts generated by
the modem. The interrupt sources are described below. Whenever new communication is initiated after a period of
idling with respect to the TXE interrupt, the interrupt must be "jump-started" by calling the interrupt service routine
manually.
RXF Interrupt: Receive FIFO Almost Full
The RXF bit indicates the status of the receive FIFO. If this bit is set, the FIFO is either full (contains 12 bytes) or
almost full (contains 10 or 11 bytes). There are two ways to clear this interrupt: the RXF bit in HIR1 can be cleared
by the host, or enough bytes can be read from the receive FIFO to leave 9 bytes or less, thus removing the
condition for the interrupt. If the host clears the RXF bit, the interrupt is disabled. The interrupt can be rearmed only
when the rece ive FIFO drops below the te n-byte threshold . The interrupt can t hen trigger again w hen the receive
FIFO fills up to ten bytes or more.
AN93
294 Rev. 1.3
TXE Interrupt: Transmit FIFO Almost Empty
This interrupt occurs when only two bytes or fewer remain in the modem's transmit FIFO. The interrupt can be
cleared by writing more data to the FIFO to clear the interrupt condition, or by clearing the TXE bit in the HIR1.
However, if the FIFO is emptied by the modem faster than it is being filled, the TXE interrupt will either persist or
trigger again. If the TXE bit is cleared, the interrupt is disabled and can be rearmed only when three bytes have
been placed into the transmit FIFO. The TXE interrupt may then trigger again when the transmit FIFO drops below
the three- by te th re sh old . I f th e tr an sm it F IF O is e m pt y a nd n ew da ta nee d t o be tr an sm itt ed a fter the TXE in te rr up t
has been cleared, the TXE interrupt needs to be jump-started by calling modemCommunicationUpdate().
Timer Interrupt: Receive FIFO Not Empty
This interrupt occurs whenever some data remained in the modem's re ceive FIFO witho ut the F IFO bein g read for
a period of time set in register U6F. This happens typically at the end of a data burst, when there aren't enough
bytes in the receive FIFO to cause an RXF interrupt, and no more data are received. A timer interrupt can also
occur when the receive FIFO is full if the RXF interrupt was disabled by clearing the RXF bit. The timer is also reset
when new received data are added to the receive FIFO.
The reset value of U6F is 1 ms. The timer interrupt can only be cleared by reading at least one byte from the
receive FIFO. If there remain bytes in the receive FIFO after servicing a timer interrupt, the timer will trigger another
interrupt after the same am ount of time specified in the U6F register.
U70 Interrupt
This interrupt is analogous to the interrupt pin when operating in UART mode. It is the result of a condition set in
the U70 register being met, e.g. a parallel phone detection if bit PPDM was set in U70.
The U70 interrupt, indicated by the INT bit in HIR1, can be enabled and disabled using the INTM bit in the same
register. The only way to clear this interr upt is by send ing the AT: I comma nd to the mod em. Typically, this require s
the application la yer to send an ESC co ntrol wo rd to place the modem in comm and mod e be fo re se ndin g AT:I. The
response from the AT:I reports the cause of the interrupt. Refer the programmer's guide for more information.
Figure 76 shows the ISR implementation for modem-originated interrupts. The interrupt service routine keeps
running in a loop until all interrupt conditions are cleared. The modemInterrupt() sample code on page 300
shows the full ISR implementation. Refer to the #define statements to see how the different interrupt conditions
are inferred .
AN93
Rev. 1.3 295
Figure 76. Parallel- or SPI-Port Interrupt-Service Flowchart
AN93
296 Rev. 1.3
Buffer Management, Status and Control Layer
Buffer Management
Sample code for this layer can be found in the application_buffers.c file. This code can be ported to other
applications with minimal changes needed to compile on the host platform. This block contains the buffer-
management routines for both modem and UART access. The buffer structure consists of two circular buffers
implemented as the following array variables:
char gModemToUARTBuffer[ BUFFERSIZE ];
The above buffer is typically filled by modemInterrupt() and emptied by UART0Interrupt(). Once the buffer
is empty, subsequent TI0 (UART) interrupts have no effect. If the buffer is filled again after all TI0 interrupts have
been serviced, the TI0 interrupt needs jump starting. This is accomplished by calling
UARTCommunicationUpdate() after filling the buffer.
char gUARTToModemBuffer[ BUFFERSIZE ];
The above buffer is typically filled by UART0Interrupt() and emptied by modemInterrupt(). Once the buffer
is empty, subsequent TXE (modem) interrupts have no effect. If the buffer is filled again after all TXE interrupts
have been serviced, the TXE interrupt needs jump starting. This is accomplished by calling
modemCommunicationUpdate() after filling the buf fer.
The two arrays above must be sized by choosing a power of two for the value of BUFFERSIZE, defined in
modem_80C51.h. This is because keeping track of the circular-buffer indexes requires modulus operations.
Instead of costly integer divisions with remainder, the modulus operation is achieved by bit masking using the all-
one bit pattern equal to BUFFERSIZE minus one. For example, if BUFFERSIZE is 1024 (210), the bit mask
(MODULUS_MASK) used for updating buffer pointers modulo BUFFERSIZE must be 1023 (0011 1111 1111). When a
buf fer index r eaches the value 1024 ( 0100 0000 0000 ), a bitwise-AND o peration with MODULUS_MASK will reset the
index value to zero. If the value of BUFFERSIZE is changed in the header file, then the value of MODULUS_MASK
must be set to the same value minus one. The following global variables track the state of the buffers. A value of
zero indicates an empty buffer.
int gModemToUARTBufferSize;
int gUARTToModemBufferSize;
Read and write addresses to the above buffers are tracked by the following pointers:
int gLastFromUART; // The last byte that was added to gUARTToModemBuffer[]
int gNextToModem; // The first byte that will be taken out of gUARTToModemBuffer[]
int gLastFromModem; // The last byte that was added to gModemToUARTBuffer[]
int gNextToUART; // The first byte that will be taken out of gModemToUARTBuffer[]
The flow of data between the modem and the UART is managed by the following functions:
char pullByteForModem( void ); // Remove a byte from gUARTToModemBuffer[]
char pullByteForUART( void ); // Remove a byte from gModemToUARTBuffer[]
void pushByteToModem( char byteToSend ); // Add a byte to gUARTToModemBuffer[]
void pushByteToUART( char byteToSend ); // Add a byte to gModemToUARTBuffer[]
Figure 77 summarizes th e int er ac tion s be twe e n th e fun ction calls, pointers and buffers describe d abo ve .
AN93
Rev. 1.3 297
Figure 77. Circular-Buffer Flowchart
AN93
298 Rev. 1.3
Status and Control
Sample code for this layer can be foun d in status_control. c file. This code can b e ported to ot her applicatio ns with
minimal changes needed to compile on the host platform. The modem status may be queried, and modem control
flags may be set using the two functions below:
void setControl( char controlCode, char action, char condition ): Set modem control.
Possible control codes ar e:
SiESC: Set or clear escape flag.
SiINTM: Enable or disable U70 interrupt.
The action may be ENABLE or DISABLE. Control takes effect upon one of two conditions:
NOW: Unconditionally upon entering the function call.
WHEN_TX_BUF_EMPTY: The setControl() function loops until the gUARTToModemBuffer[] is empty. This
enables, for instance, setting the escape code after a given data set has been transmitted, prior to sending AT
commands. It is up to the application to ensure the buff er empties within a reasonable amount of time.
char queryU70IntStatus( void ): Returns the INT flag from the ISOmodem at the same bit position as in
the HIR1 register.
The Application Layer: Sample Application
Sample code for an application can be found in the modem_main.c and modem_80C51.h files. This code is
application and host platform specific. By default, the program simply passes data back and forth between the
modem and the UART using the buffers and function calls described above. The minimal application is shown
below:
char gPollingNotInterruptMode = 0; // Interrupt mode by default
void main( void )
{
EA = 0; // Disable global interrupt
EA = 0; // Dummy, as per MCU data sheet
initApplicationBuffers();
initHardware();
setControl( SiESC, DISABLE, NOW );
IT1 = 1; // External interrupt 1 is edge triggered
EX1 = 1; // Enable external interrupt 1
PS = 1; // High interrupt priority for UART0
PX1 = 0; // Low interrupt priority for modem side
EA = 1; // Enable global interrupt
while ( 1 )
{
modemCommunicationUpdate();
UARTCommunicationUpdate();
}
}
AN93
Rev. 1.3 299
The infinite loop has two functions depending on the use of interrupts or polling for modem communication:
1. In interrupt mode, the TXE (modem) and TI0 (UART) interrupts are always jump-started by making periodic
calls to modemCommunicationUpdate() and to UARTCommunicationUpdate(), respectively. The calls
are necessary only to jump-start the modem and UART transmit interrupts. A system that is aware of the
transmit activity for both the mode m an d th e UART can reduce th e nu m be r of calls, th er eb y fre e ing MCU
bandwidth for other tasks.
2. In polling mode, only TI0 (UART) interrupts need jump-starting using periodic calls to
UARTCommunicationUpdate(), and repeated calls to modemCommunicationUpdate() are necessary to
poll the modem's HIR1 and determine the st atus of the tra nsmit and receive FIFOs. An obvious limitation of the
polling method is the need to constantly poll the modem for a change of FIFO state, which uses up MCU
bandwidth.
Compiler Option: Dot Commands
To include diagnostic (dot command) functions, define DIAGNOSTICS by removing the comment slashes (//) at
the appropriate line in the modem_80C51.h header file, and include the files dot_command_loop.c and
test_code.c in the project build. Contact Silicon Labs for more details on diagnostic commands.
Modem Operation
Initialization
After reset, the ISOmodem does not by default have all the required features enabled. When using the parallel or
SPI mode, Silicon Labs recommends the following initialization steps:
1. Push the command AT:U70,8F00 followed by carriage return into the transmit buffer. The setting of U70 can
vary, but it is recommended that bit 15 (HES) be set to enable escape.
2. Monitor the receive buffer for OK, indicating that the command was successful.
3. If a firmware upgrade needs to be programmed into the part, push the upgrade into the transmit buffer one line
at a time. The OK prompt must be received after each line.
4. Once the patch is written to the ISOmodem, other commands can be pushed into the transmit buf fer.
5. If software interrupts are required, enable them by calling:
setControl( SiINTM, ENABLE, NOW ).
Silicon Labs also recommends the use of any firmware upgrade (provided by Silicon Labs) if called for in the errata
for that revision. Firmware upgrades address known problems with a given revision.
Making a Connection
Making a connection in parallel or SPI mode is no different than in UART mode. The application layer should keep
track of whether the ISOmodem is in command mode or data mode to determine whether to send an escape
before sending commands. The steps for making a connection are as follows:
1. Clear the HIR1 ESC bit by calling setControl( SiESC, DISABLE, NOW ).
2. Push the dial string into the transmit buffer, and begin monitoring fo r the CONNECT response.
3. The ISOmodem is now in data mode when the connect/pr otocol response is received.
4. The application layer can begin pushing dat a to the modem for tr ansmission over the ph one line. Received dat a
will accumulate in the receive buffer as a result of polling or interrupts.
Data Bursts
The ISOmodem has internal buffering of approximately one kilobyte in each of the receive and transmit directions.
The modem attempts to empty and fill these buf fers as quickly as possible. This result s in transmit and receive data
bursts at a much faster rate than the modem connection. The receive bursts are limited by the V.42 frame size and
the V.42bis data compression ratio. The higher the compression ratio, the longer the burst will be. The transmit
bursts ca n be as large as one kilobyte when transmission first begins. Once the buffer is full, the transmit bursts are
also limited by the V.42 frame size and compression ratio.
AN93
300 Rev. 1.3
Modem Interrupt Service Sample Code
The following is the C code for the modem ISR. Also refer to "Figure 76. Parallel- or SPI-Port Interrupt-Service
Flowchart" for more explanations. Please contact Silicon Labs to obtain a complete C8051F12xx project bundle.
// Macros for modem ISR readability
#define RXFInterrupt ( modem_status & SiRXF )
#define TXEInterrupt ( modem_status & ( SiTXE & modem_control ) )
#define TimerInterrupt ( !( modem_status & SiREM ) && !RXFInterrupt && !rxf_processed )
#define U70Interrupt ( modem_status & ( SiINT & ( modem_status >> 1 ) ) )
#define RTSIsSet ( modem_status & SiRTSb )
#define ClearRTS ( modem_control &= ~SiRTSb )
#define ClearRXF ( modem_control &= ~SiRXF )
#define ClearTXE ( modem_control &= ~SiTXE )
#define ClearINTM ( modem_control &= ~SiINTM )
#define rxBufferSize gModemToUARTBufferSize
#define ReadModemStatus modem_status = readModem( HIR1 )
#define readModemByte pushByteToUART( readModem( HIR0 ) )
//-----------------------------------------------------------------------------
// Interrupt service routine
//-----------------------------------------------------------------------------
// modemInterrupt()
//-----------------------------------------------------------------------------
// Invoked whenever the modem issues an interrupt: this is meant as reference
// code for parallel-port/SPI interrupt service.
//
// Parameters: None
// Return value: None
//-----------------------------------------------------------------------------
void modemInterrupt( void ) interrupt 2
{
char modem_status;
char modem_control; // Modem control before writing (written only if modifed)
char control_update = 0; // Tracks whether control register was modified, needs updating
char rxf_processed = 0;
int BytesSent;
int BytesReceived = 0;
char SFRPAGE_SAVE;
EA = 0; // Disable global interrupt
EA = 0; // Dummy operation required by MCU, as per MCU data sheet
SFRPAGE_SAVE = SFRPAGE; // Save Current SFR page
ReadModemStatus; // Read HIR1 to get current status
// Set default write value. Always write the RXF and TXE bits to 1 by default
// to avoid inadvertently clearing those interrupts
modem_control = modem_status | SiTXE | SiRXF;
// Clear the RTS bit if it's set. The part comes out of reset with RTS set.
// RTS will have no effect unless the modem gets the AT\Q3 command.
// If RTS isn't needed this code can be removed.
if ( RTSIsSet )
{
ClearRTS; // Clear the RTSb so data enters FIFO
control_update = 1;
AN93
Rev. 1.3 301
}
// This is the main ISR handler loop: stay in it until all interrupts are cleared
while ( RXFInterrupt || TXEInterrupt || TimerInterrupt || U70Interrupt )
{
// ***RXF INTERRUPT***
// Separate RXF interrupt from timer interrupt to reduce the number of HIR1 reads.
if ( RXFInterrupt )
{
// MODULUS_MASK is BUFFERSIZE - 1
while ( ( rxBufferSize < MODULUS_MASK ) && ( BytesReceived < 10 ) )
{
readModemByte;
// Set a flag to know that RXF was serviced
rxf_processed = 1;
BytesReceived++;
}
// Clear the RXF interrupt if fewer than 3 bytes were read. If more than 3 bytes
// were read from the FIFO the interrupt will be cleared automatically.
if (BytesReceived < 3)
{
ClearRXF; // Clear RXF since we didn't empty the FIFO
control_update = 1;
}
}
// ***TIMER INTERRUPT***
// If there wasn't an RXF interrupt, but the receive FIFO isn't empty,
// the interrupt may have been caused by the receive timer interrupt.
// Note: If the host cannot empty its queue fast enough to keep up with the
// modem or if it is going to have a long period of time (>:U6F setting) where
// there won't be room in the FIFO, it would be better to completely disable
// the interrupt until the host has made room for more data. The timer interrupt
// can only be cleared by reading a byte from the FIFO; if there is no room
// in the FIFO, the interrupt will not be cleared. Alternatively, the routine
// could read a byte to clear the interrupt and then discard the data.
// MODULUS_MASK is BUFFERSIZE - 1
while ( TimerInterrupt && ( rxBufferSize < MODULUS_MASK ) )
{
// Read a byte
readModemByte;
BytesReceived++;
// Check the status to see if the FIFO is empty
ReadModemStatus;
}
// ***U70 INTERRUPT***
// Check for a "software" interrupt. "software" refers to any of the interrupts
// described in U70 in the modem datasheet. Only do this if the
// software interrupt is not masked. This is the reason for the bit shift.
if ( U70Interrupt )
{
// Mask the interrupt so that it doesn't cause another interrupt
// until the host software clears it with AT:I and tells us to
// turn it back on
ClearINTM;
control_update = 1;
AN93
302 Rev. 1.3
// Insert code here to inform the host of the U70 interrupt
// or service it application dependent), e.g.
gU70Interrupt = 1;
}
// ***TXE INTERRUPT***
if ( TXEInterrupt )
{
// Clear the data sent counter
BytesSent = 0;
// The transmit FIFO is fourteen bytes deep, therefore upon TXE interrupts
// (two bytes or fewer in the transmit FIFO), it is possible to send up to
// twelve bytes to the part without risking overflow.
while ( ( gUARTToModemBufferSize > 0 ) && ( BytesSent < 12 ) )
{
writeModem( HIR0, pullByteForModem(), 0xFF );
BytesSent++;
}
// If there weren't enough data sent to clear the interrupt, clear it manually.
if ( BytesSent < 3 )
{
// Clear the TXE bit to clear the interrupt
ClearTXE;
control_update = 1;
}
}
// Check if the status register needs to be written
if ( control_update )
{
writeModem( HIR1, modem_control, 0xFF );
control_update = 0;
}
// Read register 1 to get current status
ReadModemStatus;
// Reset receiver counter for a subsequent RXF condition in this loop
BytesReceived = 0;
}
SFRPAGE = SFRPAGE_SAVE; // Restore SFR page
EA = 1; // Enable global interrupt
}
AN93
Rev. 1.3 303
DOCUMENT CHANGE LIST
Revision 0.5 to Revision 0.6
Added Si2493 to title.
Added V.92 inform a tio n.
Added V.44 inform a tio n.
Added and expanded several AT+ commands.
Added U71 and U9F- UAA re gisters.
Corrected CTS* trigger points.
Added note for U70 co nf igu ra tio n fo r Aust ra lia an d
Brazil
Expanded "5.14. Legacy Synchronous DCE Mode/
V.80 Synchronou s Access Mode".
Added "2.5. PCM/Voice Mode (24-Pin TSSOP and
38-Pin QFN Only)".
Added "6.4. SMS Support".
Added "6.5. Type II Caller ID/SAS Detection".
Added "6.7. Modem-On-Hold".
Added "6.12. V.92 Quic k C onne ct".
Revision 0.6 to Revision 0.7
Added V.29 FC to Table 1.
Updated part numbers in "4.3. Bill of Materials".
Updated EE section and example code.
Updated Table 46, “U-Register Descr ipt i on s,” on
page 91.
Updated U63 bit map.
Updated U7D bit map
Updated “22.1. Country Register Settings for CTR/
TBR21 ATAAB and CTR21 Type Countries” on page
138.
Corrected New Zealand Pulse dial settings in “ 22.20
Country Register Settings for New Ze aland” on p age
147.
Updated Table 102 on page 163.
Deleted references to U69 (now for internal use
only).
Revision 0.7 to Revision 0.8
Updates to Registers CALT and GEND.
Revision 0.8 to Revision 0.9
Document format changes.
Minor text edits.
Deleted Legacy-Synchronous mode.
Updated layou t gu ide lin es.
Updated country configuration tables.
Added “Appendix C—Si3008 Supplement”.
Added “Appendix D—EPOS Application”.
Revision 0.9 to Revision 1.0
Added “Appendix D—Si3006/3 009 Supplement” for
for 3006 and 3009 DAA support.
Revision 1.0 to Revision 1.1
Major revision to reflect the latest Si24xx ISOmodem
product offerings.
Added support for new product features: SPI
interface and 32.768 kHz clock input.
Added software support for parallel and SPI
interfaces.
Revision 1.1 to Revision 1.2
Correction to SPI and 32.768 kHz and SPI strapping
tables.
Added several registers.
Removed Appendix D.
Updated for Si2493/57/34/15/04 Revision D.
Added Si2493 and Si2439 configuration and voice
functions.
Revision 1.2 to Revision 1.3
Added Si2494 and Si2439 configuration and voice
functions.
Added "2.5. SSI/Voice Mode (24-Pin TSSOP and 38-
Pin QFN Only)" on page 30.
Added "5.13. EPOS (Electronic Point of Sale)
Applications" on page 125.
Added "7. Handset, TAM, and Speakerphone
Operation" on page 173.
Added "8. Security Protocols" on page 224.
Added "9. Chinese ePOS SMS" on page 234.
AN93
304 Rev. 1.3
CONTACT INFORMATION
Silicon Laboratories Inc.
400 West Cesar Chavez
Austin, TX 78701
Tel: 1+(512) 416-8500
Fax: 1+(512) 416-9669
Toll Free: 1+(877) 444-3032
Please visit the Silicon Labs Technical Support web page:
https://www.silabs.com/support/pages/contacttechnicalsupport.aspx
and register to submit a technical support request.
Silicon Laboratories, Silicon Labs, and ISOmodem are trademarks of Silicon Laboratories Inc.
Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders.
The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice.
Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from
the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features
or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, rep-
resentation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability
arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation conse-
quential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to
support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where per-
sonal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized ap-
plication, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages.