Possibilities - Taking the Buzz Out of Buzz Words - Part 3

Contact:   eSoft, Inc. (Makers of TBBS)
           15200 E. Girard Ave., Suite 3000
           Aurora, CO  80014
           (303) 699-6565      Voice
           (303) 699-6872      Fax
           (303) 699-8222      BBS
           support@esoft.com   E-Mail

TAKING THE BUZZ OUT OF BUZZ WORDS - PART 3
------------------------------------------

*** From September 1990 Possibilities Newsletter ***
*** Copyright 1990 by eSoft, Inc.  All Rights Reserved ***

Taking The "Buzz" Out of Buzz Words
Part 3: Communication Terminology
by Alan D. Bryant

The world of computers is riddled with buzz words -- technical jargon for 
the various parts of computers, their functions, and applications.  In 
telecommunications it's the same thing.  Terms like Baud, Bits, Parity, 
MNP, Half Duplex, and Full Duplex can make a TBBS system designer's life
seem more complex than it really is.  The problem is, these buzz words are 
attached to many of the components and concepts that a TBBS system designer 
must grasp to make the most of online system implementation and even to 
explain a system's operation to its users.

Fortunately, most telecommunications terminology isn't hard to understand -- 
once it's been explained by someone who knows what the terms mean and can 
speak English clearly enough to break them down in understandable language.  
Alan Bryant is just such a person and we at eSoft are lucky enough to
have him on our technical support staff.

In the final installment of this special three-part series, Alan demystifies 
many of the common telecommunications buzz words you'll encounter as a TBBS 
system designer and communications user-- Ed.

Of Bits and Parity...

In parts 1 and 2, we took a closer look at the most common and often least 
understood terms and standards in the world of the modems we use.  There 
are, however, several other telecommunications terms that can be confusing.  
Though they don't necessarily relate to modem-buying decisions specifically, 
understanding these terms can add important additional power to your 
communications dealings.  They also will help you understand how to set up 
the terminal programs your users will have to configure to call your TBBS 
system.  Among the most commonly faced (and least understood) are the 
concepts of Data Bits, Parity, and Stop Bits.

Data Bits

The American Standard Code for Information Interchange - ASCII - is a 
standard that defines 128 different characters that can be used for data 
transmission.  These include control characters, letters of the alphabet (in 
both upper and lower case), numbers, and a full set of punctuation 
characters.  Because there are only 128 ASCII characters, only 7 binary 
digits (bits) are required to form each of the 128 possibilities.

Many computer makers have extended the ASCII character set by adding 128 
more characters.  This was accomplished by simply adding one more binary 
digit,  resulting in a total of 256 transmittable data characters.  Each 
manufacturer, however, created their own set of 128 additional characters.  
All extended character sets are NOT the same.

In the case of the IBM PC and compatibles, the extended characters include 
international alphabet, graphics and mathematics characters.  These are 
commonly known as IBM Graphics characters.

In communications, common settings are either for 7-bit or 8-bit data.  
Generally, both ends of the connection must be set the same way.  If one end 
is set to 7-bit data and the other end is set to 8-bit data, reliable 
communication cannot usually be established.  This is because one end 
interprets the 8th data bit as a parity bit (explained in a moment), and the 
other end tries to interpret it as a part of the current character.  On a 
connection like this, some characters will display properly, while others 
will appear as "garbage," depending on which direction the data is 
traveling.

If the communications link is set to transmit only 7-bit data, the sendable 
characters are limited to the 128 defined ASCII characters.  The extended 
character set, such as the PC's single- and double-line boxes and foreign 
characters, CANNOT be sent unless the link is first set to allow the 
transmission of 8-bit data.

Some systems have even 5-bit and 6-bit data, and use character sets such as 
Baudot and Selectric, but these systems are uncommon today.

Parity Bit

When you establish communications with another computer, parity is set to 
"even," "odd," "mark," "space" or "none."  These are terms for the manner in 
which the parity bit is interpreted by the receiver.

Parity is a primitive form of error-checking.  The state of the parity bit, 
when set to be even or odd, is based on a simple mathematical formula.  
Depending on the data bits, the parity bit will either be on or off.  
Normally, the limited error checking capabilities are not utilized.  This 
explains why the setting of parity to "none" is so common in communications 
today.  This allows the parity bit to be used as a normal data bit instead.

Start and Stop Bits

Start and stop bits allow each character sent to be set in a "frame."  The 
beginning of the character, the first part sent, is the start bit, and the 
end of the character, the last part sent, is the stop bit.  Each character 
sent is thus framed with a distinct beginning and ending bit and this allows 
the receiving system to know when each complete character has been sent.

There is always just one start bit.  However, there may be one, one and a 
half or two stop bits.

Stop bit length used to be critical when serial communication was primarily 
handled with electromechanical equipment, such as an old-fashioned Teletype 
machine.  The print head in this type of equipment took a fixed amount of 
time to return to its "home" position, and this was accomplished during the 
sending of the stop bits.  A longer stop bit length gave the print head more 
time to return to its home position.

In modern all-electronic serial communication, the stop bit is still 
necessary, but only to mark the end of a character.  A delay isn't necessary 
as there isn't usually anything mechanical involved.

Asynchronous Communications

Framing the character with start and stop bits forms the basis for 
"asynchronous" communications.  In asynchronous transmission, characters do 
not have to flow constantly - there can be "gaps," or spaces, between each 
character.  The receiver knows when a character is sent by the framed nature 
of asynchronous transmission - the start and stop points can easily be 
determined.

Synchronous Communications

An alternate serial transmission method exists known as synchronous 
communications.  It occurs when there are no start or stop bits, and is 
possible only if data characters flow constantly at a fixed bit rate with no 
interruptions.  When there is no data to send, idle or padding characters 
are sent at the fixed rate (to keep data bits flowing constantly), but they 
are discarded by the receiver.

Because there are no start or stop bits, it is possible to remove 2 of every 
10 bits used in Asynchronous communications.  This results in a 20% faster 
data speed with the same serial bit rate.  However, because of the 
requirement for constant data flow, Synchronous transmission requires 
additional protocol and is primarily used in mainframe computer or 
specialized applications.

One place it is used with TBBS is hidden inside of high speed modems.  When 
these modems use MNP or V.42 protocols, they have the needed protocol to use 
synchronous communications between the modems themselves.  However, you 
still use asynchronous communications between the computer and the modem so 
this instance of hidden synchronous communications is primarily of interest 
as trivia.

Duplex

"Duplex" is a term which refers to whether a data communications path is 
one-way or two-way.  "Full duplex" means that data can flow in both 
directions at the same time.  "Half duplex" means that data can flow in only 
one direction at one time.  Most modems are full duplex, but communications 
software can most often still be set to take advantage of half duplex 
connections.

Some less expensive high speed (9600+ bps) modems are pseudo- full-duplex.  
This means they cannot transmit data at high speed in both directions at the 
same time because they are really operating in a fast turn-around half 
duplex mode internally.

Flow Control

The term "flow control" refers to a method of controlling the flow of 
transmitted data, so it doesn't "overrun" the data receiver's ability to 
receive the incoming signals.  Flow control allows the receiver to signal 
the transmitter to pause, while recently received data is properly 
assimilated, then signal it to restart the data flow when it's ready to 
receive more.

There are generally two forms of flow control - software and hardware.

RTS/CTS

Hardware flow control is not always required.  It is generally needed only 
with modems that are capable of "buffering" out-going data, or with high 
speed modems.  Hardware flow control, called RTS/CTS flow control, uses two 
of the RS-232 (serial) pins to start and stop the data flow.  Its advantage 
is that it is data independent and thus can be used for reliable flow 
control with any type of data stream.

X-ON/X-OFF

Software flow control, called XON/XOFF flow control, starts and stops the 
data flow based on the reception of certain control characters.  Although 
this type of flow control can be used by hardware devices, software flow 
control is usually used with TBBS, to allow the TBBS user to start and stop 
data transmission by using control keys.  This allows the user to press 
Ctrl-S at any time to temporarily halt data flow, and then press Ctrl-Q at 
any time to restart data flow.  

Even when hardware flow control is in use, TBBS will honor software flow 
control codes to start and stop the flow of text data displays.

What is ANSI?

"ANSI" is a common term in the bulletin board community today, but it's also 
a term that's usually misused.

ANSI stands for the American National Standards Institute, a standards 
development organization (sort of like the CCITT, which I discussed in my 
last column).  ANSI develops and documents standards for thousands of 
different areas, from architectural specifications for the handicapped to 
computer programming languages.

Within the bulletin board community, the term "ANSI" generally refers to an 
ANSI standard called X3.64 as implemented by IBM in ANSI.SYS.  The ANSI 
X3.64 standard specifies a series of codes that a host system can send to a 
remote data terminal to control color attributes, cursor positioning, 
inverse video and screen clearing on the terminal display.  

"ANSI Graphics" is a term that is often used in the bulletin board 
community, but this actually refers to two separate elements.  "ANSI" 
controls color and cursor positioning, while "Graphics" usually refers to 
characters in the IBM PC extended character set, such single- and double-
line boxes, shading characters, and so on.  "ANSI Graphics" is a common 
term, since normally only an IBM PC is capable of handling both ANSI and 
Graphics.  In reality, many data terminals and software packages for various 
computers are capable of handling ANSI codes, although they may not always 
handle the IBM extended characters.

Actually, "ANSI Graphics" does NOT refer to a standard for displaying 
pictures or graphic images on the remote terminal.

The VT-100 terminal (a data terminal from Digital Electronics Corporation) 
and software that emulates a VT-100 terminal can also be used with ANSI 
escape codes, since the codes for both ANSI and VT-100 are very similar.

ANSI works by sending a series of characters to the remote terminal.  The 
codes all begin with an escape character and a left bracket, and are 
followed by a variable quantity of numbers and letters.  The terminal 
understands the meaning of these codes, and acts accordingly by setting 
screen colors or moving the cursor.

Graphics

Graphics, as I mentioned previously, are the characters in the IBM PC 
extended character set.  They are characters beyond the original 127 
possible ASCII characters as defined by IBM in all of their display 
adapters.  These include single- and double-line boxes, shading characters, 
international characters and mathematical symbols.

IBM Graphics characters have become enough of a de-facto standard, that many 
other computers now emulate them.  Many terminal programs on the Apple 
Macintosh computer will allow proper display of the IBM graphics character 
set, as will many of the true display terminals on the market today.

Summary

That pretty well covers most of the common modem and telecommunications 
program terms and standards in use today.  I hope this series of articles 
has made you better able to understand the seemingly endless number of buzz 
words you find in microcomputer communications. You should now be able to 
understand better why terminal programs must be configured to operate 
correctly.  You also should be able (with information from the first two 
parts of this series) to better choose the type of modem you need to meet 
your applications.  I hope you'll let us know if you have any questions or 
need further help understanding anything that I've already discussed.  It's 
been fun...

- END - 
PS0990-5
Rev. 9/90

Copyright (C) 1994 eSoft, Inc., All Rights Reserved.  Permission granted
to distribute this file in its entirety, without modification, to any
interested party.  Any other use requires the written permission of
eSoft, Inc.

IMPORTANT:  The information herein is subject to change without notice.
Please call or write to confirm factual information of importance to you
or your organization.

