Feature negotiation protocol and dynamically adjustable retraining sequence for a high speed half duplex modem4905282Abstract A feature negotiation protocol for synchronous operation and a dynamically adjustable retraining sequence. An originating modem, after completing conventional or standard handshaking sequences, sends a list of desired features to an answering modem. The answering modem either concurs with the desired features, if they are all supported, or sends, back to the originating modem, a list of those features which are supported by the answering modem. After the end of a negotiation time-out period, both modems begin operation using the features which are common to both modems or by using default (standard) features for operation. If the adjustable duration retraining sequence is selected then each modem will measure the elapsed time since the end of its last transmission and, at the beginning of its next transmission, send a retraining sequence which is dependent upon this elapsed time. Likewise, each modem will measure the amount of elapsed time since the end of its last reception and expect to receive a retraining sequence which is dependent upon this elapsed time. The adjustable duration retraining sequence generally operates to reduce the total retraining sequence and thereby increases the data throughput rate. The result is a modem which has enhanced feature negotiation capabilities and also a higher data throughput rate. Claims We claim: Description TECHNICAL FIELD
TABLE 1
______________________________________
RETRAINING SEQUENCE DURATION
FOR 4800 bps OPERATION
RECEIVER TRANSMITTER
Retraining Retraining
Maximum Sequence Maximum Sequence
Pause Duration Pause Duration
Stage (Sec) (mSec) (Sec) (mSec)
______________________________________
1 0.8 90 0.2 100
2 1.5 190 0.9 200
3 2.0 290 1.4 300
4 5.0 990 4.4 1000
5 10.0 2990 9.4 3000
6 >10.0 4990 >9.4 5000
______________________________________
In order to compensate for telephone delays, the transmitter and receiver stages do not change at the same pause time. Assume, for example, that the stage 2 pause time for both transmitter and receiver was 1.5 seconds. If, due to differences in measurements and/or telephone propagation delays, the receiver of one modem measured over 2 seconds while the transmitter for the other modem measured less than 2 seconds the receiver would be expecting a 290 millisecond retraining sequence but the transmitter would only be providing a 200 millisecond retraining sequence. Therefore, at least 90 milliseconds of data would be lost before the receiver would switch from the retraining mode to the data transfer mode. To avoid this problem an offset is built into the table so that, for any given pause time, the retraining time that the receiver expects will always be less than or equal to the retraining time that the transmitter provides. Also, for each stage, the minimum retraining time that the receiver expects is slightly less than the minimum training time that the transmitter will provide. This allows the receiver to miss the very beginning of the retraining transmission but still complete its retraining process prior to the time that the transmitter discontinues the retraining sequence and begins sending data. This also helps to ensure that the receiver does not miss the data message. The retraining sequence duration versus pause time function is actually a continuous function. However, for convenience in constructing a look-up table, the function was broken into six stages. Of course, a different number of stages could be used but, typically, the first three stages will be used for most communications so additional stages would be of marginal benefit. Table 2 lists the retraining sequence durations for 9600 bps operation. It will be seen from Table 2 that there are three stages for the transmitter: an unscrambled 4 point sequence; a scrambled 4 point sequence; and a 32 point sequence. There are two stages for the receiver: 4 point sequence reception (whether scrambled or unscrambled); and 32 point sequence reception. As in Table 1, the receiver stage bounds and transmitter stage bounds are offset by 600 milliseconds. Also, except for stages 1 and 2, the total sequence duration that the receiver expects for a given stage number is shorter than the minimum sequence duration that the transmitter will send. This allows the receiver to miss the very beginning of the retraining transmission but still complete its retraining process prior to the time that the transmitter discontinues the retraining sequence and begins sending data. This also helps to ensure that the receiver does not miss the data message.
TABLE 2
__________________________________________________________________________
RETRAINING SEQUENCE DURATIONS FOR 9600 bps OPERATION
TRANSMITTER
Minimum
Minimum
RECEIVER Unscrambled
Scrambled
Minimum
4 Point
32 Point
Total 4 Point
4 Point
32 Point
Total
Maximum
Sequence
Sequence
Sequence
Maximum
Sequence
Sequence
Sequence
Sequence
Pause Duration
Duration
Duration
Pause Duration
Duration
Duration
Duration
Stage
(Sec) (mSec)
(mSec)
(mSec)
(Sec) (mSec) (mSec)
(mSec)
(mSec)
__________________________________________________________________________
1 0.8 50 30 80 0.2 10 50 20 80
2 1.6 110 30 140 1.0 10 110 20 140
3 2.4 180 30 210 1.8 10 180 20 210
4 3.2 250 120 370 2.6 10 250 130 390
5 4.0 340 240 580 3.4 10 340 250 600
6 6.0 530 480 1010 5.4 10 530 490 1030
7 8.0 970 1550 2520 7.4 10 970 1560 2540
8 10.0 2470 540 3010 9.4 10 2470 550 3030
9 >10.0 2970 50 3020 >9.4 10 2970 60 3040
__________________________________________________________________________
The 10 millisecond unscrambled 4 point sequence aids the receiving modem in beginning to resynchronize its clocks prior to beginning of the reception of the scrambled 4 point sequence. However, the unscrambled 4 point sequence is not absolutely necessary and can, if desired, be eliminated. If the unscrambled 4 point sequence is eliminated then the duration of the scrambled 4 point sequence and/or the duration of the 32 point sequence should be increased by 10 milliseconds, the object being to provide a total duration which is adequate to retrain the clocks and phase locked loops in the receiving modem. Assume that the time measured by both the receiver for the first modem and the transmitter for the second modem is 0.9 seconds, which corresponds to stage 2. The transmitter will send a 10 millisecond unscrambled 4 point sequence followed by a 110 millisecond scrambled 4 point sequence. The receiver will be looking for 110 milliseconds of a 4 point sequence, whether scrambled or unscrambled. The total transmitter 4 point sequence time will be 120 milliseconds. Therefore, even if the receiver misses the beginning of the retraining sequence, it will switch (at 110 milliseconds) and begin looking for the 32 point sequence. Note that the receiver begins looking for the 32 point sequence at 110 milliseconds and the transmitter begins sending the 32 point sequence at 120 milliseconds. Therefore, the receiver will always begin looking for the 32 point sequence prior to the time that the transmitter will begin sending the 32 point sequence. This assures that, when the transmitter begins sending the 32 point sequence, the receiver is receptive to the 32 point sequence. Again, it will be noticed that, except for the first three stages, the total sequence duration expected by the receiver is less than the minimum total sequence duration sent by the transmitter. As another example, assume that the right to transmit has just been turned over to the transmitter for the second modem and the second modem has measured 2.0 seconds since the end of its last transmission. The transmitter for the second modem would be in stage 3 and would transmit 10 milliseconds of an unscrambled 4 point sequence, 180 milliseconds of a scrambled 4 point sequence, and 20 milliseconds of a 32 point sequence. If we assume that the telephone delay is a worst case condition of 600 milliseconds then, at the time the transmitter begins sending, the receiver for the first modem will only have detected an elapsed time of 1.4 seconds and would still be in stage 2. However, 200 milliseconds later, while the sequence from the other transmitter is still working its way through the telephone system, the receiver for the first modem will note that 1.6 seconds have elapsed and switch to stage 2. By the time the signal actually arrives at the receiver, the elapsed time will total 2.0 seconds and the receiver will be expecting 110 milliseconds of the 4 point sequence followed by 30 milliseconds of the 32 point sequence. Therefore, the retraining sequence sent by the transmitter is at least as large as the minimum expected retraining sequence duration expected by the receiver. Note that, for any given pause time, the sequence duration that the receiver expects will always be less than or equal to the sequence duration that the transmitter is sending. Turn now to FIG. 2 which is an illustration of the preferred embodiment of the handshaking sequence of the present invention. It will be appreciated that, if the adjustable start-up sequence duration is to be useful, both modems must use or not use that sequence. Therefore, one modem must have a way of determining whether the other modem can accommodate the adjustable retraining sequence duration. In the preferred embodiment, after completion of standard handshaking sequences, the originating modem initiates feature negotiation by sending a listing of desired or supported features. If the answering modem is capable of feature negotiation then it will respond accordingly. If not, then the answering modem will not respond and the originating modem will select the default options. The initiation of feature negotiations begins upon completion of the standard handshaking sequences and must be completed before the negotiation timeout period has expired. If not completed before the negotiation timeout period has expired then the default options are automatically used. Also, in the preferred embodiment, this negotiation process is only concerned with features which affect snychronous operation since new non-synchronous features may be negotiated using existing feature negotiation processes, as described in International Organization for Standardization (ISO) Standard 8885. Assume that the answering modem is idle 40 and that the originating modem seizes 30 the telephone line and dials the number of the answering modem. The originating modem then goes into the wait state 31. The answering modem will detect 41 the ringing signal on the telephone line and then seize 42 the telephone line. The answering modem then places 43 a 2100 Hertz answer tone on the line. The originating modem then detects 32 the answer tone. The originating modem then places 33 the origination tone on the telephone line. The answering modem detects 44 the origination tone. The originating modem and the answering modem then proceed to execute 34, 45, standard handshaking protocols, such as those described in CCITT V.22 bis and V.25, and the half-duplex handshake protocol described in U.S. patent application Ser. No. 054,419. Once these handshaking protocols have been completed both modems start their negotiation period timers and the originating modem initiates 35 the feature negotiation by sending a message, such as a list of the desired features, to the answering modem. The answering modem, in response to receiving 46 the message, will enter into the feature negotiation phase. The originating modem and the answering modem then complete 36, 47 the feature negotiation and, after the negotiation period time out, are available for data transfer. In the preferred embodiment, the features are negotiated through the exchange of SDLC-type frames. The negotiation must be completed prior to the negotiation period time out. If not, the default options are selected. Note that the originating modem does not, at the time of initiating feature negotiation, know whether the answering modem is capable of feature negotiation or not. If the answering modem responds, then it is presumed to be capable of feature negotiation. Similarly, the answering modem knows that the originating modem is capable of feature negotiation only if the originating modem sends a list of features. The answering modem will only engage in feature negotiation if the answering modem has been configured for synchronous operation, the answering modem has the capability to operate half duplex at 4800 or 9600 bps, at least one new (non-default) feature is supported and available, and the originating modem has initiated the feature negotiation. The originating modem will initiate the feature negotiation by sending a list of desired features only if the originating modem has been configured for synchronous operation, the originating modem has the capability to operate half-duplex at 4800 or 9600 bps, and at least one new (non-default) feature is supported and available. At the end of the negotiation time-out period the modems will go into the online (data transfer) mode of operation. Therefore, negotiation must be completed by the time that the negotiation time-out period expires. If negotiation is not completed by that time then the default features are selected. In the preferred embodiment, the negotiation time-out period is set to five seconds. In the preferred embodiment, the modems will allow one second for the negotiation time-out period unless the user has programed in a larger time-out period. In an alternative embodiment, if the user sets a negotiation time-out period of less than one second then the modem will neither initiate nor respond to feature negotiations. The negotiation time-out period is programmed by the user while the modem is in the asynchronous command mode of operation. Also, the availability or non-availability of a particular feature may be programmed by the user while the modem is in the asychronous command mode of operation. Therefore, even if a feature is supported by the modem a user may, if desired, designate the feature as not available. The programming of modem parameters by the user is now well known to those skilled in the art. For example, see U.S. Pat. Nos. 4,700,358 and 4,742,482, both of which are assigned to the assignee of the present invention. Although, in the preferred embodiment, feature negotiation will only be conducted if the modem has 4800 or 9600 bps half duplex capability, this is merely a design choice and is not a limiting factor. This feature negotiation could also be used by, for example, a 1200 or 2400 bps full duplex modem. However, it will be appreciated that the lower the bit rate then the longer the negotiation time-out period must be in order to allow the modems time for feature negotiation before going online. FIG. 3 is an illustration of the preferred embodiment of the features negotiation protocol. Since half-duplex communications are being used, each modem prefaces each transmission with a fixed duration retraining sequence 66. In the preferred embodiment, if negotiation is occurring at 4800 bps, the retraining sequence sent by the transmitting modem will be 300 milliseconds of phase encoded scrambled binary 1's, using a 4 point constellation. The receiving modem will look for the retraining sequence for 280 milliseconds before switching from the retraining mode to the data transfer mode. At 9600 bps, the transmitting modem will send 50 milliseconds of phase encoded unscrambled binary 1's using a 4 point constellation, followed by 100 milliseconds of phase encoded scrambled binary 1's using a 4 point constellation, followed by 150 milliseconds of phase encoded scrambled 1's using a 32 point constellation. The receiving modem will look for the 4 point constellation, whether scrambled or unscrambled, for 100 milliseconds and then look for the 32 point constellation for 180 milliseconds before switching from the retraining mode to the data transfer mode. The originator will send one or more flags 60A, followed by the code 02 (hex), which corresponds to the "features" heading, followed by a series of N bytes 63A-63N, which lists the particular features desired, followed by two byte frame check sequence (FCS) 64, and one or more closing flags 60B. Typically, the list will specify all of the features that the originating modem supports, unless some features have been deselected by the user. Flags 60A and 60B are the HDLC/SDLC flags 01111110. In case 1, all the features requested by the originating modem are supported by the answering modem so the answering modem will respond with opening flags 60A, then code 00(hex) which corresponds to the "end" word 62, followed by the FCS 64 and closing flags 60B. In case 2, the answering modem does not support all of the features requested by the originating modem. Therefore, the answering modem responds with opening flags 60A, followed by the code 02(hex), which corresponds to the "features" word 61, followed by N bytes 63A-63N, which lists the features requested by the originating modem that appear to be supported by the answering modem, followed by the FCS 64 and the closing flags 60B. The exchange of FEATURES messages continues until the modem receiving the message supports all of the features specified. Assuming that it is the originating modem, the originating modem then responds with an END message: the opening flags 60A, the code 00 (hex) which corresponds to the "end" word 62, followed by the FCS 64 and the closing flags 60B. Note that, in the preferred embodiment, the originating modem is the one which initiates the negotiations by sending a list of desired features. However, it will be appreciated that this is merely a matter of design choice and that the answering modem could have been selected to initiate the negotiation. Information concerning the selection or nonselection of a feature is always associated with a particular byte. For example, the lower 4 bits of the first byte 63A will always relate to an adjustable retraining sequence duration. The higher 4 bits of the first byte 63A may then, for example, be concerned with selection of a data compression scheme, and the second byte 63B may be concerned with a data encryption scheme. Therefore, if the features associated with a particular numbered byte are not selected then that byte would be represented by 00(hex). Using the above example, if data compression and adjustable start-up durations were not selected then the first byte 63A would have a value of 00(hex). Therefore, the selection or non-selection of a particular feature can be ascertained by simply looking at the byte which corresponds to that particular feature. After a modem receives an END message, it responds with an IDLE message. Also, after a modem receives an IDLE message, it responds with an IDLE message. This exchange of IDLE's continues until the negotiation period time out has occurred. The intent of exchanging idles is to maintain synchronization between the modems so that, at the end of the negotiation period time out, the retraining sequence required to achieve resynchronization will be short since only short messages have been exchanged. The exchange of idle messages is not necessary for the feature negotiation but, as stated above, assists in maintaining synchronization between the clocks in the two modems. In the preferred embodiment, an IDLE message comprises one or more opening flags 60A, the IDLE 65 character 03 (hex), the FCS 64, and one or more closing flags 60B. In an alternative embodiment, both modems switch to the online mode immediately after receiving an "end" signal or an "idle" signal instead of waiting for the negotiation period timeout. The exchanges shown in FIG. 3 are also representative of typical data transfers in that there is a retraining sequence 66, one or more opening flags 60A, data bytes (such as bytes 61, 62, 63A-63N, and 65), a frame check sequence 64, and one or more closing flags 60B. The primary difference is that, during negotiation, the retraining sequence 66 has a fixed duration whereas, if the adjustable startup duration has been selected, during online data transfer the retraining sequence 66 will have a varying duration, as shown in Tables 1 and 2. FIG. 4 is an illustration of a typical features byte 63A. There are 8 bits B0-B7, designated as 63A0-63A7, respectively. Bits B0-B7 designate the selection or non-selection of individual features, with one bit per feature. For example, if bit B0 is a logic 1, the feature 1A will be selected; if a logic 0, then feature 1A will not be selected. Other features are similarly selected (logic 1) or non-selected (logic 0) by bits B1-B7. Also, groups of bits may be designated to select certain features and/or subfeatures of a feature. For example, bits B0 through B3 may be dedicated to the selection or non-selection of a single feature and the subfeatures thereof. In the preferred embodiment, the lower 4 bits, B0-B3, of the first word 63A1 are used to designate the selection or non-selection of the adjustable retraining sequence duration feature. If these 4 bits have a hex value of 0 then this feature is non-selected. If these bits have a hex value of 1, then the adjustable retraining sequence durations specified in Tables 1 and 2 are selected. Other hex values for these bits are reserved for future use, such as for selecting different adjustable retraining sequence duration tables. Other hex values for these bits or for other bits also could be used, for example, for selecting different maximum block sizes and corresponding fixed duration retraining sequences. Table 3 is a state transition table for the negotiation protocol. There are three states: wait for features; wait for "end"; and wait for "negotiation period time-out". The device remains in a state until the occurrence of one of seven events: the device receives a "end" signal; the device receives a listing of desired features, all of which are supported by that device; the device receives a listing of desired features, not all of which are supported by the device; the device receives an "idle" signal; the "no reply time-out" period has expired; the "negotiation period time-out" has expired; or the device has received a garbled signal, a signal not in the proper format, or some other transmission which begins with something other than "features", "end" or "idle", all of these receptions being collectively designated as "trash". In the preferred embodiment, the "no reply time-out" period is 950 milliseconds. The originating modem initially transmits the list of desired features and then begins in state 2. However, the answering modem begins in state 1. The originating modem always transmits the feature message, even if the default features have been selected by the user, as long as the user has not disabled all of the non-default features. This allows the answering modem to select whether the default options are to be used or whether negotiations are to be conducted. In the preferred embodiment, no new feature, whether supported or not, whether agreed upon or not, may be used during the negotiation or at any time prior to the negotiation period time-out. Referring to Table 3, assume that the answering modem is in state 1, and receives a list of features, not all of which are supported by the answering modem. The answering modem will then transmit a list of common features and go to state 2 where it will wait for the "end" signal. The originating modem, having sent a list of features, will be in state 2 and, upon receiving the list of common features, all of which are supported, will transmit the signal "end", and go to state 3 where it will wait for the negotiation period time-out. The answering modem, being in state 2, is waiting for the "end" signal from the originating modem and, when received, goes to state 3 where it transmits the "idle" signal and waits for the negotiation period time out. The originating modem, in response to the "idle" signal, will also transmit the "idle" signal and will remain in state 3 until the negotiation period time out occurs. Both modems will continue exchanging " idle" signals in state 3 until the negotiation period time out has occurred. Once the negotiation period time-out has occurred, both the originating modem and the answering modem will use the agreed features and exit to the online mode. In the preferred embodiment, the reply time out period is equal to two transmission delays plus the retraining sequence duration plus 100 milliseconds for a safety margin. Assuming that the maximum transmission line delay is 600 milliseconds (satellite delay), then the maximum time reply time-out value will be 1600 milliseconds.
TABLE 3
__________________________________________________________________________
NEGOTIATION PROTOCOL STATE TRANSITION TABLE
EVENT
RECEIVE RECEIVE
FEATURES,
FEATURES, "NEGOTIATION
RECEIVE
ALL ARE NOT ALL "NO REPLY
PERIOD RECEIVE RECEIVE
STATE "END" SUPPORTED
SUPPORTED
TIMEOUT"
TIMEOUT" TRASH IDLE
__________________________________________________________________________
1. Wait
Remain in
Transmit Transmit
Remain in
Use Default
Remain in
Remain in
For State 1
"End", Common State 1 Features, State 1 State 1
Features Go To Features, Exit
State 3 Go To
State 2
2. Wait
Transmit
Transmit Transmit
Repeat Last
Use Default
Repeat Last
Repeat Last
For Idle, "End", Common Transmission,
Features, Transmission,
Transmission
"End" Go To Go To Features,
Remain in
Exit Remain in
Remain in
State 3
State 3 Remain in
State 2 State 2 State 2
State 2
3. Wait
Transmit
Transmit Transmit
Remain in
Use Agreed
Remain in
Transmit Idle,
For Features,
"End", Common State 3 Features, State 3 Remain in
"Nego-
Go To Remain in
Features, Exit State 3
tiation
State 2
State 3 Go To
Period State 2
Timeout"
__________________________________________________________________________
NOTES:
1. Originator transmits features and begins in State 2.
2. Answerer begins in State 1.
3. During negotiation, no new feature (e.g., adjustable duration
retraining sequence) may be used.
Table 4 is a listing of three exemplary feature negotiations. Case 1 is a case where the originating modem transmissions are not properly received by the answering modem or where the answering modem is not capable of feature negotiation. Case 2 is a case wherein the desired features listed by the originating modem are all supported by the answering modem. Case 3 is a case where the desired features listed by the originating modem are not all supported by the answering modem.
TABLE 4
______________________________________
EXEMPLARY FEATURE NEGOTIATIONS
CASE# ORIGINATOR ANSWERER
______________________________________
1 Transmit: Features
Receive: Garbled/
No Message
No Reply Timeout
Transmit: Features
Receive: Garbled/
No Message
Negotiation Period
Negotiation Period
Timeout Timeout
Use Default Features
Use Default Features
2 Transmit: Features
Receive: Features,
All Supported
Receive: "End" Transmit: "End"
Exchange "Idle" signals
Exchange "Idle" signals
Negotiation Period
Negotiation Period
Timeout Timeout
Use Features Use Features
3 Transmit: Features
Receive: Features,
Not All Supported
Receive: Common Transmit: Common
Features Features
Transmit: "End" Receive: "End"
Exchange "Idle" signals
Exchange "Idle" signals
Negotiation Period
Negotiation Period
Timeout Timeout
Use Agreed (Common)
Use Agreed (Common)
Features Features
______________________________________
Turn now to FIG. 5 which is a block diagram of the preferred embodiment of the present invention. FIG. 5 depicts a modem such as modem 12 or 21. A telephone line, such as line 13 or line 20, is connected to the LINE input of a duplexer 100. The output of duplexer 100 is connected to a carrier detector circuit 101 and a demodulator 104. It will be appreciated that demodulator 104 contains such circuits as a sampler, equalizer, baud clock recovery circuit, and data recovery circuit. The output of carrier detector 101 is connected to an end of receive timer 112 and the carrier detect (CD) input of control circuit 106. The output of demodulator 104 is connected to the DATA IN input of control circuit 106 and the input of SDLC signal detector 102. The output of signal detector 102 is connected to the signal detector (SD) input of control circuit 106 and the negated ENABLE input of a no reply timer 103. The output (T1) of timer 103 is connected to the T1 input of control circuit 106. The HANDSHAKE COMPLETE output of control circuit 106 is connected to the start input of a negotiation period timer 105. Timer 105 is started at the end of step 34 (45) of FIG. 2. The output (T2) of timer 105 is connected to the T2 input of control circuit 106. The I/O PORT of control circuit 106 is connected to the DTE, such as DTE 11 or 22 of FIG. 1. Control circuit 106 is also connected to a memory 107 which typically comprises both a ROM and a RAM. Memory 107 contains a list of features which are supported and available (have not been disabled by the user) as well as a list of features that the user has selected as preferred features to be implemented. The DATA OUT output of control circuit 106 is connected to modulator 108. The output of modulator 108 is connected to the input (IN) of duplexer 100. Although shown as separate functional blocks for convenience and clarity, in the preferred embodiment components 101 through 108 are partially or completely implemented by one or more microprocessors and supporting memories. Also, in the preferred embodiment, the retraining sequence duration tables are stored in memory 107. If feature negotiation is undertaken then, at the end of each feature negotiation transmission, control circuit 106 will reset no reply timer 103. If the other modem does not answer, then the output of signal detector 102 will be low and timer 103 will be enabled. If the other modem still does not reply then, at the end of the no reply time-out period, output T1 will go high and advise control circuit 106 that the no reply period has expired. However, if the other modem answers before this period has expired, then the output of signal detector 102 will go high, thereby disabling timer 103. After conventional handshaking has been completed, and as or before the feature negotiation begins, control circuit 106 will start negotiation period timer 105. At the end of the negotiation period (T2) timer 105 will advise control circuit 106 that the negotiation period has expired. An end of transmit timer 111 and an end of receiver timer 112 provide a measurement to control circuit 106 of the amount of elapsed time since the end of the last transmission and the end of the last reception, respectively. The timers provide control circuit 106 with the information needed for the proper execution of the adjustable retraining sequence duration protocols previously described. Timer 111 is reset and started by control circuit 106 at the end of each transmission. Control circuit 106 reads the elapsed time from timer 111 just prior to beginning a transmission. Carrier detector 101 provides a carrier detect signal whenever an incoming carrier is received. Timer 112 is reset and started whenever carrier detector 101 does not detect a carrier from the other modem. Control circuit 106 reads the elapsed time from timer 112 when the beginning of a transmission from the other modem is detected (CD input becomes active). The present invention therefore offers the following advantages: a feature negotiation protocol which is compatible with existing modems; a feature negotiation protocol which provides for essentially unlimited future expansion; a feature negotiation protocol which is useful in synchronous operation; and a retraining sequence which has a variable duration and therefore improves the effective data transfer rate (data throughput) of the system. From the above, other embodiments of and modifications to the present invention will suggest themselves to those skilled in the art. Therefore, the scope of the present invention is to be limited only by the claims below.
|
Same subclass Same class Consider this |
||||||||||
