Quatech MPAP-100, MPAPR-100, MPAP-200, MPAP-300 User Manual

CONNECT WITH RELIABILITY
Syncdrive Plus
Communications Software
QUATECH, INC. 662 Wolf Ledges Parkway Akron, Ohio 44311 Toll free: 1-800-553-1170 TEL: (330) 434-3154 FAX: (330) 434-1409
http://www.quatech.com
Syncdrive Plus User’s Manual P/N: 940-0184-100
User’s Manual
Copyright Copyright © 1984 - 2003, Quatech, Inc. All rights are reserved. The
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
Table of contents
Introduction----------------------------------------------------------------------------------------------------------------------- 1
System Requirements ---------------------------------------------------------------------------------------------------- 1 Installing Syncdrive plus------------------------------------------------------------------------------------------------ 2
Synchronous communication with Syncdriv e Plus-------------------------------------------------------------------- 6
Understanding BIT-synchronous form atting---------------------------------------------------------------------- 6
Operational overview----------------------------------------------------------------------------------------------------------- 7
Data handling--------------------------------------------------------------------------------------------------------------- 7
Transmitting frames------------------------------------------------------------------------------------------------- 7
Receiving frames------------------------------------------------------------------------------------------------------ 8 Clocking parameters------------------------------------------------------------------------------------------------------ 8 Include file structure------------------------------------------------------------------------------------------------------ 9 Operating under Windows 2000/XP---------------------------------------------------------------------------------- 9
Building Syncdrive Plus applications -------------------------------------------------------------------------- 9
Terminating applications ------------------------------------------------------------------------------------------ 9
Tips and Techniques------------------------------------------------------------------------------------------------- 9
Syncdrive Plus data structures --------------------------------------------------------------------------------------------10 Syncdrive Plus application programming int erface------------------------------------------------------------------16
Calling convention--------------------------------------------------------------------------------------------------------16 Return values --------------------------------------------------------------------------------------------------------------16 Examples--------------------------------------------------------------------------------------------------------------------17 Command reference------------------------------------------------------------------------------------------------------17
Using example programs-----------------------------------------------------------------------------------------------------29
Source code------------------------------------------------------------------------------------------------------------------29 Executable files------------------------------------------------------------------------------------------------------------29 Descriptions of example programs-----------------------------------------------------------------------------------29
LPBCKBI2K ----------------------------------------------------------------------------------------------------------29
FDBCKBI2K----------------------------------------------------------------------------------------------------------29
SENDBI2K ------------------------------------------------------------------------------------------------------------29
RECBI2K---------------------------------------------------------------------------------------------------------------30
THREADRX2K-------------------------------------------------------------------------------------------------------30
THREADTX2K-------------------------------------------------------------------------------------------------------30
Crossover cable-------------------------------------------------------------------------------------------------------30
Troubleshooting-----------------------------------------------------------------------------------------------------------------31
Verify that the hardware is configured properly ----------------------------------------------------------------31 Check the Syncdrive Plus configuration---------------------------------------------------------------------------31 Check the clock sourcing------------------------------------------------------------------------------------------------31 Know the speed limits---------------------------------------------------------------------------------------------------31
Error codes -----------------------------------------------------------------------------------------------------------------------32 Appendix A-----------------------------------------------------------------------------------------------------------------------33
Definitions ------------------------------------------------------------------------------------------------------------------ 33
Rev 01 (2/6/2003) Page i
Quatech Syncdrive Plus User’s Manual Table of contents
Table of figures
Figure 1 - Found new hardware prompt....................................................................................................2
Figure 2 - Welcome screen ..........................................................................................................................2
Figure 3 - Install Hardware Device Drivers screen...................................................................................3
Figure 4 - Locate Driver Files screen.........................................................................................................3
Figure 5 - Insert installation disk prompt .................................................................................................4
Figure 6 - Locate File screen.......................................................................................................................4
Figure 7 - Driver Files Search Results screen...........................................................................................5
Figure 8 - Completing the Found New Hardware Wizard screen............................................................5
Figure 9 - Syncdrive Plus bit-synchronous frame format.........................................................................6
Figure 10 - RS-232 Crossover cable pinouts............................................................................................30
Figure 11 - RS-422/485 Crossover cable pinouts.....................................................................................30
Rev 01 (2/6/2003) Page ii
Quatech Syncdrive Plus User’s Manual Introduction
Introduction
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 4­byte transmit FIFO in the Zilog ESCC chip. If it receives an end-of­frame (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 half­FIFO 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 non­paged 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