information contained in this document cannot be reproduced in any form
without the written consent of Quatech, Inc. Any software programs that
might accompany this document can be used only in accordance with any
license agreement(s) between the purchaser and Quatech, Inc. Quatech,
Inc. reserves the right to change this documentation or the product to
which it refers at any time and without notice.
Trademarks QUATECH® is a registered trademarks of Quatech, Inc. IBM PC™,
PC-AT™, PS/2™, OS/2™, and Micro Channel™ are trademarks of
International Business Machines Corporation. Windows™ is a trademark
of Microsoft Corporation. Other product and brand names listed in this
manual may be trademarks of their respective owners.
Disclaimer The information in this manual is believed to be accurate and reliable at
the time of posting. Notwithstanding the foregoing, Quatech assumes no
responsibility for any damage or loss resulting from the use of this
manual, and expressly disclaims any liability or damages for loss of data,
loss of use, and property damage of any kind, direct, incidental or
consequential, in regard to or arising out of the performance or form of
the materials presented herein or in any software program(s) that may
accompany this document.
Changes or modifications to this device not explicitly approved by
Quatech will void the user's authority to operate this device.
Feedback Quatech, Inc. encourages and appreciates feedback concerning this
document. Please send any written comments to the Technical Support
department at the address listed on the cover page of this manual.
Quatech Syncdrive Plus User’s Manual Table of contents
Receiving frames------------------------------------------------------------------------------------------------------ 8
Clocking parameters------------------------------------------------------------------------------------------------------ 8
Include file structure------------------------------------------------------------------------------------------------------ 9
Operating under Windows 2000/XP---------------------------------------------------------------------------------- 9
Building Syncdrive Plus applications -------------------------------------------------------------------------- 9
Tips and Techniques------------------------------------------------------------------------------------------------- 9
Syncdrive Plus data structures --------------------------------------------------------------------------------------------10
Syncdrive Plus application programming int erface------------------------------------------------------------------16
Using example programs-----------------------------------------------------------------------------------------------------29
Source code------------------------------------------------------------------------------------------------------------------29
Executable files------------------------------------------------------------------------------------------------------------29
Descriptions of example programs-----------------------------------------------------------------------------------29
Verify that the hardware is configured properly ----------------------------------------------------------------31
Check the Syncdrive Plus configuration---------------------------------------------------------------------------31
Check the clock sourcing------------------------------------------------------------------------------------------------31
Know the speed limits---------------------------------------------------------------------------------------------------31
Note: For on-line technical
support, see Quatech’s Web site:
http://www.quatech.com/technical
.htm
Syncdrive Plus is a synchronous communications software driver
package that helps users of Quatech synchronous communication
hardware to develop their application software.
The Syncdrive Plus driver package includes these features:
! Multiple communication channels using multiple MPA-series
adapters
! Support for bit-synchronous (SDLC, HDLC) communications
! User-control of most communication parameters
! Relieves programmers of the burden of directly programming the
synchronous communications hardware
! User can change or upgrade synchronous communication
hardware with minimal modifications to the application software
! Support for all Quatech MPA-series PCI bus and PCMCIA
adapters:
MPAP-100: Multi-protocol RS-232 synchronous serial card
*
MPAP-200/300: Multi-protocol RS-422/485 synchronous serial
*
card
MPAC-100: Single port RS-232 synchronous board.
*
! Versions for Windows 2000 and Windows XP
Written specifically for use with C, Syncdrive Plus is also compatible
with other languages that support C-type subroutine interfaces.
System Requirements
Note: See Quatech’s Internet
site for the latest drivers and
updates:
http://www.quatech.com/
.
The system requirements are as follows:
! PC running either Windows 2000 or Windows XP
! Available PCI slot or PC Card slot
We recommend that you install the latest service packs.
All other requirements are the same as for the respective operating
systems.
Rev 01 (2/6/2003) Page 1
Quatech Syncdrive Plus User’s Manual Introduction
Installing Syncdrive plus
Follow this procedure to install your Quatech Syncdrive Plus
synchronous communication software.
Step Procedure Description
! Step 1
Insert the Quatech installation CD-ROM
into your CD-ROM drive.
This is the CD that shipped with the
MPAX-XXX adapter.
! Step 2
Insert the MPAX-XXX adapter into any
available PC Card socket.
Figure 1 - Found new hardware prompt
Figure 2 - Welcome screen
The Found New Hardware prompt
displays briefly, followed by the Found
New Hardware Wizard’s Welcome screen.
Step Procedure Description
! Step 3
Rev 01 (2/6/2003) Page 2
Press Next to continue. The Install Hardware Device Drivers
screen displays.
Quatech Syncdrive Plus User’s Manual Introduction
Figure 3 - Install Hardware Device Drivers screen
Step Procedure Description
! Step 4
Select the Search for a suitable driver for
The Locate Driver Files screen displays.
my device (recommended) option.
Press Next to continue.
Figure 4 - Locate Driver Files screen
Step Procedure Description
! Step 5
Select the Specify a location option.
Press Next to continue.
Rev 01 (2/6/2003) Page 3
The Insert installation disk prompt
displays.
Quatech Syncdrive Plus User’s Manual Introduction
Figure 5 - Insert installation disk prompt
Step Procedure Description
! Step 6
Browse to the correct drive location on your
CD-ROM drive.
Click OK to continue.
Figure 6 - Locate File screen
The complete path is E:\Synchronous
Adapters\Software\Windows 2000,
XP\Syncdrive Plus. Replace E: with your
CD-ROM drive designation.
The Locate File screen displays.
Step Procedure Description
! Step 7
Rev 01 (2/6/2003) Page 4
Select the Quainf.inf file and click Open.
The Driver Files Search Results screen
displays, showing the path to the Quainf.inf
driver.
Quatech Syncdrive Plus User’s Manual Introduction
Figure 7 - Driver Files Search Results screen
Step Procedure Description
! Step 8
Make sure the directory path ends at the
Quainf.inf file. Click Next to continue.
Note: You can find your
Syncdrive Plus adapter listed
in the Windows Device
Manager under Synchronous
Communication
Figure 8 - Completing the Found New Hardware Wizard screen
The Completing the Found New Hardware
Wizard screen displays.
Step Procedure Description
! Step 9
Rev 01 (2/6/2003) Page 5
Click Finish to continue. The Installation Wizard completes the
installation of the Syncdrive Plus driver.
Quatech Syncdrive Plus User’s Manual Synchronous Communication with Syncdrive Plus
Synchronous communication with Syncdrive Plus
Note: Syncdrive Plus uses
synchronous communication
for faster data transfer rates
with less overhead.
Most data communications in personal computers is handled
asynchronously using standard communication ports. Asynchronous
communication transfers data one character at a time with
significant overhead due to the addition of the start and stop bits
required for each character. These additions can decrease the rate of
data transfer by 20% or more.
In contrast, synchronous communication transfers data in a format
referred to as a frame. Each frame consists of a block of data plus a
fixed amount of overhead from the insertion of control, synchronization,
and error detection characters. Since the amount of overhead is
independent of the data block size, the percentage of the total
transfer time devoted to the frame overhead diminishes as the size of
the data block increases.
Synchronous communication is further divided into bit-synchronous
and byte-synchronous transfers. Bit-synchronous transfers treat the
data block as a series of data bits with no specific character
boundaries. Byte-synchronous transfers treat the data block as a
series of fixed-length characters.
The first release of Syncdrive Plus transfers data in bit-synchronous
mode only. The bit-synchronous mode can be used to implement such
protocols as SDLC or HDLC. Syncdrive Plus does not implement any
specific protocol itself, but supports most protocols implemented by
the application software. Future releases of Syncdrive Plus will add
support for byte-synchronous modes such as BISYNC.
Understanding BIT-synchronous formatting
Syncdrive's bit-synchronous mode generates a frame formatted
according to the scheme shown below.
Figure 9 - Syncdrive Plus bit-synchronous frame format
flag data CRC flag
The hardware uses the frame's start flag and end flag characters for
synchronization purposes. When the application transmits a block of
data, Syncdrive Plus automatically appends these flag characters to
the frame. When receiving a frame, the driver automatically removes
these flag characters from the frame before returning it to the
application.
Syncdrive Plus uses the frame's CRC bytes for error detection
purposes. When transmitting a block of data, it automatically
generates and transmits the CRC after it sends all of the data. When
receiving a frame, Syncdrive Plus automatically checks the CRC to
determine if the frame was corrupted. If a CRC error occurs,
Syncdrive Plus returns an error code (see MPA_GetData() return
values).
Rev 01 (2/6/2003) Page 6
Quatech Syncdrive Plus User’s Manual Operational overview
Operational overview
Data handling
The Syncdrive Plus driver simplifies application development.
Applications simply read and write frames as they would files
without any worry about buffer management, interrupts, or register
handling.
Once a handle is opened to the driver, the application can write as
many frames as desired if the handle was opened with overlapped
I/O. Syncdrive Plus queues the frames in the order in which they
were received and sends them out one at a time. The number of
frames that can be queued is limited only by system resources.
However, if the handle is opened without overlapped I/O, only a single
frame can be transmitted at one time. Control returns to the
application when the transfer is completed.
The driver can also queue frame buffers for receive if non-overlapped
Note: The application can loop
on MPA_GetFrameCount() until
a frame is received. Once the
application receives a frame, it
calls MPA_GetFrameSize() to
determine the frame’s size so
that it can allocate an
appropriately sized buffer.
I/O is specified. The buffers are filled as frames arrive. Alternately, if
the application did not queue read buffers, buffers in the driver can
store received frames until the application requests them. The size
and quantity of these driver receive buffers are dynamically
configurable.
If non-overlapped I/O is specified, only one frame can be read at a
time. If a frame has already been received, it is copied into the
application buffer immediately; otherwise, the driver waits until it
receives a complete frame before returning control to the application.
Transmitting frames
Queued transmit frames use Windows’ built-in I/O request queuing,
which stores data in a system buffer until it can be transmitted. The
application can obtain transfer status by using MPA_GetTransferStatus().
However, transmit frames are not queued for non-overlapped I/O. In
this case, the application waits until the frame has been transferred
before regaining control.
The Quatech board has a 1-KB transmit FIFO to supplement the 4byte transmit FIFO in the Zilog ESCC chip. If it receives an end-offrame (EOF) or the transmitter is not busy, the driver immediately
transfers as much data as possible into the transmit FIFOs. If the
frame is smaller than the FIFO size, then the transmit code waits
until the frame is transmitted completely before starting the next
frame. If the frame is larger than the FIFO depth, the driver waits for
an interrupt that indicates that the transmit FIFO has drained to
half capacity. At this point, the transmit code fills the transmit FIFO
up to its capacity. This process repeats until the entire frame buffer
has been transferred into the FIFOs. When the driver receives an
EOF interrupt indicating that the frame has been transmitted
completely, it starts the next frame (if there is one queued).
Rev 01 (2/6/2003) Page 7
Quatech Syncdrive Plus User’s Manual Operational overview
Receiving frames
The receive code has driver-allocated buffers that receive frames
without needing a user-supplied buffer. This allows the application to
allocate buffers as frames arrive.
Note: Typically, you would use
this approach for known frame
sizes and arrival times.
Note: There are no internal
buffers for transmit because
queued transmit buffers use
the system buffers.
A typical approach is to call MPA_GetFrameCount() until frame(s)
arrive. The application then uses MPA_GetFrameSize() to allocate the
buffer size and retrieves the frame using MPA_GetData().
Alternatively, the application can keep read buffers queued in
anticipation of incoming frames.
The receive logic works in a similar fashion to the transmit logic. The
Quatech board has a 1-KB receive FIFO to supplement the 8-byte
receive FIFO in the Zilog ESCC chip. If it receives a frame is that is
smaller than half of the receive FIFO depth, the receive code simply
acknowledges the EOF interrupt and transfers the frame either into
an internal buffer if there is no queued read buffer, or directly into
the user's read buffer if there is one. For frames larger than halfFIFO size, the receive code generates interrupts when the half-FIFO
depth is reached. The driver then drains the receive FIFO by filling
either the internal buffer or the user's buffer. This process repeats
until the EOF is reached.
The receive buffers are configurable using MPA_SetConfig() as detailed
in the API (see Syncdrive Plus application programming interface)
and Structure (see Syncdrive Plus data structures) sections. The
driver allocates these buffers when the device is opened. Be sure to
take care to minimize requirements because the driver uses nonpaged system memory, which is scarce after boot-up.
The maximum number of internal receive buffers matches the
maximum number of frames that can be queued in the ESCC, which
is 10 frames. The ESCC has a status FIFO that queues the frame
lengths, so the frames do not have to be serviced immediately. The
maximum internal buffer length matches the depth of the internal
ESCC counters, 16 K. Once again, transmit buffers are only limited
by system resources.
Clocking parameters
Rev 01 (2/6/2003) Page 8
The API supports many different clocking configurations. It is up to
the application to configure valid combinations. The application can
control the following:
! Transmit clock source
! Receive clock source
! Output of TRxC pin
! DPLL clock source and mode if DPLL used
! Baud rate of the baud rate generator (BRG), if BRG is used
Clocking can originate from two sources within the Quatech board:
1. Baud rate generator (BRG)
2. Digital phase locked loop (DPLL)
Loading...
+ 26 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.