home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
PACKET
/
DEDTNC1.ARK
/
TNC.DOC
< prev
Wrap
Text File
|
1987-08-26
|
42KB
|
1,189 lines
AX.25 Version 2
Multi-channel
TNC FIRMWARE
(version 1.2)
Copyright 1986, Ronald E. Raikes (WA8DED)
This firmware supports the full AX.25 link-layer protocol,
version 2.0 as described in the ARRL specification dated October
1984, as well as the pre-existing version 1.x. This
implementation supports multiple simultaneous link connections
with either version protocol. This release has been assembled
for a maximum of four connections, although any reasonable number
of connections is possible by changing one MAXLNK symbol in the
source equate file.
The firmware is contained in two 2764 EPROMs, and is
intended to be installed in a TAPR TNC-1 (or equivalent, such as
the AEA PKT-1 or Heath HD-4040) in sockets U11 (C000) and U12
(E000). This assumes that a 6264 RAM is already installed in
socket U7, with additional 6264 RAMs optionally installed in
sockets U8, U9, and U10 in any combination (verify that pin 26 is
connected to +5v). Additional RAM is highly desirable if multi-
channel or unattended operation is anticipated. When installing
the EPROMs (including newer versions), it will be necessary to
start the tnc with the PARAMETER SOURCE switch set to the PROM
position. This will cause default parameters to be written into
NOVRAM memory but not PERMed. The RS-232 port will be
initialized to 300 baud with xon/xoff handshaking. The tnc
source call sign will be all blanks, and should be set with the
'I' command, as well as any other default parameters that might
need changing, before issuing a 'PERM' command. At this point,
the PARAMETER SOURCE switch may be set to NOVRAM for subsequent
operation. If the terminal baud rate has been changed, the new
value will take effect following a reset. If the tnc source call
sign is left blank, the tnc will not activate the transmitter PTT
line.
Commands and information are sent to the tnc in the form of
lines. Lines may be up to 256 characters long, including the
terminating CARRIAGE RETURN. If the 256th character entered is
not a CARRIAGE RETURN, it will be discarded and a BELL character
will be output to the terminal. BACKSPACE and DELETE may be used
to remove single characters from the line. The entire line may
be permanently backspaced out by entering a CONTROL-U or CONTROL-
X. A CONTROL-R will temporarily backspace out any partial line
to allow incoming frames to be displayed. A second CONTROL-R
will then restore the line to allow continuation of entry.
During the time a partial line is saved, only another CONTROL-R
will be accepted from the keyboard (with the exception of
xon/xoff, of course). BELL characters are echoed to the terminal
when entered or removed. Lines which begin with an ESCAPE
character (echoed as '* ') are interpreted as commands. If a
command is issued with no parameter, the current value of that
commands parameter is displayed. An embedded NULL character in a
command will cause the remainder of the line to be ignored.
Lines without a leading ESCAPE character are sent as information.
The firmware provides the operator with five virtual tnc
channels, numbered 0 to 4. The terminal is logically attached to
only one of these channels at a time, selected by the 'S'
command. Information sent on channel 0 is always unproto. The
unproto path may be set by issuing a 'C' command when channel 0
is selected. Channels 1 - 4 are also unproto if they are not
currently connected. Outgoing connect requests may be issued on
any unconnected channel, while incoming connect requests will use
the first available channel (provided the maximum number of
connections set by the 'Y' command will not be exceeded).
Information received on a connected channel that is not currently
selected will remain queued there until that channel is selected
(the 'L' command is useful in determining if there is information
waiting on other channels). Information for transmission is sent
only to the currently selected channel. When a connection is
ended, any information that has not been transmitted or
acknowledged will be discarded. Received information will remain
queued, however, until it has been displayed. If a new
digipeater path is desired while a connection is being
established or is in progress, it is not necessary to disconnect
first. Simply re-issuing the 'C' command will re-establish the
connection via the new path without any loss of information.
Attempting to connect to the same station on more than one
channel is not permitted.
Which protocol version is used to initiate a connection is
controlled by the 'V' command, but the version will be changed
automatically, if necessary, to conform to the version of the tnc
responding. Version 2 protocol is more effecient in terms of
network throughput and loading, especially under severe
conditions. Version 2 protocol is the default and should be used
whenever possible. (NOTE: The existing firmware supplied by
TAPR for the TNC-1 (v3.x) will NOT digipeat version 2 protocol.
This is expected to remedied in v4.0. All other tnc's and
digipeaters encountered to date digipeat version 2 properly.)
When version 2 protocol is used, a watch-dog timer is started
whenever information is not being transmitted. If the tnc
remains idle for three minutes, it will poll the other tnc to
determine if the link is still established. If no response is
received after the number of tries set by the 'N' command, the
tnc will attempt to re-establish the connection. This procedure
will also detect the case where someone connects and then leaves
without disconnecting. Changing the protocol version during a
connection is not permitted.
The 'F', 'N', 'O', and 'V' commands maintain individual
parameters for each channel. The value stored in channel 0 is
the value that is saved in NOVRAM. This value is used to
initialize channels 1 - 4 after a reset, and to re-initialize
channels 1 - 4 after a disconnect. This allows the values to be
changed independently on each channel, prior to and during a
connection, and then automatically revert back to the standard
values when the connection is ended. A 'D' command issued on a
disconnected channel 1 - 4 will also re-initialize that channel.
Frame monitoring is controlled by the 'M' command. The
command parameter determines the types of frames monitored, and
is a list of desired frames chosen from the letters in the
following table:
LTR FRAME
--- -----
N None
I I frames
U UI frames
S Supervisory frames
C Monitor while connected
R Monitor received frames (addressed to)
T Monitor transmitted frames (addressed from)
+ Call signs to be included (maximum of 8)
- Call signs to be excluded (maximum of 8)
The '+' and '-' parameters may not be used together. If either
is used, it must be the last parameter (followed by one to eight
call signs, if applicable). If no list of call signs is
specified to be included or excluded, all call signs will be
candidates for monitoring. Entering a '+' or '-' with no call
signs will empty the list.
An asterisk displayed after a call sign in the digipeater list
indicates the frame was transmitted by that station. The control
field displayed will be one of the following:
NAME DESCRIPTION
---- -----------
RRa - Receive Ready
RNRa - Receive Not Ready
REJa - Reject
UI - Unnumbered Information
DM - Disconnected Mode
SABM - Connect Request
DISC - Disconnect Request
UA - Unnumbered Acknowledge
FRMR - Frame Reject
Iab - Information
?ccH - Unknown
a = Next expected frame number (0 - 7)
b = Frame number of this frame (0 - 7)
cc = Hexadecimal value
In addition, one of the following characters will be displayed,
reflecting the protocol version, command/response bits, and the
poll/final bit:
(blank) = version 1 frame without poll/final bit
! = version 1 frame with poll/final bit
^ = version 2 command frame without poll bit
+ = version 2 command frame with poll bit
- = version 2 response frame with final bit
v = version 2 response frame without final bit
The protocol identifier field is displayed in hexadecimal, which
is currently always an F0, signifying that no layer 3 is
implemented.
An unattended mode, controlled by the 'U' command, provides
for sending user supplied text to a connecting station, and then
allows that station to leave a brief message. This mode can
operate on all channels simultaneously, but in no way limits the
operators ability to interact with one of the connected channels
or the ability to make outgoing connect requests. When
unattended mode is enabled, link status messages are queued to
the associated channel and not output to the terminal unless that
channel is currently selected. Link status messages will
therefore be displayed in chronological order with the
information from that channel. In addition, text supplied by the
user with the 'U' command will be sent to any station that
connects. If channel 0 is left selected, stations may then
connect and leave messages on channels 1 - 4 (limited by the 'Y'
parameter, of course). The 'L' command may be used to determine
if messages have been left on any channel. Selecting a channel
containing messages will cause all link status and information
from that channel to be displayed. If xon/xoff handshaking is
enabled, CONTROL-S and CONTROL-Q may be used to regulate the
output to the terminal to allow comfortable reading. Also
provided, but intended to be used very sparingly, is an
unattended QST facility. In this mode, user supplied text may be
automatically transmitted unproto to the path set on channel 0,
at periodic intervals spaced 1 - 65,535 minutes apart. The
interval and text must be entered each time QST mode is enabled.
Use of unattended QST messages is generally degrading to network
performance and is considered by many to be an annoyance, and
should only be used when absolutely necessary.
The tnc parallel port supplies link status information for
channel 1 on lines PA0, PA1, and PA2 for use with an external
status indicator. The following link states are possible:
1 = Disconnected
2 = Link Setup
3 = Frame Reject
4 = Disconnect Request
5 = Information Transfer
The firmware source is written in 6809 assembly language.
Emphasis was placed on using a state table driven design,
utilizing the state tables provided in the ARRL specification.
The source was assembled using a 6809 cross assembler from 2500
AD Software running on a Z-80/8086 TurboDOS development system
(CP/M & MS-DOS compatable).
NOTE: A very small number of Western Digital 1933 HDLC
Controller ICs manufactured in 1981 and 1982 have been found to
be defective. The symptoms are erratic and unreliable operation
of the tnc, due to the hdlc controller occasionally failing to
interrupt upon successful completion of frame transmission.
These defective parts can be identified by inspecting the mask
number on the underneath side of the IC. The defective mask
number begins with the letters 'BA', and should be replaced. The
current replacement part is called 1935 and requires no changes.
COMMAND SUMMARY
===============
COMMAND PARAMETER DESCRIPTION
------- --------- -----------
A (1) 0 Auto linefeed disabled
1 Auto linefeed enabled
B (6) 1-15 Terminal baud rate
C Cs1 [Cs2 ... Cs9] Connect path (0=unproto path)
D Disconnect
E (1) 0 Echo input disabled
1 Echo input enabled
* F (3) 1-15 Frame acknowledge (seconds)
G [0] Get information (host mode)
[1] Get link status (host mode)
H (1200) 50-9600 HDLC baud rate
I Cs Tnc source call sign
JHOST (0) 0 Terminal mode enabled
1 Host mode enabled
K 1-2 Calibrate
L [0-4] Display channel status
M (IU) NIUSCRT+- Monitor mode
* N (10) 0-255 Number of tries (0=forever)
* O (4) 1-7 Number of outstanding I frames
PERM Save parameters to NOVRAM
QRES Re-start firmware
R (1) 0 Repeater disabled
1 Repeater enabled
S (1) 0-4 Select channel (0=unproto)
T (30) 0-127 Transmitter delay (10ms)
U (0) 0 [text] Unattended mode disabled
1 [text] Unattended mode enabled
2 interval text QST mode enabled
* V (2) 1 Version 1 protocol initiated
2 Version 2 protocol initiated
W (16) 0-127 Repeater wait (10ms)
X (1) 0 Transmitter PTT disabled
1 Transmitter PTT enabled
Y (1) 0-4 Maximum connections
Z (3) 0 Flow disabled, xon/off disabled
1 Flow enabled, xon/off disabled
2 Flow disabled, xon/off enabled
3 Flow enabled, xon/off enabled
@ B Display number of free buffers
C (0) 0 Fast clock disabled
1 Fast clock enabled
P (F0) 0-FF Protocol id (hex)
S Display current link state
T2 (100) 0-255 Timer T2 interval (10ms)
T3 (18000) 0-32767 Timer T3 interval (10ms)
Default values are shown in parenthesis
* These commands are applicable to each connection channel
(Values set on channel 0 are used after a reset and
disconnect to initialize each connection channel)
COMMAND DESCRIPTION
===================
The 'A' command is used to enable or disable the automatic
insertion of LINEFEED characters after CARRIAGE RETURN characters
to the terminal. This parameter is stored in NOVRAM.
The 'B' command is used to set the terminal baud rate, using
one of the following parameters:
Parameter Baud rate
--------- ---------
1 50
2 75
3 110
4 135
5 150
6 300
7 600
8 1200
9 1800
10 2400
11 3600
12 4800
13 7200
14 9600
15 19200
After setting the baud rate with the 'B' command, the value must
be PERMed, and will then take effect following a reset. Baud
rates above 4800 may not be reliable with sustained input
(commands or information) from a host computer due to the slow
cpu clock rate and non-vectored interrupt architecture.
The 'C' command is used to initiate a link connection. Note
that NO 'v' or 'via' is used between the destination call sign
and the digipeater call signs. A 'C' command may be issued on a
channel already in use to change the digipeater call signs, but
not the destination call sign. A 'C' command issued when channel
0 is selected sets the unproto path. Attempting to connect to
the same station on more than one channel is not permitted.
The 'D' command is used to initiate a link disconnection. A
'D' command issued during the establishment or dis-establishment
of a link will cause an immediate return to the disconnected
state. A 'D' command issued on a disconnected channel will re-
initialize the connection dependent parameters to the values
stored in channel 0.
The 'E' command is used to enable or disable the echoing of
input (commands and information) to the terminal. This parameter
is stored in NOVRAM.
The 'F' command is used to set the frame acknowledgement
interval. This interval is used to compute the timeout interval
before a packet is retransmitted, using the formula:
time (seconds) = frame ack * (2 * number of digipeaters + 1)
A separate frame acknowlegement interval value is maintained for
each connection channel. The value stored in channel 0 is used
to initialize each connection channel after a reset or
disconnection, and is the value that is stored in NOVRAM.
The 'G' command is used to interrogate virtual tnc channels
when host mode is enabled. If no parameter is specified, the
next chronological item (information or link status) will be
returned, provided there is one. This command is invalid in
terminal mode. A later section is devoted to host mode
operation.
The 'H' command is used to set the HDLC baud rate. Non-
standard values are rounded down to the next possible baud rate.
In this case, use an 'H' command with no paramter to display the
value actually set. This parameter is stored in NOVRAM. HDLC
rates up to 9600 baud are supported if the fast clock mode is
enabled.
The 'I' command is used to set the tnc source call sign.
The initial value is all blanks. After the source call sign has
been entered, the 'PERM' command should be used to save it for
use during subsequent operation. Changing the tnc source call
sign while connected is not permitted. If the tnc source call
sign is left blank, the tnc will not activate the transmitter PTT
line.
The 'JHOST' command is used to select between terminal and
host modes. A later section is devoted to host mode operation.
The 'K' command is used to calibrate the tnc modem. The
following parameters set the calibration modes listed:
Parameter Calibration
--------- -----------
1 FREQUENCY COUNTER
2 TONE LEVEL & NULL
The frequency counter mode will display the measured frequencies
on the terminal. When each mode is selected, jumpers settings
are displayed as well as the appropriate ajustment points. The
values shown in parenthesis are the normal targets for 1200 baud
operation.
The 'L' command is used to display the link status of one or
all channels. Information displayed includes the connection
path, number of receive frames not yet displayed, number of send
frames not yet transmitted, number of transmitted frames not yet
acknowledged, and the current retry count. A '+' character
preceeding the channel number indicates the currently selected
channel. Operation of this command when host mode is enabled is
somewhat different, and is described in a later section.
The 'M' command is used to set the frame monitoring mode.
The command parameter determines the types of frames monitored,
and is a list of desired frames chosen from the letters in the
following table:
LTR FRAME
--- -----
N None
I I frames
U UI frames
S Supervisory frames
C Monitor while connected
R Monitor received frames (addressed to)
T Monitor transmitted frames (addressed from)
+ Call signs to be included (maximum of 8)
- Call signs to be excluded (maximum of 8)
The '+' and '-' parameters may not be used together. If either
is used, it must be the last parameter (followed by one to eight
call signs, if applicable). If no list of call signs is
specified to be included or excluded, all call signs will be
candidates for monitoring. Entering a '+' or '-' with no call
signs will empty the list. This parameter is stored in NOVRAM.
The 'N' command is used to set the maximum number of times a
frame will be transmitted without receiving an appropriate
acknowledgement, before a link failure is assumed. A separate
maximum number of tries value is maintained for each connection
channel. The value stored in channel 0 is used to initialize
each connection channel after a reset or disconnection, and is
the value that is stored in NOVRAM.
The 'O' command is used to set the maximum number of
unacknowledged I frames that may be outstanding at any one time.
A separate maximum number of unacknowledged I frames value is
maintained for each connection channel. The value stored in
channel 0 is used to initialize each connection channel after a
reset or disconnection, and is the value that is stored in
NOVRAM.
The 'PERM' command is used to change the parameter values
stored in NOVRAM to those that are currently set.
The 'QRES' command is used to restart the firmware as if a
hardware reset had been issued.
The 'R' command is used to enable or disable the digipeating
of frames. This parameter is stored in NOVRAM.
The 'S' command is used to select the current channel
number. This parameter is stored in NOVRAM.
The 'T' command is used to set the transmitter keyup delay
interval. The parameter is specified in 10ms increments. This
parameter is stored in NOVRAM.
The 'U' command is used to enable or disable unattended
modes. If QST mode is not used, previously entered text will be
retained if new text is not provided. If QST mode is selected,
the interval and text must be supplied. The QST interval is
specified in minutes from 1 - 65,535.
The 'V' command is used to select whether version 1 or 2
protocol will be used to initiate a link connection. A separate
protocol version value is maintained for each connection channel.
The value stored in channel 0 is used to initialize each
connection channel after a reset or disconnection, and is the
value that is stored in NOVRAM. Interrogating this parameter
during a connection will reflect the protocol version currently
being used on that channel. Changing the protocol version during
a connection is not permitted.
The 'W' command is used to set the digipeater wait interval.
The parameter is specified in 10ms increments. This parameter is
stored in NOVRAM.
The 'X' command is used to enable or disable the transmitter
PTT line. This parameter is stored in NOVRAM.
The 'Y' command is used to set the maximum number of
connections that may established by incoming requests. This
command has no effect on the operators ability to initiate
outgoing connection requests. This parameter is stored in
NOVRAM.
The 'Z' command is used to enable or disable flow control
and xon/xoff handshaking to the terminal. If flow control is
enabled, output to the terminal will be inhibited while entering
commands or information. If flow control is disabled, output to
the terminal will not be restricted. Flow control and xon/xoff
handshaking should be disabled during periods in which the tnc is
operated without a terminal, to avoid suspending output which
will consume buffers. If xon/xoff handshaking is enabled, crt
scrolling may be stopped and started using CONTROL-S and CONTROL-
Q characters. Flow control and xon/xoff handshaking are not
performed when host mode is enabled. This parameter is stored in
NOVRAM.
The '@' command is a software maintenance command. A
parameter of 'B' will display the number of free buffers. A
parameter of 'C0' will select timing parameters for the slower
cpu clock rate. A parameter of 'C1' will select timing
parameters for the faster cpu clock rate. The 'C' parameter is
stored in NOVRAM and must be PERMed if the change is to stay in
effect following a reset. The 'P' parameter is used to set the
protocol id byte for each channel and is supplied and displayed
in hexadecimal. A parameter of 'S' will display the current link
state. The 'T2' parameter is used to set the timer T2 interval,
just as the 'T3' parameter is used to set the timer T3 interval.
The timer intervals are specified in 10ms increments, and both
are stored in NOVRAM. Timer T2 controls the amount of delay
between the time an information frame is received and the time
the resulting response frame is sent. This delay allows multiple
frames to be acknowledged with a single response. Timer T3 is
used maintain link integrity. If there is no activity during the
T3 interval, the tnc will poll to verify the distant station is
still connected.
HOST MODE OPERATION
===================
Host mode is intended to provide a user interface suitable
for operation under control of a host processor. Commands and
information to the tnc, as well as status and information from
the tnc, are clearly identified to allow orderly and unambiguous
communication. To alleviate any need for hardware or software
handshaking, the tnc will not send to the host processor
unsolicited, and all exchanges are limited to 256 bytes.
Information transfers are fully transparent.
When host mode is enabled, the first byte sent to the tnc
must be a channel number. If information is being sent, the
second byte must be a binary 0. If a command is being sent, the
second byte must be a binary 1. The third byte must be the
binary length of the actual information or command, decremented
by 1 (vacuous information or commands are not permitted). The
actual information or command bytes must follow last.
Information sent to channel 0 will be sent unproto. Information
sent to an unconnected channel 1 - 4 will be discarded. The tnc
will respond to both information and commands with a channel
number first, followed by a binary code of 0, 1, or 2, signalling
success or failure. Codes of 1 or 2 will be followed by a null
terminated message. Channels may be interrogated for incoming
information or link status by using the 'G' command. Monitor
headers and monitor information will always be sent to channel 0,
along with connect request link status messages. All other link
status messages will be sent to the appropriate channel, along
with that channels connected information. In response to a 'G'
command, the tnc will respond with a channel number first,
followed by a binary code of 0 if nothing is available, or a
binary code of 3 - 7, identifying the bytes that follow. A code
of 4 indicates the monitored frame does not contain an
information field. A code of 5 indicates the monitored frame
does contain an information field, and the next 'G' command on
channel 0 will return that information field, preceeded by a code
of 6.
Host to Tnc
-----------
CHANNEL CODE DESCRIPTION
------- ---- -----------
n 0 Information (preceeded by length-1)
n 1 Command (preceeded by length-1)
Tnc to Host
-----------
CHANNEL CODE DESCRIPTION
------- ---- -----------
n 0 Success (nothing follows)
n 1 Success (message follows, null terminated)
n 2 Failure (message follows, null terminated)
n 3 Link Status (null terminated)
n 4 Monitor Header (null terminated)
n 5 Monitor Header (null terminated)
n 6 Monitor Information (preceeded by length-1)
n 7 Connect Information (preceeded by length-1)
Success messages
----------------
{channel status}
{parameter value}
CHANNEL NOT CONNECTED
Failure messages
----------------
INVALID COMMAND
TNC BUSY - LINE IGNORED
CHANNEL ALREADY CONNECTED
STATION ALREADY CONNECTED
Link Status messages
--------------------
BUSY fm {call} via {digipeaters}
CONNECTED to {call} via {digipeaters}
LINK RESET fm {call} via {digipeaters}
LINK RESET to {call} via {digipeaters}
DISCONNECTED fm {call} via {digipeaters}
LINK FAILURE with {call} via {digipeaters}
CONNECT REQUEST fm {call} via {digipeaters}
FRAME REJECT (x y z) fm {call} via {digipeaters}
FRAME REJECT (x y z) to {call} via {digipeaters}
x y z = FRMR information bytes
Monitor Header format
---------------------
fm {call} to {call} via {digipeaters} ctl {name} pid {hex}
Channel Status format
---------------------
a b c d e f
a = Number of link status messages not yet displayed
b = Number of receive frames not yet displayed
c = Number of send frames not yet transmitted
d = Number of transmitted frames not yet acknowledged
e = Number of tries on current operation
f = Link state
Possible link states are:
0 = Disconnected
1 = Link Setup
2 = Frame Reject
3 = Disconnect Request
4 = Information Transfer
5 = Reject Frame Sent
6 = Waiting Acknowledgement
7 = Device Busy
8 = Remote Device Busy
9 = Both Devices Busy
10 = Waiting Acknowledgement and Device Busy
11 = Waiting Acknowledgement and Remote Busy
12 = Waiting Acknowledgement and Both Devices Busy
13 = Reject Frame Sent and Device Busy
14 = Reject Frame Sent and Remote Busy
15 = Reject Frame Sent and Both Devices Busy
NOTE 1: Only items a and b are displayed for channel 0.
NOTE 2: Only states 0 - 4 are possible if version 1 is in use.
DEFAULT PARAMETERS
==================
In some instances, it may be desirable to have default
parameters which differ from the standard values. To allow easy
access, all default parameters have been placed at the beginning
of the EPROM. The following listing defines the layout of this
area:
TYPE VALUE DESCRIPTION
---- ----- -----------
BYTE 1BH COMMAND CHARACTER
BYTE ' ',60H SOURCE CALL SIGN (SEE NOTE 1)
WORD 000AH HDLC BAUD RATE DIVISOR (SEE NOTE 2)
BYTE 06H TERMINAL BAUD RATE
BYTE 01H MAXIMUM CONNECTIONS
BYTE 03H MONITOR MODE (SEE NOTE 3)
BYTE 01H REPEATER DISABLE/ENABLE
BYTE 10H REPEATER WAIT (10ms)
BYTE 1EH TRANSMITTER DELAY (10ms)
BYTE 03H FLOW CONTROL MODE
BYTE 01H TRANSMITTER PTT DISABLE/ENABLE
BYTE 01H CHANNEL NUMBER
BYTE 01H AUTO LINEFEED DISABLE/ENABLE
BYTE 01H ECHO COMMAND LINE DISABLE/ENABLE
BYTE 01H VERSION 2 INITIATED DISABLE/ENABLE
BYTE 04H MAXIMUM UNACKNOWLEDGED FRAMES
BYTE 0AH MAXIMUM TRY COUNT
BYTE 03H FRAME ACKNOWLEDGE INTERVAL
BYTE 00H FAST CLOCK DISABLE/ENABLE
BYTE 64H TIMER T2 INTERVAL (10ms)
WORD 4650H TIMER T3 INTERVAL (10ms)
BYTE F0H PROTOCOL ID
BYTE 'CQ ',60H UNPROTO CALL SIGN (SEE NOTE 1)
BYTE 01H VALIDATE CALL SIGN ENABLE/DISABLE
BYTE 00H STOP BIT/WORD LENGTH (SEE NOTE 4)
BYTE 00H PARITY (SEE NOTE 5)
DISABLE = 00H / ENABLE = 01H
NOTE 1: The secondary station id must be shifted left one bit
and or'ed with 60H.
NOTE 2: The HDLC baud rate divisor is computed using the
formula:
SLOW CLOCK: divisor = (14400 / buad rate) - 2
FAST CLOCK: divisor = (28800 / buad rate) - 2
The HDLC baud rate divisor is stored most significant byte first.
NOTE 3: The monitor mode is composed from the following bits:
BIT FRAME
--- -----
0 I frames
1 UI frames
2 Supervisory frames
3 Monitor while connected
4 Monitor received frames (addressed to)
5 Monitor transmitted frames (addressed from)
NOTE 4: Stop bit and word length is controlled by the following
bit assignments:
BIT 7 STOP BIT
----- --------
0 1 stop bit
1 2 stop bits
1 1.5 stop bits (word length=5/parity disabled)
1 1 stop bit (word length=8/parity enabled)
BIT 6-5 WORD LENGTH
------- -----------
0 0 8 bits
0 1 7 bits
1 0 6 bits
1 1 5 bits
Bits 4-0 MUST be set to 0.
NOTE 5: Parity is controlled by the following bit assignments:
BIT 7-6 PARITY CONTROL
------- --------------
0 0 Odd parity transmitted/received
0 1 Even parity transmitted/received
1 0 Mark parity transmitted/parity check disabled
1 1 Space parity transmitted/parity check disabled
BIT 5 PARITY ENABLE
----- -------------
0 Parity disabled
1 Parity enabled
Bits 4-0 MUST be set to 0.