404 lines
16 KiB
Plaintext
404 lines
16 KiB
Plaintext
|
||
Page 1 Document TR30.4.1/89-01001R4
|
||
January 1989
|
||
ELECTRONIC INDUSTRIES ASSOCIATION
|
||
AD HOC SUBCOMMITTEE TR30.4.1
|
||
|
||
Project: PN-2188, Asynchronous Facsimile DCE Control
|
||
Standard
|
||
|
||
Source: Data Race, Inc
|
||
|
||
Subject: DTE-DCE Interface Description for Facsimile
|
||
Operations with Minimum DCE Facilities ("Class 1")
|
||
|
||
1. Introduction
|
||
|
||
At the September 15, 1988 meeting of the TR30.2.3
|
||
committee, Les Staples of Data Race was requested to produce
|
||
a working paper for the "Class 1" DTE-DCE interface for
|
||
Facsimile Operation embodying the features and facilities
|
||
agreed upon by the committee. At the November meeting in
|
||
Las Vegas, the first draft of that paper was submitted.
|
||
Many useful suggestions and comments were made at that
|
||
meeting. A second draft was presented at the January 1989
|
||
committee meeting. The committee has been renamed TR30.4.1.
|
||
A large number of good suggestions were incorporated,
|
||
resulting in this, the third draft of that paper.
|
||
|
||
Several changes to the original paper have been made to
|
||
facilitate a simple 3-wire electrical interface, to
|
||
eliminate the need for the DTE to be able to detect and
|
||
handle the BREAK signal, and to eliminate the requirement
|
||
for the DTE to be able to force the DCE to Command Mode.
|
||
|
||
The attendees at the January, 1989 meeting were in general
|
||
agreement on the workability of this paper in this form.
|
||
The major changes made at the January 1989 meeting were:
|
||
|
||
. requirement for the DCE to support XON/XOFF
|
||
|
||
. removal of NULL padding ability during FAX transmit
|
||
|
||
. add of DCE capability to detect the Final bit in
|
||
the C-Field of an HDLC frame it is transmitting and
|
||
to use the Final-bit detection to cause a return to
|
||
Command Mode.
|
||
|
||
. add of OK response code each time the DCE returns
|
||
to Command Mode for consistancy.
|
||
|
||
. add of CONNECT response code each time the DCE exits
|
||
Command Mode while On-Line for consistancy
|
||
|
||
|
||
Page 2 TR30.4.1/89-01001R4
|
||
|
||
2. Description of Interface
|
||
|
||
The interface described is an extension of the
|
||
asynchronous modem control "AT" command set currently under
|
||
study by the TR30.4 committee and uses the format proposed
|
||
by the TR30.4 committee. Every effort has been made to keep
|
||
this level of interface as simple as possible with minimum
|
||
requirements for processing placed on the DCE. The ability
|
||
to efficiently operate with the current T.4 Recommendation
|
||
as well as with a future error-protected facsimile
|
||
transmission protocol, such as that specified in the Revised
|
||
Recommendation T.4, AP IX-24-E, was also a consideration.
|
||
|
||
An object of this paper is to allow a single port rate
|
||
setting throughout the facsimile operation. Port rate
|
||
setting methodologies are left to PN-2120.
|
||
|
||
Bi-directional flow control is specified in all modes to
|
||
prevent loss of data. The DCE must be capable of using in-
|
||
band (XON-XOFF) and, optionally, electrical lead signaling
|
||
(RTS-CTS). Methodologies for specifying to the DCE the flow
|
||
control method to be used are left to PN-2120.
|
||
|
||
|
||
Page 3 TR30.4.1/89-01001R4
|
||
|
||
2.1 Electrical Interface - Data and Control Signals
|
||
|
||
The described interface assumes a serial asynchronous
|
||
connection between the DTE and the DCE consisting of, as a
|
||
minimum, Circuit BA (Transmitted Data), Circuit BB (Received
|
||
Data), and Circuit AB (Signal Ground). Circuit CA (Request
|
||
To Send) may optionally be used by the DTE to flow-control
|
||
the DCE, and Circuit CB (Clear To Send) may optionally be
|
||
used by the DCE to flow-control the DTE. Circuit CD (Data
|
||
Terminal Ready) may optionally be used by the DTE to control
|
||
the Off-Hook and Command Mode states of the DCE. The
|
||
specific use of these leads are left to PN-2120.
|
||
|
||
2.2 Firmware Interface - Commands and Registers
|
||
|
||
2.2.1 Modulation Control Register
|
||
|
||
The described interface uses a single register to
|
||
determine the desired modulation type. This register may be
|
||
set and examined by the normal ATSr commands. Register 65
|
||
has been chosen for this description, but another currently-
|
||
unused register may be used in its place. Values in the
|
||
register select:
|
||
|
||
Value Modulation
|
||
3 V.29 - 7200 BPS
|
||
4 V.29 - 9600 BPS
|
||
5 V.27 - 2400 BPS
|
||
6 V.27 - 4800 BPS
|
||
10 V.21 - 300 BPS
|
||
11 TONE - 2100 Hz (CED)
|
||
12 TONE - 1100 Hz (CNG - EOM)
|
||
13 V.33Bis 12000 BPS*
|
||
14 V.33Bis 14400 BPS*
|
||
15 V.xx 19200 BPS
|
||
21 Reserved for DTMF tone detect
|
||
|
||
*These speeds are not required but the values are reserved
|
||
for future implementations.
|
||
|
||
|
||
2.2.2 Dialing and Answering
|
||
|
||
2.2.2.1 Dialing
|
||
|
||
The normal ATD<dial string> is used to dial a facsimile
|
||
call. If the DCE is set for CED Tone mode, normal DCE call
|
||
progress detection and reporting will be used. When the DCE
|
||
detects the configured tone, it will send the CONNECT
|
||
response code to the DTE, followed by the OK response code
|
||
indicating that the DCE is in Command Mode.
|
||
|
||
|
||
Page 4 TR30.4.1/89-01001R4
|
||
|
||
2.2.2.2 Answering
|
||
|
||
The normal ATA command or Automatic Answering is used to
|
||
cause the DCE to come off-hook in answer mode. In facsimile
|
||
operation, when Register 65 is one of the defined the
|
||
defined facsimile modes, the CONNECT result code will be
|
||
immediately sent to the DTE and the DCE will enter Command
|
||
Mode. The DTE would normally immediately order the DCE to
|
||
transmit the 2100 Hz CED tone.
|
||
|
||
2.3.2 Facsimile Transmission and Reception
|
||
|
||
Facsimile transmission and reception is controlled by
|
||
four commands which are specific to facsimile operation.
|
||
Since the data set over the interface is asynchronous,
|
||
containing start and stop bits, it is necessary to set the
|
||
DTE-DCE interface to a higher data rate than the line
|
||
modulation rate. Since the maximum line modulation rate
|
||
specified in Recommendation T.4 is 9600 BPS, it is
|
||
convenient to set the DTE-DCE interface rate to 19,200 BPS.
|
||
The DCE performs buffering and flow-control as described in
|
||
the remainder of this document. An object is to allow the
|
||
entire facsimile operation to be accomplished at a single
|
||
port rate. Methodologies for port rate setting are left to
|
||
PN-2120.
|
||
|
||
|
||
Page 5 TR30.4.1/89-01001R4
|
||
|
||
2.3.2.1 Facsimile Transmit
|
||
|
||
The command AT+FT is used to cause the DCE to transmit
|
||
using the modulation selected by the content of the
|
||
Modulation Control Register. The DCE should be Off-Hook
|
||
when this command is issued by the DTE. The DCE will return
|
||
the CONNECT response code and immediately send the proper
|
||
training sequence in the selected mode (if any) followed by
|
||
data.
|
||
|
||
The DCE buffers data in this mode. The configured
|
||
flow-control method will be used by the DTE as necessary to
|
||
pause the DTE.
|
||
|
||
When the DCE's transmit buffer becomes empty, the DCE
|
||
will stop transmitting, lower transmit carrier, and return
|
||
to command mode, returning the OK result code. The DTE may
|
||
force the DCE to command mode by making Circuit CD (Data
|
||
Terminal Ready) false, if so configured. When the DCE
|
||
returns to command mode, it will lower its transmit carrier.
|
||
|
||
If the mode chosen is TONE, the DCE will immediately
|
||
begin to send the configured tone when the command is
|
||
issued. If the DTE sends any subsequent data to the DCE,
|
||
DCE will return to command mode. If the data from the DTE
|
||
which aborts the receive process is a valid command, the
|
||
command will be executed correctly.
|
||
|
||
|
||
Page 6 TR30.4.1/89-01001R4
|
||
|
||
|
||
2.3.2.2 Facsimile Receive
|
||
|
||
The command AT+FR causes the DCE to enter receive mode.
|
||
The DCE receives in the modulation mode specified in the
|
||
Modulation Control Register. The DCE will wait up to the
|
||
time set in Register 7 for carrier to be detected. If the
|
||
signal fails to be detected within that time, the modem
|
||
returns to Command Mode and sends the NO CARRIER response
|
||
code.
|
||
|
||
If the selected mode is detected (Receive Line Signal
|
||
Detect in the proper mode), the DCE will send the CONNECT
|
||
result code to the DTE.
|
||
|
||
If a signal is detected, but it is not the selected
|
||
mode, the DCE will send a CERROR (Connect Error) result code
|
||
to the DTE. This result code may optionally contain a
|
||
numeric code indicating the type of signal that the DCE has
|
||
determined that it is detecting.
|
||
|
||
If the modulation selected is TONE, the CONNECT result
|
||
code will be returned when the selected tone is detected for
|
||
the period of time set in Register 9 , the Carrier Detect
|
||
Response Time register, (0.1 second increments, default 0.6
|
||
seconds). The DCE will then return to command mode.
|
||
|
||
In data modes, the DCE will return to Command Mode upon
|
||
loss of carrier for the period of time set in Register 10,
|
||
sending the normal NO CARRIER result code.
|
||
|
||
The DCE will obey the configured flow control from the
|
||
DTE.
|
||
|
||
If the DTE sends any data to the DCE other than XON or
|
||
XOFF while the DCE is in a Receive mode, the DCE will
|
||
return to command mode. If the data from the DTE which
|
||
aborts the receive process is a valid command, the command
|
||
will be executed correctly.
|
||
|
||
The DTE may force the DCE to command mode by making
|
||
Circuit CD (Data Terminal Ready) false, if so configured.
|
||
|
||
|
||
Page 7 TR30.4.1/89-01001R4
|
||
|
||
2.3.2.3 HDLC Transmit
|
||
|
||
The command AT+FTH causes the DCE to transmit frames in
|
||
HDLC protocol using the modulation mode chosen in the
|
||
Modulation Control Register. If, when the command is
|
||
executed, the mode set in the Modulation Control Register is
|
||
not a valid synchronous mode, the response code ERROR will
|
||
be returned by the DCE and the DCE will return to command
|
||
mode.
|
||
The DCE will return the CONNECT result code and
|
||
transmit training followed by flags until the first byte of
|
||
data is sent by the DTE. When the buffer becomes empty the
|
||
DCE will append the Frame Check Sequence and a closing Flag
|
||
to the frame and return to Command Mode, sending the result
|
||
code CONNECT to the DTE. The DCE will continue to send
|
||
flags until one of the following actions is taken by the
|
||
DTE.
|
||
|
||
. The DTE sends additional data. This action causes
|
||
the DCE to send another frame.
|
||
|
||
. The DTE forces the DCE to Command Mode via Circuit CD
|
||
(Data Terminal Ready) or the Escape Sequence.
|
||
|
||
. The period of time in Register 10, the Carrier Detect
|
||
Response Time, elapses from the time when the DCE
|
||
reported the CONNECT result code without the DTE
|
||
sending additional data to the DCE.
|
||
|
||
The DCE detects the FINAL bit in the C-field of the
|
||
frame.
|
||
|
||
When the DCE stops transmitting and returns to Command
|
||
Mode and sends the the DTE the OK result code or the NO
|
||
CARRIER result code in the case of S10 expiration.
|
||
|
||
The DCE performs HDLC zero insertion and Frame Check
|
||
Sequence generation while in this mode.
|
||
|
||
The DCE buffers data in HDLC transmit mode. The DCE
|
||
will use the configured method of flow-control to pause the
|
||
DTE as necessary.
|
||
|
||
|
||
|
||
Page 8 TR30.4.1/89-01001R4
|
||
|
||
2.3.2.4 HDLC Receive
|
||
|
||
The command AT+FRH causes the DCE to receive frames in
|
||
HDLC protocol using the modulation mode selected in the
|
||
Modulation Control Register. If, when the command is
|
||
executed, the mode set in the Modulation Control Register is
|
||
not a valid synchronous mode, the response code ERROR will
|
||
be returned by the DCE and the DCE will return to command
|
||
mode.
|
||
|
||
If the selected mode is detected (Receive Line Signal Detect
|
||
in the proper mode), the DCE will send the CONNECT result
|
||
code to the DTE.
|
||
|
||
If a signal is detected, but it is not the selected
|
||
mode, the DCE will send a CERROR (Connect Error) result code
|
||
to the DTE. This result code may optionally contain a
|
||
numeric code indicating the type of signal that the DCE has
|
||
determined that it is detecting.
|
||
|
||
The DCE strips Flags and receives and buffers frames.
|
||
The received data, starting with the first non-Flag byte and
|
||
continuing through the last FCS byte will be transferred to
|
||
the DTE. The DCE performs HDLC zero-deletion and error
|
||
checking. When the last byte of FCS has been sent to the
|
||
DTE, the DCE may optionally inform the DTE of End-Of-Frame
|
||
by generating a BREAK signal. After the FCS bytes,
|
||
following the optional BREAK, the DCE will inform the DTE of
|
||
the status of the frame reception by returning a result code
|
||
of OK, if the frame was received correctly, or ERROR, if the
|
||
frame was received in error.
|
||
|
||
The DCE will obey the configured form of flow control
|
||
from the DTE.
|
||
|
||
After sending the Result Code indicating the frame
|
||
reception is complete, the DCE continues to receive and
|
||
buffer data in the selected mode. If the DTE issues another
|
||
HDLC Receive command, the buffered data will be sent to the
|
||
DCE and HDLC reception will proceed. If any other command
|
||
is issued by the DTE, the DCE will stop the receive process.
|
||
Any buffered data will be discarded and the command will be
|
||
obeyed.
|
||
|
||
The DCE will return to Command Mode upon loss of
|
||
carrier for the period of time set in Register 9, sending
|
||
the normal NO CARRIER result code.
|
||
|
||
|
||
Page 9 TR30.4.1/89-01001R4
|
||
|
||
In this mode, the DTE may force the DCE to command mode
|
||
with the Escape Sequence or by making Circuit CD (Data
|
||
Terminal Ready) false, if so configured.
|
||
|
||
|
||
2.4 Optional Features
|
||
|
||
2.4.1 Data Buffering
|
||
|
||
In order to allow a computer, such as a multi-user one,
|
||
which may not always be able to quickly respond to avoid
|
||
having under-run conditions when transmitting a facsimile,
|
||
significant buffering in the DCE may be desirable. The
|
||
ability to buffer up to 3 seconds of data for transmission
|
||
(less than 4 kilobytes of buffer) may be provided as an
|
||
option.
|
||
|
||
2.4.2 DTMF Detection
|
||
|
||
A desirable feature of a multi-function DCE which is capable
|
||
of facsimile and various forms of data communications would
|
||
be to be able to detect Dual Tone Multi-Frequency digits to
|
||
tell a program what service the caller desires.
|
||
|
||
In this operation, the calling DCE would respond to a
|
||
secondary dialtone emitted by the answering DCE and send one
|
||
or more digits. These digits would result in unsolicited
|
||
result codes to the DTE.
|
||
|
||
|
||
Page 11 TR30.4.1/89-01001R4
|
||
|
||
|
||
2.4.2.1 Suggested DTMF implementation.
|
||
|
||
Examples:
|
||
|
||
Dial string at caller: ATDT<number>@x (where x is a
|
||
digit).
|
||
|
||
Command sequence to answering DCE:
|
||
|
||
Upon Detection of RING: ATH1+FT (The H1 causes the DTE
|
||
to come Off-Hook. The @ in the dial string causes the DCE
|
||
to wait for silence before continuing. The +FT with the
|
||
proper tone setting in register 65 causes the DCE to send a
|
||
short tone. The DTE then goes into DTMF detect mode.
|
||
|
||
If the DCE detects a DTMF digit it sends the DTE an
|
||
unsolicited response code consisting of an ! (exclamation)
|
||
followed by the digit received. The DCE is in a form of
|
||
Command Mode. Any command sent to the DCE will cause it to
|
||
exit the DTMF detection mode and be obeyed.
|
||
|
||
Many of the currently available facsimile data-pumps
|
||
cannot quickly detect a DTMF digit without additional
|
||
hardware. They are, however, capable of detecting the
|
||
column tones, allowing at least the digits 1, 2, and 3 to be
|
||
detected.
|
||
|
||
A better syntax may be determined by the TR30.4 group which
|
||
will satisfy this function.
|