The CMX228 is an ISDN data and telephony protocol engine which implements the lower level ISDN interface
and communicates with the CMX605 and other standard devices to form a fully integrated ISDN chipset for
both voice and data communications. The CMX228 puts all the main data processing elements in a single
device. No ISDN software has to be written and simple ‘Plug and Play’ design results. This reduces
development time and provides a highly cost-effective hardware solution. By using proven circuit designs, the
designer can move quickly from initial concept through design in to manufacture.
The CMX228 supports one voice port over the ISDN Line, which can be used to provide ISDN telephony
services or a POTS line interface, and a single data channel, capable of operation at 115,200bps. The
CMX228 features a full set of ‘Hayes’ compatible AT command codes on its asynchronous data interface, in
addition to providing keypad-configurable voice telephony services. The CMX228’s feature set and
architecture allow most analog systems to be converted to an ISDN equivalent with enhanced features.
The CMX228 is designed to work with the AMD 79C30 S/T bus interface, the Siemens PSB-21525 HDLC
formatter and the MX-COM CMX605 POTS interface circuit, and also comes complete with embedded
applications software. In addition, the CMX228 offers data transfer (up to 16kb/s) over the D-channel by
using the X.25 protocol. To support the CMX228, MX-COM can also provide licensed reference designs on
user request. A flexible Applications Program Interface (API) allows users to customize the features and
operation of their own design. The CMX228 is available in an 80-pin QFP (CMX228S1) package.
1
The CMX228 is a data processor integrated circuit that supports the protocol layers 1, 2 and 3 of the ISDN protocol stack in accordance
with the specifications of CCITT (now ITU). These specifications, which are widely used around the world, might not be supported withi n
the U.S.
24 A19 output Memory and Peripheral Address Bus
25 A18 output Memory and Peripheral Address Bus
26 A17 output Memory and Peripheral Address Bus
27 A16 output Memory and Peripheral Address Bus
28 A15 output Memory and Peripheral Address Bus
29 A14 output Memory and Peripheral Address Bus
30 A13 output Memory and Peripheral Address Bus
31 A12 output Memory and Peripheral Address Bus
32 A11 output Memory and Peripheral Address Bus
33 A10 output Memory and Peripheral Address Bus
34 A9 output Memory and Peripheral Address Bus
35 A8 output Memory and Peripheral Address Bus
36 A/D7 bi-directional Memory and Peripheral Address and Data Bus
37 A/D6 bi-directional Memory and Peripheral Address and Data Bus
38 A/D5 bi-directional Memory and Peripheral Address and Data Bus
39 A/D4 bi-directional Memory and Peripheral Address and Data Bus
All trademarks and service marks are held by their respective companies
Description
ISDN Data and Telephony Protocol Engine with x.25 6 CMX228 Advance Information
S1 Package Signal
Description
Pin No. Name Type
40 A/D3 bi-directional Memory and Peripheral Address and Data Bus
41 A/D2 bi-directional Memory and Peripheral Address and Data Bus
42 A/D1 bi-directional Memory and Peripheral Address and Data Bus
43 A/D0 bi-directional Memory and Peripheral Address and Data Bus
44 ASTB output Address/Data Bus Strobe (data bus selected if low)
DV
45
46 ~ input
SS0
power The digital negative supply rail (ground)
For manufacturer's use only. Connect to DV
directly
SS
47 PSBRES output HDLC Chip Reset
48 N/C output Do not make any connection to this pin
49 N/C output Do not make any connection to this pin
50 API-RXD input API/RS232 Port 2 Rx Data (inactive = high)
51 API-TXD output API/RS232 Port 2 Tx Data (high when inactive)
52 N/C output Do not make any connection to this pin
53 NC output Do not make any connection to this pin
54 ILFI output ISDN Line Failure Indicator
DV
55
DD0
power
The digital positive supply rail. Levels and voltages are
dependent upon this supply. This pin should be decoupled to
DV
by a capacitor
SS
56 RING1 output POTS Port Ringing Generator (low when not ringing)
57
1RING
58 CLIP1 output
output POTS Port Ringing Generator (high when not ringing)
POTS Port Line Voltage Adjustment (low when sending FSK to a
Caller Display unit. If low, it makes the SLIC present a high
impedance to the POTS line)
59 ILINE1 input POTS Port Hook Switch Status Detector (on-hook = low)
60
∼
input
For manufacturer’s use only. Connect to DV
directly
SS
61 REPLY input CMX605 C-BUS Interface - Reply Data
62
CMD-
output CMX605 C-BUS Interface - Command Data
DATA
63 SER-CLK output CMX605 C-BUS Interface - Serial Clock
AV
64
DD
power
The positive analog supply rail. Levels and voltages are
dependent upon this supply. This pin should be decoupled to
AV
by a capacitor
SS
65
66
67
AV
AV
REF1
SS
1CS
power
power The negative analog supply rail (ground)
A/D Reference Voltage. Connect to AVDD directly
output CMX605 C-BUS Interface (chip select for POTS Port)
68 N/C output Do not make any connection to this pin
69
70
AV
AV
71 NMI input
REF2
REF3
power
power
D/A Reference Voltage. Connect to AVDD directly
D/A Reference Voltage. Connect to AVSS directly
For manufacturer's use only. Connect to DV
directly
SS
72 API-INT input API Interrupt (inactive = high)
73
All trademarks and service marks are held by their respective companies
ISDN Data and Telephony Protocol Engine with x.25 8 CMX228 Advance Information
4. General Description
The CMX228 is a single-chip data processor which has been mask programmed with firmware to implement
an ISDN protocol stack. This enables the CMX228 to interface an analog (POTS) port and a digital (RS232)
port to an ISDN S-bus network connection. Key variables are stored in an external EEPROM and the user
can provide additional features by adding external ROM and RAM. Access to the firmware Application
Programmer's Interface (API) facilitates the seamless integration of the user's additional features with the preprogrammed ISDN to POTS and RS232 interfaces.
The CMX228 is intended for use as part of an ISDN chipset and all descriptions in this data sheet refer to this
implementation, which is shown in Figure 3. The use of alternative chipsets is not supported.
The firmware supports connection to an ISDN S-bus
controller and the AMD AM79C30 ST controller with integral PCM codec for a single POTS port.
The CMX228 interfaces with a CMX605 Tone Generator and DTMF Receiver chip, which decodes incoming
DTMF tones and generates certain call progress signals (e.g. busy tone) normally originating from an analog
telephone exchange. The firmware translates the CMX605 data into ISDN D-channel commands and vice
versa to support both incoming and outgoing calls. For the ISDN interface, D-channel commands sufficient
for standard telephony applications are implemented. With the aid of a small amount of discrete circuitry,
exchange battery voltage, ringing current, line reversal and off-hook detection are also supported, to complete
the POTS interface.
The CMX228 also provides a data port that can drive a standard RS232 interface with the aid of a Maxim
MAX238, or similar, level converter. The firmware provides support for incoming and outgoing data calls,
RS232 auto-bauding from 9600bps to 115200bps, auto parity detection, RTS/CTS flow control, call clearing
on loss of DTR, V.120 rate adaption, PPP async to sync conversion, X.25 protocol on both B and D-channels,
packet assembly and disassembly for X.25, and a comprehensive set of Hayes commands (which facilitate
the use of normal PC-based modem software). The CMX228 has dedicated outputs for visible indicators
(LEDs), which can be used to provide information on the call status. Support for Multiple Subscriber
Numbering is also included in the firmware.
The CMX228 can be configured either by means of keypad (DTMF) programming via the POTS port or by
means of an extended Hayes command set via the RS232 port. Configuration parameters allow the user to
change (for example) the format and cadence of the ringing signal, so as to facilitate use of the CMX228 in
different countries. Each POTS and RS232 interface is able to configure the variables relevant to its own use.
An Application Programmer's Interface (API) is available and is described separately in Section 4.8. Further
details are available on completion of a Non-Disclosure Agreement. Please contact MX-COM directly for
further details.
The firmware and finite state machine embedded in the CMX228 have been used in products that have
gained ETSI CTR3 approval.
All trademarks and service marks are held by their respective companies
ISDN Data and Telephony Protocol Engine with x.25 9 CMX228 Advance Information
4.1 Glossary
ACCM
API
CIDCW
CLI
CRC
CTS
DCD
DDI
DTE
DTMF
DTR
HDLC
IA5
IE
ILFI
ISDN
LAPB
LAPD
LCGN
LED
LLI
MFO
MSN
NUA
NUI
PAD
PC
PCM
POTS
PPP
PVC
RI
RNR
RR
RTS
SABM
SABME
SLIC
SPM
SVC
TEI
Asynchronous Control Character Map
Application Programmer’s Interface
Caller Identification During Call Waiting
Calling Line Identification
Cyclic Redundancy Check
Clear to Send
Data Carrier Detect
Direct Dialing Inwards
Data Terminal Equipment
Dual Tone Multiple Frequency
Data Terminal Ready
High Level Data Link Control
International Alphabet No 5
Information Element
ISDN Line Failure Indicator
Integrated Services Digital Network
Link Access Procedure - Balanced
Link Access Procedure on the D-Channel
Logical Channel Group Number
Light Emitting Diode
Logical Link Identifier
Multiple Frame Operation
Multiple Subscriber Numbering
Network User Address
Network User Identification
Packet Assembler/Disassembler
Personal Computer
Pulse Code Modulation
Plain Old (Analog) Telephone Service
Point to Point Protocol
Permanent Virtual Circuit
Ring Indication
Receiver Not Ready
Receiver Ready
Ready to Send
Set Asynchronous Balanced Mode
Set Asynchronous Balanced Mode Extended
Subscriber Line Interface Circuit
Subscriber Pulse Metering
Switched Virtual Circuit
Terminal Endpoint Identifier
All trademarks and service marks are held by their respective companies
ISDN Data and Telephony Protocol Engine with x.25 10 CMX228 Advance Information
4.2 Initialization
On power-up, the CMX228 assumes its default values, which are factory programmed into the firmware. It
then performs a self-test, during which all of the LED pins and the ILFI pin are held high for 3s. If the test is
unsuccessful, the CMX228 remains in this condition.
If the test is successful, the CMX228 reads its preset values from the attached EEPROM and examines the
state of the ISDN link (i.e. Layer 1) before commencing normal operation. On power-up, the ISDN link is deactivated, the POTS port is assumed to be on-hook, ringing is disabled and the RS232 port is in the Hayes
command state.
4.3 ISDN Interface
Simultaneous voice and data calls are possible but only one of each type. If a call is active (e.g. ringing,
connected or clearing down) and an incoming call of the same type (data or voice) is received, that call will be
rejected with user busy as the cause. Incoming calls are firstly checked for other calls present, then the MSN
is checked for validity, then the channel mapping, so that responses will be handled accordingly.
When channel mapping is enabled, outgoing calls will request the channel enabled. When not enabled, a
request for any channel is made. If no free channels are available for outgoing calls, a locally generated busy
tone is returned to the analog port or the appropriate Data Call Result Code is returned to the digital port.
4.3.1 Activation
Activation occurs in the following circumstances:
•
The ISDN network activates.
•
The device connected to the analog port goes off hook.
•
The device connected to the data port sends a Hayes dial command.
The Terminal Endpoint Identifier (TEI) is either negotiated (Hayes register !C7 = 64) or fixed
(Hayes register !C7 = 0 to 63). Line powering of the CMX228 is not supported.
The 'AR' indicator (LED8) toggles between high and low states when the CMX228 is powered up, and
remains constantly low once the CMX228 identifies an activated ISDN line.
ISDN line power detection is not implemented and the CMX228 will negotiate a new TEI on any new network
activation.
4.3.2 De-activation or Line Disconnection
De-activation or line disconnection causes the TEI to be removed. Upon re-connection the CMX228 will only
be re-activated and request a new TEI when one of the conditions in the above section is met.
4.3.3 Line Failure Detection
If the line failure detection parameter is enabled (either via the POTS port or via the RS232 interface) the
CMX228 will check that Layer 2 communications are active every sample period of 30 seconds. If Layer 2
communications are not active, the CMX228 will attempt to activate them. If they remain inactive for 2 sample
periods, the line is deemed to have failed, so then the ILFI pin is set high and both RING1 and
pins
1RING
are set low. The CMX228 continues to attempt to activate the line and if it becomes active and stays active
for 2 sample periods, then the ILFI pin is set low and RING1 and
pins are restored to their default
1RING
settings.
4.3.4 Incoming Calls
Incoming voice calls and calls from analog lines are directed to the analog port and all other incoming calls
are directed to the RS232 port.