AN93 Si2493/57/34/15/04 (Revisions D and D1) and Si2494/39 (Revisions A and A1) Modem Designer 's 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 lineside DAA device (Si3018/10) connecting 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 hookswitch 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/A1, Si2493 Revision D/D1, and the Si2457/34/15/04 Revision D/D1 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 located at the back of this document. XTI C1 UART Interface CS WR RD A0 D0-D7 Parallel Interface SDI SDO SCLK SS SPI Interface INT RESET Data Bus DAA Interface C2 Si3018/10 EEPROM Interface DSP EESD EECLK EECS RXD TXD CTS RTS DCD ESC RI Controller CLKOUT XTO PLL Clocking To Phone Line AOUT AOUTb ROM Program Bus RAM Si3000 Interface FSYNC SDO SDI MCLK Figure 1. Functional Block Diagram Rev. 1.41 8/16 Copyright (c) 2016 by Silicon Laboratories AN93 AN93 2 Rev. 1.41 AN93 TABLE O F C ONTENTS 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 for 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. Controlling GPIOs (38-Pin QFN Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.6. SSI/Voice Mode (24-Pin TSSOP and 38-Pin QFN Only) . . . . . . . . . . . . . . . . . . . . . 33 2.7. EEPROM Interface (24-Pin TSSOP and 38-Pin QFN Only) . . . . . . . . . . . . . . . . . . . 34 2.7.1. Supported EEPROM Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7.2. Three-Wire SPI Interface to EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.7.3. Detailed EEPROM Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.7.4. Boot Commands (Custom Defaults) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.7.5. AT Command Macros (Customized AT Commands) . . . . . . . . . . . . . . . . . . 37 2.7.6. Firmware Upgrades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Rev. 1.41 3 AN93 2.7.6.1. Boot Command Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.7.6.2. AT Command Macro Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.7.6.3. Autoloading Firmware Upgrade Example . . . . . . . . . . . . . . . . . . . . . . . 38 2.7.6.4. Combination Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3. DAA (Line-Side) Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 3.1. Hookswitch and DC Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2. AC Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.3. Ringer Impedance and Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.4. Pulse Dialing and Spark Quenching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.5. Line Voltage and Loop Current Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.6. Legacy-Mode Line Voltage and Loop Current Measurement . . . . . . . . . . . . . . . . . . 45 3.7. Billing Tone Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4. Hardware Design Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.1. Component Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.1.1. Power Supply and Bias Circuitry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.1.2. Hookswitch and DC Termination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.1.3. Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.1.4. Ringer Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1.5. Optional Billing-Tone Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.2. Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3. Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.4. Layout Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.4.1. ISOmodem Layout Check List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.4.2. Module Design and Application Considerations . . . . . . . . . . . . . . . . . . . . . . 57 4.4.2.1. Module Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.4.2.2. Motherboard Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.5. Analog Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.5.1. Interaction between the AOUT Circuit and the Required Modem Reset Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.5.2. Audio Quality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.5.3. Power Dissipation in the Si3018 DAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5. Modem Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.1. Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2. DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.3. Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.4. AT Command Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.5. Extended AT Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 5.6. S Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.7. U Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98 5.7.1. U-Register Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.7.2. U00-U16 (Dial Tone Detect Filter Registers) . . . . . . . . . . . . . . . . . . . . . . . 104 5.7.3. U17-U30 (Busy Tone Detect Filter Registers) . . . . . . . . . . . . . . . . . . . . . . 105 5.7.4. U31-U33 (Ringback Cadence Registers) . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.7.5. U34-U35 (Dial Tone Timing Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.7.6. U37-U45 (Pulse Dial Registers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.7.7. U46-U48 (DTMF Dial Registers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4 Rev. 1.41 AN93 5.7.8. U49-U4C (Ring Detect Registers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.7.9. U4D (Modem Control Register 1--MOD1) . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.7.10. U4E (Pre-Dial Delay Time Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.7.11. U4F (Flash Hook Time Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.7.12. U50-U51 (Loop Current Debouncing Registers) . . . . . . . . . . . . . . . . . . . 112 5.7.13. U52 (Transmit Level Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.7.14. U53 (Modem Control Register 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.7.15. U54 (Calibration Timing Register). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.7.16. U62-U66 (DAA Control Registers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.7.17. U67-U6A (International Configuration Registers). . . . . . . . . . . . . . . . . . . 115 5.7.18. U6C (Line-Voltage Status Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.7.19. U6E-U7D (Modem Control and Interface Registers) . . . . . . . . . . . . . . . . 119 5.7.20. U80 (Transmit Delay for V.22 Fast Connect) . . . . . . . . . . . . . . . . . . . . . . 129 5.7.21. U87 (Synchronous Access Mode Configuration Register) . . . . . . . . . . . . 130 5.7.22. UAA (V.29 Mode Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 5.8. Firmware Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.8.1. Method 1 (Fastest) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.8.2. Method 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.8.3. Method 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.9. Escape Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5.9.1. +++ Escape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5.9.2. "9th Bit" Escape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 5.9.3. "Escape Pin" Escape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 5.10. Data Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.11. Error Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.12. Wire Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136 5.13. EPOS (Electronic Point of Sale) Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.13.1. EPOS Fast Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.13.2. EPOS V.29 Fast Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.14. Legacy Synchronous DCE Mode/V.80 Synchronous Access Mode . . . . . . . . . . . 137 5.15. V.80 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138 6. Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.1. Quick Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.2. Country-Dependent Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.2.1. DC Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.2.2. Country Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6.2.2.1. Country Initialization Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6.2.2.2. Country-Setting Register Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.2.2.3. Special Requirements for Serbia and Montenegro. . . . . . . . . . . . . . . 158 6.2.3. Blacklisting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 6.3. Caller ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 6.3.1. Force Caller ID Monitor (Always On) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.3.2. Caller ID After Ring Only. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.3.3. UK Caller ID with Wetting Pulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.3.4. Japan Caller ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.3.5. DTMF Caller ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Rev. 1.41 5 AN93 6.4. SMS Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 6.5. Type II Caller ID/SAS Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 6.6. Intrusion/Parallel Phone Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 6.6.1. On-Hook Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.6.1.1. Line Not Present/In Use Indication (Method 1--Fixed) . . . . . . . . . . . 173 6.6.1.2. Line Not Present/In Use Indication (Method 2--Adaptive) . . . . . . . . . 174 6.6.2. Intrusion Explanation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 6.7. Modem-On-Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176 6.7.1. Initiating Modem-On-Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 6.7.2. Receiving Modem-On-Hold Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.8. HDLC: Bit Errors on a Noisy Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.9. Overcurrent Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 6.10. Pulse/Tone Dial Decision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 6.10.1. Method 1: Multiple Off-Hook Transitions . . . . . . . . . . . . . . . . . . . . . . . 181 6.10.2. Method 2: Single Off-Hook Transition. . . . . . . . . . . . . . . . . . . . . . . . . . 182 6.10.3. Method 3: Adaptive Dialing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 6.10.4. Automatic Phone-Line Configuration Detection . . . . . . . . . . . . . . . . . . . . 182 6.10.5. Line Type Determination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 6.11. Telephone Voting Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 6.12. V.92 Quick Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6.13. Abort the Dialing Operation in Voice Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 7. Handset, TAM, and Speakerphone Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 7.1. Software Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 7.1.1. AT Command Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 7.1.2. AT+ Extended Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 7.1.3. Commands (DTE-to-DCE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 7.1.4. Events (DCE-to-DTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 7.1.4.1. Simple Event Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 7.1.4.2. Complex Event Reporting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 7.1.5. U Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 7.2. Voice Reference--Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 7.2.1. Abort the Dialing Operation in Voice Mode . . . . . . . . . . . . . . . . . . . . . . . . . 199 7.3. Si3000 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204 7.3.1. Microphone and Speaker Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.3.2. Register Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.3.3. System Voice Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.3.3.1. TAM Hands-Free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.3.3.2. TAM Handset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.3.3.3. Speakerphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.3.3.4. Handset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.3.3.5. Si3000 Control Register Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.3.3.6. TAM PSTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 7.4. Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207 7.5. Handset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.5.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.5.2. Handset Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 6 Rev. 1.41 AN93 7.5.3. Call - Automatic Tone Dial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 7.5.4. Call - Manual Off-Hook Tone Dial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 7.5.5. Call - Automatic Pulse Dial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 7.5.6. Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 7.5.7. Terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 7.5.8. Speakerphone Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 7.6. Telephone Answering Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 7.6.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 7.6.2. TAM Hands-Free--Idle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 7.6.2.1. Record OGM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 7.6.2.2. Review OGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 7.6.2.3. Record Local ICM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 7.6.2.4. Review ICM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 7.6.2.5. Speakerphone Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 7.6.2.6. Handset Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 7.6.3. TAM Handset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 7.6.3.1. Record OGM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 7.6.3.2. Review OGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 7.6.3.3. Record Local ICM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 7.6.3.4. Review ICM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 7.6.4. TAM PSTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 7.6.4.1. Normal Answer - OGM Playback with ICM Record . . . . . . . . . . . . . . 221 7.6.4.2. Interrupted Answer - OGM Playback with DTMF Menu Entry . . . . . . 223 7.6.4.3. Speakerphone Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 7.6.4.4. Handset Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 7.7. Speakerphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 7.7.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 7.7.2. External Microphone/Speaker Calibration. . . . . . . . . . . . . . . . . . . . . . . . . . 225 7.7.2.1. Transmit Gain Calibration--Speakerphone Disabled . . . . . . . . . . . . . 225 7.7.2.2. Receive Gain Calibration--Speakerphone Disabled . . . . . . . . . . . . . 228 7.7.2.3. Speakerphone Calibration--AEC Gain Calibration . . . . . . . . . . . . . . 229 7.7.3. Speakerphone Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 7.7.4. Simplex Speakerphone Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 7.7.5. Call--Automatic Tone Dial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 7.7.6. Call--Manual Off-Hook Tone Dial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 7.7.7. Call--Automatic Pulse Dial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 7.7.8. Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 7.7.9. Handset Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 7.7.10. Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 7.8. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 7.9. References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 8. Security Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 8.1. Implementing the SIA Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 8.1.1. Modem-Specific Implementation Details. . . . . . . . . . . . . . . . . . . . . . . . . . . 236 8.1.1.1. Listen-In and V-channel Periods (Voice Pass-Through). . . . . . . . . . . 236 8.1.1.2. Inserting a V.32bis period (e.g., SIA Level-3 Video Block Support) . . 236 Rev. 1.41 7 AN93 8.1.1.3. Considerations when Disconnecting the Session. . . . . . . . . . . . . . . . 237 8.2. Implementing the Ademco(R) Contact ID Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . 240 8.2.1. Modem Specific Implementation Details . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 8.2.1.1. Handshake Tone Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 8.2.1.2. Session Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 9. Chinese ePOS SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 9.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244 9.2. SMS AT Command Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 9.2.1. SMS User Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 9.2.2. Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 9.2.2.1. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 9.2.2.2. Response 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 9.2.2.3. Response 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 9.2.2.4. Response 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 9.3. Example Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 10. Testing and Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 10.1. Prototype Bring-Up (Si3018/10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 10.1.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 10.1.2. Visual Inspection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 10.1.3. Basic Troubleshooting Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 10.1.4. Host Interface Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 10.1.5. Isolation Capacitor Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 10.1.6. Si3018/10 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 10.1.7. Component Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 10.2. Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 10.3. Board Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263 10.4. Compliance Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 10.4.1. EMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 10.4.2. Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 10.4.3. Surges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 10.5. AM-Band Interference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 10.6. Debugging the DTE interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Appendix A--EPOS Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 VISA II (7E1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Recommendation V.80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 The ISOmodem in EPOS Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 A V.29 FastPOS Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Appendix B--Line Audio Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 When to Use Audio Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Times When Audio Recording May Not Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286 Hardware Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286 Audio Playback and Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Examples of Line Impairments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Appendix C--Parallel/SPI Interface Software Implementation . . . . . . . . . . . . . . . . . . . . 302 Software Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Document Change List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 8 Rev. 1.41 AN93 1.1. Selection Guide Tables 1 through 3 list the modulations, protocols, carriers, tones and interface modes supported by the Si2494/39 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 V.92* Data Rates (bps) 48k, 40k, 32k, 24k 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 33.6k, 31.2k, 28.8k, 26.4k, 24k, 21.6k, 19.2k, 16.8k, 14.4k, 12k, 9600, 7200, 4800, 2400 14.4k, 12k, 9600, 7200, 4800 PCM TCM TCM TCM QAM QAM V.29FC* 9600 9600, 4800 9600 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 V.34* V.32bis* V.32* Modulation Si2494/93 Si2457 Si2439/34 Si2415 Si2404 PCM * *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 Correction MNP5 Compression MNP2-4 Error Correction *Note: The Si2494/93/57/39/34/15/04 family allows any supported protocol combined with any modulation. Rev. 1.41 9 AN93 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 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 per ITU-T V.29 Table 4. ISOmodem Capabilities Part Numbers Package UART EEPROM SPI Parallel Si2493/57/34/15/041 SOIC-16 Si2493/57/34/15/041 TSSOP-24 2 3 Si2494/39 QFN-38 3 Voice 3 Notes: 1. Die Revision D or later. 2. The EEPROM interface option is available only when the UART or SPI interface is selected. 3. Si3010 does not support voice operations. 10 Rev. 1.41 Speakerphone / TAM 3 AN93 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 sequence, the host interface, the isolation interface, low-power modes, SSI/voice mode 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 placed on some modem pins. 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 choices. 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 if 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 be 500 ms long and followed by the same 300 ms duration wait as that used for higher frequency clocks. This is adequate to reset all the on-chip registers. Note that 16 s after the customer-applied reset pulse starts, 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 the modem can also be performed 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. 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. Rev. 1.41 11 AN93 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 resistors 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 pulldown resistors. 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 autobaud 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.7. EEPROM Interface (24-Pin TSSOP and 38-Pin QFN Only)" on page 34 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: 12 0 means this option is selected with 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 externally during reset. If there is noise or special power-sequencing situations, then an external pullup resistor may be needed. Rev. 1.41 AN93 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. 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 32 kHz 1 1 X 0 1 4.9152 MHz 0 1 X 0 X 27 MHz 1 1 X 0 0 SPI 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. Rev. 1.41 13 AN93 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. Table 6. TSSOP-24 UART-Interface Options Mode Reset-Strap Pins Input Clock Autobaud Disabled? Three-Wire EEPROM Interface? Pin 4 FSYNC 32 kHz No No 1 Yes Yes 4.9152 MHz No Yes 27 MHz No Yes Pin 11, CTS Pin 15, AOUT Pin 16, INT Pin 17 RI Pin 18 SDI/EESD Pin 23 DCD 1 0 1 X 0 1 0 1 X No 1 1 0 0 X Yes 0 1 0 0 X No 1 1 1 1 1 Yes 0 1 1 1 1 No 1 1 1 0 1 Yes 0 1 1 0 1 No 1 1 1 1 0 Yes 0 1 1 1 0 No 1 1 1 0 0 Yes 0 1 1 0 0 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 7. TSSOP-24 Parallel-Interface Options Mode 14 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 Rev. 1.41 AN93 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. Table 8. TSSOP-24 SPI-Interface Clock-Frequency Options Mode Reset-Strap Pins Input Clock Three-Wire EEPROM Interface? Pin 4 FSYNC 32 kHz No 1 Yes 4.9152 MHz 27 MHz Pin 9, RXD Pin 11, SCLK Pin 15, AOUT Pin 18, SDI/EESD Pin 16 INT Pin 17 RI Pin 23 DCD 1 0 1 1 0 1 0 1 1 No 1 1 0 0 X Yes 0 1 0 0 X No 1 1 0 1 0 Yes 0 1 0 1 0 2.1.5. Reset Strapping Options for QFN 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 9. Reset Strapping Options for QFN Parts with UART Operation Input Clk Auto-Baud Disable Three-Wire EEPROM Interface FSYNCH Pin 2 32 kHz No Yes 4.9152 MHz No Yes 27 MHz No Yes CTS AOUT EECLK Pin 21 Pin 15 Pin 13 INT RI SDI Pin 35 Pin 19 Pin 8 DCD Pin 28 No 1 1 1 1 1 1 1 1 Yes 0 1 1 1 1 1 1 1 No 1 1 1 1 1 1 0 1 Yes 0 1 1 1 1 1 0 1 No 1 1 1 1 1 0 1 X Yes 0 1 1 1 1 0 1 X No 1 1 1 1 1 0 0 X Yes 0 1 1 1 1 0 0 X No 1 1 1 1 1 1 1 0 Yes 0 1 1 1 1 1 1 0 No 1 1 1 1 1 1 0 0 Yes 0 1 1 1 1 1 0 0 Rev. 1.41 15 AN93 2.1.5.2. Reset Strapping Options for QFN Parts with SPI Operation Table 10 lists the reset strapping options for QFN parts with SPI operation. Table 10. Reset Strapping Options for QFN parts with SPI Operation Input Clk Three-Wire EEPROM Interface 32 kHz 4.9152 MHz 27 MHz FSYNCH AOUT EECLK INT RI SDI DCD MISO Pin 2 Pin 15 Pin 13 Pin 35 Pin 19 Pin 8 Pin 28 Pin 22 No 1 1 1 0 1 1 1 1 Yes 0 1 1 0 1 1 1 1 No 1 1 1 0 0 1 X 1 Yes 0 1 1 0 0 1 X 1 No 1 1 1 0 1 1 0 1 Yes 0 1 1 0 1 1 0 1 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 11. Reset Strapping Options for QFN Parts with Parallel Operation Input Clk 32 kHz 4.9152 MHz 27 MHz 16 CS AOUT EECLK RD Pin 21 Pin 15 Pin 13 Pin 22 1 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 Rev. 1.41 AN93 2.2. System Interface The ISOmodem can be connected to a host processor through a UART, SPI or parallel interface. Connection 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 packages, respectively. Table 12. Pin Functions vs. Interface Mode (SOIC-16) Pin # UART Mode SPI Mode 3 RI RI 5 RXD MISO 6 TXD MOSI 7 CTS 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 8 RTS 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 Rev. 1.41 17 AN93 Table 14. Pin Functions vs. Interface Mode (QFN-38) 18 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 Rev. 1.41 AN93 2.2.2. Interface Signal Description The following tables describe each set of UART, parallel and SPI interface signals: 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 CTS Output Active-low request-to-send input for flow control 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 (address input) CS Input Chip select (active low) RD Input Read enable (active low) WR Input Write enable (active low) D[7:0] INT Bidirectional Parallel data bus Output Interrupt (active low) 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 53, "Extended AT\ Command Set," on page 87). 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. Rev. 1.41 19 AN93 The UART interface synchronizes 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, or 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. Table 18. DTE Rates MARK Ideal DTE Rate (bps) Actual DTE Rate (bps) 300 300 600 600 1200 1200 2400 2400 7200 7202 9600 9600 12000 12003 14400 14400 19200 19200 38400 38400 57600 57488 0.2 0.01 0.02 115200 115651 0.4 230400 228613 0.8 245760 245760 307200 307200 START BIT SPACE Approximate Error(%) D0 D1 D2 D3 D4 D5 D6 D7 STOP BIT BIT TIMES BIT SAMPLING MARK SPACE START BIT D0 D1 D2 D3 D4 D5 D6 D7 D8 STOP BIT BIT TIMES BIT SAMPLING Figure 2. Asychronous UART Serial Interface Timing Diagram 2.2.3.2. Autobaud When set in UART interface mode, the ISOmodem includes an automatic baud rate detection feature that allows the host to start transmitting data 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. 20 Rev. 1.41 AN93 : 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 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 order to lock the parity and format to 7N1. Otherwise, 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. 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-tosend) 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 not supported by the ISOmodem. DCD does not de-assert during a retrain (see Table 56: 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 hardware monitors of the carrier detect and ring signals. Additionally, the INT pin can be programmed to monitor the 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 clears these signals and deactivates the INT pin if INT is enabled. Rev. 1.41 21 AN93 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 1024 Character Elastic Tx Buffer SRAM CTS CTS Deasserts 796 Characters Tx Data 14-Character Hardware Buffer Transmit 128 Characters CTS Asserts Figure 3. Transmit Data Buffers 1024 Character Elastic Rx Buffer SRAM 796 Characters Parallel RXF bit Mode REM bit Rx data RTS 12-Character Hardware Buffer Receive 128 Characters Figure 4. Receive Data Buffers 22 Rev. 1.41 AN93 A block diagram of the UART in the serial interface mode is shown in Figure 5. . 11 Bits to Data Bus MUX RX FIFO TX FIFO TX Shift Register TXD (10) CONTROL CTS (11) RTS (8) RX Shift Register INT (16) RXD (9) Figure 5. UART Serial Interface 2.2.4. Parallel and SPI Interface Operation Refer to "2.1. Resetting the Device" on page 11 for interface selection. The parallel interface has 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 interface mode is selected, the modem must be configured for a DTE interface or 8N1 only. The host processor must calculate parity for the MSB. The modem sends bits as received by the host and does not calculate parity. Refer to "Appendix C--Parallel/SPI Interface Software Implementation" on page 302 for detailed parallel or SPI interface application information. The parallel or SPI interface uses the FIFOs to buffer data in the same way as in UART mode, with the addition 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 would support only a parallel interface. Flow control must be implemented by 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 the transmit and receive FIFOs with the Hardware (Parallel) Interface Registers in the case of a parallel interface. The arrangement is similar when the SPI interface is selected. 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 parallel operation only supports 8-bit data words. The longer words that are implied by the \B5 (8P1) & \B6 8X1 commands are not allowed. These commands should not be used. Rev. 1.41 23 AN93 11 Bits to Data Bus MUX TX FIFO 14 Characters RX FIFO 12 Characters Shared-Serial/Parallel CONTROL MUX A0 (3) D0 (16) D1 (17) D2 (18) D3 (22) D4 (23) D5 (24) D6 (4) D7 (8) Parallel Interface Unique Figure 6. Parallel Interface 24 Rev. 1.41 RD (9) WR (10) CS (11) INT (15) Parallel mode pin number Parallel I/F Register 1 Parallel mode pin function Parallel I/F Register 0 AN93 Table 21. Hardware Interface Register Bit Map A0 RD WR Action Register 0 0 1 Read HIR0 0 1 0 Write 1 0 1 Read 1 1 0 Write D7 D6 D5 D4 D3 D2 D1 D0 Modem data or command from receive FIFO Modem data or command to transmit FIFO HIR1 RXF TXE REM INTM INT ESC RTS CTS RXF TXE *Note INTM *Note ESC RTS n/a *Note: REM and INT are read-only bits. 2.2.4.1. Hardware Interface Register 0 Hardware Interface Register 0 (HIR0) is the eight-bit wide read/write location where modem data and commands 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 Interface Register 1 (HIR1) contains various status and control flags for use by the host to perform data flow control, to escape to command mode and to query various interrupt conditions. The HIR1 bit map is described in Table 22. This register is reset to 0x63. Table 22. Hardware Interface Register 1 Bit Name R/W Reset Function 7 RXF R/W 0 Receive FIFO Almost Full 6 TXE R/W 1 Transmit FIFO Almost Empty 5 REM R 1 Receive FIFO Empty 4 INTM R/W 0 Interrupt Mask 0 = INT pin triggered on rising edge of RXF or TXE only 1 = INT pin triggered on rising edge of RXF, TXE or INT (bit 3 below) 3 INT R 0 Interrupt 0 = No interrupt 1 = Interrupt triggered 2 ESC R/W 0 Escape 1 RTS R/W 1 Request-to-Send (active low) -- Deprecated -- for flow control, use the TXE and REM bits for polling- or interrupt-based communication. This bit must be written to zero. 0 CTS R 1 Clear-to-Send (active low) -- Deprecated -- for flow control, use the TXE and REM bits for polling- or interrupt-based communication. 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 9 bytes. If RXF = 1, the receive FIFO contains 9 bytes or more and is full or almost full. Writing RXF = 0 clears the interrupt. Rev. 1.41 25 AN93 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 three or more bytes. If TXE = 1, the transmit FIFO contains 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 that indicates when the receive FIFO is empty. If REM = 0, the receive FIFO contains 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 bits 4, 3, 2, 1, 0, respectively) has occurred. This bit is reset by :I. Bit 2 (ESC) is a read/write bit that is functionally equivalent to the ESC pin in the serial 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: 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 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. 26 Rev. 1.41 AN93 Figure 7. Parallel Interface Read Timing Figure 8. Parallel Interface Write Timing Rev. 1.41 27 AN93 2.2.4.4. SPI Interface Operation SPI interface operation is supported in the Si2493/57/34/15/04 Revision D or 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. 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 Address/Control Data MOSI HiZ HiZ SPI 2Byte Write Protocol SCK NSS MISO HiZ Address/Control MOSI Data HiZ SPI 2Byte Read Protocol 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 302 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 Interrupt: receive FIFO not empty 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. 28 Rev. 1.41 AN93 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 modem 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 and cannot be used for any other purpose. It is important to keep the length of the ISOcapTM path as short and direct as possible. The layout guidelines for the pins and components associated with this interface are described in "4.4. Layout Guidelines" on page 52 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 command AT&Z. 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 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 seconds. The default setting of S24 = 0 disables the sleep timer and keeps the modem in the normal power mode regardless of activity level. Rev. 1.41 29 AN93 2.5. Controlling GPIOs (38-Pin QFN Only) The Si2494 and Si243939 have pins that are configurable as general-purpose I/Os. I/O pads are physically assigned to the GPIO pins of 38-pin packages as shown in Table 25. Depending on the application, other pins may be configured as GPIOs, but, to avoid conflicts with defined pin functions, in general, it is best to use the pins described below. If other pins are needed as GPIOs, contact Silicon Laboratories for assistance. Table 25. GPIO Pin Assignments Pin GPIOn n PSELn Address 34 GPIO18 18 0x89 33 GPIO17 17 0x88 32 GPIO16 16 0x88 31 GPIO25 25 0x8C 30 GPIO24 24 0x8C 20 GPIO11 11 0x85 Each I/O pad is controlled by a set of registers: Port Select--Determines that a pin is a GPIO; each Port Select register controls two adjacent I/Os. To use a pin as a GPIO, the PSELn[5:0] bits of the corresponding register are written to zero. Port Mode--Configures a GPIO as open drain or push-pull output. The mode is controlled by registers 0x005C bits 0-15 and 0x005D, bits 0-9. GPIO11 is configured by 0x005C bit 11; GPIO16 by 0x005D bit 0, and so on. Port Latch--Sets the output state high or low. For a GPIO input, the pin must be selected as Open Drain, and then driven high, effectively putting it in high impedance mode. The pin status can be read even if it is in output mode. To configure a pin as an input, set the corresponding bit in the Port Mode register for an open drain output and the corresponding bit in the Port Latch register for a logic 1. The same settings are used for an output in the high impedance state. The registers are read and written using the AT:Q and AT:W commands in conjunction with the AT*Y254 and the AT*Y0 commands. Example 1. Configure pin 31 as a GPIO output, Push-pull, output high: AT*Y254 // Initiate the memory access mode AT:W8C & C0FF // Clear PSEL25[5:0] to make pin 31 (n=25) a GPIO // This is the default state - may not need to clear it again AT:W5D | 0200 // Select Push-Pull; by default it is Open Drain AT:W5F | 0200 // Write 1 to GPIO25. AT*Y0 // Close the memory access mode Example 2. Configure pin 34 as a GPIO input: AT*Y254 AT:W89 & FFC0 // Clear PSEL18[5:0], to make pin 34 (n=18) a GPIO // This is the default state, so clearing it may not be necessary AT:W5D & FFFB 30 // Select Open Drain - this is the default state Rev. 1.41 AN93 AT:W5F | 0004 // Write a 1 to GPIO18; this will make the port high impedance AT:Q5F // Read the port status, bit 2 should reflect the state of the port AT*Y0 // Close the special AT*Y254 command Table 26. PSEL11_10 Bit Map (0x0085) Bit Name 15:14 Reserved 13:8 PSEL11[5:0] 7:6 Reserved 5:0 PSEL10[5:0] Function Read returns 0 Port Mapping Select. 000000 = Corresponding pin is a GPIO Read returns 0 Port Mapping Select. 000000 = Corresponding pin is a GPIO Table 27. PSEL17_16 Bit Map (0x0088) Bit Name 15:14 Reserved 13:8 PSEL17[5:0] 7:6 Reserved 5:0 PSEL16[5:0] Function Read returns 0 Port Mapping Select. 000000 = Corresponding pin is a GPIO Read returns 0 Port Mapping Select. 000000 = Corresponding pin is a GPIO Table 28. PSEL19_18 Bit Map (0x0089) Bit Name 15:14 Reserved 13:8 PSEL19[5:0] 7:6 Reserved 5:0 PSEL18[5:0] Function Read returns 0 Port Mapping Select. 000000 = Corresponding pin is a GPIO Read returns 0 Port Mapping Select. 000000 = Corresponding pin is a GPIO Table 29. PSEL25_24 Bit Map (0x008C) Bit Name 15:14 Reserved 13:8 PSEL11[5:0] 7:6 Reserved 5:0 PSEL10[5:0] Function Read returns 0 Port Mapping Select. 000000 = Corresponding pin is a GPIO Read returns 0 Port Mapping Select. 000000 = Corresponding pin is a GPIO Rev. 1.41 31 AN93 Table 30. Port Mode 0 Bit Map (0x005C) Bit Name 15:0 P0MD[15:0] Function Port Mode. Configures mode of GPIO 0 through 15. 0 = Corresponding P.n output is open drain 1 = Corresponding P.n output is push-pull Table 31. Port Mode 1 Bit Map (0x005D) Bit Name Function 15:10 Reserved Read returns 0 9:0 P1MD[9:0] Port Mode. Configures mode of GPIO 16 through 25. 0 = Corresponding P.n output is open drain 1 = Corresponding P.n output is push-pull Table 32. Port Latch 0 Bit Map (0x005E) Bit Name 15:0 P0[15:0] Function Port Latch. Write output state or read logic state of pin. Write: 0 = Logic low output 1 = Logic high output Read: 0 = Corresponding pin is a logic low 1 = Corresponding pin is a logic high Table 33. Port Latch 1 Bit Map (0x005F) Bit Name 15:10 Reserved 9:0 P1[9:0] 32 Function Read returns 0 Port Latch. Write output state or read logic state of pin. Write: 0 = Logic low output 1 = Logic high output Read: 0 = Corresponding pin is a logic low 1 = Corresponding pin is a logic high Rev. 1.41 AN93 2.6. SSI/Voice Mode (24-Pin TSSOP and 38-Pin QFN Only) Voice mode is supported in the Si2439 and the Si2494. Table 34 lists the pin connections for the ISOmodem SSI interface. This interface enables Voice Mode operation. See "7. Handset, TAM, and Speakerphone Operation" on page 185 for additional information. Table 34. SSI Interface Pin Connection Signal Pin Number (TSSOP-24) Pin Number (QFN-38) CLKOUT 3 3 FSYNC 4 2 SDI 18 8 SDO 24 9 RESET 12 16 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. HOST AT commands 2- wire Responses Si24xx Modem FSYNC SDI SDO Si30xx DAA CLKOUT TDMA Interface FSYNC SDO SDI MCLK Handset Si3000 Voice Codec Figure 10. Voice Mode Block Diagram Rev. 1.41 33 AN93 2.7. 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 codes. Firmware upgrades may also be automatically loaded into the ISOmodem using the BOOT format. 2.7.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 35. 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 35 to 37. A typical EEPROMaccess timing diagram is shown on Figure 11. Such EEPROMs are available from several different manufacturers, for example: Microchip: 25LC080..25LC640 Atmel: AT25080..AT25640 Table 35. EEPROM Commands Instruction Name Instruction Format Description READ 0000 0011 Read data from memory at address WRITE 0000 0010 Write data to memory array beginning at address 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 36. EEPROM Status Register (Any Other Bits are Unused) 7 6 5 4 3 2 1 0 -- -- -- -- -- -- WEL WIP WEL = write enable latch WIP = write in progress Table 37. 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 positive edge ECSS 500 -- -- ns 34 Rev. 1.41 AN93 Table 37. EEPROM Timing Parameter Symbol Min. Typ. Max. Unit 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 between accesses ECSW 500 -- -- ns EECS asserted after final EECLK edge ECSH 1 -- -- s *Note: EESD output at negative EECLK edge EOZ ECLK EOH MSB EISU EOSU LSB EIH EDH ECSH ECSS ECSW EEPROM Data Format EESD 8-bit instruction 16-bit address 8-bit data EECS Figure 11. EEPROM Serial I/O Timing Rev. 1.41 35 AN93 2.7.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. SPI EEPROM SI/SO CS SCLK EESD EECS SCLK TELEPHONE LINE HOST Si3018/10 MODEM Figure 12. Three-Wire EEPROM Connection Diagram 2.7.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 between the optional heading "BOOT" and the "" delimiter are executed immediately, and AT command macros are loaded into the ISOmodem RAM. The memory that may be allocated to the portion of the EEPROM is limited to 1000 bytes. Three 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.7.4. Boot Commands (Custom Defaults) Commands to be executed upon boot-up are stored between the heading BOOT and the first delimiter. The boot command has the following format: BOOT 36 Rev. 1.41 AN93 The commands end with a , which, in combination with the final, provides the 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 the host processor from reloading special 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 to provide the delimiter indicating the end of the EEPROM. 2.7.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: Each AT Command Macro ends with a . The final entry in the EEPROM ends with an additional to provide the delimiter indicating the end of the EEPROM. AT command macros can have a name consisting of any string of characters but must be the only command on a line. 2.7.6. Firmware Upgrades Firmware upgrades ("patches") are typically executed upon boot-up and stored between the heading, BOOT, and the first delimiter. A firmware upgrade has the format: BOOT. The firmware upgrade ends with a , which, in combination with the final, provides the 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.7.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 AT&H2 To implement this as a boot command, the commands are: BOOT AT\T12 AT&H2 This must be written to the EEPROM as ASCII hexadecimal in eight address blocks. The actual AT commands to 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 corresponds to the display character 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 39 shows the relationship between the decimal values, hexadecimal values, and display characters. Rev. 1.41 37 AN93 2.7.6.2. AT Command Macro Example This example creates the AT command macro ATN to configure the ISOmodem for operation in Norway. The AT commands required to do this manually are: AT:U2C,00B0,0080 AT:U67,000C,0010,0004 AT:U4D,001 To implement this as an AT command macro, the EEPROM contents should be: N AT:U2C,00B0,0080 AT:U67,000C,0010,0004 AT:U4D,001 This must be written to the EEPROM as ASCII hexadecimal in eight address blocks. The actual AT commands to 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, the command ATN configures the modem for operation in Norway. 2.7.6.3. Autoloading Firmware Upgrade Example This example stores a firmware upgrade in EEPROM that is automatically loaded into the modem after 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 AT:PF800.08D5 To implement this as a boot command macro, the commands are: BOOT AT*Y254:W0050,0000 AT:PF800.08D5 This must be written to the EEPROM as ASCII hexadecimal in eight address blocks. The actual AT commands to 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. 38 Rev. 1.41 AN93 2.7.6.4. Combination Example This example shows boot commands and custom AT commands stored in the same EEPROM. Table 38. Combination Example Command Function Start of EEPROM contents BOOT End of BOOT string Start of Custom AT Command 1 End of Custom AT Command 1 Start of Custom AT Command 2 End of Custom AT Command 2 Start of Custom AT Command 3 End of Custom AT Command 3 End of EEPROM Contents Rev. 1.41 39 AN93 Table 39. ASCII Chart dec hex Display dec hex Display dec hex Display dec hex Display 0 00 32 20 64 40 @ 96 60 1 01 33 21 ! 65 41 A 97 61 a 2 02 34 22 " 66 42 B 98 62 b 3 03 35 23 # 67 43 C 99 63 c 4 04 36 24 $ 68 44 D 100 64 d 5 05 37 25 % 69 45 E 101 65 e 6 06 38 26 & 70 46 F 102 66 f 7 07 39 27 ' 71 47 G 103 67 g 8 08 40 28 ( 72 48 H 104 68 h 9 09 41 29 ) 73 49 I 105 69 i 10 0A 42 2A * 74 4A J 106 6A j 11 0B 43 2B + 75 4B K 107 6B k 12 0C 44 2C , 76 4C L 108 6C l 13 0D 45 2D - 77 4D M 109 6D m 14 0E 46 2E . 78 4E N 110 6E n 15 0F 47 2F / 79 4F O 111 6F o 16 10 48 30 0 80 50 P 112 70 p 17 11 49 31 1 81 51 Q 113 71 q 18 12 50 32 2 82 52 R 114 72 r 19 13 51 33 3 83 53 S 115 73 s 20 14 52 34 4 84 54 T 116 74 t 21 15 53 35 5 85 55 U 117 75 u 22 16 54 36 6 86 56 V 118 76 v 23 17 55 37 7 87 57 W 119 77 w 24 18 56 38 8 88 58 X 120 78 x 25 19 57 39 9 89 59 Y 121 79 y 26 1A 58 3A : 90 5A Z 122 7A z 27 1B 59 3B ; 91 5B [ 123 7B { 28 1C 60 3C < 92 5C \ 124 7C | 29 1D 61 3D = 93 5D ] 125 7D } 30 1E 62 3E > 94 5E ^ 126 7E ~ 31 1F 63 3F ? 95 5F _ 127 7F 40 Rev. 1.41 AN93 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 programmable settings for the dc impedance, current limiting, minimum operational loop current, and Tip-to-Ring voltage. The dc impedance 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. FCC DCT Mode Voltage Across DAA (V) 12 11 10 9 8 7 6 .01 .02 .03 .04 .05 .06 .07 .08 .09 .1 .11 Loop Current (A) 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. TBR21 DCT Mode Voltage Across DAA (V) 45 40 35 30 25 20 15 10 5 .015 .02 .025 .03 .035 .04 .045 .05 .055 .06 Loop Current (A) 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 Malaysia. Increasing the minimum operational loop current above 10 mA also increases signal headroom and prevents degradation of the signal level in low-voltage countries. Rev. 1.41 41 AN93 3.2. AC Termination The ISOmodem has four ac termination impedances when used with the Si3018 line-side device, selected by the ACT bits in Register U63. The four available settings for the Si3018 are listed in Table 40. If an ACT[3:0] setting other than the four listed in Table 40 is selected, the ac termination is forced to 600 (ACT[3:0] = 0000). Table 40. 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 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 on the ISOmodem is resistively coupled to the line. This produces a high ringer impedance to the line of approximately 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 meeting these requirements. The ISOmodem dc holding circuit actively controls the on-hook 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 controlled to achieve three distinct on-hook speeds to pass spark-quenching tests 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 legacy mode is set when LLP (UAD [4] = 1 (default). The second method of measuring line voltage and loop current takes advantage of the improved resolution available on the Si3018 and Si3010 DAA chips. U63 (LCS) [15:8] represents 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. 42 Rev. 1.41 AN93 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 state, can be taken as "no line connected." The ISOmodem reports the on-hook line voltage with the LVS bits in two's complement. 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 enable the user to detect another phone going off-hook by monitoring the dc loop current. Line-current sensing is detailed in Figure 16 and Table 41. 128 112 96 LVS Bits 80 64 48 32 16 0 0 16 32 48 64 80 96 112 128 Tip/Ring Voltage (Volts ) Figure 15. Typical Loop Voltage LVS Transfer Function Rev. 1.41 43 AN93 256 ILIM = 1 224 ILIM = 0 192 LCS Bits 160 128 96 64 32 0 0 16 32 48 64 80 Loop Curre nt (m A) 96 112 128 Figure 16. Typical Loop Current LCS Transfer Function Table 41. Loop Current Transfer Function LVCS[4:0] 44 Condition 00000 Insufficient line current for normal operation. 11111 Loop current overload. Overload is defined as 128 mA or more, except in TBR21, where overload is defined as 56 mA or more. Rev. 1.41 144 AN93 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 VPK 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 than 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 second to return to normal dc operating conditions. The BTD and ROV bits 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 billingtone 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 that connects on the phone line before the DAA. This keeps the manufacturer from having to include 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. Rev. 1.41 45 AN93 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 units throughout the world and are optimized for cost and performance. 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 external support circuitry is very simple. 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 49. 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 capacitance. This load is calculated as the series combination of the capacitance from each crystal terminal 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 33 pF capacitor, provides 40 pF per terminal, which, in series, yields the proper 20 pF load for the crystal. Instead of using a 4.9152 MHz crystal, a signal at 4.9152 MHz can be applied to the XTALI pin. In such a case, the crystal loading caps should not be used. 46 Rev. 1.41 AN93 The second mode is a 32.768 kHz fundamental mode parallel-resonant crystal. Typical crystals require a 12.5 pF load capacitance. This load is calculated as the series combination of the capacitance from each crystal terminal 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 32.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 carrier frequencies of two modems. This value, split between 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 above three modes of operation, 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 modem 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 data 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 inductors is important to achieve a narrow and deep notch. This design has more than 25 dB of attenuation 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. Rev. 1.41 47 AN93 C1 C2 L3 TIP FROM LINE L4 To DAA C3 RING Figure 17. Billing-Tone Filter Table 42. Optional Billing Tone Filters Component Values Symbol 48 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 Rev. 1.41 RESET_ RTS_/D7 RXD/RD_ TXD/WR_ CTS_/CS_/ALE_ CLKOUT/A0/EECS INT_/D0 RI_/D1 EESD/D2 EECLK/D5/RXCLK DCD_/D4 ESC/D3 AOUT/INT_ alt_RI_/D6/TXCLK 12 8 9 10 11 3 16 17 18 24 23 22 15 4 5 21 RESET RTS/D7 RXD/RD TXD/WR CTS/CS/ALE CLKOUT/A0/EECS 13 14 2 1 C51 C53 Y1 R13 R12 C41 C40 R9 C5 Bypass Rev. 1.41 C6 10 7 4 6 5 VREG2 VREG IB C2B C1B U2 8 9 1 12 13 16 14 2 3 Si3018 RNG1 RNG2 QE QE2 QB DCT2 DCT3 DCT RX C4 R1 Q5 R10 C7 Ring Detect/CID R2 R11 DC Term ACT Q4 R4 R7 R8 R5 Q1 Z1 R3 Q2 Q3 C10 Hookswitch Hookswitch/DCT R6 No Ground Plane In DAA Section Figure 18. Si3018/10 Component Functions ISOcap Bias C2 C1 External crystal option Emissions option Si2493/57/34/15/04 C2A C1A EECLK/D5/RXCLK DCD/D4 CLKIN/XTALI ESC/D3 AOUT/INT alt_RI/D6/TXCLK XTALO INT/D0 RI/D1 EESD/D2 U3 1 2 VD3.3 VD 3.3 GND GND VDA VDB 6 20 7 19 C52 IGND 15 C50 SC + 11 VDD + D1 C3 - C9 C8 R15 EMI/EMC Capacitors FB1 FB2 R16 Emissions option TIP RV1 RING Conducted Disturbance Surge Protection AN93 49 RESET_ RTS_/D7 RXD/RD_ TXD/WR_ CTS_/CS_/ALE_ CLKOUT/A0/EECS INT_/D0 RI_/D1 EESD/D2 EECLK/D5/RXCLK DCD_/D4 ESC/D3 AOUT/INT_ alt_RI_/D6/TXCLK 12 8 9 10 11 3 16 17 18 24 23 22 15 4 5 21 RESET RTS/D7 RXD/RD TXD/WR CTS/CS/ALE CLKOUT/A0/EECS 13 14 2 1 C51 Rev. 1.41 Y1 R13 R12 C41 C40 R9 C5 C2 C1 C6 10 7 4 6 5 VREG2 VREG IB C2B C1B U2 8 9 1 12 13 16 14 2 3 Si3018/10 RNG1 RNG2 QE QE2 QB DCT2 DCT3 DCT RX C4 R1 Q5 R2 R11 R10 C7 Q4 R4 R7 R8 R5 Q1 Z1 R3 Q2 Q3 C10 R6 No Ground Plane In DAA Section + D1 C3 - Figure 19. Si3018/10 Schematic Note: See Section "10.4.2. Safety" for information regarding the use of a fuse or PTC resistor. Si2493/57/34/15/04 C2A C1A EECLK/D5/RXCLK DCD/D4 CLKIN/XTALI ESC/D3 AOUT/INT alt_RI/D6/TXCLK XTALO INT/D0 RI/D1 EESD/D2 U3 1 2 VD3.3 VD 3.3 GND GND VDA VDB 6 20 7 19 C52 IGND C50 SC 15 50 + 11 VDD FB1 FB2 C9 C8 R15 R16 TIP RV1 RING AN93 4.2. Schematic AN93 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 1.0 F, 50 V, Elec/Tant, 20% Panasonic C4 1 C5, C6, C50, C52 0.1 F, 16 V, X7R, 20% Venkel, SMEC C7 2.7 nF, 50 V, X7R, 20% Venkel, 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% 4.9152 MHz, 27 MHz, 33 pF, 16 V, NPO, 5% Venkel, SMEC C51, C531 0.22 F, 16 V, X7R, 20% Venkel, SMEC D1, D22 Dual 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, Panasonic 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, Panasonic 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 56 , 1/16 W, 1% Venkel, SMEC, Panasonic R15, R16 0 , 1/16 W Venkel, SMEC, Panasonic U1 Si24xx ISOmodem Silicon Labs U2 Si3018 Silicon Labs R12, R13 3 32.768 kHz, 12 pF, 100 ppm, 35 k max ESR Y14 4.9152 MHz, 20 pF, 100 ppm, 150 ESR 27 MHz (from external clock) ECS Inc., Siward, Abracon Z1 Zener Diode, 43 V, 1/2 W, BZT84C43 On Semi Notes: 1. C52 and C53 should not be populated 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. Rev. 1.41 51 AN93 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 43 on page 54 while reviewing the final 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 R13 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 (C2B) are 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. 52 Rev. 1.41 AN93 8. After the previous step, there should be some space between the grouping around U2 and the grouping of components around the RJ11 jack. Place the rest of the components in this area, 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 traces and avoid getting close 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 be achieved by routing 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 Rev. 1.41 53 AN93 11 C27 C26 Y1 1 2 11 11 1 8D U1 Si24HS 1 2 C50 5 6 7 12 3A XTALI XTALO C52 VDD3.3 VDD3.3 GND GND VDDB VDDA C51 21 20 19 4B C53 12 2 R12* 12 C1A C1B 4C 12 C1 4A 3B + C4 14 13 3C 3E C2 *Note: Do NOT use ferrite beads in place of R12 and R13. 2 4D 8D R2 QE DCT RX IB C1B C2B VREG RNG1 3E C5 DCT2 IGND DCT3 QB QE2 SC VREG2 RNG2 9B R7 4G Q5 9C R9 3A 1 2 3 4 5 6 7 8 R13* 5 C7 U2 4F Traces, pad sites and vias enclosed in box are in the DAA section, and must be separated from all other circuits by 5 mm. 16 15 14 13 12 11 10 9 3E Si3018 C6 4E R8 4F 9C 9C 9A Q4 6 C3 3E 8C RING D1 10 - 3E FB2 R16 + 7A RV1 10 TIP FB1 R15 C9 7B 7C 7B C8 7C 7B 2 2 Note: Encircled references are described in the numbered paragraphs in Appendix A. This is not a complete schematic. Only critical component placement and nets are drawn. Figure 21. Illustrated Layout Guidelines 4.4.1. ISOmodem Layout Check List Table 43 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 267 for information about design for safety compliance. Table 43. Layout Checklist P 54 # Layout Items 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. 2 Place 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. 3 C1 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 (measured between the system side pins and the DAA pins) 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). If the system demands that the traces between U1 and U2 be between two and six inches in length, then special trace layout techniques must be used, as shown in Figure 22. Rev. 1.41 Required AN93 Table 43. Layout Checklist (Continued) P # Layout Items 4 Place R7 and R8 as close as possible to the RNG1 and RNG2 pins (pins 8 and 9), ensuring a minimum trace length from the RNG1 or RNG2 pin to the R7 or R8 resistor. In order to space 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). 5 The 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. 7 The digital ground plane is made as small as possible, and the ground plane has rounded corners. 8 Series resistors on clock signals are placed near source. 9 Use 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 wellmatched. 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 base of Q5, and the trace from R2 to U2 pin16 should 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. Rev. 1.41 Required 55 AN93 Table 43. Layout Checklist (Continued) P # Layout Items 23 The trace from C3 to the D1/D2 node should be short and direct. 24 Provide a minimum of 5 mm creepage (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. 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. Figure 22. Special Trace Layout Technique 56 Rev. 1.41 Required AN93 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 and power planes in the 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 23 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. Murata BLM 18A G601 SN1 Motherboard Connector To Modem Chip VCC (Si24xx Pins 5, 21) VCC 1.0 F 0.1 F 0.1 F 1.0 F 10 k To RESET (Si24xx Pin 12) 2.2 F GND GND RESET Figure 23. Modem Module VCC and RESET Filter Rev. 1.41 57 AN93 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% duty cycle, 32 kHz square wave, 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 24. A slightly more expensive amplifier (LM4862) is available and, while still pin-compatible, provides twice as much power. Figure 24. 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 24, 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 operational mode as shown in "2.1.3. Reset-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. 58 Rev. 1.41 AN93 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 audio to be. An alternative is for the AOUT signal to be buffered to a clean supply domain using a logic gate or transistor buffer. The 3-pole low-pass 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 25 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 25. Audio Filter Response 4.5.3. Power Dissipation in the Si3018 DAA The power dissipated in the DAA and its support circuitry is dependent on the operational state. Table 44 shows how power is distributed among the components in the BOM circuit. Two examples are given: one is the modem in the default FCC termination when the loop current is at its maximum, 120 mA. The other shows the power when the modem is attached to a TBR21 termination at the maximum loop current. Table 44. Power Dissipation Device FCC Termination Loop Current = 120 mA TBR21 Mode Loop Current = 56 mA R1 14 mW 407 mW R3 17 mW 244 mW R4 26 mW 432 mW R10 7 mW 203 mW R11 468 mW 1 mW Q1 110 mW Q2 2 mW Q3 70 mW 161 mW Rev. 1.41 59 AN93 Table 44. Power Dissipation (Continued) 60 Q4 176 mW 172 mW Q5 166 mW 130 mW D1,D2 120m A x 0.8 V 96 mW each 56 mA x 0.75 V 42 mW each Other 257 mW (Si3018) 243 mW (Q1+Q2+Si3018) Total 1.498 W 2.077 W Rev. 1.41 AN93 5. Modem Reference Guide This section provides information about the architecture of the modem, its functional 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 and operating systems can interface with 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 standard ITU-T fallback modes. These chipsets 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 optional voice mode is supported through an SSI interface and an external Si3000 voice codec. The modem software 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 identified 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, continuing discussion refers to the register name to simplify the text. The address and value of a single variable U register are always read from or written to the ISOmodem in hexadecimal. Bit-mapped U registers are identified in this document at the top level as the register 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 bit or bit range within the register in brackets, and finally the bit or bit range identifier in parenthesis. Example: U67 [6] (OHS) or U67 [3:2] (] (DCT). Once the full register reference is made, continuing discussion of the bits or bit range refers to the bit or bit range name to simplify the text. 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 binary for clarity. However, the address and value of a bit-mapped U register 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 number stored in an S register 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 registers, and U registers to configure and control the modem. Rev. 1.41 61 AN93 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-accessible memory in the ISOmodem includes the 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-insensitive. However, case cannot be mixed in a single command. The only exception to this format is the A/ command. This command is neither preceded by AT nor followed by a carriage return but re-executes the previous command immediately when the "/" 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 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 arguments, n is an S-register number (decimal), and hh is the hexadecimal address of a U register. The AT commands for reading configuration status are listed in Table 45. Each command is followed by a carriage return. Table 45. Configuration Status Command Action ATY$ settings 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 AT+VCID? Displays the current contents of all U registers. Displays Caller ID setting. The examples in Table 46 assume the modem is reset to its default condition. Each command is followed by a carriage return. 62 Rev. 1.41 AN93 Table 46. Command Examples Command Result Comment AT$ E = 001 M = 000 Configuration status of basic AT commands. 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 character (+). AT:R2C 00A0 Value stored in register U2C. 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 47 shows examples of multiple AT commands on a single line. Table 47. Multiple AT Commands on a Single Line Command Result ATS0=4M1X1 The modem auto-answers on the fourth ring. The speaker is on during dial and handshake only. Blind dialing is enabled. AT S0=4 M1 X1 Same as above (spaces do not matter). ATS0=4 Same as above. ATM1 ATX1 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 Uregister 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. Rev. 1.41 63 AN93 Table 48. 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 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 especially likely when writing to consecutive U-register addresses: all addresses covered by a conscutive write operation must be defined 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. It is recommended that the host delay a minimum of 100 ms before sending any AT commands after a modem state change. A modem state change is indicated by the modem responses listed below; thus, the host should delay the recommended minimum after any of these responses: NO CARRIER BUSY LINE IN USE NO DIALTONE In addition, the host can initiate a modem state change with the AT commands listed below. The host should delay the recommended minimum after the OK response from any of these commands: ATH0 AT+FCLASS (if changing classes) AT&T0 AT+VLS Character Abort 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; this is known as a character abort. 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 modifier 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, 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 49-54. The default settings are shown in bold. Table 49. Basic AT Command Set Command $ Action Display Basic AT command mode settings (see text for details). Answer incoming call. Re-execute last command (executes immediately, not preceded by AT or followed by ) A A/ 64 Rev. 1.41 AN93 Table 49. Basic AT Command Set (Continued) Command Action Dial The dial command, which may be followed by one or more dial command modifiers, dials a phone number: Modifier ! or & , or < Dn ; 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). 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 Rev. 1.41 65 AN93 Table 49. Basic AT Command Set (Continued) Command 66 Action I7 Diagnostic Results 1. Format RX ,TX PROTOCOL: LOCAL NAK REMOTE NAK RETRN/RR DISC REASON I8 Diagnostic Results 2. Format RX LEVEL TX LEVEL EFFECTIVE S/N RESIDUAL ECHO 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 54.) Q1 Disable result codes (enable quiet mode) R Initiate V.23 Reversal (U53 bit 15 must be set.) Sn S-register operations (see Table 56) Rev. 1.41 AN93 Table 49. Basic AT Command Set (Continued) Command Action 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 54) V0 Numeric result codes. V1 Verbal result codes. Xn Call Progress Monitor (CPM)--This command controls which CPM signals are monitored and reported to the host from the ISOmodem (See Table 54). 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 results and detect dial tone only. X1 with dial tone detection. X3 Extended results and detect busy only. X1 with busy tone detection. X4 Extended results, full CPM. X1 with dial and busy tone detection. X5 Extended results--Full CPM enabled including ringback 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 memory access by disallowing :W and :Q Commands. *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. Z Hard 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 bits of this register are cleared, and the INT pin (HIR1 INT flag in parallel or SPI mode) is deactivated on this read. Rev. 1.41 67 AN93 Table 49. Basic AT Command Set (Continued) Command :LPhh 68 Action Read Quick Connect data. hh is a hexadecimal value. Data are read as follows: :LP0 d1...d8 :LP8 d9...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. :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 command is only for use with special files provided by Silicon Laboratories. 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 hexadecimal. 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. Rev. 1.41 AN93 Table 49. Basic AT Command Set (Continued) Command Action *Y[sequence] Special Access Mode--This command enables special modes and data memory access. Description [sequence] 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 aaaa. Returns 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, multiple 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. Mode X 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 both directions +DR:V44 RD Rec. V.44 is in use in receive direction only +DR:V44 TD Rec. V.44 is in use in transmit directions only +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 Rev. 1.41 69 AN93 Table 49. Basic AT Command Set (Continued) Command Action Controls V.44 data compression function* Direction A 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 +DS44 = C Capability A,B,C,D,E,F,G,H,I 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 70 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 data state is entered. Rev. 1.41 AN93 Table 49. Basic AT Command Set (Continued) Command Action +ESA = A,B,C,D,E,F,G Synchronous access mode control options A - Specifies 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. X Mode 0 Off 1 Enables support for V.29 Fast Connect mode. 8 Enables voice mode. 256 SMS mode +FRM = X Class 1 Receive Carrier. X Mode 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 message. Rev. 1.41 71 AN93 Table 49. Basic AT Command Set (Continued) 72 Command Action +FTM = X Class 1 Transmit Carrier. X Mode 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 protocol 1 message. 202 Returns to data mode prepared to transmit an SMS protocol 2 message. Rev. 1.41 AN93 Table 49. Basic AT Command Set (Continued) Command +GCI = X Action Country settings: Automatically configure all registers for a particular country. X Country 9 Australia A Austria 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 South Korea 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 South Africa 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 individual 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 146. Rev. 1.41 73 AN93 Table 49. Basic AT Command Set (Continued) Command +GCI? List current country code setting (response is: + GCI:) +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 0 None 2 Hardware flow control (RTS) B Specifies the flow control method used by the modem to control data from the host 0 None 2 Hardware flow control (CTS). +IPR = 74 Action Fixed DTE Rate. Description 0 Automatically detect the baud rate. [BPS] The decimal value of the rate in bits per second. Note that the 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. Rev. 1.41 AN93 Table 49. Basic AT Command Set (Continued) Command +ITF = , , Action Transmit Flow Control Thresholds. Threshold above which the modem will generate a flow off signal. The parameter's unit is a byte. The valid range is 0-1023. The default is 895. Threshold below which the modem will generate a flow on signal. The parameter's unit is a byte. The valid range is 0-1023. The default is 128. The poll interval for the report. The valid range is 0-300 in 10 ms units. The default value of 0 indicates that reporting is disabled. Prior to a V.34 call, the modem dynamically splits the TX buffer to accommodate the required DLE-shielding of in-band data. This resizing affects the Transmit Flow Control Threshold settings. If the or threshold setting is greater than 512, it is reduced by 512 to accommodate the buffer splitting. For example, the default setting of 895 would be reduced to 383 (895 - 512 = 383) prior to a V.34 call. See Figure 3, "Transmit Data Buffers," on page 22 and Figure 4, "Receive Data Buffers," on page 22 for the sizing and operation of TX and RX elastic buffers. Notes: 1. The parameter must be set greater than the data frame size plus 2 (to accommodate the terminating characters). Therefore, the default setting of 128 is appropriate for a frame size of 64 octets but not for a frame size of 256 octets. For this case, the setting must be greater than 258. 2. The optimum parameter setting depends on the driver latency; specifically, how many bytes are transmitted to the modem after the modem's CTS signal becomes deasserted. If little or no data are transmitted after CTS becomes deasserted, the parameter can be set to a value close to the TX buffer size for maximum buffer utilization (e.g. a setting of 500 for V.34 applications). If significant data are transmitted after CTS becomes deasserted, the parameter must be chosen to preclude TX buffer overrun. +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 follows: +MCR: e.g. +MCR: V32B +MRR: e.g. +MRR: 14400 Rev. 1.41 75 AN93 Table 49. Basic AT Command Set (Continued) Command Action 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 +MS Options 0 Disabled +MS = A 1 Enabled (default) +MS = A,B C Min Tx rate. Specifies minimum transmission rate. +MS = A,B,C 0 Not configurable; always set to 0. +MS = A,B,C,D Max Tx rate. Specifies highest transmission rate. If not speci+MS = A,B,C,D,E D fied, it is determined by the carrier and automode settings. +MS = A,B,C,D,E V21 300 V32 9600 V90 33600 ,F 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 76 +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. Rev. 1.41 AN93 Table 49. Basic AT Command Set (Continued) Command Action +PMHR=X Initiate MOH. Requests the DCE to initiate or to confirm a MOH procedure. Valid only if MOH is enabled. Mode X 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 Deny V.92 MOH request. 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. X Mode 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. Rev. 1.41 77 AN93 Table 49. Basic AT Command Set (Continued) Command 78 Action +PSS=X Selection of full or short startup procedures. Mode X 0 The DCEs decide to use short startup procedures. 1 Forces the use of short startup procedures on next and subsequent connections. 2 Forces the use of full startup procedures on next and subsequent connections. +VCDT = n Caller ID Type. n Mode 0 = After ring only 1 = Always on 2 = UK with wetting pulse 3 = Japan +VCID = n Caller ID Enable. n Mode 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 displayed if no Type II data are available. +VDR = n Distinctive Ring. Mode n 0,x Disable distinctive ring; x = don't care 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,m Enable distinctive ring. The ISOmodem will report DROF and DRON result codes as well as well as a RING result code m/10 seconds after the falling edge of a ring pulse. DROF and DRON are reported in 100 ms units. +VGR Receive Gain Selection. The 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. +VGT Transmit Gain Selection. The parameter has a range of 112-134 with 128 being the nominal value. This represents a range of -48 to 18 dB. The default is 128 (0 dB). This command is used to control the transmit gain at the DTE to either the Si3000 Codec or the DAA. The purpose is to adjust the DTE transmit gain for the TAM voice stream during idle state. Rev. 1.41 AN93 Table 49. Basic AT Command Set (Continued) Command Action +VIP Load Voice Factory Defaults. +VIT DTE/DCE Inactivity Timer. The parameter has a range of 0-255 with units of seconds. The default is 0 (disable). +VLS = n Analog Source / Destination Select. n Description 0 ISOmodem on-hook. AOUT disabled. Tone detectors disabled. Si3000 sample pass-through to DAA is inactive. 1 ISOmodem off-hook. AOUT disabled. Tone detectors disabled. 4 ISOmodem on-hook. AOUT connected to ISOmodem tone generators. Tone detectors disabled. 5 ISOmodem off-hook. AOUT connected to PSTN. 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 ISOmodem on-hook. AOUT connected to ISOmodem tone generators. Tone detectors enabled. +VNH = Automatic Hangup Control. Hook control description 0 The ISOmodem 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 ISOmodem shall disable automatic hangups in the other non-voice modes. 2 The ISOmodem shall disable all hang-ups in other nonvoice modes. The ISOmodem shall only perform a "logical" hangup (return the OK result code). +VRA = n Ringing Tone Goes Away Timer. The ISOmodem only uses this command in call origination transactions. This command sets 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 time is five seconds. +VRID = n Repeat Caller ID. n 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. Rev. 1.41 79 AN93 Table 49. Basic AT Command Set (Continued) Command 80 Action +VRN = n Ringing Tone Never Appeared Timer. This command sets the amount of time in seconds the ISOmodem 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 CONNECT response followed by the voice stream as defined by the +VSM command. The DTE can issue a or sequence to terminate the receive stream. The DCE will return a followed by an OK response for and followed by an OK response for . The DCE can be configured to terminate the stream using the DTE/DCE Inactivity Timer, which is configured using the +VIT command. The DTE will need to process any shielded events present in the data stream. Any sequences can be preserved to allow less overhead during playback of the stream with the +VTX command. +VSD = , Silence Detection. Noise level sensitivity 127 Less aggressive [more sensitive, lower noise levels considered to be silence]. 128 Nominal level of sensitivity. 129 More aggressive [less sensitive, higher noise levels considered to be silence]. 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) (). Default is five seconds. +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 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. Rev. 1.41 AN93 Table 49. Basic AT Command Set (Continued) Command +VTD = n Action DTMF / Tone Duration Timer. This command sets the default DTMF / tone generation duration in 10 ms units for the +VTS command. Default time is 1 second (n = 100). +VTS = [, DTMF and Tone Generation. , ] This command can be used to produce DTMF tones, single-frequency tones, and double-frequency tones. Note that the bracket characters are required for correct operation. Frequency one, which has a range of 0, 200-3200 Hz. Frequency two, which has a range of 0, 200-3200 Hz. 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. Rev. 1.41 81 AN93 Table 50. Basic ATI Command Set AT Command Si2493/57/34/15/04 Si2494/39 Patch Chip Revision B C D/D1 A/A1 ATI0 B C D A ATI1 00 00 000 000 ATI0 B C ATI1 X X ATI0 C ATI1 X Revision B (rb_pX_YYYY) Revision C (rc_pX_YYYY) ATI0 D A ATI1 X X ATI0 D A ATI1 X X Note: Gray cell = not allowed. 82 None Rev. 1.41 Revision D/D1 (rd_pX_YYYY) Revision A/A1 (ra_pX_YYYY) AN93 5.5. Extended AT Commands The extended AT commands, described in Tables 51-53, are supported by the ISOmodem. Table 51. 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 modem 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 sets 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. Rev. 1.41 83 AN93 Table 51. Extended AT& Command Set (Continued) &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 from TX pin (Hardware Interface Register 0 in parallel or SPI mode) back to RX pin (Hardware Interface Register 0 in parallel 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 (ISOmodem), DAA interface section (ISOmodem), ISOcap interface (Si3018/10), and analog hybrid circuit (Si3018/10). ISOmodem echoes data from TX pin (Hardware Interface 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 26. In order to test only the ISOcap link operation, the hybrid and AFE codec can be removed from the test loop by setting U62 [1] (DL) = 1. &T4 Initiate transmit as originating modem with automatic data generation. Modulation, 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. &T5 Initiate transmit as answering modem with automatic data generation. Modulation, 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:80e9. 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. 84 Rev. 1.41 AN93 Table 51. Extended AT& Command Set (Continued) &T7 Built-in modem self-test. This test checks the RAM and calculates ROM CRC. If the RAM check fails, it will display the offending RAM address, and return ERROR. If the RAM check passes, it will display the ROM CRC and return OK. In either case, the modem is hard reset after the test. The host should wait for 100ms after the OK to issue the next AT command. &Xn Automatic determination of telephone line type. &X0 Abort &x1 or &x2 command. &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. Y2A2 Produce a constant answer tone (ITU-T) and 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. 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. TIP + 600 IL Si3018 V TR 10 F RING - Figure 26. Phone Line Termination Circuit Rev. 1.41 85 AN93 Table 52. 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 automatic line-in-use detection. Automatic Line Status Detection - Fixed Method. Description: Before going off-hook with the ATD, ATO, or ATA commands, the ISOmodem compares the line voltage (via LVCS) to registers NOLN (U83) and LIUS (U84): %V1 Loop Voltage 0 LVCS NOLN NOLN LVCS LIUS LIUS LCVS Action Report NO LINE and remain on-hook. Report LINE IN USE and remain on-hook. Go off-hook and establish a modem connection. Once the call has begun, the off-hook intrusion algorithm (described in "6.6.2. Intrusion Explanation" on page 174) operates normally. In addition, the ISOmodem reports NO LINE if the line is completely disconnected. If the HOI bit (U77, bit 11) is set, LINE IN USE is reported upon intrusion. 86 Rev. 1.41 AN93 Table 52. Extended AT% Command Set (Continued) %V2 Automatic Line Status Detection - Adaptive Method. Description: Before going off-hook with the ATD, ATO, or ATA commands, the ISOmodem compares the line voltage (via LVCS) to the NLIU (U85) register: Loop Voltage Action 0 LVCS (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 off-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. Intrusion Explanation" on page 174) operates normally. In addition, the ISOmodem reports NO LINE if the telephone line is completely disconnected. If the HOI (U77, bit 11) bit is set, LINE IN USE is reported upon intrusion. Table 53. 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 data bits, parity optioned 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 (enables ninth-bit escape mode) This mode is not allowed with a parallel or SPI interface. \Nn Asynchronous protocol. Notes: 1. When in autobaud mode, \B0, \B1, and \P1 is not detected automatically. The combination of \B2 and \P3 is detected. This is compatible with seven data bits, no parity, two stop bits. Seven data bits, 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 DTE rate. 3. The autobaud feature does not detect this rate. 4. Default is \T16 if autobaud is selected by reset-strap option; otherwise default is \T9 (19.2 kbps). 5. The autobaud feature does not detect this rate in voice mode (+FCLASS = 8). Rev. 1.41 87 AN93 Table 53. Extended AT\ Command Set (Continued) Command Action \N0 Wire mode (no error correction, no compression). \N2 MNP reliable mode. The ISOmodem attempts to connect with the 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 unsuccessful, the MNP protocol is attempted. If unsuccessful, wire mode is attempted. Compression is controlled by %Cn. \N4 V.42 (LAPM) reliable mode (or drop call)--Same 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 reliable mode - The ISOmodem attempts to connect with V.42. If unsuccessful, 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 guaranteed to match throughout the call. \Q2 Use CTS only. \Q3 Use RTS/CTS. \Tn DTE rate2 \T0 300 bps \T1 600 bps \T2 1200 bps Notes: 1. When in autobaud mode, \B0, \B1, and \P1 is not detected automatically. The combination of \B2 and \P3 is detected. This is compatible with seven data bits, no parity, two stop bits. Seven data bits, 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 DTE rate. 3. The autobaud feature does not detect this rate. 4. Default is \T16 if autobaud is selected by reset-strap option; otherwise default is \T9 (19.2 kbps). 5. The autobaud feature does not detect this rate in voice mode (+FCLASS = 8). 88 Rev. 1.41 AN93 Table 53. Extended AT\ Command Set (Continued) Command Action \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 kbps5 \T14 245.760 kbps3 \T15 307.200 kbps \T16 Autobaud On4 \T17 Autobaud Off. Lock at current baud rate. In UART mode: 1. Causes a low pulse (25 ms) on RI and DCD \U 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. Notes: 1. When in autobaud mode, \B0, \B1, and \P1 is not detected automatically. The combination of \B2 and \P3 is detected. This is compatible with seven data bits, no parity, two stop bits. Seven data bits, 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 DTE rate. 3. The autobaud feature does not detect this rate. 4. Default is \T16 if autobaud is selected by reset-strap option; otherwise default is \T9 (19.2 kbps). 5. The autobaud feature does not detect this rate in voice mode (+FCLASS = 8). Rev. 1.41 89 AN93 Table 53. Extended AT\ Command Set (Continued) Command Action \V2 Report connect message only (exclude protocol message). \V4 Report connect and protocol message with both upstream and downstream connect rates. Notes: 1. When in autobaud mode, \B0, \B1, and \P1 is not detected automatically. The combination of \B2 and \P3 is detected. This is compatible with seven data bits, no parity, two stop bits. Seven data bits, 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 DTE rate. 3. The autobaud feature does not detect this rate. 4. Default is \T16 if autobaud is selected by reset-strap option; otherwise default is \T9 (19.2 kbps). 5. The autobaud feature does not detect this rate in voice mode (+FCLASS = 8). 90 Rev. 1.41 AN93 The connect messages shown in Table 54 are sent when link negotiation is complete. Table 54. Result Codes Meaning Numeric1 Verbal Response X0 X1 X2 X3 X4 X5 0 Command was successful OK X X X X X X 1 Link established at 300 bps or higher CONNECT X X X X X X 2 Incoming ring detected RING X X X X X X 3 Link dropped NO CARRIER X X X X X X 4 Command failed ERROR X X X X X X 5 Link established at 1200 CONNECT 1200 X X X X X 6 Dial tone not present NO DIALTONE X X 7 Line busy BUSY X X 9 Ringback detected RINGING 10 Link established at 2400 CONNECT 2400 X X X 2 11 Link established at 4800 CONNECT 4800 12 Link established at 9600 CONNECT 96002 3 X X X X X X X X X X X X X X X 14 Link established at 19200 CONNECT 19200 X X X X X 15 Link established at 7200 CONNECT 72002 X X X X X 2 16 Link established at 12000 CONNECT 12000 X X X X X 17 Link established at 14400 CONNECT 144002 X X X X X 18 Link established at 16800 3 CONNECT 16800 X X X X X 19 Link established at 21600 CONNECT 216003 X X X X X 20 Link established at 24000 3 CONNECT 24000 X X X X X 21 Link established at 26400 CONNECT 264003 X X X X X 22 Link established at 28800 3 CONNECT 28800 X X X X X 23 Link established at 31200 CONNECT 312003 X X X X X 24 Link established at 33600 3 CONNECT 33600 X X X X X 30 Caller ID mark detected CIDM X X X X X X 31 Hookswitch flash detected FLASH X X X X X X 32 UK CID State Tone Alert Signal detected STAS X X X X X X Notes: 1. Numeric mode: Result code . 2. This message is supported only on the Si2493, Si2457, Si2434, and Si2415. 3. This message is supported only on the Si2493, Si2457, and Si2434. 4. X is not preceded by . 5. This message is supported only on the Si2493 and Si2457. 6. V.44 with data compression disabled (+DS = 0) emits this result code. 7. If data compression is disabled (+DS = Q), the modem returns the message PROTOCOL:V42. Rev. 1.41 91 AN93 Table 54. Result Codes (Continued) Numeric1 Meaning Verbal Response X0 X1 X2 X3 X4 X5 Overcurrent condition X4 X X X X X X Blacklist is full BLACKLIST FULL (enabled via S42 register) X X X X X X Attempted number is blacklisted. BLACKLISTED (enabled via S42 register) X X X X X X No phone line present NO LINE (enabled via %Vn commands) X X X X X X Telephone line is in use LINE IN USE (enabled via %Vn commands) X X X X X X Polarity reversal detected POLARITY REVERSAL (enabled via G modifier) X X X X X X 45 Polarity reversal NOT detected NO POLARITY REVERSAL (enabled via G modifier) X X X X X X 52 Link established at 56000 CONNECT 560005 X X X X X 60 Link established at 32000 CONNECT 320005 X X X X X 61 Link established at 48000 CONNECT 480005 X X X X X 63 Link established at 28000 CONNECT 280005 X X X X X 64 Link established at 29333 CONNECT 293335 X X X X X 65 Link established at 30666 CONNECT 306665 X X X X X 66 Link established at 33333 CONNECT 333335 X X X X X 67 Link established at 34666 CONNECT 346665 X X X X X 68 Link established at 36000 CONNECT 360005 X X X X X 69 Link established at 37333 CONNECT 373335 X X X X X 70 No protocol PROTOCOL: NONE Set with \V0 command. 75 Link established at 75 CONNECT 75 X 33 40 41 42 43 44 V426 X X 77 V.42 protocol PROTOCOL: 79 V.42bis protocol PROTOCOL: V42bis2 Set with \V0 command. MNP2 protocol PROTOCOL: ALTERNATE, +CLASS 2 Set with \V command. MNP3 protocol PROTOCOL: ALTERNATE, +CLASS 3 Set with \V command. 80 81 Set with \V0 command. Notes: 1. Numeric mode: Result code . 2. This message is supported only on the Si2493, Si2457, Si2434, and Si2415. 3. This message is supported only on the Si2493, Si2457, and Si2434. 4. X is not preceded by . 5. This message is supported only on the Si2493 and Si2457. 6. V.44 with data compression disabled (+DS = 0) emits this result code. 7. If data compression is disabled (+DS = Q), the modem returns the message PROTOCOL:V42. 92 X Rev. 1.41 X AN93 Table 54. Result Codes (Continued) Numeric1 82 83 84 Meaning Verbal Response X0 X1 X2 X3 X4 MNP4 protocol PROTOCOL: ALTERNATE, +CLASS 4 Set with \V command. MNP5 protocol PROTOCOL: ALTERNATE, +CLASS 52 Set with \V command. V.44 protocol PROTOCOL: V.447 5 X5 Set with +DR command 90 Link established at 38666 CONNECT 38666 X X X X X 91 Link established at 40000 CONNECT 400005 X X X X X 92 Link established at 41333 5 CONNECT 41333 X X X X X 93 Link established at 42666 CONNECT 426665 X X X X X 94 Link established at 44000 5 CONNECT 44000 X X X X X 95 Link established at 45333 CONNECT 453335 X X X X X 96 Link established at 46666 5 CONNECT 46666 X X X X X 97 Link established at 49333 CONNECT 493335 X X X X X 98 Link established at 50666 CONNECT 506665 X X X X X 99 Link established at 52000 CONNECT 520005 X X X X X 100 Link established at 53333 CONNECT 533335 X X X X X 101 Link established at 54666 CONNECT 546665 X X X X X 102 DTMF dial attempted on a pulse dial only line UN-OBTAINABLE NUMBER X X X X X X Notes: 1. Numeric mode: Result code . 2. This message is supported only on the Si2493, Si2457, Si2434, and Si2415. 3. This message is supported only on the Si2493, Si2457, and Si2434. 4. X is not preceded by . 5. This message is supported only on the Si2493 and Si2457. 6. V.44 with data compression disabled (+DS = 0) emits this result code. 7. If data compression is disabled (+DS = Q), the modem returns the message PROTOCOL:V42. Rev. 1.41 93 AN93 Table 55. Disconnect Codes Disconnect Code 8002 8 8008 9 8009 Handshake stalled. No dial tone detected. No line available. No loop current detected. 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 94 Reason TX data timeout. Rev. 1.41 AN93 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 56 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 56. S-Register Descriptions Definition S Register (Decimal) Function Default (Decimal) Range Units 0 Automatic answer--This value represents 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 waits before blind dialing 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 number of seconds the modem waits for ringback when originating a call before hanging up. The register also sets the number of seconds the answer tone 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 carrier must be detected before activating or reactivating DCD (carrier loss debounce time). 06 1-255 0.1 second Rev. 1.41 95 AN93 Table 56. S-Register Descriptions (Continued) Definition S Register (Decimal) Function Default (Decimal) Range Units 10 Carrier loss timer--The time a remote modem carrier must be lost before the ISOmodem disconnects. Setting this timer to 255 disables the timer, and the modem does not time out and disconnect. If S10 is less than S9, even a momentary 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 secondary dial tone delay. 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 telephone line (ring, hookswitch flash, or Caller ID). This feature is disabled if set to 0. 0 0-255 minutes 38 Hang up delay time--Maximum delay between receipt of the ATH0 command and hang up. If time out occurs 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 - Data pattern generated during &T4 and &T5 transmit tests. 0 - All spaces (0s) 1 - All marks (1s) 2 - Random data 0 0-2 - 96 Rev. 1.41 AN93 Table 56. S-Register Descriptions (Continued) Definition S Register (Decimal) Function Default (Decimal) Range Units 41 V.34 symbol rate - Symbol rate for V.34 when using the &T4 and &T5 commands. 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 0 0-5 - 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 memory 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 - disabled 1 - enabled 0 (disabled) 0-1 - 43 Dial attempts to blacklist. When blacklisting is enabled with S42, this value controls the number of dial attempts that result in a number being blacklisted. 4 0-4 - 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 - Rev. 1.41 97 AN93 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 49 on page 64. All values associated with the U registers, the address, and the value written to or read from the register are hexadecimal. Some U registers are reserved and not available to the user. Therefore, there are gaps in the available U-register address sequence. Additionally, some bits within available U registers are reserved. Any attempt to write to a nonlisted U register or to write a reserved bit can cause unpredictable 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. The second type of 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 value. Pay particular attention when writing to bit-mapped registers to ensure 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 57 lists the available U registers, a brief description, and their default values. Table 58 summarizes the signals and values available in the bit-mapped registers. Country-specific register values are presented in "6.2. Country-Dependent Setup" on page 145. All default settings are chosen to meet FCC requirements. Table 57. U-Register Descriptions Register Name U00 DT1A0 U01 DT1B1 0x0000 U02 DT1B2 0x0000 U03 DT1A2 0x0000 U04 DT1A1 0x0000 U05 DT2A0 U06 DT2B1 0x6EF1 U07 DT2B2 0xC4F4 U08 DT2A2 0xC000 U09 DT2A1 0x0000 U0A DT3A0 U0B DT3B1 0x78B0 U0C DT3B2 0xC305 U0D DT3A2 0x4000 U0E DT3A1 0xB50A 98 Description Dial-tone detection filters stage 1 biquad coefficients. Dial-tone detection filters stage 2 biquad coefficients. Dial-tone detection filters stage 3 biquad coefficients. Rev. 1.41 Default Value 0x0800 0x00A0 0x00A0 AN93 Table 57. U-Register Descriptions (Continued) Register Name Description U0F DT4A0 U10 DT4B1 0x70D2 U11 DT4B2 0xC830 U12 DT4A2 0x4000 U13 DT4A1 0x80E2 U14 DTK U15 Dial-tone detection filter stage 4 biquad coefficients. Default Value 0x0400 Dial-tone detection filter output scaler. 0x0009 DTON Dial-tone detection ON threshold. 0x00A0 U16 DTOF Dial-tone detection OFF threshold. 0x0070 U17 BT1A0 Busy-tone detection filters stage 1 biquad coefficients. 0x0800 U18 BT1B1 0x0000 U19 BT1B2 0x0000 U1A BT1A2 0x0000 U1B BT1A1 0x0000 U1C BT2A0 U1D BT2B1 0x6EF1 U1E BT2B2 0xC4F4 U1F BT2A2 0xC000 U20 BT2A1 0x0000 U21 BT3A0 U22 BT3B1 0x78B0 U23 BT3B2 0xC305 U24 BT3A2 0x4000 U25 BT3A1 0xB50A U26 BT4A0 U27 BT4B1 0x70D2 U28 BT4B2 0xC830 U29 BT4A2 0x4000 U2A BT4A1 0x80E2 U2B BTK U2C U2D Busy-tone detection filter stage 2 biquad coefficients. Busy-tone detection filter stage 3 biquad coefficients. Busy-tone detection filter stage 4 biquad coefficients. 0x00A0 0x00A0 0x0400 Busy-tone detection filter output scaler. 0x0009 BTON Busy-tone detection ON threshold. 0x00A0 BTOF Busy-tone detection OFF threshold. 0x0070 Rev. 1.41 99 AN93 Table 57. U-Register Descriptions (Continued) Register Name U2E BMTT Busy cadence minimum total time in seconds multiplied by 7200. 0x0870 U2F BDLT Busy cadence delta in seconds multiplied by 7200. 0x25F8 U30 BMOT Busy cadence minimum on time in seconds multiplied by 7200. 0x0438 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 U34 DTWD Window to look for dial tone in seconds multiplied by 1000. 0x1B58 U35 DMOT Minimum dial tone on time in seconds multiplied by 7200. 0x2D00 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 U46 DTPL DTMF power level. 0x09B0 U47 DTNT DTMF on time (ms units). 0x0064 U48 DTFT DTMF off time (ms units). 0x0064 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 U4D MOD1 This is a bit-mapped register. 0x0000 U4E PRDD Pre-dial delay-time--(ms units). 0x0000 100 Description Rev. 1.41 Default Value AN93 Table 57. U-Register Descriptions (Continued) Register Name U4F FHT U50 Description Default Value Flash hook time--(ms units). 0x01F4 LCDN Loop current debounce on time (ms units). 0x015E U51 LCDF Loop current debounce off time (ms units). 0x00C8 U52 XMTL Transmit level adjust (1 dB units) 0x0000 U53 MOD2 This is a bit-mapped register. 0x0000 U62 DAAC1 This is a bit-mapped register. 0x0804 U63 DAAC3 This is a bit-mapped register. 0x0003 U65 DAAC4 This is a bit-mapped register. 0x00E0 U66 DAAC5 This is a bit-mapped register. 0xXX40 U67 ITC1 This is a bit-mapped register. 0x0008 U68 ITC2 This is a bit-mapped register. 0x0000 U6A ITC4 This is a bit-mapped register (read only). U6C LVS This is a bit-mapped register. 0xXX00 U6E CK1 This is a bit-mapped register. 0x1FA0 U6F PTME This is a bit-mapped register. 0x0001 U70 IO0 This is a bit-mapped register. 0x2700 U71 IO1 This is a bit-mapped register. 0x0000 U76 GEN1 This is a bit-mapped register. 0x3240 U77 GEN2 This is a bit-mapped register. 0x401E U78 GEN3 This is a bit-mapped register. 0x0000 U79 GEN4 This is a bit-mapped register. 0x00XX U7A GENA This is a bit-mapped register. 0x0000 U7C GENC This is a bit-mapped register. 0x0000 U7D GEND This is a bit-mapped register. 0x4001 This is a bit-mapped register. 0x0168 U80 N/A U83 NOLN No-Line threshold. If %V1 is set, NOLN sets the threshold for determination of line present vs. line not present. 3 V/bit when LLP (UAD [4] = 1 (default); 1 V/bit when LLP = 0. 0x0001 U84 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 when LLP (UAD [4] = 1 (default); 1 V/bit when LLP = 0. 0x0007 Rev. 1.41 101 AN93 Table 57. U-Register Descriptions (Continued) Register Name Description Default Value U85 NLIU Line-in-use/No-line threshold. If %V2 is set, NLIU sets the threshold reference for the adaptive algorithm (see %V2). 3 V/bit when LLP (UAD [4] = 1 (default); 1 V/bit when LLP = 0. 0x0000 U86 V9AGG V.90 rate reduction in 1333 bps units. The V.90 connect rate is reduced by this amount during negotiation. 0x0000 U87 SAMCO This is a bit-mapped register 0x0000 U9F1 SASF SAS frequency detection. 0x0000 UA02 SC0 SAS cadence 0. Sets the duration of the first SAS tone (ms). 0x001E UA12 SC1 SAS cadence 1. Sets the duration of the first SAS silence (ms). 0x0000 UA22 SC2 SAS cadence 2. Sets the duration of the second SAS tone (ms). 0x0000 UA32 SC3 SAS cadence 3. Sets the duration of the second SAS silence (ms). 0x0000 UA42 SC4 SAS cadence 4. Sets the duration of the third SAS tone (ms). 0x0000 2 SC5 SAS cadence 5. Sets the duration of the third SAS silence (ms). 0x0000 UA62 SC6 SAS cadence 6. Sets the duration of the fourth SAS tone (ms). 0x0000 UA72 SC7 SAS cadence 7. Sets the duration of the fourth SAS silence (ms). 0x0000 UA82 SC8 SAS cadence 8. Sets the duration of the fifth SAS tone (ms). 0x0000 2 SC9 SAS cadence 9. Sets the duration of the fifth SAS silence (ms). 0x0000 This is a bit-mapped register. 0x0000 UAD This is a bit-mapped register 0x0210 UAE This is a bit-mapped register. 0x0000 UD3 V.29FC Answer Tone Detector Threshold (in ms). Range = 50 to 180 ms 0x0000 CAS Level (dBm) Range = -12 to -38 dBm 0x0000 This is a bit-mapped register. 0x0000 Busy tone cadence count (actual cadence is this value + 1) 0x0003 Delay (1/600 s) to the response to an answer tone 0x0078 Time to stay off hook in overcurrent situation, in 5 ms units. When this timer expires, the modem returns on hook. Used only when AOC bit of U77 is enabled. 0x000C UA5 UA9 UAA2 UD4 V29MODE CASL U1D4 U1D9 BUSYCNT U1DA U1DD AOCN Notes: 1. See Table 114 for details. 2. See Table 115 for details. 102 Rev. 1.41 AN93 5.7.1. U-Register Summary Table 58. Bit-Mapped U-Register Summary Register Name U4D MOD1 U53 MOD2 U54 CALT U62 DAAC1 U63 DAAC3 U65 DAAC4 U66 DAAC5 U67 ITC1 U68 ITC2 U6A ITC4 U6C LVS U6E CK1 U6F PTME U70 IO0 U71 IO1 U76 GEN1 U77 GEN2 U78 GEN3 U79 GEN4 U7A GENA U7C GENC U7D GEND U80 XMITDEL U87 SAM UAA V29MODE Bit 15 Bit 14 Bit 13 TOCT Bit 12 Bit 11 Bit 10 NHFP NHFD Bit 9 Bit 8 Bit 7 CLPD FTP SPDM FULL2 OHS2 Bit 6 Bit 5 Bit 4 Bit 3 GT18 GT55 CTE Bit 2 Bit 1 FOH DL Bit 0 REV OHCT LCS PWMG ACT PDN PDL FDT MINI ILIM DCR OHS DCV BTE SQ1 SQ0 RZ RT ROV BTD RI DCD OVL LVS R1 HRS PTMR HES TES CIDM OCDM PPDM RIM DCDM CID OCD PPD COMP OHSR IST FACL HOI PRT DCL ACL AOC OHT IB IS LVCS CNSMS V29EM ARMLO DOP ADD NEWFC HDLC RIGPO NLM TCAL RIGPOEN CALD ATZD V22FCDF FAST FDP V22FCDEL MINT SERM FSMS XMTT RUDE UAD SIA CON V29ENA LLP UAE U1D4 SEF Rev. 1.41 103 AN93 5.7.2. U00-U16 (Dial Tone Detect Filter Registers) U00-U13 set the biquad filter coefficients for stages 1-4 of the dial-tone detection 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 = 0x4000. 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 59. U0-U16 (Dial Tone Registers) Register Name U00 DT1A0 0x0800 U01 DT1B1 0x0000 U02 DT1B2 U03 DT1A2 0x0000 U04 DT1A1 0x0000 U05 DT2A0 0x00A0 U06 DT2B1 0x6EF1 U07 DT2B2 U08 DT2A2 0xC000 U09 DT2A1 0x0000 U0A DT3A0 0x00A0 U0B DT3B1 0x78B0 U0C DT3B2 U0D DT3A2 0x4000 U0E DT3A1 0xB50A U0F DT4A0 0x0400 U10 DT4B1 0x70D2 U11 DT4B2 U12 DT4A2 0x4000 U13 DT4A1 0x80E2 U14 DTK U15 U16 104 Description Dial-tone detection filters stage 1 biquad coefficients. Dial-tone detection filters stage 2 biquad coefficients. Dial-tone detection filters stage 3 biquad coefficients. Dial-tone detection filters stage 4 biquad coefficients. Default 0x0000 0xC4F4 0xC305 0xC830 Dial-tone detection filter output scaler. 0x0009 DTON Dial-tone detection ON threshold. 0x00A0 DTOF Dial-tone detection OFF threshold. 0x0070 Rev. 1.41 AN93 5.7.3. U17-U30 (Busy Tone Detect Filter Registers) U17-U2A set the biquad filter coefficients 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 60). 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 = 0x4000. 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 minimum on time (BMOT), respectively. Settings for busy 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 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 27, "Cadence Timing," on page 107). Table 60. U17-U30 (Busy Tone Detect Registers) Register Name Description U17 BT1A0 0x0800 U18 BT1B1 0x0000 U19 BT1B2 U1A BT1A2 0x0000 U1B BT1A1 0x0000 U1C BT2A0 0x00A0 U1D BT2B1 0x6EF1 U1E BT2B2 U1F BT2A2 0xC000 U20 BT2A1 0x0000 U21 BT3A0 0x00A0 U22 BT3B1 0x78B0 U23 BT3B2 U24 BT3A2 0x4000 U25 BT3A1 0xB50A U26 BT4A0 0x0400 U27 BT4B1 0x70D2 U28 BT4B2 U29 BT4A2 0x4000 U2A BT4A1 0x80E2 U2B BTK U2C Busy-tone detection filter stage 1 biquad coefficients. Busy-tone detection filter stage 2 biquad coefficients. Busy-tone detection filter stage 3 biquad coefficients. Busy-tone detection filter stage 4 biquad coefficients. Default 0x0000 0xC4F4 0xC305 0xC830 Busy-tone detection filter output scaler. 0x0009 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 Rev. 1.41 105 AN93 Table 61. 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 106 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 -- Rev. 1.41 AN93 Table 61. BPF Biquad Values (Continued) BPF Biquad Values Stage 1 Stage 2 Stage 3 Stage 4 Output Scalar 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 Example: The United States specifies a busy tone "on" time from 450 to 550 ms and "off" time from 450 to 550 ms. Thus the minimum "on" and "off" times are 0.45 s each , and the maximum "on" and "off" 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. Register U1D9 defines the number of Busy Tone cadences (on/off) that the modem must detect before reporting the BUSY message. The actual cadence count is the value of U1D9 plus 1. The default value of U1D9 is 3. Thus, by default, the modem reports BUSY every four busy cadences. The busy tone detector is configured using registers U17-U30 as described in "5.7.3. U17-U30 (Busy Tone Detect Filter Registers)" on page 105. Maximum Cadence TOTAL Time Minimum ON Time (BMOT) (RMOT) Minimum Cadence Cadence Delta TOTAL Time Time (BDLT) (BMTT) (RDLT) (RMTT) Figure 27. Cadence Timing Rev. 1.41 107 AN93 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 62). 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 plus the maximum "off" time) minus the minimum total time (RMTT). RMOT 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. Table 62. 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 5.7.5. U34-U35 (Dial Tone Timing Register) U34 determines the period of time the modem attempts 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 63). Table 63. Dial Tone Timing Register Register Name Description Default U34 DTWD Window to look for dial tone in seconds multiplied by 1000 0x1B58 U35 DMOT Minimum dial tone on time in seconds multiplied by 7200 0x2D00 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 64). 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 145. 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 145 for Japanese 20 pps dialing configuration. 108 Rev. 1.41 AN93 Table 64. 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 5.7.7. U46-U48 (DTMF Dial Registers) U46-U48 set the DTMF power level, DTMF "on" time, and DTMF "off" time, respectively (see Table 65). 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 dBm 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 milliseconds. The default value for both U47 and U48 is 100 ms, and the range of values is 0-1000 ms. Table 65. DTMF Dial Registers Register Name Description U46 DTPL DTMF power level 0x09B0 U47 DTNT DTMF "on" time (ms units). 0x0064 U48 DTFT DTMF "off" time (ms units). 0x0064 Rev. 1.41 Default 109 AN93 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. Maximum Frequency = (2400/U49) Minimum Frequency = (2400/(U4A + U49)) or: U49 = (2400/Maximum Frequency) U4A = (2400/Minimum Frequency) - U49 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 cadence minimum on time, RGMN, is 250 ms. The default ring cadence maximum total time is 11 seconds. Table 66. 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 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/write, 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 67). 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 modifier, P, is ignored, and the dial command is carried out as a tone dial (ATDT). 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 described in V.25. 110 Rev. 1.41 AN93 Table 67. Register U4D Bit Map Bit Name Function 15 Reserved 14 TOCT 13 Reserved 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 8 FTP 7 SPDM 6 Reserved 5 GT18 1800 Hz Guard Tone Enable (UK Guard Tone) 0 = Disable. 1 = Enable. 4 GT55 550 Hz Guard Tone Enable. 0 = Disable. 1 = Enable. 3 CTE Calling Tone Enable. 0 = Disable. 1 = Enable. 2 Reserved Read returns zero. 1 Reserved Read returns zero. 0 Reserved Read returns zero. Read returns zero. Turn Off Calling Tone. 0 = Disable. 1 = Enable. Read returns zero. Read returns zero. Force Tone or Pulse. 0 = Disable. 1 = Enable. Skip Pulse Dial Modifier. 0 = No. 1 = Yes. Read returns zero. Rev. 1.41 111 AN93 5.7.10. U4E (Pre-Dial Delay Time Register) U4E sets the delay time between the ATD command carriage return and when the modem goes off-hook and starts dialing (either tone or pulse--see Table 68). This delay establishes the minimum time the modem must be on-hook 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 145 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 69). 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 70). 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 (XMTL) adjusts the modem transmit level referred to a 600 line (see Table 71). 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. U52 should not be changed while off-hook in the voice mode. Table 68. Pre-Dial Delay Timer Register Register Name U4E PRDD Description Pre-dial delay-time after ATD command that modem waits to dial (ms units). The ISOmodem stays on-hook during this time. Default 0x0000 Table 69. Flash Hook Time Register Register Name U4F FHT Description Flash hook time (ms units). Default 0x01F4 Table 70. Loop Current Debounce Registers Register Name U50 LCDN Loop-current debouncing "on" time (ms units). 0x015E U51 LCDF Loop-current debouncing "off" time (ms units). 0x00C8 112 Description Rev. 1.41 Default AN93 Table 71. Transmit Level Register Register Name U52 XMTL Description Transmit level adjust (-1 dB units). Default 0x0000 5.7.14. U53 (Modem Control Register 2) U53 (MOD2) is a bit-mapped register with all bits, except bit 15, reserved (see Table 72). The AT&H11 command 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 timing 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 74. U62 resets to 0x0804 with a power-on or manual reset. Bit 1 (DL) = 1 or 0 causes digital loopback to occur beyond 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 72. U53 Bit Map Bit 15 Name REV 14:0 Reserved Function V.23 Reversing. 0 = Disable. 1 = Enable. Read returns zero. Table 73. U54 Bit Map Bit 15:8 Name OHCT 7:0 Reserved Function 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. Must be set to zero. Table 74. U62 Bit Map Bit 15:12 11 10 Name Reserved Reserved FULL2 9 Reserved Function Must be set to zero. Must be set to one. 0 = DAA FULL2 bit cleared. 1 = DAA FULL2 bit set. Must be set to zero. Rev. 1.41 113 AN93 Table 74. U62 Bit Map (Continued) 8 OHS2 On-Hook Speed 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]. 7 Full 1 6:5 4 3 2 Reserved Reserved Reserved FOH 1 DL 0 Reserved 0 = Disable 1 = Enable. +3.2 dBm maximum into 600 (Si3018 only) Must be set to zero. Must be set to zero. Must be set to zero. 0 = Automatic calibration timer set to 426 ms. 1 = Automatic calibration timer set to 106 ms. 0 = Digital loopback beyond ISOcap interface. 1 = Digital loopback across ISOcap interface only. Must be set to zero. U63 (DAAC2) is a bit-mapped register with bits 3:0 reserved and should be modified through a read-modify-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. Table 75. U63 Bit Map Bit Name Function 15:8 LCS Off-hook loop current (1.1 mA/bit). 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. 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. 114 Rev. 1.41 AN93 Table 76. U65 Bit Map Bit Name Function 15 Reserved 14 PWMG 13 PDN 12:7 Reserved Read returns zero. 6:5 Reserved Do not change (use read-modify-write). 4 PDL 3:2 Reserved Read returns zero. 1:0 Reserved Do not change (use read-modify-write). Read returns zero. PWM gain. 0 = No gain. 1 = 6 dB gain applied to AOUT. Power Down. 0 = Normal. 1 = Power Down. Line-Side Chip Power Down. 0 = Normal operation. 1 = Places the Si3018/10 in Power-Down mode. U66 (DAAC5) is a bit-mapped register with all bits except bit 6 reserved (see Table 77). 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-U6A (International Configuration Registers) 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-mapped register with bits 5:4, 8, 11:10, and 15:14 reserved (see Table 78). U67 resets to 0x0008 with a power-on or manual reset. Bits 13:12 (MINI) adjust the minimum loop current at which the DAA can operate. The MINI bits generally have no effect on the TX level and RX sensitivity as long as there is sufficient loop current. However, as the loop current is reduced and approaching the limit, the TX level will begin to drop nonlinearly. The nonlinear region is about 2 mA or so within the limit, the amount of drop varies with different MINI settings. In the worst case MINI=00 and the current is 10 mA, the drop is about 4 dB. In the best case MIN=00 and the current is 16 mA, the drop is about 0.5dB. It is not recommended that customers adjust U52 or U46 to compensate for this TX drop. Unlike the case of DCV, there is no distinctive level shift except for this nonlinear region. Furthermore, the host only knows it is near this nonlinear region is by reading loop current. Since the LCS accuracy is 1.1mA and this nonlinear region is roughly 2 mA, it is impossible for the customer to accurately compensate for the TX level. There is no practical need to compensate for the level. In a real world application, the loop current is at least a few mA above MINI. For example, setting MINI=00, DCV=00 for the Australian AS/ACIF S002:2001 specification, the loop current is 13mA; this is 3mA away from MINI and the DAA is still in the linear range. 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 selected by U67 [3:2] (DCV). Rev. 1.41 115 AN93 When DCR = 1, the device presents a dc line impedance of 800 ,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 when the modem is on-hook. See "6.2.1. DC Termination" on page 145 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 145 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 lower ringer impedance for countries, such as Poland, South Africa, and South Korea. Bit 0 (RT), Ring Threshold, is used to satisfy various country ring detect requirements. RT = 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. 116 Rev. 1.41 AN93 Table 77. U66 Bit Map Bit Name 15:7 Reserved 6 FDT 5:0 Reserved Function Read returns zero. Frame Detect. 0 = ISOcap frame lock not established 1 = ISOcap frame lock established Read returns zero. Table 78. U67 Bit Map* Bit Name Function 15:14 Reserved Read returns zero. 13:12 MINI[1:0] Minimum Operational Loop Current. Adjusts the minimum loop current at which the DAA can operate. Increasing the minimum operational 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 9 ILIM Current 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. 6 OHS On-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. Low-voltage countries should use a lower Tip-Ring voltage. Raising the TipRing voltage can improve signal headroom. DCV has no effect on the RX signal gain. DCV[1:0] DCT Pin Voltage 00 3.1 V (TX output level reduced by 4 dB) 01 3.2 V (TX output level reduced by 2 dB) 10 3.35 V (normal TX output level) 11 3.5 V (normal TX output level) 1 RZ Ringer Impedance. 0 = Maximum (high) ringer impedance. 1 = Synthesize ringer impedance. Rev. 1.41 117 AN93 Table 78. U67 Bit Map* (Continued) Bit 0 Name RT Function Ringer 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 Vrms. 1 = 17 to 33 Vrms. 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 79). Bit 2 (BTE) = 0 (default) is disabled by default. When BTE = 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 excessive 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 80). Bit 2 (OVL) is a read-only bit that detects a receive overload. This bit is similar to U68 [1] (ROV) except OVL clears itself after the overload condition is removed. Table 79. U68 Bit Map* Bit Name 15:8 Reserved Read returns zero. 7:3 Reserved Do not modify. 2 BTE Billing Tone Protect Enable. 0 = Disabled. 1 = Enabled. 1 ROV Receive Overload. 0 = Normal receive input level. 1 = Excessive receive input level. 0 BTD Billing Tone Detected. 0 = No billing tone. 1 = Billing tone detected (cleared by writing 0). 118 Function Rev. 1.41 AN93 Table 80. U6A Bit Map* Bit Name Function 15 Reserved 14 SQ1 13 Reserved 12 SQ0 11:3 Reserved 2 OVL 1 Reserved Read only; value indeterminate. 0 Reserved Read returns zero. Read returns zero. Spark quenching. See OHS2. Read returns zero. Spark quenching. See OHS2. Read returns zero. Overload Detected. This bit has the same function as ROV, but clears itself after the overload has been removed. This bit is only masked by the off-hook counter and is not affected by the BTE bit. 5.7.18. U6C (Line-Voltage Status Register) U6C contains the line voltage status register, LVS, and resets to 0xXX00. 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 82). 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 81. 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 voltage. 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). Rev. 1.41 119 AN93 Table 82. U6E Bit Map Bit Name 15:13 Reserved Function Do not modify. 12:8 R1 CLKOUT Divider (Default = 11111b) 7:5 Reserved Read returns 101b. Do not modify. 4 HRS 3:0 Reserved Hardware Reset 0 = Normal operation. 1 = Device will perform hardware reset. All registers will return to default settings. Read returns 0. Do not modify. Table 83. U6F Bit Map Bit 15:8 7:0 Name Function Reserved Do not modify PTMR Parallel/SPI Port Receive FIFO Interrupt Timer (in milliseconds) U70 controls escape and several indicator and detector masks and provides several read-only status bits (see Table 84). 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 enabled, escape from the data mode to the command mode occurs at the rising edge of the ESC pin. Multiple escape options can be enabled simultaneously. The ESC pin must be deasserted before the modem goes off-hook. 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 +++, there must be no UART, parallel or SPI activity (depending on the interface mode) 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). 120 Rev. 1.41 AN93 Table 84. U70 Bit Map Bit Name Function 15 HES 14 Reserved 13 TES 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. 9 RIM 8 DCDM 7:5 Reserved 4 CID Caller ID (sticky). 1 = Caller ID preamble detected; data to follow. Clears on :I read. 3 OCD Overcurrent 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. 1 RI 0 DCD Enable Hardware Escape Pin. 0 = Disable. 1 = Enable. Read returns zero. Enable Escape (+++). 0 = Disable. 1 = Enable. Ring Indicator Mask. 0 = Change in RI does not affect INT. 1 = RI low-to-high transition triggers INT. Data Carrier Detect Mask. 0 = Change in DCD (U70, bit 0) does not affect INT. 1 = DCD high-to-low transition triggers INT. Read returns zero. Ring Indicator (sticky). 1 = Ring event has occurred (ISOmodem on-hook). Clears on :I read. Data Carrier Detect (status). 1 = carrier detected (inverse of DCD pin). Rev. 1.41 121 AN93 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 Reset settings = 0x0000 Bit Name 15:5 Reserved 4 COMP 3:1 Reserved 0 PRT Function Read returns zero. 0 - Disables compression (PCM mode). 1 - Enables linear compression. 0 - Disables PCM mode. 1 - Enables PCM mode. 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 85). 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 ensure the ACL value is continuously updated. Updating 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 time due to a variety 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 off-hook and the U77 [15:12] (IST) time value. If ACL = 0, the ISOmodem has no reference and must use the loop current sample from the first off-hook event as a reference for parallel phone intrusion detection. 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 85). 122 Rev. 1.41 AN93 Table 85. U76 Bit Map Bit Name Function 15:9 OHSR Off-Hook Sample Rate for Intrusion Detection (40 ms units). (1 second default) 8 FACL Force 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 units, 0 mA default) 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 86). 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) = 0b disables Auto Overcurrent. If enabled, the modem sets the DAA OPE bit to enable Auto Overcurrent protection in the DAA. When LCS > 160 mA (or 60 mA in current limit mode), the DAA switches to 800 mode and sets the OPD bit. The modem then waits for 5 ms, clears the OPE bit to return to normal DC termination mode and clears the OPD bit. The modem decrements an internal counter, N, which is initialized to the value in U1DD. When N reaches 0 (indicating an overcurrent situation for an extended period of time), the modem goes back on-hook. After one second, the modem goes off-hook again with the OPE bit set. In the case where the OPD bit is set and LVS > 50 V, the modem forces N to a value of 4, if U1DD>4. This prevents damage from a high voltage event, such as a power line cross. The counter, N, is reinitialized to U1DD value when overcurrent is absent for 250 ms. See Figure 28 for a detailed description of the overcurrent protection operation. Rev. 1.41 123 AN93 AOC = 1 OPE = 0 C o un te r : N = U 1 D D O FF HO O K W a i t ( O H T) OPE = 1 Ti m er T1 = 2 5 0 m s N = 0? No Y es ON H OOK W a it 1 s No T 1 = 0? No OP D = 1? Y es Ye s N= N - 1 C o u n te r: N = U 1 DD Ti me r T2 = 5 m s LVS >= 50V? No Y es T2 = 0 ? No Ye s T 2 = 0? N <= 3? Y es No OPE = 0 N = 3 LVS >= 50V? Y es No Figure 28. Auto Overcurrent Protection Algorithm 124 Rev. 1.41 No Y es AN93 Bits 8:0 (OHT) set the delay between the time the modem goes off-hook and LVCS or LCS is read for an overcurrent condition. The default value for this register is 30 ms (see Table 86). U78 is a bit-mapped register that controls intrusion detection blocking and intrusion suspend. U78 resets to 0x0000 with a power-on or manual reset (see Table 87). Bits 15:14 (IB) controls intrusion blocking after dialing has begun. Table 87 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 87). Table 86. 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 9 AOC 8:0 OHT[8:0] Read returns zero. AutoOvercurrent. Should be set for normal operation. 0 = Disable. 1 = Enable. Off-Hook Time (1 ms units) 30 ms default. Table 87. U78 Bit Map Bit Name 15:14 IB 13:8 Reserved 7:0 IS Function 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 Read returns zero. Intrusion Suspend (500 ms units) default = 0 ms. 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 88). While the modem is onhook, the value in the LVCS register measures loop voltage (see Table 89). This value can be used to determine if a line is connected or if a parallel phone or other device goes off-hook or on-hook. The accuracy of the 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 = VMIN + 4.2 x (10 M + R5 + 1.78 k) / (R5 + 1.78 k) / 5 See Table 89. 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. Rev. 1.41 125 AN93 Table 88. 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 89. U79 Bit Map Bit Name 15:6 Reserved 5:0 LVCS Function Read returns zero. Line Voltage Current Sense. When LLP (UAD[4] = 1 (default): On-Hook = Voltage Monitor (2.75 V/bit). Off-Hook = Loop Current Monitor (3 mA/bit). When LLP (UAD[4] = 0: On-Hook = Voltage Monitor (1.0 V/bit). Off-Hook = Loop Current Monitor (1.1 mA/bit). 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 whether a phone line supports DTMF or only pulse dialing. See "6.10. Pulse/Tone Dial Decision" on page 181 for details. 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 137 for more details on these modes. Bit 0 controls whether the normal ITU/Bellcore modem handshake (default) 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 90). Table 90. U7A Bit Map Bit Name 15 Reserved 14 CNSMS Function Read returns zero. Chinese EPOS SMS enable 1 = Enable 0 = Disable *Note: When HDLC or FAST is set, the \N0 (Wire mode) setting must be used. 126 Rev. 1.41 AN93 Table 90. U7A Bit Map (Continued) Bit Name Function 13 V29EM 12 Reserved 11 ARMLO 10:8 Reserved 7 DOP 0 = Normal ATDTW operation. 1 = Use ATDTW for pulse/tone dial detection (see "6.10. Pulse/Tone Dial Decision" on page 181 for details). 6 ADD Adaptive Dialing. 1 = Enable 0 = Disable 5 Reserved Read returns zero. 4 NEWFC 3:2 Reserved 1 HDLC Synchronous Mode. 0 = Normal asynchronous mode. 1 = Transparent HDLC mode.* 0 FAST Fast Connect. This bit is mutually exclusive 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.* Use EM shielding to change direction of half duplex V.29FC. 0 = EM shielding 1) =<0x19><0xBC> to receive a V29FC packet. 2) =<0x19><0xBD> to send a V29FC packet. 1 = RTS pin toggle. Read returns zero. 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. Read returns zero. New V.22 handshake enable. This bit is mutually exclusive with bit 0. This bit makes hardcoded U80 timing unnecessary. Without this bit, the appropriate value in U80 is required. Read returns zero. *Note: When HDLC or FAST is set, the \N0 (Wire mode) setting must be used. U7C is a bit-mapped register with bits 15:5 and bits 3:1 reserved. U7C resets to 0x0000 with a power-on or 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 under host processor control. The RI pin must not 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 91). U7D is a bit-mapped register with bits 13:9 and bits 8:2 reserved. U7D resets to 0x4001 with a power-on or manual reset. Bit 15 (RXWAIT) = 1 disables the UN-OBTAINABLE NUMBER response. This response can happen when there is music after a DTMF attempt. (In China it is not uncommon to have music for ring back.) Bit 15 = 0 disables this feature. Bit 14 (NLM) = 0 (default) causes the modem to automatically detect loop current absence or loss. When bit 14 = 1, this feature is disabled. Rev. 1.41 127 AN93 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. The first dial character 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 pipeline after carrier is lost. Table 91. U7C Bit Map Bit Name 15:5 Reserved 4 RIGPO 3:1 Reserved 0 Function Read returns zero. RI pin Follow this bit when U7C [0] (RIGPIOEN) = 1. Read returns zero. RIGPOEN 0 = RI pin indicates valid ring signal. 1 = RI pin follows U7C [4] (RIGPO). Table 92. U7D Bit Map Bit Name 15 RXWAIT 0 = Normal operation (default) 1 = Disables UN-OBTAINABLE NUMBER response. 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 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. 128 Function Read returns zero. Rev. 1.41 AN93 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. U80 XMITDEL Transmit Delay for V.22 Fast Connect Bit 15 Name Function 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 delay between ANS tone detected to start of training. Rev. 1.41 129 AN93 5.7.21. U87 (Synchronous Access Mode Configuration Register) U87 SAM Synchronous Access Mode Configuration Options 130 Bit Name Function 15:11 Reserved 10 MINT Minimal Transparency Host software must always set this bit. 0 = Generate two-byte transparency sequences. This option will use codes through (if possible) for received data containing two back-toback bytes requiring transparency (Rev C and later). 1 = Generate one-byte transparency sequences. This option will only use codes through for received data (Rev B and later). 9 SERM Special Error Reporting Mode 0 = Ignore unrecognized in-band commands. 1 = Generate <0x45> ("E" for error) in response to any unrecognized in-band commands. 8 FSMS Framed Sub-Mode Startup 0 = Upon successful connection, enter Transparent Sub-Mode. An is required to enter Framed Sub-Mode. 1 = Upon successful connection, immediately enter Framed Sub-Mode. The first received (from a successful hunt) is transformed into an . 7:0 XMTT Transmitter Threshold This value represents the number of bytes before a transmission is started. The following 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. Read returns zero. Rev. 1.41 AN93 5.7.22. UAA (V.29 Mode Register) UAA V.29 MODE Bit Name Function 15:3 Reserved 2 RUDE 1 V29ENA 0 = Disables V.29. 1 = Enables V.29. 0 Reserved Read returns zero. Read returns zero. 0 = Disables rude disconnect. 1 = Enables rude disconnect. UAD is a bit mapped register that defaults to 0x0000. Bits 15:8, 5 and 3:0 are reserved. Bit 7 (SIA) enables the modem functions that support the SIA security protocol. Bit 6 (CON) enables the tone detectors and other modem functions that support the Ademco Contact ID security protocol. Bit 4 (LLP) controls the voltage and current readouts for LVCS (U79 [4:0]), U83, U84 and U85. ACL (U76 [4:0]) and DCL (U76 [7:5]) are not affected by LLP. LLP = 0 for increased resolution in the measurement of line current and voltage. LLP = 1 (default) for less resolution in these four registers. Table 93. UAD Bit Map Bit 15:8 Name Reserved These bits are reserved. 7 SIA 6 CON 5 4 3:0 Function 0 = Normal modem connection 1 = SIA protocol enabled 0 = Normal modem connection 1 = Ademco Contact ID protocol enabled Reserved This bit is reserved. LLP Legacy LVS presentation 0 = LVCS (U79 [4:0]), U83, U84 and U85 are presented as 1 V/bit when measuring voltage and 1.1 mA/bit when measuring current 1 = Legacy mode enabled; LVCS (U79 [4:0]), U83, U84 and U85 represent 2.75 V/bit when measuring voltage and 3 mA/bit when measuring current Reserved These bits are reserved. Rev. 1.41 131 AN93 UAE is a bit-mapped register that sets the parameters for the enhanced intrusion detection algorithm. In general, an intrusion is declared when the measured current is less than ACLM by an amount that is more than DCLM. UAE resets to 0x0000 with a power-on or manual reset. The enhanced intrusion algorithm is enabled by setting AEM = 1 and initializing DCLM with a positive number. Bits 15:8 (ACLM) represent the reference measurement of the loop current in units of 1.1 mA/bit. The modem updates this value is periodically while the modem is off-hook unless FACL (U76 [8]) is set. Bit 7 (AEM) enables the enhanced intrusion detection algorithm. Bits 6:0 (DCLM) are the difference in current needed to declare an intrusion. The units are 1.1 mA/bit. Table 94. UAE Bit Map Bit Name 15:8 ACLM 7 AEM 6 Reserved 5:0 DCLM Function Reference loop current for enhanced intrusion detection algorithm Intrusion detection mode 0 = Legacy mode enabled 1 = Enhanced algorithm enabled This bit is reserved. Differential look current for enhanced intrusion detection algorithm UD4 sets the power level of the SMS CAS tone detector threshold. The mapping of CASL to the detector threshold is shown in Table XX. The default value is 0x0000. U1D4 is a bit-mapped register with bits 15 and bits 13:0 reserved. U1D4 resets to 0x0000 with a power-on or manual reset. Bit 14 (SEF) = 0 (default) for normal modem operations. When SEF = 1, ePOS connections are enabled. Table 95. U1D4 Bit Map Bit 15 14 13:0 132 Name Function Reserved Reads as zero SEF Standard ePOS Flag; must be set for any ePOS connection 0 = Normal modem connection 1 = connect as an ePOS terminal Reserved Reads as zero Rev. 1.41 AN93 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 49 on page 64). 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 hardware 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 serially to the ISOmodem. Several patch-loading techniques can be used in different environments. See the description and Table 96. 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 preceded by ATZ or reset and followed by ATE0 and ATQ1. After the transfer, 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. (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. Rev. 1.41 133 AN93 Table 96. 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. 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 returns the modem to the command mode from the data mode. In parallel or SPI mode, the escape 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. 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 +++. Any 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 29. 134 Rev. 1.41 AN93 +++ Leading Guard Tim e Trailing Guard Tim e Guard Tim e = S12 (20 m sec units) Default Guard Tim e S12 = 50 (1.0 sec) Guard Tim e Range = 10-255 (0.2-5.1 sec) Figure 29. +++ 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 30. UART Tim ing for Modem Transm it Path (9N1 Mode with 9th Bit Escape) 9-Bit Data Mode TX Start D0 D1 D2 D3 D4 D5 D6 t RTS D7 ESC Stop t CTH CTS Figure 30. "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 high level on the ESC pin causes 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. Rev. 1.41 135 AN93 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 97 details the ISOmodem error correction and data compression modes of operation. Table 97. 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 data compression and no error correction \N0 and %C0 *Note: V.44 is available only on Si2493. 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 detects a faulty frame, the receiving modem requests a retransmission. Frame length varies according to the amount of data transmitted and the number of retransmissions requested from the opposite end. The ISOmodem supports V.42 and MNP2-4 error correction protocols. V.42 (LAPM) is most commonly used and 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 modem connects without a protocol, NO CARRIER is always sent. The V.42 specification allows an alternate error correction protocol, MNP2-4. MNP2-4 is enabled 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. 136 Rev. 1.41 AN93 5.13. EPOS (Electronic Point of Sale) Applications EPOS applications are discussed in "Appendix A--EPOS Applications" on page 270. 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. A typical initialization of V.22 EPOS fast Connect will be as follows: AT+GCI=xxx where xxx is the country code, 26 for China AT:U4D&BFF7 Disable and turn off the calling tone as +GCI may enable the calling tone AT:U70|8000 HES = 1 AT&D2 Enables escape pin AT+IFC=0,2 Flow control setup AT+ITF=0383,0128 Set the parameters for hardware flow control AT:U87,050A V.80 Setup AT\N0 Wire Mode AT+ES=6,,8 Synchronous access mode AT+ESA=0,0,0,,1 Synchronous access mode control AT:U1D4|4000 Standard ePOS Flag AT+MS=V22 AT:U7A, 0812 Use Bit 4 for Fast Connect for Rev D, it was bit 0 for Rev C AT:U35, E10 Minimize Dialtone on time requirement for fast dial AT:U1DA, 120 Default delay TX to answer tone by 200 ms, in 1/600 s units. This delay can be important for some NAC servers. 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 and Si2494/39) also supports a fast-connect mode based on the 9600 bps V.29 fax modulation standard. 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 98 provides high-level options to choose between the Legacy Synchronous DCE Mode and the newer V.80 synchronous access mode. Table 98. Synchronous Mode Overview Mode U Register AT+ES Settings Neither U7A [1] = 0 +ES = D,,D Legacy Synchronous DCE Mode U7A [1] = 1 +ES = D,,D Synchronous Access Mode +ES = 6,,8 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. Rev. 1.41 137 AN93 5.15. V.80 Mode As shown in Table 99, 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 Submode. 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 conjunction with the Framed Submode is the use of the 16-bit CRC. When used with the CRC option, the Framed Submode can be used in the same applications currently using the Legacy Synchronous DCE Mode. 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 Synchronous Access Submode, once a connection has been established, payload data are multiplexed with command/indicator information by use of shielding. With shielding, either of the two bytes <0x19> or <0x99> (used to represent ) precedes a special command or special indicator. Synchronous access mode 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 , are special. Since the payload data are multiplexed with shielded command/indicator and possibly XON/XOFF characters, Transparency 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 <0x76> instead. For a complete list commands and statuses, see Table 100. Table 99. Synchronous Access Mode Settings 138 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/overrun 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. Rev. 1.41 AN93 Table 100. EM In-Band Commands and Statuses Command- Indicator pair Hex Code Supported in Transparent Submode Supported in Framed Submode Transmit Direction Receive Direction 0x5C Transmit one 0x19 byte Received one 0x19 byte Yes1 Yes1 0x76 Transmit one 0x99 byte Received one 0x99 byte Yes1 Yes1 0xA0 Transmit one 0x11 byte Received one 0x11 byte Yes1 Yes1 0xA1 Transmit one 0x13 byte Received one 0x13 byte Yes1 Yes1 0x5D Transmit two 0x19 bytes Received two 0x19 bytes Yes Yes 0x77 Transmit two 0x99 bytes Received two 0x99 bytes Yes Yes 0xA2 Transmit two 0x11 bytes Received two 0x11 bytes Yes Yes 0xA3 Transmit two 0x13 bytes Received two 0x13 bytes Yes Yes 0xA4 Transmit 0x19, 0x99 Received 0x19, 0x99 Yes Yes 0xA5 Transmit 0x19, 0x11 Received 0x19, 0x11 Yes Yes 0xA6 Transmit 0x19, 0x13 Received 0x19, 0x13 Yes Yes 0xA7 Transmit 0x99, 0x19 Received 0x99, 0x19 Yes Yes 0xA8 Transmit 0x99, 0x11 Received 0x99, 0x11 Yes Yes 0xA9 Transmit 0x99, 0x13 Received 0x99, 0x13 Yes Yes 0xAA Transmit 0x11,0x19 Received 0x11,0x19 Yes Yes 0xAB Transmit 0x11,0x99 Received 0x11,0x99 Yes Yes 0xAC Transmit 0x11,0x13 Received 0x11,0x13 Yes Yes 0xAD Transmit 0x13,0x19 Received 0x13,0x19 Yes Yes 0xAE Transmit 0x13,0x99 Received 0x13,0x99 Yes Yes 0xAF Transmit 0x13,0x11 Received 0x13,0x11 Yes Yes 0xB0 Begin Transparent Mode Abort Detected in Framed Submode Yes Yes, Receive Only Transmit a flag; enter Framed Submode if currently in Transparent Sub0xB1 mode. If +ESA[E] = 1, append FCS to end of frame before sending closing HDLC flag. Detected a non-flag to flag transition. Preceding data was a valid frame. If +ESA[E]=1, sent FCS matches that of the calculated CRC. Yes Rev. 1.41 139 AN93 Table 100. EM In-Band Commands and Statuses (Continued) Command- Indicator pair Hex Code Transmit Direction Receive Direction Supported in Transparent Submode Yes Supported in Framed Submode 0xB2 Transmit an Abort Detected a non-flag to flag transition. Preceding data are not a valid frame. 0xB4 not applicable Detected Transmit Data Underrun Yes Yes 0xB5 not applicable Detected Transmit Data Overrun Yes Yes 0xB6 not applicable Detected Receive Data Overrun Yes Yes Resume after a data underrun or overrun 0xB7 (applicable if +ESA[C] = 1) Not applicable 0xB8 not applicable specifies number of octets in the transmit data buffer if +ITF[C] is non-zero2. 0xB9 not applicable specifies number of discarded octets following a data overrun/underrun, after the command. This is applicable if +ESA[C] = 12. 0xBA Escape to On-Line com0xBB mand mode 0xBC 140 Yes Yes Yes Yes Confirmation of Escape to OnLine command mode. Yes Yes Indicate rate renegotiation Yes Yes Loss of carrier detected, return Terminate carrier, return to to command mode. command mode Request rate renegotiation Yes Rev. 1.41 AN93 Table 100. EM In-Band Commands and Statuses (Continued) Command- Indicator pair Hex Code Transmit Direction Receive Direction Supported in Transparent Submode Supported in Framed Submode Yes Yes Retrain/Rate Reneg completed, following octets indicate tx and rx rates. 0x20-1200 bps 0x21-2400 bps 0x22-4800 bps 0x23-7200 bps 0x24-9600 bps 0x25-12 kbps 0xBE not supported 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 / 2) + (octunum1 x 64) 3. <0x45> indicates that an unrecognized command was sent to the modem. In addition, a common Point-of-Sale V.22 Fast Connect Handshake Protocol (with transparent HDLC) requires these additional settings: Table 101. Fast Connect Settings AT+MS = V22 AT:U7A,12 V22 Protocol Set Fast Connect, Transmit HDLC Flags instead of Marks during handshake negotiation. Rev. 1.41 141 AN93 Given the example initialization settings shown in Table 101, 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 indicator shows that the modem connected with a transmit rate of 1200 bps and a receive rate of 1200 bps. The that occurs immediately after the indicates that a non-flag to flag transition has occurred and that the receiver has now been synchronized. An 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 instead. Also, this feature is unique to the U87 [8]=1 option. 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 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 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 shield the 0x11 and 0x13 characters, XON / XOFF software handshaking can no longer be used. In either of the above transmit frames, the is used to indicate that a logical frame has completed. The modem does not begin transmitting the frame at the DCE until the 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 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 thresholds so that it is tuned to the system's ability to process the interrupt. If a transmit underrun occurs, the indicator always appears in the receive path, regardless of how +ESA[C] is programmed. If +ESA[C] = 0, the modem transmits 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 point of the transmit underrun, and the DCE continues to send only HDLC flags until the host sends an command. The is then followed by the 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 indicator always appears in the receive path. A transmit overflow is considered to be a catastrophic failure and results in non-deterministic behavior at the DCE. It is recommended that the session be terminated immediately. 142 Rev. 1.41 AN93 It is expected that the and 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 receive direction, the indicates that the CRC check is successful, and the preceding frame was received correctly. If there had been an error in the preceding frame, the would have been sent instead of the . The host is expected to discard the entire frame based on whether or not the frame is terminated with an or . The host should also expect to occasionally see the 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 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 indicator never occurs. It is expected that the 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 . In the worst 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 shielding overhead. There are two methods of ending a call. One is to use the command followed by an ATH. Sending the 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 command to escape to command mode, and then issue the ATH command. The main difference is that the does not shut off the transmitter. The can also be followed by an ATO to resume the connection. Rev. 1.41 143 AN93 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 create the desired modem operation. 6.1. Quick Reference Table 102 summarizes the modem function/feature and the associated hardware pins, AT commands, S registers, and U registers. When a command string is created to enable a particular feature, Table 102 should be reviewed to make sure all necessary commands and registers have been considered. Table 102. Modem Feature vs. Hardware, AT Command and Register Setting Function/Feature AT Commands Autobaud \T16, \T17 Blacklisting %B Type I Caller ID +VCID, +VCDT Type II Caller ID +PCW +VCID +VCIDR S Registers 42, 43, 44 U70 [12,4] 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 EEPROM :E, :M 6, 8, 14 Escape (parallel/SPI) Escape (UART) U46-U48, U4E U70 [15], Parallel Register 1 [2] \B6 12 Intrusion detection U70 [13,15] 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 144 U Registers 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 Rev. 1.41 AN93 Table 102. Modem Feature vs. Hardware, AT Command and Register Setting (Continued) Function/Feature AT Commands Quick connect +PQC +PSS Reset Z S Registers U Registers 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. 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 billingtone filter, etc.). For this 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 lineinterface 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 103-107 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 103. Table 103. DC Termination Control Bits Reg Bit U67 7 DCR DC Impedance Select Val Function U67 3:2 DCV DC Termination Select U7D 10 LLV Special low-voltage mode 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. Rev. 1.41 145 AN93 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 other hand, requires one pulse 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 requirements. South Korea, Poland, and South Africa have special ringer impedance requirements. Set all countryspecific parameters listed in Table 104. 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 loopcurrent limiting, bit ILIM (U67 [9]) should be set to zero after the +GCI command. Table 104 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 104. 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. 146 Rev. 1.41 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. Rev. 1.41 147 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 Defaults Ecuador AT+GCI=35 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. 148 Rev. 1.41 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. Rev. 1.41 149 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. 150 Rev. 1.41 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. Rev. 1.41 151 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. 152 Rev. 1.41 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. Rev. 1.41 153 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 AT:U62,0080 AT:U69,0D86 AT:U46,0690 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 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. 154 Rev. 1.41 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 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 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. Rev. 1.41 155 AN93 Table 104. Country Initialization Table (Continued) Country Initialization 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 *Note: These countries do not have a built-in +GCI support but are using the settings of other countries as a shortcut. 156 Rev. 1.41 AN93 6.2.2.2. Country-Setting Register Tables Table 105. 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 Tone Off Threshold U34 DTWD Dial Tone Detect Window U35 DMOT Dial Tone Minimum On Time Busy Tone Control U17-U2B Busy Tone Detect Filter Coefficients 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 Rev. 1.41 157 AN93 Table 106. 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 107. Line Interface/Control Registers Register U4D Bit 10 Value CLPD 1 LLC 0 U50 LCN LCDN U51 LCDF U52 U67: 13:12 MINI 9 ILIM U68 7 6 3:2 1 0 2 1 0 XMTL DCR OHS DCV RZ RT BTE ROV BTD Function Check Loop Current Before Dialing Low Loop Current Detect (set for legacy TBR21) Loop Current Needed Loop Current Debounce On Time Loop Current Debounce Off Time Transmit Level DC Impedance Select On-Hook Speed DC Termination Select Ringer Impedance Ringer Threshold Select Billing Tone Protect Enable Receive Overload Billing Tone Detected 6.2.2.3. 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) 158 Rev. 1.41 AN93 Out-of-band energy: not specified Pulse Dial: 1.6/1 15 % (pulse/pause) Rep Rate: 10 pps Pause: 250 ms 800 ms, 10 % Interdial Ring signal: 25 Hz 80-90 VRMS Dial Tone: 425 Hz 15 % Level: -8 dBm > x > -12 dBm 200 ms 10% ON 300 ms 10% OFF 700 ms 10% ON 800 ms 10% OFF Cadence: Busy Tone: 425 Hz 15 % Level: -8 dBm > x > -12 dBm 500 ms 10 % ON 500 ms 10 % OFF Cadence: 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 minutes results in a BLACKLISTED result code. If the blacklisting memory is full, any dial to a new number results in a BLACKLIST FULL result code. The number of allowable calls may be adjusted in S43. If S43 = 3, the third call in S44 seconds is blacklisted. The blacklisting time may be adjusted with register S44 (second units). A number is added to the blacklist only 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 Function %B Report blacklisted number (if any) followed by OK Example: AT%B\r 5121234567 OK 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 used to define the CID mode according to the decimal values of n defined in Table 108. 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. Table 108. Caller ID Modes n 0 +VCDT Settings After ring only (default) Rev. 1.41 159 AN93 Table 108. Caller ID Modes 1 Force CID monitor (always on) 2 UK with wetting pulse 3 Japan 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 ring burst, echoes RING to the host, and prepares to detect the CID preamble. On preamble detection, the modem echoes the CIDM response to the host (indicating the preamble was received and 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 triggered. Then, 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, the carrier is lost, and NO CARRIER is echoed to the host. The ISOmodem detects ring bursts, echoes RING to the host, increments the ring counter, S1, and automatically answers after the number of rings specified in 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 109 shows the AT command strings that configure the ISOmodem for Japan Caller ID. Table 109. Japan Caller ID Command Function AT+VCID = 1 Enables Caller ID. AT+VCDT = 3 Selects Japan CID mode. 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 160 Rev. 1.41 AN93 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 region. 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 PSTN. Protocol 2 differs from Protocol 1 in that a packet is preceded by a 300-bit long channelseizure 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. Table 110. Protocol 1 80 bits of mark (constant ones) Message Table 111. Protocol 2 Channel seizure (300-bit stream of alternating ones and zeroes) 80-bit stream of ones Message Four commands control the behavior of the SMS feature, as described in Table 112 below: Table 112. 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. 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. Rev. 1.41 161 AN93 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 host 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 immediately after dialing and returns OK. The host can then prepare the modem 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. 162 Rev. 1.41 AN93 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) after the SAS to indicate that call 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 the +PCW command to toggle the RI pin (+PCW=0), hang 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 113 defines the Multiple Data Message Format (MDMF) parameters in the example response. Table 113. MDMF Parameters Character Description Hexadecimal Value Message Type (MDMF) 80 Message Length 20 Parameter Type (Date/Time) 01 Parameter Length 08 ASCII Value 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 Parameter Type (Name) 07 Parameter Length 08 Name 4A 4F 48 4E 5F 44 4F 45 Checksum 5125551234 JOHN_DOE 40 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 114. The default SAS frequency is 440 Hz. The expected cadence is set in cadence registers SAS_CADENCE0 (UA0) through SAS_CADENCE9 (UA9). Rev. 1.41 163 AN93 The even-numbered registers, (UA0, UA2, etc.), control 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 115 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 114. 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 115. SAS Cadence for Supported Countries* Country Angola Tone Frequency (Hz) Cadence (seconds) U Registers Waiting Tone 400 1.0 - 5.0 U9F = 0x0001 UA0 = 0x0064 UA1 = 0x01F4 0.5 - 10.0 - 0.5 U9F = 0x0000 UA0 = 0x0032 UA1 = 0x03E8 UA2 = 0x0032 0.6 - 10.0 U9F = 0x0004 UA0 = 0x003C UA1 = 0x03E8 0.4 - 0.2 - 0.4 - 4.0 U9F = 0x0003 UA0 = 0x0028 UA1 = 0x0014 UA2 = 0x0028 UA3 = 0x0190 Anguilla Waiting Tone Antigua and Barbuda Call Waiting Tone Argentine Republic 164 Waiting Tone 440 480 425 Rev. 1.41 AN93 Table 115. SAS Cadence for Supported Countries* (Continued) Country Aruba Tone Call Waiting Tone Frequency (Hz) 425 Cadence (seconds) U Registers 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) 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 U9F = 0x0000 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 400x24 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 Rev. 1.41 165 AN93 Table 115. SAS Cadence for Supported Countries* (Continued) Country Tone Frequency (Hz) Cadence (seconds) U Registers 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 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 3x(0.33 - 0.3) Ethiopia Call Waiting Tone 425 0.2 - 0.6 U9F = 0x0003 UA0 = 0x0014 UA1 = 0x003C 0.15 - 8.0 U9F = 0x0003 UA0 = 0x000F UA1 = 0x0320 0.2 - 0.2 - 0.2 - 5.0 U9F = 0x0003 UA0 = 0x0014 UA1 = 0x0014 UA2 = 0x0014 UA3 = 0x01F4 0.8 - 0.2 - 0.3 - 3.2 U9F = 0x0001 UA0 = 0x0050 UA1 = 0x0014 UA2 = 0x001E UA3 = 0x0140 Finland Germany Ghana 166 Waiting Tone Waiting Tone Waiting Tone 440 425 425 400 Rev. 1.41 U9F = 0x0007 AN93 Table 115. SAS Cadence for Supported Countries* (Continued) Country Gibraltar Tone Frequency (Hz) Cadence (seconds) U Registers 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 0.5 - 0.5 - 0.2 - 4.0 U9F = 0x0000 UA0 = 0x0032 UA1 = 0x0032 UA2 = 0x0014 UA3 = 0x0190 Honduras Call Waiting Tone 440 Hong Kong Call Waiting Tone 440 3x(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 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 0.2 - 0.2 - 0.2 - 10.0 U9F = 0x0003 UA0 = 0x0014 UA1 = 0x0014 UA2 = 0x0014 UA3 = 0x03E8 Iceland Iran Waiting Tone Waiting Tone 425 425 Rev. 1.41 167 AN93 Table 115. SAS Cadence for Supported Countries* (Continued) Country Israel Japan Tone Call Waiting Tone Call Waiting Tone I Call Waiting Tone Ii Call Waiting Tone Iii Call Waiting Tone Iv Frequency (Hz) 400 400x16/400 Cadence (seconds) U Registers 1x(0.15 - 10.0 - 0.15) U9F = 0x0001 UA0 = 0x000F UA1 = 0x03E8 UA2 = 0x000F 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 0.1 - 0.1 - 0.1 - 3.0 U9F = 0x0001 UA0 = 0x000A UA1 = 0x000A UA2 = 0x000A UA3 = 0x012C 0.064 - 0.436 - 0.064 - 3.436 U9F = 0x0001 UA0 = 0x0007 UA1 = 0x002C UA2 = 0x0007 UA3 = 0x0158 0.25 - 0.25 - 0.25 - 3.25 U9F = 0x0001 UA0 = 0x0019 UA1 = 0x0019 UA2 = 0x0019 UA3 = 0x0145 U9F = 0x0001 or 0x0002 UA0 = 0x0032 UA1 = 0x001E UA2 = 0x0014 UA3 = 0x001E UA4 = 0x0014 UA5 = 0x012C 400x16/400 400x16/400 400x16/400 Jordan Waiting Tone 420x40// 400+440 0.5 - 2x(0.3 - 0.2) - 3.0 Kenya Call Waiting Tone 425 CONTINUOUS 168 Rev. 1.41 U9F = 0x0003 AN93 Table 115. SAS Cadence for Supported Countries* (Continued) Country Kiribati Tone Waiting Tone Frequency (Hz) 425 Cadence (seconds) U Registers 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 3x(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 Rev. 1.41 169 AN93 Table 115. SAS Cadence for Supported Countries* (Continued) Country Tone Waiting Tone Ii Nigeria Oman Papua New Guinea Paraguay Poland Portugal 170 Frequency (Hz) 400 Cadence (seconds) U Registers 0.25 - 0.25 - 0.25 - 3.25 U9F = 0x0001 UA0 = 0x0019 UA1 = 0x0019 UA2 = 0x0019 UA3 = 0x0145 Waiting Tone Iii 523/659 3x(0.2 - 3.0) - 0.2 U9F = 0x0008 UA0 = 0x0014 UA1 = 0x012C UA2 = 0x0014 UA3 = 0x012C UA4 = 0x0014 UA5 = 0x012C UA6 = 0x0014 Call Waiting Tone 400 2.0 - 0.2 U9F = 0x0001 UA0 = 0x00C8 UA1 = 0x0014 0.3 - 1.0 U9F = 0x0003 UA0 = 0x001E UA1 = 0x0064 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 0.65 - 0.325 - 0.125 - 1.3 - 2.6 U9F = 0x0007 UA0 = 0x0041 UA1 = 0x0021 UA2 = 0x00D UA3 = 0x0082 UA4 = 0x0104 0.15 - 0.15 - 0.15 - 4.0 U9F = 0x0003 UA0 = 0x000F UA1 = 0x000F UA2 = 0x000F UA3 = 0x0190 0.2 - 0.2 - 0.2 - 5.0 U9F = 0x0003 UA0 = 0x0014 UA1 = 0x0014 UA2 = 0x0014 UA3 = 0x01F4 Waiting Tone Waiting Tone Waiting Tone Waiting Tone Call Waiting Tone 425 425 950/950/1400 425 425 Rev. 1.41 AN93 Table 115. SAS Cadence for Supported Countries* (Continued) Country Russia St.-Kitts-and-Nevis St. Lucia Tone Frequency (Hz) Cadence (seconds) U Registers Waiting Tone 950/1400/1800 3x0.333 - 1.0 U9F = 0x0007 0.5 - 10.0 - 0.5 U9F = 0x0000 UA0 = 0x0032 UA1 = 0x03E8 UA2 = 0x0032 0.2 - 0.2 - 0.2 - 0.2 U9F = 0x0003 UA0 = 0x0014 UA1 = 0x0014 UA2 = 0x0014 UA3 = 0x0014 Waiting Tone Call Waiting Tone 440 425 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 400x33 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 Rev. 1.41 171 AN93 Table 115. SAS Cadence for Supported Countries* (Continued) Country Tone Frequency (Hz) Cadence (seconds) U Registers 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 0.3 - 10.0 U9F = 0x0000 UA0 = 0x001E UA1 = 0x03E8 0.2 - 0.6 - 0.2 - 8.0 U9F = 0x0005 UA0 = 0x0014 UA1 = 0x003C UA2 = 0x0014 UA3 = 0x0320 0.5 - 10.0 - 0.5 U9F = 0x0000 UA0 = 0x0032 UA1 = 0x03E8 UA2 = 0x0032 0.3 U9F = 0x0000 UA0 = 0x001E UA1 = 0x03E8 UA2 = 0x001E UA3 = 0x03E8 Trinidad and Tobago Waiting Tone Call Waiting Tone Turkey Turks and Caicos Islands United States Waiting Tone Call Waiting Tone 440 450 440 440 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: 1xf2 f1+f2 f1/f2 f1//f2 172 Explanation of Symbols: f1 is modulated by f2. the juxtaposition of two frequencies, f1 and f2, without modulation. f1 is followed by f2. in some exchanges, frequency f1 is used, and in others, frequency f2 is used. Rev. 1.41 AN93 6.6. Intrusion/Parallel Phone Detection The modem may share a telephone line with a variety of other devices, especially telephones. In most cases, the modem has a lower priority for access to the phone line. Someone dialing 911 in an emergency, 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 off-hook. If someone picks up a phone while the modem is connected or dialing, the modem should 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 loop has a Tip-toRing voltage greater than 40 V if all devices sharing the line (telephones, fax machines, modems, etc.) are onhook. The typical local loop has a large dc impedance that causes the Tip-Ring voltage to drop below 25 V when a device goes off-hook. The host can monitor LVCS to determine whether the Tip-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 voltage and establish the on-hook intrusion threshold 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 off-hook with the ATD, ATO, or ATA command, the ISOmodem reads the line voltage and compares it to U83 (NOLN) [15:0] and U84 (LIUS) [15:0]. Loop Voltage 0 < LVCS < U83 Action Report NO LINE and remain on-hook U83 < LVCS < U84 Report LINE IN USE and remain on-hook (U register) U84 < LVCS Go off-hook and establish connection A debouncing timer controlled by U-registers 50 and 51 prevents polarity 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 Rev. 1.41 173 AN93 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 voltage and compares it with the stored reference. 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-hook 85% x U85 < LVCS Go off-hook and establish connection To prevent polarity reversals from being detected as a loss of loop current, a debounce timer controlled by Uregisters 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 has gone on hook due to a parallel phone intrusion. 6.6.2. Intrusion Explanation When the ISOmodem is off-hook, the value in U63 [15:8] (LCS) represents loop current. If the ISOmodem is in the data mode, it is difficult for the host to monitor the LCS value. For this reason, the modem monitors the line for offhook intrusions; when an intrusion is detected, the modem can interrupt the host and go back on-hook automatically, based on parameters set by the host. To avoid false intrusion detections due to loop transients during the on-hook to off-hook transition, there is a delay between the ISOmodem going off-hook and the start of the intrusion algorithm. The delay is set by U77 [15:12] (IST) (Intrusion Settling Time). When the settling time has passed, the off-hook intrusion algorithm monitors the value of LCS at a sample rate determined by U76 [15:9] (OHSR). The samples are processed one of two ways, depending on whether UAE [7] (UAEM) is set. If UAEM = 0, the modem declares an intrusion on two consecutive low-current samples; this is the legacy mode and is compatible with previous versions of the ISOmodem. UAEM = 1 enables an enhanced algorithm that offers increased immunity to false detections. The enhnanced algorithm is used in applications where glitches of less than 800 ms must be ignored but an intrusion is declared for a one second drop in loop current. The enhanced algorithm is enabled by setting UAEM = 1, initializing UAE [5:0] (DCLM) with a non-zero delta current value and (if it is known in advance) a reference current in UAE [15:8] (ACLM). The modem samples the loop current (LCS) and compares the sample to the reference value in ACLM. If ACLM = 0, the modem stores the initial loop current in ACLM and waits for the next sample. The modem stores two samples before it starts looking for an intrusion. Starting with the third sample, if ACLM ? 0, the modem does the comparison: LCS < |ACLM| - |DCLM| and stores the result. ACLM is updated if the above comparison is false for sixteen consecutive values of LCS and if U76 [8] (FACL) = 1. If this comparison is true for ten consecutive values of LCS, an intrusion is declared. LCS is sampled at a rate of 8 x OHSR; setting OHSR to a value of 800 ms, an intrusion is detected when the interruption has continued for at least 1.0 s. If UAEM = 0 (the default setting), the legacy algorithm is in effect: the modem compares each LVCS sample to the reference value in U76 [4:0] (ACL). If LVCS is lower than ACL by an amount greater than the value set in U76 [7:5] (DCL) for two consecutive samples, an intrusion is declared. The ISOmodem can automatically update ACL with the LVCS value while off-hook (unless an intrusion has occurred). An ACL value can be written by the host and forced to remain unchanged by setting U76 [8] (FACL) = 1. If ACL = 0, the ISOmodem does not begin the intrusion algorithm until after two LVCS samples have been received. .ACL = 0 at the first off-hook event after reset, unless a value is written to it by the host. 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 legacy intrusion detection algorithm is as follows: 174 Rev. 1.41 AN93 if LVCS(t) = LVCS (t - 40 ms x OHSR) and ACL - LVCS(t) < DCL then ACL = LVCS(t) if (ACL - LVCS x (t - 40 ms x OHSR) > 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) Using either algorithm, when an intrusion is detected, U70[2] (PPD), Parallel Phone Detect is set. If U70 [10] (PPDM) (Parallel Phone Detect Mask) is set to 1, an interrupt is triggered. In UART mode the INT pin is asserted; in parallel or SPI mode the INT bit (Hardware Interface Register 1, [3]) is triggered and, if INTM = 1, (Hardware Interface Register 1, [4]), INT is asserted. The host can monitor PPD or issue an AT:I command to verify the cause of an interrupt and clear PPD. 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 116 lists the U registers and bits used for both Intrusion Detection algorithms. Table 116. Intrusion Detection Register Bit(s) Name Function U63 15:8 LCS Line Current Sense U6C 15:8 LVS Line Voltage Sense U70 10 PPDM 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 - Legacy Algorithm U76 4:0 ACL Absolute Current Level - Legacy Algorithm 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 Threshold %V1 U85 15:0 NLIU Line-in-use/No Line Threshold %V2 UAE 15:8 ACLN Absolute Current Level - New Algorithm UAE 7 UAEM UAE Mode UAE 6:0 DCLN Differential Current Level - New Algorithm Parallel Phone Detect Mask Rev. 1.41 175 AN93 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 and current by reading U79 [4:0] (LVCS) or U6C[15:8] (LVS) and U63[15:8] (LCS). To set the ISOmodem to monitor loop voltage in the on-hook state, the host issues the following commands: Command AT:R6C Function Host reads the loop voltage from the LVS Register U6C bits 15:8 while the modem is on-hook. To set the ISOmodem to monitor loop current, the host issues the following commands: Command ATH1 AT:R63 Function To go off-hook Host reads loop current from the LCS Register U63 bits 15:8 while the modem is offhook. 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 negotiated by the two modems. The Si2494/93 can also be placed on hold itself by a remote 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 higher speed modulations. 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 163. 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 117. 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 been initiated, it may be necessary for the Si2494/93 to perform a hook-flash to indicate 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 hookflash 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. 176 Rev. 1.41 AN93 Table 117. Possible Responses to PMHR Command from Remote Modem Description 0 Modem-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 timeout granted 14 MOH request denied. Future requests in the same session will also be denied. 6.7.2. Receiving Modem-On-Hold Requests If modem-on-hold is enabled via the +PMH=1 command, the Si2493 may be placed on hold by a remote modem. The maximum time the modem will remain on hold is configured with the +PMHT setting. Possible values of +PMHT are given in Table 121. 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,12 The following data stream was received over a noisy line. 0D 19 19 BE 29 49 0A B1 B0 C6 19 45 43 19 19 07 B0 52 4F B2 B2 EA 19 0D 4E 30 29 D8 B2 0A 4E 93 C6 31 05 45 19 19 C2 CB 43 B1 B0 05 14 54 19 19 3C 9F 20 B2 B2 FA 7C 31 30 FF C8 2D 32 93 98 86 19 30 19 89 C4 B0 30 B1 18 40 19 0D 19 19 E6 B2 Rev. 1.41 0A B2 B0 19 19 19 30 19 A0 B2 BE 93 B2 CA 19 20 19 92 EA BA 20 B1 6E A8 0D 19 19 EF F9 0A B1 B2 14 19 4E 19 19 65 B2 4F B0 B2 19 8D 20 19 B6 B0 00 43 B2 9E 19 57 41 30 F7 B2 A5 52 93 46 DA 43 52 177 AN93 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 118 lists an initial analysis of some recurring data patterns. Table 118. 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 occurrence of HDLC flags, 19 B2 and subsequent data are discarded. 19 B2 This pattern 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 Packet. 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 178 Rev. 1.41 AN93 Table 118. Bit Errors (Continued) Data 30 93 19 B1 Meaning Good Packet Beginning of Packet 19 B2 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 Packet Beginning of Packet 19 B2 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 Packet 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 mark bits 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 mark bits in a row. The modem looks for HDLC flags. 19 B2 HDLC Flag detected Beginning of Packet Rev. 1.41 179 AN93 Table 118. Bit Errors (Continued) Data Meaning Spurious data FF 98 89 18 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 Spurious data 92 6E EF 14 65 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 19 A0 CA EA A8 F9 19 B2 Spurious data Transparency code, represents 0x11 data byte found in receive data. Spurious data 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 mark bits 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 mark bits 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 1byte 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 180 Rev. 1.41 AN93 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 19 19 BE 29 49 0A B1 B0 C6 19 45 43 19 19 07 B0 52 4F B2 B2 EA 19 0D 4E 30 29 D8 B2 0A 4E 93 C6 31 05 45 19 19 C2 CB 43 B1 B0 05 14 54 19 19 3C 9F 20 B2 B2 FA 7C 31 30 FF C8 2D 32 93 98 86 19 30 19 89 C4 B0 30 B1 18 40 19 0D 19 19 E6 B2 0A B2 B0 19 19 19 30 19 A0 B2 BE 93 B2 CA 19 20 19 92 EA BA 20 B1 6E A8 0D 19 19 EF F9 0A B1 B2 14 19 4E 19 19 65 B2 4F B0 B2 19 8D 20 19 B6 B0 00 43 B2 9E 19 57 41 30 F7 B2 A5 52 93 46 DA 43 52 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). After the delay, current is sampled every 1 ms. An overcurrent is detected if two 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. The registers and bits that control these features are shown in Table 119. Table 119. Overcurrent Detection Register Bit Value Function U67 7 DCR DC Impedance Select U70 11 OCDM U70 3 OCD Overcurrent Detect U77 8:0 OHT Off-Hook Time U79 4:0 LVCS Line Voltage Current Sense U1DD 15:0 AOCN Time to stay off hook in overcurrent situation, in 5 ms units. When this timer expires, the modem returns on hook. Used only when AOC bit of U77 is enabled. Overcurrent Detect Mask 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. Rev. 1.41 181 AN93 6.10.2. Method 2: Single Off-Hook Transition Use this method if it is undesirable for the modem to go off-hook more than once or to DTMF dial a single digit. This method is somewhat more complicated and is best illustrated with an example, dialing the number 12345 below. Set bit 7 of U-register 7A (U7A [7] (DOP) = 1) and send ATDT1; (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;, continue by sending ATDTW; 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 DTMF capable. Complete the dialing by sending ATDT2345 (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;, the line requires pulse dialing. Pulse dial the entire telephone number using ATDP12345. 6.10.3. Method 3: Adaptive Dialing Adaptive dialing attempts to dial with DTMF, then falls back to pulse dialing. It is enabled 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. Table 120. Automatic Phone Line Configuration AT Command &X1 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 (PBX) 1 connected to outside line Z = 0 continuous dial tone 1 make-break dial tone n = 0-9, number for outside line 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. 182 Rev. 1.41 AN93 6.11. Telephone Voting Mode The telephone voting mode (TVM) of operation monitors the line to detect polarity reversals after dialing. It waits for a busy tone to be detected and reports POLARITY REVERSAL or NO POLARITY REVERSAL followed by OK. To enable TVM, use the G character in the dial string (eg. 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 after the last digit is dialed and ends at the detection of the busy tone. 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 Table 122. 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 123. The AT+PSS command may be used to force quick connect by setting AT+PSS = 1; however, this is not recommended because calling a server that does not support this feature will result in a failed connection. Table 121. Possible +PMHT Settings 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 Rev. 1.41 183 AN93 Table 122. AT+PQC Parameters 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 123. AT+PSS Parameters 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 procedures on the next and subsequent connections if they are enabled by the +PQC command. 2 Forces the use of the full startup procedures on the next and subsequent connections independent of the setting of the +PQC command. 6.13. Abort the Dialing Operation in Voice Mode In off-hook, voice mode (AT+FCLASS = 8 and AT+VLS = 15) the modem remains in AT command mode during dialing; therefore, character abort is not available to abort the dialing. In this mode the host should abort dialing by sending the AT+VLS = 0 command. This will cause the modem to stop dialing and return on-hook. The modem will respond with two OKs: one OK for the dialing command and one OK for the AT+VLS = 0 command. 184 Rev. 1.41 AN93 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), doubletalk 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 commands, V.253 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 shielded commands are used. The events can appear in all states. 7.1.2. AT+ Extended Commands Table 124. Extended AT+ Command Set Command +FCLASS = Action Data/Voice Mode Selection Description 0 Data (default) 8 Voice mode 256 SMS mode Note: An ATH command will automatically transition the DCE to +FCLASS=0. +IPR = Fixed DTE Rate Description 0 Automatically detect the baud rate. [BPS] The decimal value of the rate in bits per second. The 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. Rev. 1.41 185 AN93 Table 124. Extended AT+ Command Set (Continued) Command +VCDT = Caller ID Type 0 1 2 3 4 5 6 7 Description After ring only Always on UK Japan DTMF after polarity reversal DTMF after polarity reversal (off-hook reception) Always-on DTMF DTMF after ring +VCID = Caller ID Enable Description 0 Off 1 On--formatted 2 On--raw data format +VDR = , Distinctive Ring Cadence Reporting ,Mode 0, x Disable distinctive ring; x = don't care 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, n Enable distinctive ring. The DCE will report DROF and DRON result codes as well as well as a Ring result code n/10 seconds after the falling edge of a ring pulse. DROF and DRON are reported in 100 ms units. +VGR = Receive Gain Selection The 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 and commands discussed in Table 125 on page 190 for information on how to control the receive gain during active voice stream processing. +VGT = Transmit Gain Selection The 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 the DAA. The purpose is to adjust the DTE transmit gain for the TAM voice stream during idle state. See the and commands discussed in Table 125 on page 190 for information on how to control the transmit gain during active voice stream processing. +VIP +VIT = 186 Action Load Voice Factory Defaults. DTE/DCE Inactivity Timer The parameter has a range of 0-255 with units of seconds. The default is 0 (disable). Rev. 1.41 AN93 Table 124. Extended AT+ Command Set (Continued) Command Action +VLS =