CA1232021A - Digital signal processor modem - Google Patents

Digital signal processor modem

Info

Publication number
CA1232021A
CA1232021A CA000462458A CA462458A CA1232021A CA 1232021 A CA1232021 A CA 1232021A CA 000462458 A CA000462458 A CA 000462458A CA 462458 A CA462458 A CA 462458A CA 1232021 A CA1232021 A CA 1232021A
Authority
CA
Canada
Prior art keywords
modem
data
signal processor
signals
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000462458A
Other languages
French (fr)
Inventor
Mark A. Waldron
Tommy Y. Leung
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CTS Corp
Original Assignee
CTS Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CTS Corp filed Critical CTS Corp
Application granted granted Critical
Publication of CA1232021A publication Critical patent/CA1232021A/en
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0008Modulated-carrier systems arrangements for allowing a transmitter or receiver to use more than one type of modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/143Two-way operation using the same type of signal, i.e. duplex for modulated signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • H04L1/0003Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes

Abstract

Digital Signal Processor Modem Abstract of the Disclosure A dual speed, full duplex modem for transmitting and receiving data on a dialed-access telephone line includes a signal processor for storing samples corresponding to a sinusoidal waveform, for selecting samples at intervals determined by the mode in which the modem is operating to synthesize a signal for modulating by data for transmission, and for autocorrelating a received signal at a frequency determined by the mode In which the modem is operating to recover data from the received signal.
The signal processor includes configuring input ports, and a microcomputer receivers instructions related to the mode in which the modem is to operate to output a mode-configuring word to the configuring Inputs.
Conversion from the signal processor's digital output to the analog signal to the line and from the line's analog signal to the signal processor's digital input takes place through two time-division multiplexed coder-decoders. The stored sinusoid is mu-law compressed. The modem can dual tone, multiple frequency dial. The DTMF pair requires a different amplitude from the amplitude of the synthesized signal for modulating by data for transmission. A power series expansion of the required amplitudes of the DTMF tone pair permits both the synthesized signal for modulating by data for transmission and the tones of the DTMF pair to be calculated from the mu-law compressed sinusoid.

Description

~.Z3Z02~

Digital Signal Processor Modem Descrlpt ! on Technical Field This invention relates to modulator-demodulator (modem) systems for transmitting and receiving data over conventional dlrec~ distance dial DUD networks, and more particularly to a two-speed full duplex modem.

background Art There are known types of modems which have the capability to transmit in a low speed asynchronous mode (0-600 bits per second -- bus) by 10 coherent frequency shift keying (FISK), and In a high speed synchronous mode at 1,200 bus or character asynchronous 1,200 bus plus 1.0%, minus
2.5%, by quadrature differential phase shift keying (QDPSK3. Typically, these systems permit a character length of I 9, 10 or 11 bits per character to be selected. These types of systems operate In the 15 originate, manual answer, and automatic answer modes with full duplex at all speeds. They are data tenmlnal equipment compatible, frequently through an RS-232c Interface, and are DUD network compatible through a standard telephone fine Jack.
Typically, in the low speed mode, the originate modem transmits a 20 "mark" (1'1"~ at 1270 Ho + .5% and a "space" C"0") at 1070 Ho + .5%. The answer modem receives Tncomlng Information at 1270 Ho + .5% for the mark and 1070 Ho + .5% for the space. The answer modem sends a mark at 2225 Ho + .5% and a space at 2025 Ho + OWE The originate modem receives a mark at 2225 Ho ' .5% and a space at 2025 Ho + .5%.
In the high speed mode of operation, the originate modem transmits at 1200 Ho + .01% and receives at 2400 Ho + .01%. The answer modem transmits at 2400 Ho + .01% and receives at 1200 Ho + .01%.
Dual speed, full-duplex modems are known. There is, for example, the system described in US. Patent 4,069,392. Various other features, such 30 as coherent modulation, elastic data bits to negate data rate errors, data - 2 - sly scrambler-descrambler algorithms, analog loop back, both local and remote digital. loop backs, as well as other desire able features, are frequently incorporated into dual speed, full duplex modems of the type having the above-described characteristics. Reference is made to the following additional US. patents which discuss -individual ones of these various features: 3~783,194; 3,(;19,503; 3,937,882;
4,304,962; and 3,515,805. As background information, the following listed US. patents may also be useful: 4,101,833;
4,0~9,909; 4,101,323; 3,997,847; and 4,048,440. The American Telephone & Telegraph Company, Bell System Purchased Products Division, Compatibility Bulletin No. 109 regarding compel-ability criteria for data set AYE, is also useful for its background information content.
Regarding AYE data sets, it is uphill to understand that in the low speed operating mode, the originating modem sends a 1270 Ho signal to correspond to a "1" data bit and a 1070 Ho data bit to correspond to a "0". The answering modem thus receives and decodes the 1270 Ho signal as a "1" data bit and the 1070 Ho signal as a "0" data bit. Simultane-ouzel, since the system issue full duplex system, the answering modem may be transmitting information to the originating modem , with a 2225 Ho signal corresponding to a "1" data bit and 2025 Ho signal corresponding to a "0"
data bit. Thus, the originating modem may be receiving information at these frequencies and decoding this informal lion as "1" data bits (2225 Ho) and "0" data bits (2025 Ho).

~;~3202i - pa -In the high speed mode, the data stream to be transmitted is divided into groups of two consecutive bits (called digits). Such bit pairs, or digits, can have the following values: 00; 01; 10; or 1.1. Each of these pairs is encoded as a phase change relative to the phase of the preceding digit, with 00 being encoded as a plus 90 phase shift from the preceding digit, 01 being encoded as a 0 phase shift from the preceding digit; 10 being encoded at a 10 phase shift from the preceding digit; and 11 being encoded as a ~90 phase shift from the preceding digit. At the receiver, the phase shifts are detected and the digits thus decoded.
The digits are then further decoded into individual bits and reassembled in the correct order, with the left hand digit of the bit pair or digit occurring first in the data stream.

1232~Xl In the high speed node, frequency division ~ultlplexlng similar to that used In the low speed mode Is used. The originate node transmits at 1200 Ho + .12 Ho, and the answer modem receives at thus frequency. Since the operation is full-duplex, the receive modem can simultaneously be transmitting data to the originate modem at 2400 Ho + .24 Ho.
It will be appreciated from a review of the above-mentloned patents that considerable hardware Is typically Involved In the acceptance of the data stream from the data terminal equipment associated with the originate modem, frequency shift keying of the low-speed carrier in response to the incoming, originate data stream, placing the data stream on the fine, receiving the data system, and demodulating It to recover the data stream at the answer data tenmlnal equipment. Typically, an equal amount of hardware To required to perform the same functions for data streams orlglnatlng at the answer data terminal equipment and In relation to the associated modem, the telephone fines, the originate modem, and the originate data terminal equtpnnent. A substantial additional amount of hardware Is required to permit the modulation, transmission, reception and demodulation of high speed data streams from and to each of the originate and answer data terminal equipments.
It Is a primary object of the present Invention to take advantage of digital data processing techniques and dlgltal-to-analog and analog-to-dlgltal conversion techniques to reduce quite substantially the hardware required to realize a dual-speed, full-duplex modem data transmission and reception system.
According to the present Invention, a dual-speed, full-duplex modem system Includes a signal processor for processing outgoing data to produce a first strewn of digital signals, a dlgltal-to-analog converter and means for coupling the signal processor to the dlgltal-to-analog converter to convert the first stream of digital signals Into a first quadrature differential phase shift keyed signal. The signal processor also Is capable of stn~ltaneously processing an incoming second stream of digital signals and converting the second strewn- of digital signals into an Incoming data. An analog-to-dlgTtal converter is provided, along with means for coupling the analog-to-digttal converter to the signal processor c -4- 1;~3~!~~

to convert a second quadrature differential phase shift keyed signal into the second Starr of digital signals. The signal processor further Is capable of processing outgoing data to produce a third stream of digital signals. The dlgttal-to-analog converter converts this third stream of 5 digital signals into a transmlsslon-ready frequency shift keyed signal for low-speed data transmission. The Signal processor simultaneously can process an Inccrntng fourth stream of d~gltal signals from the analog-to-digltal converter and convert this fourth stream of digital signals Into received data at the low speed receive rate. The modem 10 additional lye caTprlses a microcomputer for receiving Instructions regarding the first, second, third and fourth streams of digital signals.
Means are provided for coup In the microcomputer to the signal processor.
The microcomputer controls the signal processor in response to the instructions to configure the signal processor to process the first anal 15 second streams of digital signals or the third and fourth streams of digital signals.
Further according to the present Invention, the microcomputer controls the signal processor to access a conductor pair for data trays-mission between an originate data terminal equipment and an answer data 20 terminal equipment coupled to each other by the conductor pelf.
The invention may best be understood by referring to the folla,llng description and accctr~anylng drawings which Illustrate the invention.

Descry i pi 1 on of the Drawl nags Fig. 1 illustrates In block dlagran form the system configuration for 25 lisped full-duplex data transmission;
Fig. 2 illustrates in block diagram form the system configuration for htgh-speed asynchronous fur l-duplex data transmission;
Fig. 3 Illustrates in block dlagr~n form the system configuration for hlgh-speed synchronous full-duplex data transrnlsslon;
Fig. 4 Illustrates In block diagram form the system configuration for dual tone, multiple frequency (DTMF or TOUCH-TONE ) dial In between an originate data terminal equlornent and an answer data terminal equipment;

_ 5_ 1 32 I 1 1 Fig 5 illustrates in block diagram form the system configuration for a line status detector, Fig. 6 illustrates in schematic diagram form a modem constructed according to the present invention;
Fig. 7 illustrates a simplified block diagram useful in understanding the operation of the modem illustrated in detail in Fig. 6, Figs. Audi illustrate a flow chart of a routine followed by the signal processor of the modem of the present invention;
Figs Audi illustrate a flow chart of a routine followed by the microcomputer of the modem of the present invention; and, Figs. lOa-lOf illustrate flow charts of` the interrupt routines which drive the routine of Figs. Audi and operate the modem of the present invention.
Referring now particularly to Fig 1, when a system incorporating modems constructed according to the present invention is operating in a low speed mode, an originate data terminal equipment 20 is transmitting data in the 0-600 bus range over a coupler 22 to a microcomputer 24, such as the Zilog I microcomputer. The coupler 22 may include an interface, such as an RS232c interface Data to be transmitted is steered by the microcomputer 24 through a coupler 25 to the transmitter section of a signal processor 26 such as a Nippon Electric Company, Ltd., Model 7720 signal processor. In the low-speed configuration, *

Trade Mark ~32~Xl - pa -the output signal on the coupler 28 of the signal processor 26 is a pulse-code modulated (PAM) signal. This information is coupled by coupler 28 to a digital-to-analog converter (D/A) 30. Typically, (DOW) 30 is the commonly used encoder-decoder or so-called Code. The output of D/A 30 through a transmit filter 31 to the line 32, which typically is a telephone line, is *he data-modulated low-speed originate carrier, the ELK carrier. The equipment is the answer end of the system is essentially a mirror image of the equipment at the originate end, and includes a receive filter 33, an analog-to-digital converter (A/D) 34 again, typically a CodecJ, a coupler 36 coupling the PAM Code output to a receiver portion of a signal processor 38 (again, typically an NIKKO. 7720). The output of signal , "

1~3202~

processor 38 appearing on a coupler 40 is provided to a receiver section of a microcomputer 42 (again, Syplcally a Zllog Z8 microcomputer the output of which us received data Identical except for a lime delay to the data appearing on coupler 22. This data, appearing on coupler 44 Is provided to an answer data terminal equipment 46.
Simultaneously with the transmission of data from the originate DYE
20 and the reception of data on the answer DYE 46, data typically Is being transmitted from the answer DYE 46 through this same network to the originate DYE 20. Typically, this ~ransmltted answer data flows as data bits iron the answer DYE 46 through a coupler 48, which again may include an interface such as the RS232c Interface, to data processor 42~ From data processor 42, tots data flaws through a coupler 50 to the signal processor 38 where it Is converted Into PAM signals. A coupler 52 couples the signal processor 38 to a D/A Code 54 from which FISK answer signals are coupled through a transmit filter 55 to the fine 32. At the originate station, answer signals are taken from the fine 32 and supplied through a receive filter 57 to an A/D Code 56. A/D Code 56 takes the FISK answer signals from fine 32 and converts them into PAM signals, which A/D 56 supplies over coupler 58 to signal processor 26. From signal processor 26 to received data, decoded from PAM signals on coupler 58, Is supplied through a coupler 60 to microcomputer 24. The received answer data at low speed Is then supplied via a coupler 62 from microcomputer 24 to the originate DYE 20. In this con~lguratlon, although converters 30, 34, 54 and 56 have been described as separate components, It is to be understood that the same circuits can operate both as a D/A converter as an A/D converter (or PAM signal to FISK signal converter and FISK signal to PI signal converter. An example of such an Integrated circuit Is the AYE Code.
In the high sued asynchronous mode, the microcomputers 24, 42 configure the system as Illustrated In Fig. 2. The significant changes In the system are the addition of extra channels in couplers 25, 50 to accommodate the serial bit pairs from microcomputers 24, 42 which have been converted into parallel bits for generation of the digits In signal processors 26, 38.

Z32~2~

In the high-speed asynchronous mode, the signal on fines 32 is QDPSK.
Additionally, In accordance with the convention established for such modems, the serlal-to-parallel data and parallel-to-serlal data on couplers 25, 50 and 40, 60 Is scrambled. The scrambling of the data prior to transmission and unscrambling of the received data are accomplished by the microcomputers 24, 42 In accordance with a known scra~bler/unscrambler algorithm. Reference Is here made particularly to the above-ldentlfled A~ertcan Telephone and Telegraph Company jell System Purchased Products Division CompatlbllIty Bulletin No. 109.
In the hlgh-speed synchronous mode Illustrated In Fig. 3, the system Is configured generally as discussed In connection with Fig. 2. However, in the synchronous mode, timing information must be suppled to or from transmitting Dyes 20, 46, and must be recovered by the receive micro-computer 42, 24 for use by the receiving Dyes 20, 46. In the hlgh-speed synchronous mode, any one of three timing techniques can be employed, and the software with which microcomputers 24, 42 are programmed can Insert and recover the liming Information without regard to which of these techniques Is employed by the data transmission system.
Timing may be Internal, in which case the microcomputers 24, 42 venerate accurate 1200 Ho signals (from Internal oscillators and clocks).
Illustratively, these clock signals are divided down from highly accurate clock signals several orders of magnitude higher. In the Illustrative embodiment, for example, a 7.3728 MHz + .005% oscillator signal Is divided by 6144 to achieve the 1200 Ho + .005% Internal clock.
If external liming Is used, the originate DYE 20 supplies timing In synchronism with bits of data flowing from it to the microcomputer 24, and answer DYE 46 supplies liming in synchronism with the bits flawing from it to its associated microcomputer 42. This timing information Is recovered from the received signals at the respective microcomputers 42, 24.
In the third timing technique, slave timing, timing Information is derived from the received signal. In this timing scheme, timing pulses are typically ganglia pulses appearing just prior to each data bit followed a half bit later by a logic 11 level, regardless of the logic ~320~

level of the received data. These timing pulses are recovered from the received data and the received data is reconstructed then with the liming pulses removed. The timing Infor~atlon Is then suppled to the receiving DYE, whether answer DYE 46 or originate DYE 20.
In the DTMF dialing mode, the configuration illustrated in Fig. 4, the orlglnatlng DYE 20 produces an American Standard Code of Information Interchange COUCH) coded answer DYE 46-statlon telephone number. This ASCII coded telephone number is provided through coupler 22 to micro-computer 24 where It is converted to a four bit hexadecimal (hex) code.
lo It Is supplied then through coupler 25 to the signal processor 26 which coverts this four bit hex telephone number code to PAM code. The D/A 30 then converts thus PAM code to the known DTMF code. The code Is transmitted through filter 31 and accesses telephone lone 32 through conventional central office switching equipment. The microcomputer 24 is also programmable to conduct pulse dialing.
Fig. 5 illustrates the system configuration in the fine status de~ectlon mode. In this mode, the system can detect a dial tone, a busy tone, a network busy tone and ring back. The status tone is received from the fine 32, bypasses filter 57, and is converted to a pulse code modulated signal in AID 56. The pulse code modulated signal is supplied through the coupler 58 to signal processor 26 where It is converted to a fine status logic signal on coupler 60. The fine status logic signal on coupler 60 Is processed by the microcomputer 24 and a status message is supplied across coupler 62 to the originate DYE 20.
Turning now to a specific circuit realization of the modem, and referring particularly to Fig. 6, the illustrated microcomputer 24, signal processor 26 and Code 30, 56 are provided with terminal or pin Identities corresponding to those terminal or pin identities if the microcomputer 24 Is a Zllog Model 8601 integrated circuit SHEA), signal processor 26 Is a 30 NEW 7720 integrated circuit and D/A-A/D 30, 56 co~prlses two AYE
integrated circuits CCodecs). In addition to these integrated circuits, which are coupled together In the Illustrated configuration, the modem comprises an oscillator/clock 64 including an Inverting amplifier 66, the sly g output of which Is coupled through a resistor 68 to its Input and to one terminal of an oscillator crystal 70. The output of amplifier 66 is also coupled to one terminal of the capacitor 72 the other terminal of which Is coupled through a resistor 74 to the other terminal of crystal 70 and to the output of an inverting amplifier 76. The Junction of resistor 74 and capacitor 72 is also coupled to the input terminal of Inverting an~llfler 76. The output terminal of inverting amplifier 76 is coupled to the Input terminal of a buffer Inventing amplifier 78. The output of this lifter 78 provides the high frequency CLUE signal to pin 15 of signal processor 26. This signal Is also provided to the XTAL-1 input, pin 3, of micro-computer 24 and through an Inventing amplifier 80 to the XTAL-2 input, pin 2, of microcomputer 24. The output signal from buffer ampl1fler 78 Is also provided to the PI terminal, pin 1, of an integrated circuit 82 such as the LS93. The > COP terminal, pin 14 of integrated circuit 82 Is coupled through an Inventing amplifier 84 to terminals IT and WRY pins 17, 24, respectively, of signal processor 26. A 19.2 I clock signal Is provided to these pins by this connection.
Pin 14 of Integrated circuit 82 Is also coupled to an input terminal, pin 4 of an AND gate 86, such as an L508. The Q2 terminal, pin 8, of integrated circuit 82 Is coupled to the > CUP Input terminal, pin 2 of an integrated circuit 88 such as an LS163 integrated circuit. The TO
terminal, pin 15, of Integrated circuit 88 Is coupled to an Input tenmlnal, pin 3, of an inverting amplifier 90, such as an LS04 amply f for.
The output terminal, pin I of Inventing amplifier 90 is coupled to the > CPtermtnal, pin 2, of an integrated circuit 92, such as an LS163 integrated circuit. Pin 4 of inverting an~llfler 90 Is also coupled through an inventor to the PI terminal of integrated circuit 88. The TO
terminal, pin 15 of Integrated circuit 92 Is coupled to pin 4 of AND gate 86. The TO terminal, pin 15, of Integrated circuit 88 To coupled to another Input terminal, pin 5, of AND gate 86. The output terminal, pin 6, of AND gate 86 Is coupled to an Input terminal, pun 9, of an AND gate 94. A Q0 terminal, pin 12, of integrated circuit 82 To coupled to another Input terminal, pun 10 of AND gate 94. Illustratively, AND gate 94 is an ~L~3202~

LS08 integrated circuit. The Q0 terminal of integrated circuit 82 Is also coupled to an input terminal, pin I of an Inventing amplifier 96 such as an LS04 amplifier An output terminal, pin 6, of Inverting amplifier 96 is coupled to an Input terminal, pin 12 of an AND gate 98. Another input terminal, pin 13, of AND gate go is coupled to pin 9 of AND gate 94 and to a D terminal, pin 2, of an Integrated circuit 100, such as the type LS74 integrated circuit. The < input tenmlnal pin 3, of integrated circuit 100 is coupled to the output terminal, pin 2 of an Inventing amplifier 102, such as the type LS04 Inventing amplifier Pin 3 of integrated 100 Is also coupled to the SUCK terminal, pin 18, of the signal processor 26. The Input tenmlnal, pin 1, of amplifier 102 Is coupled to both the CLOCKER and C~KX tenmlnals, plus 17 and 19, respectively, of the two Codes 104, 106 forming the DODD 30, 56. The Q tenmlnal, pin 6, of Integrated circuit 100 Is coupled to an Input terminal, pin 1, of an AND gate 108, such as a type LS08 AND gate. Another Input terminal, pin 2, of AND gate 108 is coupled to the TAX terminals, pins 15, of Codes 104, 106. These terminals are also coupled to the SIREN terminal, pin 19, of signal processor 26. The output terminal, pin 3, and AND gate 108 Is coupled to the SOWN terminal, pin 20, of signal processor 26. the CLUCK termlnalsj JO pins 24, of Codes 104, 106 are coupled together. The DO terminals, pins 14 of Codes 104, 106 are coupled together and to the 51 terminal, pin 21, of signal processor 26. The DRY terminals, pins 8, of Codes 104, 106 and coupled together and to the SO Tylenol, pin 22 of signal processor 26.
The FOX and FUR terminals, pins 20, 18, respectively, of Code 10~ are coupled to the output terminal, pin 8, of AND gate 94. The FOX and FUR
terminals, pins 20, 18, respectively, of Code 106 are coupled together and to the output tennlnal, pin 11, of AND gate 98. Pin 6 of inverting amplifier 96 is coupled to a < input terminal, pin 1, of an integrated circuit 110, such as the type LS93 integrated circuit. The Q3 terminal, 30 pin 11, of integrated circuit 110 is coupled to the P3-2 terminal, pin 12 of mlcroco~puter 24. The input terminal, pin 5, of inverting amplifier 96 is coupled to the C terminal, pin 9, of an integrated circuit 112, such as the type 4053 integrated circuit. The Z1 terminal, pin 3, of integrated r -1`232~)2~L

circuit 112 To coupled to the VFR terminal, pin 10, of Code 104. The Z0terrninal~ pin 5, of integrated circuit 112, Is coupled to the VFR
terminal, pin 10, of Code 106. the IN terminal, pin 6, of Integrated circuit 112 Is coupled to the P3-7 terminal, pin 4, of mtcrocamputer 24.
5 The Z terminal pin 4, of Integrated circuit 112 is coupled to the Y
terminal, pin 15, of an Integrated circuit 114 which Illustratively Is also a type 4053 Integrated circuit. The Ye terminal, pin 2 of Integrated circuit 114 Is coupled to the Z0 terminal, pin 5, of an Integrated circuit 116, which illustratively is also a type 4053 integrated circuit. The Ye 10 terminal, pin 1, of integrated circuit 114 Is coupled to the Z1 terminal, pin 3, of integrated circuit 116. The B terminal, pin 10, of Integrated circuit 114 is coupled to an Input terminal, pin 1 of an Inventing amplifier 117 such as the type LS04, the output terminal, pin 2, of which it coupled to the C terminal, pin 9, of Integrated circuit 116. Pin 4 ox 15 Integrated circuit 116 Is coupled to a tern tonal XI, pin 13, of an integrated circuit 118. The Z terminal, pin 4 of integrated circuit 116 is also coupled to VFX0 terminal, pin 16, of an integrated circuit 120.
Integrated circuit 120 Illustratively Is a type 2912 integrated circuit.
The X terminal, pin 14, of Integrated clrcul~c 118 Is coupled through a 20 resistor to a C-) Input terminal, pin 6, of a gain adjusting amplifier 121. ~mpllfler 121 Illustrative is a type 1458 integrated circuit. The output terminal, pin 7, of amplifier 121 Is coupled through a parallel R-C
feedback network 123 to I is C-) I nut term net . The output term net of amp filer 121 Is also coupled through R-C networks 125 to the VEX
25 terminals of Cociecs 104, 106. The ILK terminal, pin 12, of integrated circuit 120 is coupled to pin 8 of integrated circuit 82. The VFXI+
terminal, pin 1, of Integrated circuit 120 Is coupled to a terminal 122 of a primary winding 124 of a DM-type telephone 1 ire Interface 126. The VFRI terminal, pun 10, of integrated circuit 120 Is coupled to the X
30 terminal, pin 14, of an Integrated circuit 128 which Illustratively Is a type 4053 integrated circuit. Terminal X0, pin 12, of integrated circuit 128 is coupled to terminal Ye, pin 1 of an integrated circuit 130.
Integrated circuit 130 illustratively is also a type 4053 integrated ~L2~2~1121 circuit. Terminal X1, pin 13 of Integrated circuit 128 15 coupled to terminal Ye, pin 2, of Integrated cTrcutt 130. Terminal- Y, pin 15, of integrated circuit 130 Is coupled to terminal X0, pin 12, of Integrated circuit 118. Terminal B, pin 10, of Integrated circuit 130 is coupled to terminal P3-4, pin 29, of microcomputer 24. Tenmlnal A, pin 11, of Integrated circuit 128 Is coupled to pin 10 of integrated circuit 114 and to terminal P3-5, pin 10, of microcomputer 24. Terminal A, pin 11, of Integrated circuit 118 Is coupled to terminal P3-6, pin 40, of micro-computer 24. Pin 1 of Integrated circuit 114 Is coupled to terminal HBIN,pln 3, of an Integrated circuit 132, such as the type R5632 Integrated circuit, or so-called Retlcon 212 filter. Pin 2 of Integrated circuit 114 Is coupled to the LOIN terminal, pin 18, of filter 132. The BOUT
terminal, pin 24, ox filter I32 Is coupled to Pin 2 of Integrated circuit 130. The LOUT termTna1, pin 15, of filter 132 Is coupled to pin 1 of integrated circuit 130. The ILK terminal, pin 22, of the Re~lcon filter 132 Is coupled to pin 4 of Inverting amplifier 90. Pin 4 of Integrated circuit 120 Is coupled through a resistor 134 to an Input terminal, pin 2, of an amplifier 136, such as the type 1458 amplifier. The output terminal, pun 1, of amplifier 136 Is coupled through a resistor 138 to Its pin 2, and through a resistor 140 to a terminal 142 of the D M lnterf æ e 126.
The PO terminal, pin 4, of signal processor 26 To coupled to the PO-4 terminal, pin 17, of microcomputer 24. The Pi terminal, pin 5, of signal processor 26 is coupled to the P3-3 terminal, pin 30, of microcomputer 24.
The P0-0 terminal, pin 13, of microcomputer 24 is coupled to the Do terminal, pin 6, of signal processor 26. The P0-1 terminal, pin 14, of microcomputer 24 Is coupled to the Do terminal, pin 7, of signal processor 26. The P0-2 terminal pin 15, of microcomputer 24 Is coupled to the Do terminal, pin 8, of signal processor 26. The P0-3 terminal, pin 16, of microcon~uter 24 Is coupled to the Do terminal, pin 9, of signal processor 26. The P2-7 terminal, pin 38, of microcomputer 24 is coupled to the RUT
terminal, pin 16, of signal processor 26. A telephone jack 144 Is provided for input from the telephone fine. The R, or ring, terminal of ~232021 jack 144 is coupled through a capacitor 146 to one telephone terminal of a diode bridge 148. The T, or lip, Input terminal of jack 144 Is coupled to the other telephone tennlnal of bridge 148. Another telephone jack 150 Is provided for coupling to a telephone set which penml~s voice comTunicatlon with the telephone set used in conjunction with the remote modem (not shown). The T and R terminals of jack 150 are coupled to terminals 152, 154, respectively, of switches 156, 158 respectively of a data/talk relay 160. This relay permits the user of the Nemo to select whether voice com~unlcatlon Is to be achieved through telephone jack 150 or data come nunlcatlon Is to be achieved through telephone jack 144. A slush 162 Isassoclated with the off-hook relay coil 164. The output tenmlnal anal -output tennlnal of diode bridge 148 are coupled through a filter network 166 to Input terminals 1, 2, respectively, of an Interface Integrated circuit 168 which reduces the ring detector voltage across the telephone terminals of bridge 148 to a logic level, typically +5 VDCJ at pin 5 of Interface 68. This signal at pin of interface 168 is Inverted by an inverting amplifier 170, such as the type LS04 and furnished to terminal P0-6, pin 19, of mlcrocrmputer 24.
The RS232C interface for the node Includes a DATA SET READY (DSR) fine which is coupled to the output terminal, pin 3, of NED gate 172.
Gate 172 Illustratively is of the type which appears on a type 1448 integrated circuit. The input terminal, pin 2, to RAND gate 172 Is coupled to the P1-2 terminal, pin 23, of microcomputer 24 to an Input terminal, pin I of a drive amplifier 174. The output terminal, pin 12 of driver amplifier 174 drives a LED 176. The lighting of LED 176 indicates that the modem Is ready, that is, that the DATA SET READY on the interface Is active. An output terminal, pin 11, of a RAND gate 178 Is the CARRIER DETECT CUD terminal of the RS232C interface. The input terminals, pins 12, 13 of RAND gate 178 are coupled together and to terminal P1-3, pin 24, of microcomputer 24. These terminals are also coupled to an Input terminal, pin 11, of a driver amplifier 180. The output terminal, pin 10, of driver amplifier 180 is coupled to an LED
182. lighting of LED 182 indicates that the modem has detected a carrier ~32 signal. The RECEIVE TIMING CRT) 1 ire of the RS232C Interface Is coupled to an output terminal, pin 8, of a RAND gate 184, the input terminals, pins 9 and 10, of which are coupled to terminal P2-5, pin 36 of micro-computer 24. The presence of a "1" signal on pin off gate 184 when the modem Is operating in the high speed synchronous mode Indicates that there Is timing In the signal received from the modem. A RECEIVED DATA (ROD) line Is coupled to the output terminal, pin 6, of a RAND gate 186. The Input terminals, pins 4 and 5, of RAND gate 186 are coupled together and to a terminal P2-6, pin 37, of mlcroconputer 24. The presence of a signal on this fine Indicates the presence of data in the signal received from the modem. A TRANSMIT SIGNAL TIMING CYST) fine Is coupled to an output terminal, pin 3, of a NED gate 188. The Input te~nlnal, pin 2, of RAND
gate 188 Is coupled to terminal P1-7, pin 28, of microconnputer 24. In the high speed synchronous nude of operation, the presence of a signal on this fine indicates that there Is timing In the transmitted signal. A CLEAR To SEND (CUTS) fine is coupled to the Input terminal, pin 6, of a RAND gate 190. The Input terminals, pins 4, 5 of RAND gate 190 are coupled to terminal P1-6, pin 27, of mlcroconputer 24. The presence of a signal on the CLEAR To SEND fine Indicates the modem Is signaling that it Is clear to send data. Each of RAND gates 172, 178, 184, 186, 188, 190 illustratively is one-four~h of a type 1488 integrated circuit. A TRAYS-MITTEN DATA CUD) fine Is coupled to an input terminal, pin 1, of an Inverting amplifier 192. The output terminal, pin 3, of inventing amplifier 192 is coupled to terminal P3-1, pin 39, of microcomputer 24.
The presence of signal on pin 1 of inventing ~nplifier 192 Indicates the presence of transmitted data at the DYE coupled to pin 1. An EXTERNAL
TRANSMIT SIGNAL TIMING (EAST) line Is coupled to an Input terminal, pin 4, of an inverting amplifier 194. The output tenmlnal, pin 6, of an~llfler 194 Is coupled to a terminal P3-0, pin 5, of microcomputer 24. The presence of a signal on pin 4 of Inventing amplifier 194 indicates the existence of external transmit signal timing iron the DYE coupled to pin ;~32~)21 anplifler 196 Is coupled to terminal P0-7, pin 20, of mlcrocon~uter 24.
This terminal is Allah coupled to an Input tennlnal, pin 3 of an ~pllfler 198. The presence of signal on the DATA TERMINAL READY line Indicates that the DYE is ready to send data. The output te~nlnal, pin 4, of amplifier 198 controls a DATA Tylenol READY LED 200. lighting of LED 200 Indicates the presence of DATA Terminal READY signal at the Input of inverting an~llfier 196. Each of inverting amplifiers 192, 194, 196 Illustratively Is one-fourth of a type 1489 Integrated circuit.
Terminal P1-0, pin 21, of mlcroco~puter 24 is coupled to an Input tenmlnal, pin 9, of an amplifier 202, the output, pin 8, of which Is coupled to an LEO 20~ en LED 204 is lighted, high speed C1200 bus) operation Is Indicated. Terminal P1-1, pin 22, of microcomputer 24 us coupled to an input terminal, pin 5, of a driver an~llfTer 206, the output terminal, pin 6, of which Is coupled to an EYED 208. LED 208 Is Illuminated with ringing, and remains on when the modem is in the answer mode. Terminal Ply, pin 25, of microcomputer 24 Is coupled to the input terminal, pin 1, of a driver amplifier 210, the output terminal, pin 2, of which is coupled to an LED 212 to the off-hook relay golf 164. Lighting of LED 212 Indicates that the n~dem Is coupled to the telephone fine.
Each of driver an~lifiers 174, 180, 198, 202, 206, 210 illustratively is one-si~th of a type 7407 Integrated circuit. Terminal P1-5, pin 26, of microcomputer 24 is coupled to an input terminal, pin 13, of an Inventing amplifier 214, such as the type LS04. The output terminal, pin 12, of amplifier 214 is coupled through a resistor 216 to the base of a data/talk relay driver transistor 218, such as the type 2N2222 transistor. The emitter of transistor 218 is coupled to ground and Its collector Is coupled to supply voltage through the data/talk relay golf 220. Conduct lion In transistor 218 results in the changing of state In switches 156, 158 to permit data to be sent from the secondary winding 222 of the D M
interface through telephone Jack 144 to the telephone fine, assuming the off-hook relay switch 162 is closed.
The modem Illustrated In Fig. 6 can be configured to a wide variety of designs. The microcomputer 24 provides the following functions: It ~232~)Z~

interfaces with the DYE Through the RS-232c Interface, through TTL, etc.); It controls the nude of operation of the signal processor 26; It stores the protocol of Incoming and outgoing signals, and responds to these to control the node of the signal processor 26; It controls the LIDS
176, 182, 208, 204, 200, 212; It controls the timing of the various operations conducted In the modem; It controls, through switches coupled to Its various Inputs, certain options which can be selected by the user;
It acts as a self-test generator for the modem; It controls the output of the signal processor 26 (e.g., nude, reset, transmit timing It controls the scra~ble-descramble operation In accordance with the stored algorithm;
and It acts as a serial-to-parallel converter when the mode is operating in the high speed mode as a transmitter.
The signal processor 26 responds to the configuring commands (mode select commands) provided from the mlcroconputer 24 to perform the following functions: FISK modulator; FISK demodulator; QDPSK modulator;
QDPSK demodulator; high speed liming recovery -- phase locked loop;
carrier detector; and, it acts as a debit parallel-to-serlal converter when the modem is operating in the high speed mode a a receiver; fine signal detection; and DTMF tone generation.
The mode In which the modem operates is commanded by signals on the Do, Do and Do Input terminals to the signal processor 26 from the P0-0, PO-l and P0-2 tenmlnals of the microcomputer 24. If all three terminals are low, the modem is configured to operate as a low-speed originate modem. If the Do and Do terminals are low and the Do tennlnal Is high, the modem Is configured to function a a low-speed originate modem with analog loop back. If the Do terminal and Do terminal are low and the Do terminal Is high, the node Is configured to function in the low-speed answer mode. If the Do terminal is low and the Do and Do te~nlnals are high, the modem Is configured to function in the DTMF mode. If the Do terminal is high and the Do and Do terminals are low, the modem is configured to function In the high-speed originate node. If the Do and Do terminals are high and the Do terminal is low, the modem is configured to function in the high-speed originate mode with analog loop back. If the Do SWISS

and Do terminals are high and the Do terminal Is lay the modem is configured to function in the hlgh-speed answer nude. Final lye if at 1 three terminals DO, Do and Do are high, the modern is configured to function in the l tune status mode. The node is selected when a htgh-to-low 5 transition occurs on terminal P2-7 of microcomputer 24, the RUT terminal of signal processor 26.
In the few speed moxie, the signal processor accepts 19.2 KHz samples (8 bits) of the FISK signal on terminal SO of signal processor 26 for demodulation. The signal processor also contemporaneously accepts lo transmit data on terminal Do of the signal processor 26 for m~dulatton.
Terminal Pi ox the signal processor becomes active approximately 17 msec.
after receiving a carrier signal above a threshold value. Demodulated data s out ox the signal processor 26 through terminal Pi. Terminal So of the signal processor 26 provides the modulated FISK samples (8 bits) lo at a 19.2 Casey rate.
Because the 19~2 KHz rate is about double the maximal frequency C10KHz) of each of Codes 104, 106, signal are multiplexed at the 19.2 KHz rate both to and from terminals Sly So of signal processor 26 alternately from and to the joined terminals DO, DRY respectively of the 20 Codes 104, 106. Thus, each Code operates at 9.6 KHz, half the 19.2 KHz rate, and below its 10 KHz l tmtt, wit to permitting the signal processor 26 to operate at the full 19.2 KHz rate.
When the modem is configured in the DTMF nude, terminals Do, Do, Do and Do accept 4 bit hex digits corresponding to the dialed DYE telephone 25 nurser. Terminal So provides 19.2 KHz samples C8 bits) of the DTMF tone pair for each digit.
When the modem it configured to operate in the high speed mode, the signal processor 26 accepts 19.2 KHz samples C8 bits) of the QDPSK Stanley on terminal SO for demodulation and digits on terminals Do, Do for QDPSK
30 modulation, along with digit liming at terminal Do. Terminal Pi bikinis active approximately 17 msec. after receiving a carrier above the threshold level. Terminal Pi contains both timing and data. As previously discussed, timing is a high-to-low transition, nominally at a :1 232~2:1.

1,200 Ho rate derived from the QDPSK signal. Demodulated data Is available on the sole terminal (Pi) approximately 1.5 mTcrosec. after the hlgh-to-low going timing edge. Terminal SO provides undulated QDPSK
samples (8 bits) at a 19.2 KHz rate.
In all of the above modes, the samples at terminals Sly SO of signal processor 26 are mu-law compressed to permit Interfacing with the Codes 10L~, 106.
When the modem Is configured to operate In the line status node, terminal Pi of the signal processor 26 indicates the presence of one of the fine status tones (dial tone, ring back, busy, etc.) on the telephone fine. Status tones are distinguished from Mach other by their repetition rates.
Fig. 7 Illustrates a sln~lIfied block diagram useful In understanding the modem operatlonO Signals from and to a DYE 20 flow through coupler 22, 62 to the modem-to-termlnal Interface 230. Toils includes, for example, those con~onents referenced In Fig. 6 by reference numerals 172, 178, 184, 186, 188, 190, 192, 194, 196. A plurality of conductors, Illustrated in Fig. 7 collectively as element 240, couple the interface to the microcomputer 24. Outgoing data and conflgurTng signals are coupled from terminals P0-0, P0-1, P0-2 and P0-3 of microcomputer 24 to terminals Do, Do, Do and Do, respectively, of signal processor 26. Specifically, when the modem Is configured to operate In the DT~lF dialer mode, all of terminals Do, Do, Do, Do receive four bit hex digits corresponding to the dialed DYE telephone number. When the modem is configured to operate In the low-speed mode and is transmitting, serial data bits flow from micro-computer 24 through the Do input terminal to signal processor 26. When the node Is configured to operate In the hlgh-speed synchronous mode and Is transrnlttlng, liming Information flows from the microcomputer 24 through input terminal Do to signal processor 26. Bit A Information flaws from microcon~uter 24 to signal processor 26 through input terminal Do, and bit B Information flows from microcomputer 24 to signal processor 26 through input terminal Do. When the node is recelvTng in the hish-speed - -19- ~L23Z~21 asynchronous mode, the liming is combined in the signal processor 26 with the parallel-to-serial converted bits. --In any event, the signal processor 26 provides PAM information at Thea KHz frequency to both Codes 104, 106. The Codes 104, 106, each operating at half the 19.2 KHz frequency, or 9.6 KHz, alternatively receive the PAM inforn~tion and convert it to analog signals for supply to a multiplexer, such as multiplexer 112 of Figs. 6-7. The output signals of Codes 104, 106 are alternately supplied by multiplexer 112 to the transmit section of the 212 filter 132 (via the low-band Input or high-band input, depending upon whether the modem Is the originate or answer owe). The output signals from the 212 filter 132 are then furnished (again either through the low-band output or hlgh-band output, depending upon whether the modem Is originate or the answer node) through intervening circuitry to the DO interface, such as the Interface 126 of Fig. 6, and to a Tyler telephone fine.
When the modem Is receiving data, the data comes In over the telephone fine to the Interface 126. Ring signal Is detected by a ring detector including a circuit of the type illustrated at 168 In fig. 6 and relayed to the microc~puter 24. Data is supplied from the D M interface 126 through the receive section of the 212 filter 132. When the n~dem is operating in the originate mode, incoming information will be In the high-band, and will pass through the filter 132 from hlgh-band input to high-band output and then through analog switches 130, 118 and amplifier 121 and ARC networks 125 to the Codes 104, 106. The two Codes 104~ 106, acting in opposite phase, analog-to-digltal (PAM) convert the incoming information, and alternately supply PAM signal to terminal 51 of signal processor 26. In signal processor 26 this PAM signal 15 demodulated and then converted to data bits. If the signal processor 26 Is configured to receive In the high-speed mode, the signal processor also conducts the parallel-to-serlal conversion necessary to convert the doublets back Into bits A and B. Carrier detect and line status Information Is supplied from the signal processor 26 to terminal P0-4 of the microcomputer 24. Timing and data Is supplied from the signal processor 26 to terminal P3-3 of -20- 1~32~21 microcomputer 24. From microcomputer 24, of course, the data Is supplied through connectors 240, the necessary interface 230 and coupler 62 to the DYE 20.
Clock signals for all the sampling, multiplexing and related functions are suppled from an oscillator and clock 250 Including, for example, components such as those illustrated in Fig. 6 at 70, 82, 86, 88, 90, I 94, 96, 98, 100, 102, 108, 110.
In order to understand the operation of signal processor 26, reference is made to the flow charts of Figs. Audi The routine illustrated by the flow charts begins by inltlallzing the RAM locations In signal processor 26. This Is Indicated by the INITIALIZATION ROUTINE and Fig. pa. As best Illustrated in Fig. pa, the rode configuring word iron microcomputer 24 Is first read from terminals Do, Do and Do. Then the signal processor 26 Internal 128 bit RAM is zeroed. Subsequently, a Ye pointer SATYR) Is set equal to one. The significance of this Ye pointer Is that It Is the most recent sample to come In on the receiver.
MASK 7FFF hex clears the signal and provides an absolute value. The carrier detector has hysteresis of -45.5dBn to -48.5 dim. The carrier detect hysteresis lies between 0038 hex and 0138 hex. The carrier Is detected at 20 -45.5 dim but will stay on until It drops to -48.5 dim. The program Is designed for two different carrier detect thresholds systems depending upon system gains. The lower thresholds are 0093 hex for the upper value and 0003 hex for the lower value. These values are Incorporated into the program but are not used In the Illustrated system.
ICON - 01FF hex us the tnltlal value of the cosine pointer in the TRAM. Two sinusoidal waveforms are stored as normalized sunless in the 512 bit data RUM of the signal processor 26. 01FF hex Is the highest data ROM
location, 511. The sinusoid, a sample of witch Is stored at address 511 is 16 samples long. That sinusoid is used to synthesize the 1200 Ho carrier or 2400 Ho carrier, depending upon whether every sample Is used or every other one. At 19 .2 KHz, 16 samples yields a frequency of 1200 Ho and 8 samples yields a frequency of 2400 Ho. In QDPSK~ a 90 phase shift corresponds to four samples, a 180 phase shift corresponds to eight samples, and a -90 phase shift corresponds to minus four samples.

~Z32021 The next decision block Is, HIGH-SPEED? Assuming the answer is NO, the program goes to the SYRIA MODE? decision block. Lopped originate initialization is on the NO side of that decision block. The first operation in that sequence is JM1 = 32. There are four low-speed carriers, 1070 Ho and 1270 Ho, for space and mark, respectively, for the originate modem and 2025 Ho and 2225 Ho for space and mark, respectively, for the answer mode. A mu-law compressed, normalized sinusoid of 484 samples is stored in the signal processor 26 data ROM. If the Incoming data is a low speed originate nary, the program jumps thlrty-two samples lo on the normalized sinusoid. If the incoming data is a low speed originate space, the program jumps twenty-seven samples on the normalized sinusoid Similarly, if the modem Is operating in the low-speed answer mode and the Incoming data Is a lcw-speed answer mark, the program jumps flfty-slx soles on the norm311zed sinusoid. If the Incoming data Is a space, the program imps fifty-one samples on the normalized sinusoid.
An ANALOG LOOP? decision Is next. Analog loop back requires the program to cross over from the low-speed ortgTnate pathway to the - low-speed answer pathway. Continuing, In the speed originate Inltlaltzatlon, a YE pointer, YA-PTR, is set equal to 48. The most recent sample Is called Ye. The initial YE pointer is 47 samples "older" than Ye.
The low-speed answer mode begins with JM1 = 56. Again, If the incoming data Is a lcw-speed answer mark, the program jumps 56 samples on the normalized sinusoid. If the Incoming data Is a low-speed answer space, the program jumps 51 samples on the normalized sinusoid, The low-speed answer InltialIzatlon routine contains a decision block DTMF
MODE? If the modem Is not to operate in the DTMF mode, the YE pointer, YA-PTR, i s set equal to 38, or I samples before the current sample, in the inltlalizatlon. Then the interrupt (incoming signal sloppily is tnltlated, and the modem welts for this signal sample.
If the DTMF node Is selected, the progrz~l does to DTMF Initialization routine. In that routine, the low frequency update anoints and high lZ320~

frequency update amounts are loaded into the signal processor 26 RAM. The DTMF generates the dual tone multi frequency pairs for tone dialing of digits. There are 16 frequencies In the DTMF scheme, two Cay low one and a high one of which are required to dial any given digit. Thus, the signal processor 26 must generate sonethtng that looks like two sine waves at the same line. What the signal processor 26 does is to generate two pointers, a low pointer and a high pointer. The signal processor 26 updates the pointers by do if event jump amounts depending on what DTMF pair is to be generated in each dialed digit.
The DT~F dialer routine includes a HI/LO SWITCH which was set equal to 0 In ZERO JAM. That switch is used to control multiplexing back and forth between the two DTMF dialer tones. Rather than adding samples of the two DTMF dialer tones together, which is cumbersome, the program tlme-dtvtslon multiplexes the two required DTMF dialer tones. That is, the program generates a simple of the low DTMF tone and then generates a sample of the high DTMF tone. It should be renumbered that the 484 data points iron Shea the four 1ow-speed frequencies (originate mark and space, and answer mark and space) and the 16 DTMF tones are synthesized is mu-law compressed. One reason why it is cumbersome to add samples of the low and high tones of the DTMF pelf together to achieve a dialed digit is because the sinusoidal signal samples are mu-law compressed. The HUGELY
SWITCH switches from one sample to the other, replicating both tones.
When the lcw-speed and htgh-speed carriers are generated, they are required to have a certain signal level. However, the DTMF tone levels are different by specification. The modem carriers are roughly 10 dim, but the DTMF tones are closer to -5 dim. Since the sinusoidal samples are Noel compressed, nultiplicatton could not be used to adjust the level effectively. A power series approximation, AX + OX, where X is the current signal sample level and A and C are constants, was used to adjust the level. Because of the characteristics of certain filters in the system, one frequency, 697 Ho, required a separate set of level adjusting constants. 697 Ho Is the lowest DTMF tone frequency.

c -There are two mode flags, MODE FLAG 1 and MOVE FLAG 2. Both are set equal to 0 in the NERO RAM operation. MODE FLAG 1 indicates whether the modem Is operating as a node or in the DTMF or line status node. MODE
FLAG 2 differentiates between DTMF and line status nodes. MODE FLAG 1 = O
Is modem and robe FLAG 1 = 1 To DTMF and line status. If MODE FLAG 2 = 0, the system Is in DTMF dialer mode. If MODE FLAG 2 = 1, the system To In the fine status mode.
Going now to the high speed Tnitializatlon routine, It should be recalled that the clock runs the system at a 19.2 KHz rate. At 1200 bus, one digit, or but pelf, would be I samples In length. Every 32 samples, the program recovers two bits from the correlators. It only spends one of those to the microcomputer 24, and then 16 samples later, it sends the other one that it has stored for a 16 sample delay Interval. Thus, the parallel-to-serlal conversion from digit to bit pat is nominally conducted in 32 sample increments. Thus, a variable RIME is Initially set equal to 32.
NPRTIM = 32 sets the sample rate of the phase locked loop. If the system is running In perfect phase (1200 bus) each 32 samples a new dlbtt is received. NPRTIM InltlalIzes the phase locked loop for perfect phase.
It lull be seen later that the phase may be adjusted by + 1 sample to account for the tolerance of the 1200 bus ' .01~. of high speed operation.
MASK 0007 hex Is examining the 3 least significant bits of the hex value of RIME. MASK 0002 hex examines a bit out of the nude word to establish whether the transmitter is in the originate or answer mode. It is also used to send the loading edge of the liming to the microcomputer 24. MASK FFFD is exactly the reverse of the 0002 hex mask, so while MASK = 0002 hex sends the leading edge of the timing, MASK = FFFD hex sends the trailing edge of the timing.
In the next decision block, ANSWER MODE?, the program goes to different routines, depending upon whether the Nemo Is or is not In the answer nude. If the system Is not In the answer mode, the program goes to a decision block LINE STATUS MODE? whether the node is or is not In the 3L2320Zl fine status mode. If the modem Is in the line status mode, the fine status lnltlalIzatlon routine begins. In the fine status InltlalIzatlon routine, the Ye pointer was tnltlalIzed to 0 In ZIP RAM. In the modem side, the current sunnily was referred to as Ye. In line status Inltlall-zatlon, for convenience, it is referred to as Ye. In the first step, the Yo-yo pointer Is set equal to 18. Thus, the next most recent sample with which Ye is to be correlated Is 18 samples earlier. The next most recent sample earlier than Yo-yo to be correlated to determine line status Is 47 samples earlier; thus Y47-PTR - 47. There are two correlators. One correlates, or multiplies, the current sample with a sample 18 earlier anal the other correlates, or multiplies, the current simple with a sample 47 earlier. The fine status detector routine in microcomputer 24 determines hew often a shift occurs In the outputs of the correlators depending on what the Incoming fine status Is. If the Inconlng frequency were a single frequency, e.g., a ring back tone, a dial tone or a busy tone, the output of one of the correlators would be, e.g., 1, and the output of the other correlator would be, e.g., 0. This ~2uld correspond to one of the fine status tones. The Yo-yo correlator, although not used In the illustrated system, is provided In the program to detect certain Senate higher 2û frequency line status tones, such as internal CBX error tones and Internal dial tones.
Next, the thresholds above which line status tones will be considered to exist are set. THRESHOLD 18 = FF40 hex and THRESHOLD 47 = FC80 hex.
Finally, the m ye flags for line status mode are set. MODE FLAG
1 = 1 distinguishes fine status mode from Eden mode. MODE FLAG 2 = 1 distinguishes fine status mode from DTMF dialer mode.
If the modem Is not In the fine status made, the initialization of the high speed answer mode beings. Ye-PTR = 35, YA-PTR = 31. It should be recalled that, at exactly 1200 bus, there are 32 samples per doublet. At the 2400 Ho carrier frequency, each debit is four cycles of the carrier in length. Thus, a + 45 phase difference at 2400 Ho would be + 1 sample from 32 samples. Similarly, at 1200 Ho, each debit is two cycles of the carrier In length and a 45 phase difference would be + 2 samples from the ~Z32~

32 spool nominal digit length. Thus, In the high speed answer mode the YE pointer and YE pointer are set to 31 and 35, respectively, while In the high speed originate mode they are set to 32 and 24, respectively. It must also be recalled that in high speed mode, what Is being detected Is a phase shift from the phase of the preceding dlblt. Thus, In the high speed Noah (both originate and answer the program conveniently looks at three consecutive sample pairs that are exactly 1&0~ apart In carrier phase to determine To the carrier polarity To the safe or opposite. If points on the carrier are 180 apart and there Is no phase shift, those samples centered at 180 prior in tin would be of opposite polarity to the polarity of the current sample. Thus, In high speed answer lnltlaltzatlon, phase comparison pointers Yo-yo, Yip and YIP are set to 18, 19 and 20, respectively, which are 180 out of phase with YJ0, YJ1 and YJ2, which are set to 26, 27 and 28, respectively. It should be noted that, In high speed originate Initialization, these pointers nest be set at 16, 17 and 18, and 20, 21 and 22, respectively, because of the difference between the high speed originate and answer carriers. It should be noted that the program Is not at this point demodulating the carrier, but rather Is detecting the phase shift to update the phase locked loop. ennui the routine detects a certain ccn~lnatlon of same polarity and opposite polarity of those three pairs: YIP and YJ0; Yip and YJl; and YIP and YJ2, It declares that there was a valid phase shift.
Then, in every subsequent iteration, YJ2, YJ1, YJ0, YIP, Yip and YIP are Incremented. The system Is now completely Initialized It then enables the Interrupt.
With reference to Figs. 8b-d, the system welts for Interrupts In the font of a 19.2 KHz clock. When an interrupt arrives, the routine first asks if the mode is in either DTMF or line status mode. If the answer Is YES, the routine asks if the modem Is in DTMF mode. If the answer is No, the system Is in line status. The Yo-yo pointer, the Yo-yo pointer and the Ye pointer are updated with every incoming sample. After the first sample, for example, Yo-yo pointer will point at RAM location 17, after the next -26- ~X32021 sample, iamb location 16 and so on, until the Yo-yo pointer gets to roam location O at which lime it will wrap around to roam location 64, but It will still represent Yo-yo, the eighteenth sample before the current one.
Input signal is a subroutine that Inputs the signal from the serial Input, a 8 bit PUT sample from the Codes 104, 106. In the next operation, YOU is correlated::), or multiplied; with Yo-yo. YOU Is next correlated with Yo-yo.
LPF(18-1~ Is a lo pass dlgTtal filter subroutine which single pole low pass filters the correlated output. LPFC18-2) is a second serial low pass digital filter subroutine. The YO-YO correlation then To few pass filtered through two single pole low pass digital filters. The output of the second of those two filters is the fine status, l If YES and "O" If NO. In other words, To the average of all those correlations were positive, it would indicate that there is a line status tone. The way the program dlst3ngutshes lung all of the different line status tones Is the Interruption frequency. Output terminals PO and Pi of the signal processor 26 are zeroed. The output Is LPFC18-2) Is then compared to a threshold value to determine If line status has been detected. If It has, the Pi Tylenol Is set to one to signal the microcomputer 24 of the detection of fine status. Then Low Pass Filter (47-1) and Low Pass Filter (47-2), operations are performed. If a threshold Is detected from LPFC47-2) terminal PO Is set to one to signal microcomputer 24.
DTMF dialer Is the YES decision of DTMF MODE? TOGGLE HOYLE SWITCH, the first operation, switches buck and forth between the two DTMF tones being synthesized. MOVE TO UPDATE mount LOW novel the data pointer. In signal processor 26, before any roam location can be used, the data potter nut be moved so that It is pointing at that roam location.
HIGH/LOW SWITCH = LO? Both the low and high update amounts reside In the same column in roam. The update amounts are in the bottom two us of RAM. Assume that the tones for the dialed digit 3 are being synthesized. The update aeronauts for both frequencies for the same dialed digit are in the same roam column so once the data pointer is moved to low, all that need be done is nave the data pointer in that RAM column from low to hush. The routine points the data pointer high or low based on the ~320~

status of the hlgh-l~i switch. If the switch is low, the low data pointer is updated. If the switch Is high, the pointer Is moved to update high.
UPDATE DTMF POINTER synthesizes the sine waves for a particular DTMF
frequency pelf.
X = DTMF SAMPLE prepares the routine to synthesize the DTMF tones at the proper an~lItudes. NEW DTMF SAMPLE = AX + OX calculates those amplitudes. OUTPUT DTMF SAMPLE outputs the synthesized DTM,F frequencies at the calculated level to DTMF dial a digit.
An output subroutine loads the output Into the serial output register and, as the timing commands, that serial output takes place and that 8 bit PAM code moves to the Codes 10~, 106. The Input signal and output signal subroutines convert from the two's complements that the signal processor 26 uses to the code that the Codes 104, 106 use.
Turning to the QPSK and FISK den~ulator subroutine, the pointers are updated. Instead of Yo-yo, Yo-yo, etc., pointers, the demodulator pointers are designated the YAW YE, Ye, Yo-yo, YIP, YIP, JO, YJ1 and YJ2 pointers.
All 9 of those pointers are updated with 4 consecutive subroutine calls.
INPUT SIGNAL calls the subroutine for input signal. Yo-yo: YE Is the A
correlator. Ye:: YE Is the B correlator. LOW PASS FILTER CUB) digitally two-pole low pass filters the B correlated output. LOW PAST FILTER (A) digitally two-pole lo pass filters the A correlated output. The B output is filtered first because the A filtered output Is used next by the routine. A is used In the carrier detector because A is common to both high speed and low speed. There will always be soothing In the A
correlator even in low speed, whereas there Is no B correlator output In low speed. In high speed, of course, both correlators are always used.
If there Is something being correlated In the correlator, be It negative correlation or positive correlation, it is rectified and filtered to determine whether or not there Is carrier. Thus, the next decision block Is AS CA-OUTPUT), the absolute value of A output.
The next operation is to low pass filter the carrier detector, LPF
(CORDITE. The absolute value of A is rectified and must be filtered. The -28- 1~32021 absolute value operation yields something that looks similar to a full wave rectified sine wave. It Is low pass filtered In order to compare It to a threshold.
The next decision block is CARRIER ABOVE LOW THRESHOLD? If the S answer is NO, carrier detect Is set equal to 0. Another decision block is encountered, CARRIER BELOW HIGH THRESHOLD? If the answer is YES, the carrier detect equals one operation, CARPET = 1, is bypassed. If the answer is NO, carrier detect is set equal to one. Hither way, the Pi output is set equal to one, and the Pi output is set equal to zero. The lo decision block CARRIER DETECT = 0? is next enco~tered. If the answer Is YES, the operation Pi = 1 15 bypassed. If NO, Pi is set equal to on. It should be noted that the hysteresis carrier detect scheme 15 In this portion of the routine. If carrier (s above the higher threshold, the system operates as if where were carrier. If carrier is below the lower threshold, the system operates as If there were no carrier. Under all other conditions, the system continues to do whatever it was doing before this portion of the routine was entered.
In the next decision block, LOW SPEED? is asked. if YES, the FISK
demodulator and parallel Input/output routine is entered at the operation LPF (Al). The two-pole low pass filter algorithm is used here three times for a total of six poles.
The next item In the routine is a decision block, A OUTPUT NEGATIVE?
YES bypasses a Pi = 0 operation. NO sets Pi equal to 0. In FISK either one carrier frequency or the other will always be present. If the data is a space, the received frequency will be 1070 Ho or 2025 Ho. If these frequencies are being received then Pi will be 0. If the mark frequency, 1270 Ho or 2225 Ho is being received, Pi will be 1.
ENABLE INTERRUPT re-enables the interrupt. Every time an interrupt occurs, the interrupt is disabled until they are manually re-enabled. Pi and Pi don't become effective until they are loaded into the status register. Pi and Pi are actually bits that reside on the status word.
The interrupt enable or disable bit also resides on the status word. The routine updates all three at the same time. ENABLE INTERRUPT conditions ~Z3;~

the system to permit the next Interrupt at the 19.2 KHz sample frequency to interrupt the routine. INPUT WORD inputs the parallel word over DO, Do, Do and Do from the mlcrocon~uter 24.
The next operation is MOVE TO JM1 (Fig. 8c), which indicates the low speed modulator: The next decision Is INPUT BIT EQUALS 1? If YES, the routine bypasses MOVE TO JO. If NO, the routine executes MOVE TO JO.
These are the jump anoints that will be used In the sinusoid stored in data ROM.
In the next operation, ICON is set equal to ICON minus JAM (IN BIT.
The IN BIT is either a O or a 1. The jump amount is JO to JM1 where IN
BIT is a O or a 1, respectively. Here, the routine substrates the number of samples on the jump amount JM1 or JO from the ICON pointer which is pointing at the current sample value of a particular carrier. What the routine is doing Is jumping from sample to sample, with the staples being spaced apart a particular number of samples determined by that particular carrier frequency. If the frequency were, for example, 2225 He, the routine would use JM1, or 56. ICON will be some sample number out of that 484 sample sinusoid. The routine will subtract 56 from that to obtain the next sample of that carrier which will be sent out from the modulator.
The decision block ICON O? and the operation ICON = ICON 484 roll over the sample value In the 484 sample sinusoid table. In other words, if the routine keeps substratlng from ICON, It will eventually reach the bottom of the table. There is also a further corrective operation, ICON =
ICON + 2. The bottom two RAM locations In the NIKKO. 7720 signal processor 26 can be used only for testing, so the routine skips through those locations. OUTPUT SIGNAL is the signal that goes to the Codes 104, 106.
Returning to the LOW SPEED? decision block Fig. 8b), let it now be Acadia that the answer to LOW SPEED? Is NO. The routine goes back to the 30 QDPSK demodulator and parallel I/O. RECEIVE TIMING BIT = O? is the first decision block. If YES, the routine goes to ENABLE INTERRUPT. If NO, the next decision is NEED TIMING EDGE? It must be rendered that In initlallzat70n there was a variable PRIME The received timing bit is one 123~2~
~30-of the bits In that word which goes from 31, 32 or 33 to 0. The receive liming but changes from a 1 to a 0 twice during the 32 counts. That Is the bit that the routine seeks In the RECEIVE TIMING BIT? decision block.
The routine To sending timing edges for the data, the gutting edge at the beginning of the bit followed, at most, half a bit later, depending upon the bit being sent, by a galling edge. The timing edges are at twice the data rate. Since the baud rate is 600 (doublets per second) there will be 4 timing edges In a dlblt. That receive timing but Is one of the bits In the RIME word that is being decrement Ed with ever 19.2 KHz clock pulse.
If It Is not 0, then the routine goes to the decision block, NEED TIMING
EDGE? Here the routine looks at the three least slgnlflcant bits of RIME, to see whether they are all O's. All of those three least significant bits have to be 0 In order to supply a tiring edge to the microcomputer 24. If any one of those bits were a 1, then there would be no timing edge to mlcroconputer 24 and the routine would continue. So, a timing edge is provided to the microcomputer 24 when the count Is such that the 3 least sTgnlficant bits of the binary count are all O's. Every time that happens, an edge is sent to the microcomputer 24. That will happen four limes in the count from 32 to 0.
After NEED TIMING EDGE? Is answered YES, Pi Is set equal to 0.
Setting to 0 is the 0 going liming edge. Pi then is Immediately reset to 1. OUTPUT BIT EQUAL l? Is the next decision block. Recall that after the zero-golng edge, Pi Is set to 1. This decision permits Pi to go to the level the data Instructs. ENABLE INTERRUPT loads the status register from accumulator B to send the edge to the microcomputer 24. Next, the parallel word Is Input from the microcomputer.
In the QDPSK modulator the first operation Is NEXT LIME - 0. LIME
Is determTnlng If a data edge Is available from the microcomputer 24. It is lime to update the phase coming from the modulator when a certain polarity edge appears on the Do line. This particular portion of the routine Is ~,onitorlng Do to detect If it went from high to low. When Do has done that, it is time to look at the data and shift the phase accordingly.

-31- ~232~2~

Since the routine here is looking for an edge, it has to look not only at a sample, but also to care It to the previous sunnily. The routine ass~nes LIME is 0. It then asks If TIME the current state of Do) is zero. If TIME equals 0 the routine skips ahead. If TIME is not zero, the NEXT LIME To set equal to one. The routine then asks of LIME
equals one. If YES, the routine skips ahead. If NO, the routine asks If bit A of the the data equals zero. If bit A of the data equals zero, the system skips ahead. If bit A does not equal zero, ICON is set equal to ICOS-8. ICON - 8 corresponds to a 180 phase shift. BIT A EQUAL BIT B?
Is the next decision block. If the answer Is NO, the routine skips ahead.
If the answer Is YES, ICON is set equal to ICON minus 4. what provides a 90 phase shift. Sore sum of these two provides each of the phase shifts, 0, 90, 180 and 270 (-90) necessary for QDPSK.
Next, ICON Is set equal to ICON minus 1, to go from one sample of the stored sinusoidal waveform to the next sample of the stored sinusoidal waveform. In the next decision block, ORIGINATE MODE?, the routine determines whether it should decrement to the next sample of the stored sinusoidal because it is In the answer mode. Thus, if the output of the decision block ORIGINATE MODE? is NO, ICON is then decrement Ed an 20 additional sample to ICON minus 1. If the output of the decision block ORIGINATE MODE? is YES, ICON ren~alns as previously defined. The next operation, OUTPUT SIGNAL outputs to the Codes 104, 106 a PAM represent station of a portion of the analog signal to be generated by the Codes, be it at the 1,200Hz originate carrier frequency or the 2,400 Ho answer 25 carrier frequency.
Proceeding to the timing recovery portion of the routine, the receive timing variable RIME To decre~ented to RIME minus 1. This, again, Is the digit length variable and is used to receive timing phase locked loop.
Next, NPHDET is set equal to NPHDET plus 1. NPHDET counts the n~ber of 30 samples since the last phase shift was detected.
In the next three decision blocks, YIP: JO > 0?, Yule: YJl < O? and YIP:: YJ2 I the signs of YIP and YJ0, and Yo-yo and YJl, and Yo-yo and YJ2 are compared. If the outcome of any of these decision blocks is YES then ~232021 no phase change In the carrier was detected, and NPHDET is not set equal to zero. On the other hand, if the outcomes of all three of these decision blocks are NO, a valid phase change was detected and the phase detect counter, NPHDET To zeroed. Hither way, the next decision block Is RIME = 0? RTI~1E Is the counter that is used to determine what point In the dlblt length is being considered. If RITE equals zero, It is an indication that a dlblt is ended and a new one Is to be started. If a new dlblt is to be started, the routine must go to the correlators and obtain the correlator outputs to assemble the next dlblt which will subsequently be passed to the data processor 24. However, If RIME Is not equal to zero, the current dlblt is still being processed, and the only thing that needs to be considered is whether RIME equals 16, the begtnnTng of the second half of the dlblt. Thus, if RIME does not equal zero, the reptilian next asks If RIME = 16? If RIME does not equal 16, the routine returns to process the next sample of the received signal. If RIME equals zero, RTI~ is set equal to NPRTIM, and NPRTIM is set equal to 32, which is the nominal debit length. In the next decision block, NPHDET It?, the received liming is compared to nominal timing by dividing the dlblt into a first half and a second half. If the answer to NPHDET > 16? is NO, the routine asks, NPHDET < ? If the answer to this question is YES, the rest of the liming recovery portion of the routine is bypassed. If the answer to this question is NO, then the variable NPRTIM is set equal to 31.
Returning to the decision block NPHDET 16? If the answer To YES, the routine asks NPHDET >29?. If the answer to this question is YES, the rest of the timing recovery portion of the routine is by-passed. If the answer to huts question is NO, then NPRTIM is set equal to 33. It may be appreciated that this portion of the routine establishes a two-count window in either direction, fast or slow, for synchronizing the liming.
Within the two-count window, either fast or slow, the variable NPRTIM will remain at nominal.
Turning now to the parallel-to-serlal converter portion of the routine, It Is first assumed that BY equals zero. Then a decision block B
FILTER OUT < O? is reached If B FILTER OUT Is less than zero, the ~232~2~

assumption BY = O was correct, the answer Is YES, and the next operation Is by-passed. If the output of the decision block B FILTER OUT < O? Is NO, the variable BY is set equal to 1. B FILTER is the filtered output of the B correlator. if this filtered output is negative, it means that the bit B to be output is zero. If, on the other hand, the filtered output of the bit B correlator is positive, it means that the bit B to be output Is 1. The state of the A bit is next established. In the next operation, OUTWIT, the next bit which will be sent out, Is assumed to be equal to 1.
In the next decision bloc A FILTER OUT < O? is asked. If the answer is NO, then OUTWIT Is set equal to zero. If the answer is YES, then OUTPUT
remains equal to one. It should be noted that there us an Inversion In this portion of the routine. That occurs because the filtered A
correlator and the filtered B correlator are Indicating the presence or absence of phase shifts. If the filtered A correlator output is negative, it indicates that bit A Is 1.
Turning to the output of RIME = O? In the timing recovery portion of the routine and the it decision, the decision block RIME = 16? has been discussed briefly. This portion of the routine which couples the liming recovery and parallel-to-serlal converter portions of the routine is partially responsible for the parallel-to-serlal conversion. In this portion of the routine, the system decides whether or not It is time to output bit B recovered iron the dlblt. If RITE does not equal 16, the program returns to receive the next sample. If RIME equals 16, then OUTWIT, the next bit to be output is set equal to the variable BY
previously discussed.
Turning now to Figs. pa - Ed, and with particular reference to Fig. pa, the routine for the Z-8 microcomputer begins with POWER UP.
Next, all of the RAM In the Z-8 Is zeroed, with the exception of the highest address, OF hex.
The Z8 has several control registers to control the configuration of the ports, for example, whether the ports are Inputs or outputs. At this stage of the routine, those control registers are loaded.

The routine next proceeds to read the dip switches. Most of the dip switches are provided so that a user can have his modem power up with the defaults a certain way. Most of the power up configuring can be done with the dip switches. DTR can be forced with one of the dip switches.
Carrier detect and DSR can be forced with one of the dip switches. Some control characters that turn diagnostic modes on and off are enabled and/or disabled by one of the dip switches. Disabling this dip switch makes these functions transparent to the modem so that, in case data is being sent through it, if one of the control characters occurs that otherwise would cause the modem to go into one of those modes, the con-figuration of the dip switches prevents that from happening. Other dip switches turn on and off loss of carrier disconnect, send space disco-neat, echo command letters, response to remote digital loop, loss of carrier disconnect, auto line feed and auto answer.
The routine continues with LOAD DEFAULTS. The states of various dip switches and any software defaults are loaded into the various flag registers. The software defaults for which there are no dip switches include such items as the number of rings before the modem declares no answer. In the software, this is defaulted to 8. There is an initialize command that permits the user to reconfigure the modem to default no answer on some other number of rings, and to adjust other defaults too, such as to auto answer on the second ring rather than some other ring.
The routine continues with INITIALIZE FLAGS. There is a subroutine that is called CLEAR that sets up the command modes, that is, how the user wants some of the flag words to be initialized. CLEAR turns the trays-miller, 7720, the high speed lamp, the ring indicator lamp, DSR and carrier detect off, data talk relay to the talk position, initializes the message high address for the message to be sent, initializes the transmit buffer to all marks, turns off the diagnostic flags, sets itself up for low speed operation, and clamps the received data to a mark.
Next the routine has a decision block, START BIT TRANSITION? This begins the Z8's effort to determine what is the speed of the characters coming over from the terminal. In order to turn on the modem, it has to ~L232~21 be sent a CONTROL Q and CARRIAGE RETURN, two ASCII characters. CONTROL Q
is hex 11 on the ASCII table. While the terminal is idle Coo characters coming over from the terminal the terminal sends a constant mark con-dttton, all 1's. If the data coming over from the terminal goes iron 1 to a 0, that is the start bit transition. 11 hex is 10001 binary. The start bit comes before the data bits. The start bit is a 0 and the first data bit of CONTROL Q is the LOB, which is a 1. The next data butts in sequence, are a 0, a 0, a 0, a 1, a 0, a 0, when perhaps a pertly bit, and then a 1 stop bit. the Z8 receives the start bit transition and watts JO until the next bit transition. The Z8 limes those first two bit transl-lions. If they were too fast, assuming the Ford was a CONTROL Q, then the Z8 knows the bit rate Is higher than 1200 bits per second. The n~dern doesn't process anything higher than 1200 bus, so it ignores the word and watts for another one.
lo If the bit rate was not higher than 1200 bus, it was 1200 bus or something lower than 1200 bus. The Z8 determines what the bit rate was.
It sets the baud clock to whatever nominal count the bit transitions covered. The nominal baud rates are, 1200, 600, 300, 150, 110 and 75.
The Z8 sets the baud clock to one of those nominal baud rates and uses that clock to detenmlne what the rest of the buts in the character are.
The Z8 loads the rest of the bits Into a register using that baud clock, then looks at what is in the register to deternlne if it is a CONTROL Q.
To do this, the routine assumes the parity is odd or mark parity.
In the next decision block, the routine asks if the received character was a CONTROL Q WITH PARITY BIT = 1? If the answer is YES, the routine skips the next two operations. If the answer is NO, then the received character was not CONTROL Q with a parity bit equal to one. The routine then assures even or space parity. It then asks was the received character a CONTROL Q WITH PARITY = 0? If the answer is NO, then the received bit wasn't a CONTROL Q. The routine then returns to wait for another character. If the answer is YES, then the routine gets the next character. The next character should be a carriage return.

lX3;2~2~

Frequently with a Charlie return a terminal provides a fine feed.
The line feed can be either before or after the carriage return, so the Z8 ignores the fine feed. Then the Z8 checks, was It a CARRIAGE RETURN WITH
PITY BIT = l? If the answer is YES, the next two operations are bypassed. If the answer is NO the routine asks If the character was a CARRIAGE RETURN WITH PARITY KIT = O? If not, then the character was not a carriage return. From this InfonratTon, the Z8 has determined whether It ~111 be processing signals at high or low speed, and hew many bits a character contains, and configures the n~dem to process Information in that format.
Turning now to Fig. 9b, the mode flags are Inltlatizeci, or relnl-tlalized if the routine Is returning to this point from squint subsequent point In the routine. Then the routine sends the "MODEM READY" message.
The routine then welts for a comnEtnd. It won't end Its loop until It gets It a start bit.
If the catmand was a CONTROL T, with a one second Idle, then the routine jumps to A In Fig. pa, that Is the routine goes back to Idle.
This turns the modem off.
Next, the routine checks for all dial command, PULSE OR TONE DIAL.
After the user designates pulse or tone dialing CUP or T, respectively), he enters the phone nurser that he wants dialed and CARRIAGE RETURN.
CARRIAGE RETURN sends the routine to WAIT FOR DIAL TONE. After the modern receives several milliseconds of dial tone, It starts loading the phone number digits. The routine converts each digit Fran ASCII to hex. The routine next asks if the dialing is pulse dialing. If the answer Is YES, the modem sends the dial pulses. After each dialed digit, the routine delays 765 milliseconds and then checks to see if the entire number has been dialed. If it has not, the routine goes back and gets another digit, until finally it has dialed all the digits. If the answer to the questions PULSE DIALING? is NO, then the Z8 routine initializes the 7720 for DT~F mode and sends the DT~F tones. There is a 100 mtllisecGnd delay between DTMF dialed digits. The digits are sent sequentially until the routine is done.

~3~321 Next the 7720 is initialized for line status mode. Then the Z8 n~nltors one pin of the 7720 to determine If 100 milliseconds of any status tone occurs on it. If 100 milliseconds of status tone occurs, the Z8 detenmlnes what tone It is. The busy tone Interrupt frequency is S relatively hlghér. The ring back Interrupt frequency is relatively lower.
The Interrupt frequency is ho the modem can tell the difference between the two. If the status tone is a busy tone, the "BUSY" n~ssage Is displayed and the routine determines To It is to redlal. If the routine us Instructed to Rudy, it welts for the dial tone again. The modem can be Instructed to radial up to 15 limes on a busy or dead fine. If the line is not busy the routine asks TOO MANY RING8ACKS? If the modem is ~onltorTng a ring back tone and hasn't received too many ring backs yet, the routine continues to ring. The modem can be set to any m umber of rlngbacks. If there Is no answer in that number of rlngbacks, the routine sends the "NO ANSWER" message and returns to the command state (Fig. aye.
No the routine is at the point at which it decides whether it did or did not receive a status tone. Here the routine checks the abort timer. If the abort liner limes out, the "No TONE" message To sent, and the routine returns to command state Fig. pa). If the node did not detect busy or too many rlngbacks or abort timeout, the routine sets the 7720 Into the low speed originate mode.
The next decision Is RECEIVE ANSWER TONE? If the answer is YES, the routine delays for 456 milliseconds. Returning now to the PULSE OR TONE
DIAL? decision block, if the answer to that question Is NO, a QUERY?
decision block is reached. If the answer to QUERY? is YES, the modem configuration fist Is displayed on the tenninal. If the answer to QUERY?
us two, the terminal asks INITIALIZE?, that is, if the user wants to set the n~dem configuration. If the answer to INITIALIZE? question is NO, the routine asks if the ndem To in the LOCAL ANALOG LOOP BACK? nude. If the answer to LAY? it YES, the routine next asks if the mode is in HIGH SPEED?
If it is in low speed, then the 7720 is set to low speed analog loop back.
A subroutine is then called that transfers the data back and forth between ~L23;2 [)21 the 7720 and the terminal. ennui the Z8 gets a CONTROL T with a one second Idle to end that mode, the routine returns to command state via "DISCONNECT."
The YES answer to HIGH SPEED? takes the Mom along a similar path through the routine. The 7720 Is set to high speed local analog loop back.
In his case, Instead of having a subroutine that transfers data, the routine must go through the high speed interrupts because of the lilac involved in, for example, reinserting missing stop bits, break sequences, and the like. Once again, CONTROL T with a one second Idle gets the n~dem out ox that nude and back to the command state via "DISCONNECT.ll If the answer LAY? is it the routine asks AUTO ANSWER?
If the answer So AUTO ANSWER? is NO, the routine goes to MANUAL
ANSWER? The YES decision takes the routine to the auto-answer moxie. Upon receipt of a valid ring Indication, or the manual answer command, the 7720 is configured In the low speed answer mode and a two second delay Is provided for carrier billing protection. The routine then sends the answer tone. The modem welts to detect carrier from the other end. If no carrier is detected before the abort lime out, the routine sends the "NO
TONE" n~ssage and returns to commend state. If carrier is dejected, then the routine confirms It is receiving the low speed mark. If It is not receiving a few speed mark, the 7720 is reconfigured to the high speed answer node. It enables the high speed interrupts, sends a high speed scr~lbled mark and welts for so nay milliseconds to receive a high speed scrambled mark. If it receives the high speed scrambled mark, then the protocol sequence Is completed. If it does not receive the high speed scrambled mark, then It sends the "DISCONNECT message and returns to the command state. Assuming the high speed scrambled mark was received, the routine delays for 765 milliseconds.
Returning now to the Molly ANSWER? decision block, if the answer to that question is NO, the next decision block Is MANUAL ORIGINATE? If the answer to MANUAL ORIGINATE? Is NO, there nest have been an error. The "ERROR" message To displayed and the routine returns to command state. If the answer to MANUAL ORIGINATE? is YES, the 7720 is set to low speed ~320Z~

originate mode and waits to receive an answer tone from the answer modem.
If no answer zone Is received, a "NO TONE" message is displayed and the routine returns to cud state. If answer tone is received, the routine delays for 456 mlllseconds~ Then a decision block HIGH SPEED? Is encountered. The routine determines if the slag is set for high speed.
If It is set for low speed, the routine sends the few speed mark, the originate modem completes its protocol, and delays for 765 milliseconds.
If the flag is set for high speed, the 7720 Is relnitlalIzed for high speed originate Noah, the high speed interrupts are enabled, and a high speed scrambled nary is sent. The routine then welts to receive the scrambled mark from the answer modem. If the high speed scrambled mark Is not received, the "DISCONNECT" n~ssage is sent and the routine returns to command state. If the high speed scrambled mark is received, then protocol is passed and the routine goes to delay 765 milliseconds, the "end" of the protocol phase. The routine next asks if the modem is configured for HIGH SPEED? If low speed, then the routine transfers data back and forth between the 7720 and the terminal. The routine checks for RECEIVE SPACE DISCONNECT? The 212 protocol requires the ndem to dls-connect after 1.6 seconds of space.
If the answer to HIGH SPEED? is YES, then data is sent back and forth. Additionally, the routine must check for digital loop (DO), remote digital loop CRUDELY) or responding to runt digital loop (RRDL). If the routine goes into digital loop or responding to remote digital loop, then the modem sends the received data back as transmitted data in the other band. In the case of RDL, the local modem is requesting that a rewrote modem mirror transmitted data back to the user.
RECEIVE SPACE DISCONNECT? As mentioned before, if the modem receives 1.6 seconds of space it outputs the "DISCON~ECr' message and disconnects.
If the modem loses carrier, it outputs the "DISCONNECT message and disconnects. If carrier is not lost, the routine next asks if DATA
TERMINAL READY is lost. If the answer is NO, the routine returns to the HIGH SPEED? decision block. If the answer is YES, the routine asks if SEND SPACE DISCONNECT is enabled. In the case of loss of DTR, the routine -40- 123~02~

checks the flags to determine if the local modem is to send a space disconnect. In the case In which the local mod receives a space disk connect from the remote modem, there Is no point in sending a space disconnect, because the remote modem has already sent one, and has likely S already disconnected. In the case of loss of carter, If there Is no carrier, the local modem is not co~munlcatlng with the remote modem anyway, so again, there is no need to send a space disconnect. However, In the case of loss of DTR, the local modem Is the one attempting to disconnect the call, so the routine checks the flags to determine If the local modem Is supposed to send the space disconnect. If the send space disconnect Is enabled, a space disconnect is sent. Then the ''DISCONNECT
message is displayed and the routine returns to command state.
Turning now to Figs. 10a-f, the Interrupts which drive the Z8 routine will be discussed briefly. Essentially everything In high speed rode, whether It Is synchronous or asynchronotJs, Is handled Inside the inter-ruts because all high speed operations require timing. In low speed mode, the routine doesn't need timing because low speed data Is FISK, and Is easily handled In real time. In low speed, there are not stop bits to delete, doublets to decode and reassemble Into bit pairs, no timing signals, etc. In FISK, If one frequency Is being transmitted or received, the data is a one, If the other frequency Is being transmitted or received, the data is a zero. In high speed, the modem derives timing from the phone fine and sends it to the terminal over the interface in the case of synchronous mode operation. In asynchronous mode operation, the modem must count bits In the character and determine whether or not It has to reinsert missing stop bits, and so on. So high speed operation Is handled with interrupts, except as specifically provided in the main routine discussed in connection with Fig. Ed.
Interrupt 2 Is illustrated in Figure aye. Interrupt 2 is controlled by the transmit data from the terminal. Interrupt 2 is enabled whenever the mode is welting for a start bit. Interrupt 2 is mutually exclusive with interrupt 4, which will be discussed in connection with Fig. 10c. If Interrupt 2 is on, then interrupt 4 will be off, and vice versa. If ~23;~ I

lnterrup~ 2 Is enabled, that means the n~dem has detected the start transmission of a character. The interrupt 2 routine first determines If the modem is in digital loop or responding to remote digital loop. If It is, the interrupt 2 routine returns until the priority routine DO or RRDL
is complete. It nay be recalled that In DO or RRDL the local node is looping data back to a runt ntodem and the local n~xlem Is not supposed to respond to anything but loss of carrier from the remote modem. If the node is not in DO or RRDL, the Interrupt 2 routine disables Interrupt 2 because the only 1-to-0 transition that needs to be detected In any character Is the first one, the start transition. There may be many other 1-to-0 trans;tlons In a character that interrupt 2 does not want to recognize here, so It disables itself.
Then, timer 0, which the routine uses for transmit timing is set so that It interrupts In half a bit time from the present and every kit thereafter. Interrupt 4 Is thus set so that It interrupts In one-half a bit lime and then exactly one bit time after that until the end of the character, because interrupt 4 Is the Interrupt that transfers bits into the transmit buffer. Then the interrupt 2 routine sets the transmitter bit count to the number of bits per character so that Interrupt 4 will have the data format.
Interrupt 0, Illustrated in Fig. 10b, is coupled to P3-2, pin 12 on the I which Is driven by the 1200 Ho signal from the crystal oscillator.
The first Item In Interrupt 0 Is to update some timers that are funning at the 1200 Ho rate. Those timers are delay timers, such as the 765 mllll-seconds delay timer, the welt 2 seconds timer, and so on. Then thelnterrupt 0 routine asks If the data is LOW SPEED OR SUCROSE? If the answer is YES, the routine returns from Interrupt 0. If the answer Is NO, then the data must be high speed asynchronous. The interrupt 0 routine next asks SELF TEST? This Is where the modem generates its self test pattern. The modem's self test pattern starts at an ASCII zero and goes sequentially to Azalea I, so It has 40 characters. Then It starts over again. If the modem is not In self-test, or once the modem has updated the self-test pattern, interrupt 0 screenless the transmit data, and sends ~232()~J

it to the 7720. Finally, the interrupt 0 routine Inserts extra stop bits if necessary. Then control is returned to the main routine of Figure Ed.
The asynchronous transmitter uses interrupt 0 and Interrupt 4.
Interrupt 4 Inserts bits Into the transmit buffer. Interrupt 0 removes bits from the transmit buffer, scrambles them and sends them to the 7720.
If the terminal Is In idle, the modem is in a marking state, so there won't be any start bits to trigger interrupt 4. However, Interrupt 0 will be notating bits out of the transmit buffer all of the lime in normal operation. Once the bits that are rotated through the transmit buffer get to a certain point, the routine recognizes that no characters of transmit data have arrived lately. This drives the routine Into a mode In which It starts Inserting extra stop bits (marks into the transmit buffer. That happens in data terminal Idle mode when characters are not being trays-milted.
loath reference not to Fig. 10c, Interrupt 4 will be discussed. In the synchronous mode, Interrupt 4 Is the transmit phase locked loop timer at 2400 ill. In the asynchronous node, Interrupt 4 is the recitable 120Q
Ho clock. Interrupt 4 transfers bits of transmit data into the transmit buffer. The Interrupt 4 routine first updates the 9600 Ho timers. These liners control the messages to the terminal and inputting of characters from the terminal. Whatever the baud rate is, the interrupt 4 routine knows how may counts to count between bits so that It can pull In characters or send characters to the terminal. If performs these functions In 9600 Ho steps Instead of 1200 Ho steps. The interrupt 4 routine asks If the main routine Is In COMMODE STATE? If It Is not in command state, it Is in one of the on-line states. If it us In command state, then the routine returns from interrupt 4, because the interrupt 4 routine needs only to update the 9600 it timers.
If the main routine is in an on-line state, then the Interrupt 4 routine must determine whether the online state Is synchronous or asynchronous. If It Is asynchronous, the Interrupt 4 routine takes the lncor,lns bit and loads it Into the transmit buffer. Then the Interrupt 4 routine determines If the flag is set that indicates the routine Is In a . . --t Sue break that Is short one or more bits. To be countable with 212 modems, if there is a break and there are 10 bits per character, the break must be at least 23 or 24 bits. If there is a break and characters contain 9 bits per character, the break must be at least 21 or 22 bits. If the break is shorter than that, then the break Is too short and the remote modem could conceivably Interpret the break as being two "all zero" characters, all space characters with a deleted stop bit between them. To prevent that from happening, the tran~lltter forces the break to be a bit longer than two all space characters with a deleted stop bit between them.
After the interrupt 4 routine extends short breaks, then It checks the counter to see If the character is completed. If the character is not complete, the interrupt 4 routine returns. If the character Is finished, then the interrupt 4 routine checks a pointer that Is pointing to a certain bit In the transmit buffer. There Is a nominal posltTon for the pointer. If it is too far one way or the other, the Interrupt 4 routine Interprets the pointer location as a data rate that is either too vast or too slow. If the pointer is in the direction of too fast, In other words, if the bit rate Is slightly above 1200 bus, then occasionally the routine nest delete a stop bit. To do this, interrupt 4 disables Itself and enables interrupt 2.
As previously mentioned, interrupt 4 in synchronous nude is the transmit phase locked loop timer at 2400 Ho. In asynchronous mode, interrupt 4 is the recitable 1200 Ho clock. In synchronous mode, interrupt 4 is enabled in high speed except with synchronous slave timing, In which case timing Is obtained in the receive synchronous Interrupt, Interrupt 5, which will be discussed subsequently. In synchronous mode, there Is somewhere a transmit clock, either internally on the modem, being generated by the 120D Ho interrupt, or externally, from the terminal or computer and being sent with the incoming data for transmission. In either case, there is a source for the transmit timing, and thaw transmit timing source drives interrupt 4.
If the timing Is internal, the modem supplies the timing itself and tells the terminal when to give the modem a bit. On the US 232 interface, 123~

one of the pins is transit liming. Transmit timing is a 2400 Ho interrupt, so if the modem is to send a 1200 Ho square wave, it toggles one way on one interrupt and the other way on the next Interrupt, resulting In a 1200 Ho square wave. Next, the Interrupt 4 routine determines if the node is in remote digital loop back (RDL~ protocol. If the modem is in RDL protocol, the interrupt 4 routine signals the remote modem to Initiate RDL. This is done by the local modem by sending minus go phase shifts to the remote modem.
As soon as the remote modem detects minus 90 phase shifts for a predetermined lime period, it responds by sending a scrambles dotting pattern, 10101010, back to the local n~dem. When the local modem detects the scrambled dotting pattern, then It sends scrarrbled marks to the remote modem. The remote node detects the scrambled marks and starts looping them back. As soon as the local modem detects its own scrambled marks, then it knows the remote modem Is looping the data back. If the local node is not in RDL protocol, or If the minus 90 phase shifts have been sent, the interrupt 4 routine next goes to SCRABBLE TRANSMIT DATA AND SEND
TO 7720. Then, if the node is not in external transmit liming, control is returned from interrupt 4 to the main routine. if the modem is in external transmit timing, Interrupt 4 is disabled and control is returned from Interrupt 4 to the main routine.
In synchronous external timing, interrupt 4 Is enabled in interrupt
3. Interrupt 3, Fig. 10d, is on the pin of the Z8 which is coupled to the US 232 Interface. If interrupt 4 is in synchronous mode, it is driven either by external timing or by the modem's own internal timing. If the modem is receiving external liming, the terminal or computer is supplying the timing to the modem with data. The modem must phase shift the timing one-half bit lime later than the received 1-to-0-going timing so that the modem can get to the centers of the transmit data bits. In other words, the transmit timing edges occur In the centers of the data bits. There-fore, interrupt 3 sets TO to interrupt half a bit later and then enables interrupt 4. Now, it should be recalled in the synchronous mode, Inter-rut 4 is the transmitter phase lock loop timer. Interrupt 1 controls the ~2321D~

phase lock loop In synchronous mode. Interrupt 1 Is enabled In high speed. The Interrupt 1 routine will be discussed with reference to Fig.
eye.
Interrupt l is driven by the received multiplexed timing and data - 5 iron the 7720. The Interrupt 1 routine first gets the received data from the 7720 and descrambles it. Then interrupt 1 determines if remote digital loop back is enabled. If RDL is enabled, then the Interrupt 1 routine looks for the scrambled dotting pattern. In other words, If the interrupt 1 routine has reached this point, then It us In the middle of lo RDL protocol. The local modem is trying to place the remote modem In RRDL~ If the local modem detects scrambled dotting pattern, then a flag 15 set. The interrupt routine next determines if the local modem Is responding to a remote dlglta1 loop. If RRDL is enabled then the local modem watts for minus 90 phase shifts from the remote modem. Next interrupt 1 asks If the Nemo Is In synchronous or asynchronous mode. If it Is In asynchronous Ned, control is returned from Interrupt l to the main routine. If the ncdem is In synchronous mode, then the receiver phase locked loop, timer l (TO), which Is Interrupt 5, is updated. Here the receiver PULL Is either speeded up or slowed down as necessary.
Interrupt 5 is the To timer. Interrupt 5 Is always enabled In high speed whether the modem Is in the synchronous or asynchronous mode. If the modem is in asynchronous mode, Interrupt 5 Is the 1200 Ho receive baud clock. If the node Is In synchronous mode, Interrupt 5 is the receiver phase locked loop timer at 2400 Ho, which can be speeded up or stewed down. With reference now to Fig. loft asynchronous mode will be discussed first. First, interrupt 5 determines if the modem Is sending a self test pattern. If It Is, one of the things that the self-test pattern does Is enable the user to check if there are any errors over the local system, the phone fine and the remote modem. The self-test pattern Is sequential, starling at ASCII O and continuing sequentially through the ASCII table to ASCII W. The next character should always be one ASCII character higher than the previous one, except of course when the self-test pattern is wrapping around from ASCII W to ASCII 0. Self-test tests that pattern.

I . A ... .: ' ~Z3ZOZ~

If there Is an error in the self-test pattern, the routine restarts the pattern, so the user can tell imn~diately by looking at the display that there was an error.
Next, the ln~errupt 5 routine determines if it must reinsert any missing stop bits that the remote transmitter has deleted. The local modem reinserts any missing stop bits. Finally, the Interrupt 5 routine outputs received data frill the receiver buffer to the US 232.
If the modem Is To the synchronous node, Interrupt 5 toggles the received timing. That Is a divlde-by-two operation. The Interrupt 5 routine next asks If the modem is outlined for slave timing. If there Is not slave timing, Interrupt 5 Jumps to OUTPUT RECEIVED DATA FROM RECEIVE
BUFFER. After that, control Is returned to the main routine. If there is slave timing " interrupt 5 toggles the transmit liming. If the modem Is on RRDL protocol, Interrupt 5 sends the scrambled dotting pattern. If the modem Is In digital loop, Interrupt 5 retransmits the received data. Then Interrupt 5 calls the subroutine to scramble the transmit data and send It to the 7720 as dlblts. Finally interrupt 5 reaches the point where It can handle the received data, so it outputs the received data from the receive buffer so to the US 232 and returns control to the main routine.

Conclusion Although the present Invention has been Illustrated and described In connection with example embodiments, it will be understood that this is illustrative of the invention, and It is by no means restrictive thereof.
It is reasonably to be expected that those skilled In the art can make numerous revisions and adultness to the invention and it is intended that such revisions and additions will be Included within the scope of the following claims as equivalents Ox the Invention.

Claims (31)

    The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:

    1. A telephone network between an originate modem and an answer modem, at least one said modem comprising a two speed, full duplex modem for transmitting and receiving analog signals through said telephone network, said full duplex modem comprising:
    (a) a data terminal means for transmitting and receiving digital data;
    (b) a microcomputer means in communication with the data terminal means;
    (c) a signal processor means in communication with the microcomputer means, said signal processor means further providing a means for storing a plurality of digital data samples corresponding to a sinusoidal waveform;
    (d) a converting means in communication with the signal processor means for converting digital data from the signal processor to the analog signal for transmission over the telephone network, and for converting the received analog signal from the telephone network to the digital data;
    (e) a filter means in communication with the converting means and the telephone network for filtering the analog signal for transmission between the converting
  1. Claim 1(e) continued...

    means and the telephone network, and for filtering the received analog signal; and (f) a selecting means in communication with the microcomputer means for selecting a bit rate mode using the digital data from the data terminal means; said selecting means further providing a means responsive to the bit rate of the originate modem, to selectively communicate either a relatively higher bit rate by differential phase shift keying, or a relatively lower bit rate by frequency shift keying; the selecting means further providing a means for selecting digital data samples at intervals determined by the bit rate mode, to synthesize the digital data modulated for transmission through the converting means to the analog signal for transmission through the filter means over the telephone network for communication between the originate modem and the answer modem.
  2. 2. The modem of claim 1, wherein the digital signal samples corresponding to a sinusoidal waveform comprise a mu-law compressed sinusoidal waveform.
  3. 3. The modem of claim 1, wherein the converting means comprises a coder-decoder.
  4. 4. The modem of claim 1, wherein the signal processor means further comprises a means for correlating the received analog signal at a frequency determined by the selecting means to recover data from the received analog signal for communication to the microcomputer means.
  5. 5. The modem of claim 4, wherein the received analog signal and the digital data modulated for transmis-sion are frequency division multiplexed for substantially simultaneously transmitting and receiving data.
  6. 6. The modem of claim 1, wherein the signal processor means further comprises a means for selecting the digital data samples at intervals determined by a dialed digit stored in the microcomputer means to generate a tone pair for transmission through the converting means to the telephone network.
  7. 7. The modem of claim 6 wherein the means for selecting samples at intervals determined by a dialed digit to generate a tone pair comprises a means for dividing a time base into substantially equal first and second alternating intervals and for selecting at intervals to generate a sample of one of the tones of the pair during alternate first intervals and for selecting at intervals to generate a sample of the other tone of the pair during alternate second intervals.
  8. 8. The modem of claim 7, wherein the tone pair is a DTMF pair.
  9. 9. The modem of claim 7, wherein the signal processor means further comprises a means for storing a power series approximation of a stored sample, and for calculating one of a first and second amplitudes from the power series approximation and the stored sample to provide one of the tones of the pair selectively at the first and second intervals of the time base.
  10. 10. The modem of claim 1, wherein the signal processor means and microcomputer means comprise one or more configuring input terminals and one or more configuring output terminals for coupling respective configuring output terminals to respective configuring input terminals.

    11. A telephone network between an originate modem and an answer modem, said modems for transmitting and receiving analog signals over said telephone network, at least one said modem comprising:
    (a) a data terminal means for transmitting and receiving digital data;
    (b) a microcomputer means in communication with the data terminal means;
    (c) a selecting means responsive to the microcomputer means for selecting one of a relatively higher bit rate mode by differential phase shift keying,
  11. Claim 11(c) continued....

    and a relatively lower bit rate mode by frequency shift keying; the selected bit rate mode determined by the bit rate mode of the originate modem;
    (d) a signal processor means in communication with the microcomputer means, said signal processor means for storing digital data samples corresponding to a mu-law compressed sinusoidal waveform;
    (e) and a converting means in communication with the signal processor means and the telephone network, said converting means for converting the digital data for transmission from the signal processor means to synthesize the analog signal for transmission over the telephone network, and for converting the received analog signal from the telephone network to the digital data.
  12. 12. The modem of claim 11, wherein the micro-computer means selects samples stored at intervals from the digital data samples stored in the signal processor means, to generate a tone pair corresponding to a dialed digit.

    13. The modem of claim 12, wherein the tone pair corresponding to a dialed digit comprises a means for dividing a time base into substantially equal first and second alternating intervals and for selecting the digital data samples at intervals to generate a sample of one of
  13. Claim 13 continued....
    the tones of the pair during alternate first intervals and for selecting a sample of the other tone of the pair during alternate second intervals.
  14. 14. The modem of claim 13, wherein the tone pair is a DTMF pair.
  15. 15. The modem of claim 13, wherein the digital data modulated for transmission is provided generally at a first amplitude and the tones of the pair are provided generally at a second amplitude, the signal processor means further comprising means for storing a power series approximation of one of the first and second amplitudes from any stored sample and for calculating the one of the first and second amplitudes from the power series approximation and the stored sample to provide signals selectively at the first and second amplitudes.
  16. 16. The modem of claim 11, wherein the converting means comprises a coder-decoder.
  17. 17. The modem of claim 11 and further comprising means for filtering the signal for transmission.
  18. 18. The modem of claim 11 and further comprising means for filtering the received signal.

    19. A dialed access telephone line between an originate modem and an answer modem, at least one modem comprising a two speed full duplex modem for simultaneously
  19. Claim 19 continued....

    transmitting and receiving an analog signal over said dialed access telephone line, said full duplex modem comprising:
    a data terminal for transmitting and receiving digital data;
    a microcomputer means in communication with the data terminal means;
    a signal processor means in communication with the microcomputer means, said signal processor means with a dual speed mode for correlating a received analog signal from the telephone line at a frequency determined by the bit rate of the originate modem to recover digital data from the received analog signal, said signal processor means for storing a plurality of digital data samples corresponding to a sinsusoidal waveform, and for selecting the digital data samples at intervals determined by the bit rate in which the originate modem is operating to synthesize an analog signal for transmission over the telephone line, and to selectively communicate over the telephone line a relatively higher bit rate by differential phase shift keying, or a relatively lower bit rate by frequency shift keying.
  20. 20. The modem of claim 19, wherein the samples corresponding to a sinusoidal waveform are a mu-law compressed sinusoidal waveform.

    21, A dual speed, full duplex modem system comprising a first data terminal; a first, or originate modem; a con-ductor pair; a second, or answer modem; and a second data terminal; means for coupling the first data terminal to the first modem; means for coupling the second data terminal to the second modem; means for coupling the first modem to the conductor pair; means for coupling the second modem to the conductor pair; at least one of the originate and answer modems comprising a dual speed means for selectively transmitting data at or about a first carrier frequency by frequency shift keying, and for simultaneously receiving data at or about a second carrier frequency by frequency shift keying; the dual speed means further comprising means for selectively transmitting data at or about a third carrier frequency by quadrature differential phase shift keying and for simultaneously receiving data at or about a fourth carrier frequency by quadrature differential phase shift keying; each modem comprising means for converting outgoing analog signals for transmission from digital data to analog signals and for converting incoming analog signals for reception from analog signals to digital data, wherein each of the first and second modems comprises a signal processor means for processing outgoing data to produce a first stream of digital data; means for coupling the signal processor means to a converter means to convert the first stream of digital data into analog signals at or about the first frequency or the third frequency, the converter means being capable of processing an incoming second stream of analog signals and converting the second stream of analog signals into received
  21. Claim 21 continued....
    digital data for simultaneously processing by the signal processor means; means for coupling the signal processor means to the converter means to convert digital data at or about the second or fourth frequency into the second stream of digital signals, the first and second modems further comprising a microcomputer means operatively connnected to the signal processor means, for storing digital data regarding the signals at or about the first, second, third and fourth frequencies and for configuring he signal processor means to selectively process the digital data at or about the first and second frequencies;
    or at or about the third and fourth frequencies depending upon the dual speed means of the originate modem.
  22. 22. The modem system of claim 21, wherein the microcomputer means includes a scrambler/descrambler for scrambling information supplied by one of the first and second data terminals in accordance with a pre-determined scrambler algorithm; and for descrambling information received from the other of the first and second data terminals in accordance with a predetermined descrambler algorithm.
  23. 23. The modem system of claim 21, wherein the frequency shift keying is coherent.

    24. The modem system of claim 21, wherein the signal processor means further comprises a means for correlating the digital data signals at or about the second and fourth
  24. Claim 24 continued....
    frequencies to recover the second stream of digital data signals.
  25. 25. The modem system of claim 21, wherein the signal processor means further comprises a means for storing sample values corresponding to the signals at or about the first and third frequencies at various sampling points and a means for synthesizing the stored sample values at or about the first and third frequencies.
  26. 26. The modem system of claim 21, wherein the digital-to-analog converter comprises a coder-decoder.

    27. A dual speed, full duplex modem system comprising a first data terminal; a first, or originate modem; a dialed-access telephone line; a second, or answer modem;
    a second data terminal; means for coupling the first data terminal to the first modem; means for coupling the first modem to the dialed-access telephone line; means for coupling the second modem to the second data terminal;
    means for coupling the second modem to the dialed access telephone line; each modem including means for transmitting data at or about a first carrier frequency by frequency shift keying and for simultaneously receiving signals at or about a second carrier frequency by frequency shift keying; each modem further including means for transmitting data at or about a third carrier frequency by quadrature
  27. Claim 27 continued....

    differential phase shift keying and for simultaneously receiving data at or about a fourth carrier frequency by quadrature differential phase shift keying; each modem comprising means for converting outgoing signals for transmission from digital to analog form and for converting incoming signals for reception from analog to digital form; at least one of the first and second modems comprising a signal processor means for processing outgoing data to produce a first stream of digital signals; means for coupling the signal processor means to a digital-to-analog converter to convert the first stream of digital signals into analog signals at or about the first frequency or the third frequency; an analog-to-digital converter to convert signals at or about the second or fourth frequency into a second stream of digital signals;
    the signal processor means being capable of simultaneously processing the incoming second stream of digital signals and converting the second stream of digital signals into received data; means for coupling the signal processor means to the analog-to-digital converter; a microcomputer means for storing data regarding the signals at or about the first, second, third and fourth frequencies; and for configuring the signal processor means to selectively process signals either at or about the first and second frequencies or at or about the third and fourth frequencies.
  28. 28. The modem system of claim 27, wherein the micro-computer includes a scrambler/descrambler for scrambling information supplied by one of the first and second data terminals in accordance with a predetermined scrambler algorithm; and for descrambling information received from the other of the first and second data terminals in accordance with a predetermined descrambler algorithm.
  29. 29. The modem system of claim 27, wherein the frequency shift keying is coherent.
  30. 30. The modem system of claim 27, wherein the signal processor means further comprises a means for correlating the signals at or about the second and fourth frequencies to recover the second stream of digital data signals.
  31. 31. The modem system of claim 27, wherein the signal processor means further comprises a means for storing sample signals at or about the first and third frequencies at various sampling points and a means for synthesizing the stored sample values corresponding to the signals at or about the first and third frequencies.
CA000462458A 1983-09-09 1984-09-05 Digital signal processor modem Expired CA1232021A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/530,690 US4620294A (en) 1983-09-09 1983-09-09 Digital signal processor modem
US06/530,690 1983-09-09

Publications (1)

Publication Number Publication Date
CA1232021A true CA1232021A (en) 1988-01-26

Family

ID=24114589

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000462458A Expired CA1232021A (en) 1983-09-09 1984-09-05 Digital signal processor modem

Country Status (5)

Country Link
US (1) US4620294A (en)
EP (1) EP0159326B1 (en)
JP (1) JPS60502181A (en)
CA (1) CA1232021A (en)
WO (1) WO1985001407A1 (en)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4691342A (en) * 1983-09-09 1987-09-01 Cts Corporation Multi-speed, full duplex modem
US4578796A (en) * 1983-11-03 1986-03-25 Bell Telephone Laboratories, Incorporated Programmable multiple type data set
JPH0654923B2 (en) * 1985-04-09 1994-07-20 日本電気株式会社 Mode of operation control of modulator / demodulator
US4817147A (en) * 1985-11-18 1989-03-28 General Datacomm, Inc. Intelligent synchronous modem and communication system incorporating the same
US4922534A (en) * 1985-11-18 1990-05-01 General Datacomm, Inc. Intelligent synchronous modem and communication system incorporating the same
US4849703A (en) * 1986-07-15 1989-07-18 Hayes Microcomputer Products, Inc. Method and apparatus for generating a data sampling clock locked to a baud clock contained in a data signal
US4910474A (en) * 1986-07-15 1990-03-20 Hayes Microcomputer Products, Inc. Method and apparatus for generating phase and amplitude modulated signals
US4868864A (en) * 1986-07-15 1989-09-19 Hayes Microcomputer Products, Inc. Autocorrelating 2400 bps handshake sequence detector
US5040194A (en) * 1986-07-15 1991-08-13 Hayes Microcomputer Products, Inc. Method and apparatus for providing for automatic gain control of incoming signals in a modem
US4782498A (en) * 1986-08-28 1988-11-01 Hayes Microcomputer Products, Inc. Modem with improved handshaking capability
US5259000A (en) * 1987-08-26 1993-11-02 Hitachi, Ltd. Modulator-demodulator apparatus and system
US4850008A (en) * 1988-02-29 1989-07-18 Extel Corporation Method and apparatus for discrimination between different kinds of data transmission
US5170470A (en) * 1988-05-02 1992-12-08 National Semiconductor Corp. Integrated modem which employs a host processor as its controller
US5042028A (en) * 1988-08-31 1991-08-20 Kabushiki Kaisha Toshiba Communication terminal device
US5017915A (en) * 1988-09-19 1991-05-21 Dang Mieu Hong Method of enhancing communication setup between a communication station and a telecommunications network
US5134611A (en) * 1988-09-30 1992-07-28 Microcom, Inc. Analog/digital data device and method
US4890316A (en) * 1988-10-28 1989-12-26 Walsh Dale M Modem for communicating at high speed over voice-grade telephone circuits
US5097485A (en) * 1989-10-10 1992-03-17 Hughes Aircraft Company Hf high data rate modem
US5208804A (en) * 1990-10-30 1993-05-04 Motorola, Inc. Flexible-bandwidth radio
US5249220A (en) * 1991-04-18 1993-09-28 Rts Electronics, Inc. Handheld facsimile and alphanumeric message transceiver operating over telephone or wireless networks
US5524252A (en) * 1991-04-19 1996-06-04 International Business Machines Corporation Personal computer system combined with an adapter for networks having varying characteristics, and adapter for coupling a personal computer to such networks
US5369666A (en) * 1992-06-09 1994-11-29 Rockwell International Corporation Modem with digital isolation
US5737397A (en) 1992-11-06 1998-04-07 Compaq Computer Corporation Modem having separate modem engine and data access arrangement
AT403977B (en) * 1993-03-19 1998-07-27 Tech Buero Dipl Ing Gerhard Kr METHOD FOR TRANSMITTING DIGITAL SIGNALS IN WHICH THE FREQUENCY REVERSE SHOOTING IS USED AS A MODULATION METHOD, AND ARRANGEMENT FOR IMPLEMENTING THIS METHOD
US6111935A (en) * 1993-10-27 2000-08-29 Canon Kabushiki Kaisha Adaptive expansion table in a digital telephone receiver
JPH07193619A (en) * 1993-10-27 1995-07-28 Canon Inc Digital telephone set and its operating method
US5463633A (en) * 1994-02-22 1995-10-31 Rockwell International Corporation Use of at commands to test modem with HP3065
JPH07307764A (en) * 1994-03-18 1995-11-21 Fujitsu Ltd Data identification circuit used for optical parallel receiver, optical parallel receiver, optical parallel transmitter and terminal structure of optical transmission fiber
US6236724B1 (en) * 1994-10-04 2001-05-22 Enco-Tone Ltd. Methods and apparatus for encoding and decoding data transmitted over telephone lines
US5825781A (en) * 1995-12-20 1998-10-20 Hubbell, Inc. Pulse amplitude modulated tone generator
US5949762A (en) * 1996-01-24 1999-09-07 Telebit Corporation Apparatus and method for processing multiple telephone calls
US6038222A (en) * 1996-07-25 2000-03-14 Telebit Corporation Modem command and data interface
US7106754B1 (en) 1996-07-25 2006-09-12 Cisco Technology, Inc. Application programming interface for modem and ISDN processing
US6047308A (en) * 1996-07-25 2000-04-04 Cisco Technology, Inc. Modem with integrated control processor and digital signal processor sessions
US6023473A (en) 1996-07-25 2000-02-08 Telebit Corporation Application programming interface for modem and ISDN processing
US5931950A (en) 1997-06-17 1999-08-03 Pc-Tel, Inc. Wake-up-on-ring power conservation for host signal processing communication system
US6400759B1 (en) 1997-06-30 2002-06-04 Integrated Telecom Express, Inc. Device driver for rate adaptable modem with forward compatible and expandable functionality
US6073179A (en) * 1997-06-30 2000-06-06 Integrated Telecom Express Program for controlling DMT based modem using sub-channel selection to achieve scaleable data rate based on available signal processing resources
US6092122A (en) * 1997-06-30 2000-07-18 Integrated Telecom Express xDSL DMT modem using sub-channel selection to achieve scaleable data rate based on available signal processing resources
US6128335A (en) * 1997-06-30 2000-10-03 Integrated Telecom Express Software rate adaptable modem with forward compatible and expandable functionality and method of operation
US6065060A (en) * 1997-06-30 2000-05-16 Integrated Telecom Express Modular multiplicative data rate modem and method of operation
US6442195B1 (en) 1997-06-30 2002-08-27 Integrated Telecom Express, Inc. Multiple low speed sigma-delta analog front ends for full implementation of high-speed data link protocol
US6088385A (en) * 1997-06-30 2000-07-11 Integrated Telecom Express Flexible and scalable rate ADSL transceiver and system
KR100265714B1 (en) * 1997-10-02 2000-09-15 윤종용 Mobile computer and the extension system with telephone line selecting control function
US6532215B1 (en) 1998-08-07 2003-03-11 Cisco Technology, Inc. Device and method for network communications and diagnostics
US6381267B1 (en) * 1999-03-08 2002-04-30 International Business Machines Corporation Modems, methods, and computer program products for falling back to a lower data rate protocol upon detecting abnormal line conditions during startup
IL130540A (en) 1999-06-17 2003-07-31 Tadiran Telecom Business Syste System having a port with two operating modes
US7031381B1 (en) * 1999-10-27 2006-04-18 Paradyne Corporation Method and apparatus for reducing transmission errors caused by periodic transients in digital subscriber line (DSL) communication systems

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE634332A (en) * 1962-07-02
US3292086A (en) * 1963-07-11 1966-12-13 Motorola Inc System for converting a train of binary zeroes to a train of alternating ones and zeroes and vice versa
US3617889A (en) * 1969-08-13 1971-11-02 Rca Corp Time-frequency-phase in-band coded communications system
US3617941A (en) * 1970-08-03 1971-11-02 Sylvania Electric Prod Table look-up modulator
US3706929A (en) * 1971-01-04 1972-12-19 Philco Ford Corp Combined modem and vocoder pipeline processor
US3745250A (en) * 1971-10-19 1973-07-10 C Gerst Method and apparatus for binary data
US3773975A (en) * 1971-12-17 1973-11-20 Burroughs Corp Fsk digital transmitter
NL154386B (en) * 1972-04-17 1977-08-15 Nederlanden Staat SIGNALING SYSTEM.
US3988540A (en) * 1972-05-05 1976-10-26 Milgo Electronic Corporation Integrated circuit modem with a memory storage device for generating a modulated carrier signal
CH592389A5 (en) * 1972-10-26 1977-10-31 Licentia Gmbh
FR2208584A5 (en) * 1972-11-29 1974-06-21 Ibm France
US3905028A (en) * 1973-08-02 1975-09-09 North Electric Co Direct digital logarithmic encoder
US3937882A (en) * 1974-04-11 1976-02-10 Vadic Corporation Full-duplex communication system on a two wire line
US3958191A (en) * 1974-11-21 1976-05-18 International Business Machines Corporation Multi-line, multi-mode modulator using bandwidth reduction for digital fsk and dpsk modulation
US4003001A (en) * 1974-11-21 1977-01-11 International Business Machines Corporation Multi-line, multi-mode modulator using bandwidth reduction for digital FSK and DPSK modulation
US4008373A (en) * 1975-10-03 1977-02-15 Motorola, Inc. Digital differential phase shift keyed modulator
FR2341983A1 (en) * 1976-02-20 1977-09-16 Thomson Csf SINUSOIDAL ELECTRICAL SIGNAL GENERATOR FREQUENCY OR PHASE MODULE BY DIGITAL METHOD
US4085449A (en) * 1976-11-26 1978-04-18 Paradyne Corporation Digital modem
IT1082802B (en) * 1977-05-02 1985-05-21 Cselt Centro Studi Lab Telecom MICROPROGRAMMED UNIT FOR AN INTEGRATED DATA TRANSMISSION NETWORK TERMINATION EQUIPMENT WITH MO DEMODULATION DEVICE AND FOR THE RELATED CENTRAL EQUIPMENT
US4290140A (en) * 1978-02-23 1981-09-15 Northrop Corporation Combined coherent frequency and phase shift keying modulation system
US4404532A (en) * 1978-09-29 1983-09-13 Communications Satellite Corporation Modulator having improved bandwidth and power requirements
US4263670A (en) * 1979-05-11 1981-04-21 Universal Data Systems, Inc. Microprocessor data modem
US4310721A (en) * 1980-01-23 1982-01-12 The United States Of America As Represented By The Secretary Of The Army Half duplex integral vocoder modem system
US4387440A (en) * 1980-03-03 1983-06-07 Eaton Michael D Modem control device code multiplexing
US4313202A (en) * 1980-04-03 1982-01-26 Codex Corporation Modem circuitry

Also Published As

Publication number Publication date
EP0159326A4 (en) 1987-11-30
EP0159326B1 (en) 1993-02-24
WO1985001407A1 (en) 1985-03-28
JPS60502181A (en) 1985-12-12
US4620294A (en) 1986-10-28
EP0159326A1 (en) 1985-10-30

Similar Documents

Publication Publication Date Title
CA1232021A (en) Digital signal processor modem
EP0167331B1 (en) Signal transmission apparatus
US4055808A (en) Data communications network testing system
KR910007712B1 (en) Radio communication system using synchronous frequency hopping transmissions
US5255308A (en) Wide area cordless telephone system capable of receiving incoming group address calls
CA2026104C (en) Telecommunications system
US4215243A (en) Automatic modem identification system
US4423507A (en) Communications system for interconnecting a plurality of asynchronous data processing terminals
EP1065818A1 (en) Transmitting method and transmitting device
CA1186382A (en) Automatic answer/originate mode selection in modem
CA2003939C (en) Active signalling transmitter control
US4258433A (en) Digital data communication network having differing data transmission rate capabilities
JPH06105896B2 (en) Communication device
US5408517A (en) Method and apparatus for handoff synchronization
US5930685A (en) Apparatus and method using fast automatic link establishment waveform for high frequency communications
US5369703A (en) Command and control signalling method and apparatus
EP0088786B1 (en) Method and arrangement for signaling the transmission mode of a communication system
US3952163A (en) Method and apparatus for testing in FDM system
JP2000504533A (en) Telecommunications systems, channel extension protocols and radio stations
JPH11514175A (en) Data transmission method
US6882658B1 (en) Flexible time slot for communication
NZ205661A (en) Cardless telephone coupled by pcmtdm on swept carrier
EP1077568B1 (en) Telephone port with automatic detection and secure
NO865159L (en) PROCEDURE AND DEVICE FOR NON-AUDIOUS IDENTIFICATION CODE EXCHANGE BETWEEN A FEW WIRELESS STATIONS.
JPH01273443A (en) Cordless telephone system

Legal Events

Date Code Title Description
MKEX Expiry