Home
        Syncdrive Plus Communications Software User`s Manual CONNECT
         Contents
1.       W  a  OUATISGISI    CONNECT WITH RELIABILITY       Syncdrive Plus  Communications Software   User   s Manual                QUATECH  INC   662 Wolf Ledges Parkway  Akron  Ohio 44311   Toll free  1 800 553 1170  TEL   330  434 3154   FAX   330  434 1409    ttp    www quatech com          yncdrive Plus  User s Manual P N  940 0184 100    Copyright    Trademarks    Disclaimer    Feedback    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     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     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 da
2.      The integrated circuit that handles the bulk of the hardware functions  for the serial channel  Typically  the SCC will either be an AM85C30   10 or Z85230 10 on Quatech MPA series adapters     In general  synchronous is an adjective describing objects or events  that are coordinated in time  Synchronous communications use  clocking information sent with the data  This eliminates the need for  start and stop bits and also allows for a more continuous data stream  than is possible with asynchronous communication  Reduced  overhead and higher possible speeds are the main advantages of  synchronous communications     Contrast with asynchronous communication     Page 34    
3.     Opens a handle to the MPA device driver  MPA_Open   must be called  before using other MPA_Xxx   functions     Successful open  Subsequent calls to other API functions can be  performed     The structure size in structLen did not match size in driver   Unsuccessful open    Caller supplied storage for a MPA_HANDLE structure  defined in  QuaDef h  with structure length field filled out in structLen  Member    variables hndDevice and overlapped should not be modified by the caller   This structure is required for subsequent calls to other API functions     Page 23    Quatech Syncdrive Plus User   s Manual Syncdrive Plus application programming interface    MPA_Open       Parameters  cont    deviceNumber    overlapped    Example     MPA _PutData     Syntax     Description     Return   ERR_NO_ ERROR    ERR_COULDNT_  CLOSE_DEVICE    ERR_DEVICE_NOT_  OPENED    ERR_ERROR_  WRITING_DATA    ERR_INCORRECT_  NUM_BYTES_WRITTEN    ERR_INVALID_  STRUCT_SIZE    ERR_WRITE_PENDING    Parameters   pHandle    Rev 01  2 6 2003     Continued    The number specifying which device to open  For systems with a single  card installed  this will always be 0  For 2 card systems  select 0 or 1 to  specify which card  A single system supports up to 16 cards  0 through  15      TRUE or FALSE to specify whether or not to use overlapped I O  Calls to  MPA_PutData   and MPA_GetData   return immediately and perform I O  in background when device is opened with overlapped I O  If device is  opened with non o
4.    Crossover cable    Rev 01  2 6 2003     This program receives single frames and runs in bit synchronous  mode  You can use it in tandem with SENDBI2K running on another  computer by connecting two MPA series adapters with a crossover  cable  You can select configuration options on the command line  See    rossover cable below for pinouts     This WIN2K XP program demonstrates Syncdrive Plus    support for  multithreaded programs and overlapped receive buffer querries  It  spawns a number of threads that take turns setting up bit synchronous  single frame receive operations  By default  timeouts are enabled   You can use THREADRX2K in tandem with THREADTX2K or  SENDBI2K running on another computer by connecting two MPA   series adapters with a crossover cable  You can select configuration    options on the command line  See Crossover cable below for pinouts     This WIN2K XP program demonstrates Syncdrive Plus   s support for  multithreaded programs and overlapped transmit buffer querries  It  spawns a number of threads that take turns setting up bit   synchronous single frame transmit operations  By default  timeouts  will be generated  You can use THREADTX2K in tandem with  THREADRX2K running on another computer by connecting two  MPA series adapters with a crossover cable  You can select    configuration options on the command line  See below    for pinouts     All sample programs use the transmitting adapter   s BRG clock source  as the master for both transmitter and r
5.    Device was not opened with MPA_Open     The structure size in structLen did not match size in driver     Communication error occurred between DLL and SYS     Handle to the open device obtained from MPA_Open     The number of frames received  but not yet given to the caller     ULONG frameCnt   MPA_GetFrameCount  amp handle   amp frameCnt    printf   d frames waiting to be retrieved  n   frameCnt      Page 20    Quatech Syncdrive Plus User   s Manual    MPA_GetFrameSize     Syntax     Description     Return   ERR_NO ERROR    ERR_BAD_  RETURN_SIZE    ERR_DEVICE_  NOT_OPENED    ERR_INVALID_  STRUCT_SIZE    ERR_IOCTL_  ERROR    Parameters   pHandle  pFrameSize    Example     MPA_GetModemControl  Signals       Syntax     Description     Retum   ERR_NO_ ERROR    ERR_BAD_RETURN_  SIZE    Rev 01  2 6 2003     Syncdrive Plus application programming interface    Gets the size of the oldest received frame    MPADLL_AP I MPA_LERROR_CODE MPA_GetFrameSize       IN const PMPA_HANDLE    OUT PMPA_FRAME_ SIZE        Gets the frame size in bytes of the oldest received frame that hasn t been  given to the caller via MPA_GetData    This permits the caller to allocate  the exact size buffer necessary prior to receiving the frame     pHandle   pFrameSize    Successfully obtained frame size   The frame size length returned did not match expected value     Device was not opened with MPA_Open     The structure size in structLen did not match size in driver     Communication error occurred between D
6.   Click OK to continue  The Locate File screen displays        Figure 6   Locate File screen  Locate File KE    Lookin   E Syncdrive Plus  J  e 0ce    History    Desktop    m    My Documents    a    r    My Computer  TA            QualNF int     Cancel      My Network Pa     Setup Information    inf  y      Step Procedure Description    Step7 Select the Quainf inf file and click Open  The Driver Files Search Results screen  displays  showing the path to the Quainf inf  driver                    Rev 01  2 6 2003  Page 4    Quatech Syncdrive Plus User   s Manual Introduction    Figure 7   Driver Files Search Results screen       Found New Hardware Wizard    Driver Files Search Results ae  The wizard has finished searching for driver files for your hardware device  F       The wizard found a driver for the following device       Quatech Synchronous Communication Device    Windows found a driver for this device  To install the driver Windows found  click Next      amp  e  synchronous adapters software windows 2000  xp synedrive plus quaint  inf       Cancel         Step Procedure Description                Step 8 Make sure the directory path ends atthe The Completing the Found New Hardware  Quainf inf file  Click Next to continue  Wizard screen displays     Figure 8   Completing the Found New Hardware Wizard screen    Found New Hardware Wizard  Note  You can find your  Syncdrive Plus adapter listed  in the Windows Device  Manager under Synchronous  Communication    Completing the
7.   MPA _ResetFrames     Syntax     Description     Return   ERR_NO_ERROR    ERR_DEVICE_NOT_  OPENED    ERR_INVALID_  STRUCT_SIZE    ERR_IOCTL_ERROR  ERR_NOTHING_TO_DO  Parameters    pHandle   pReset    Example     Rev 01  2 6 2003     Syncdrive Plus application programming interface    Continued    Pointer to a caller supplied buffer of data to be transferred  Each call to  MPA_PutData   sends the data in the buffer as a complete frame of data     The length of the buffer in bytes     The number of bytes transmitted  For overlapped I O  this can be less  than bufferLen since the transfer is occurring in the background     Caller supplied storage for an overlapped structure if device was opened  for overlapped I O  Should be NULL if device was opened for non   overlapped I O     MPA_ERROR_CODE err   MPA_HANDLE handle   UCHAR data      10  20  30  40    ULONG written   MPA_Open  amp handle  0  FALSE      Open for non overlapped I O   err   MPAPutData  amp handle  data  sizeof data  sizeof data 0     amp written  NULL    if  err    ERR_NO_ERROR   printf  ERROR  Unable to write data  n     else  printf  Wrote  d bytes  n   written      Resets transmit and or receive frames by clearing out values    MPADLL_API MPA_ERROR_CODE MPA_ResetFrames       IN const PMPA_HANDLE  IN const PMPA_RESET_FRAMES          Resets the hardware FIFOs on the board for the transmit and or receive  frames by clearing out values  It does not leave any already buffered  received packets or pending transmit p
8.   set  For example  setting the addr bit and clearing the enable bit causes  the node address to be set in hardware but the enable status to remain  unchanged  The current node address and enable status are returned in  pAddrOut     Successfully set SDLC node address   The address length returned did not match expected value     Device was not opened with MPA_Open     The structure size in structLen did not match size in driver     Communication error occurred between DLL and SYS     Handle to the open device obtained from MPA_Open       An MPA_NODE_ADDRESS structure filled out and bit s  selected to  determine which parameter s  are valid     The address the device was set to  StructLen should be filled out before  calling MPA_SetNodeAddress       MPA_NODE_ADDRESS node    node structLen   sizeof MPA_NODE_ADDRESS    node set all   0     Reset set bits  node addr   OxCA   node set bits addr   TRUE   node enable   FALSE   node set bits enable   TRUE     Disable node addressing   MPA_SetNodeAddress  amp handle   amp node         Set address for this device     Page 28    Quatech Syncdrive Plus User s Manual Using example programs    Using example programs    Source code    Executable files    Quatech supplies numerous small console application example  programs with Syncdrive Plus  These examples cover the various  operating modes of the product  We also supply source code and  executable files for each example program     We have tested the Syncdrive Plus example programs with 
9.  Applications should ensure that any allocated memory is freed before  terminating     Because applications can terminate unexpectedly due to bugs or  operator intervention  termination procedures should be called in exit  handler functions     The following is an outline of the basic steps that an application must  take to transmit or receive data frames using Syncdrive Plus   Allocate data structures    Configure the channel    Register buffer queues  optional     Transmit or receive data    Free buffer queues  if used     Release the channel     Gh Se ee een ho    Deallocate data structures     Page 9    Quatech Syncdrive Plus User   s Manual Syncdrive Plus data structures    Syncdrive Plus data structures    Noe Ti Goan naires thar This section describes the structures that Syncdrive Plus uses with  h   application uses the same API calls  Every structure passed to the API needs its structLen  header file as the driver files member filled out with the structure s length in bytes  This is true  and helps to minimize difficult even if the structure is used to retrieve information from the driver   memory overwrite debugging     MPA_CONFIG Handles device configuration  Syntax  typedef struct tagMPA_CONFIG  ULONG structLen   union     struct          Set the following bits to indicate which parameter s  are to be set      Parameter value s  with corresponding bits set to zero are not       changed      Tx does not require buffers since pending I O requests provide buffers   U
10.  Device was not opened with MPA_Open       Page 19    Quatech Syncdrive Plus User   s Manual    MPA_GetDriverVersion       Return  cont      ERR_INVALID_  STRUCT_SIZE    ERR_IOCTL_ERROR  Parameters    pHandle   pVersion    Example     MPA_GetFrameCount     Syntax     Description     Retum   ERR_NO ERROR    ERR_BAD_RETURN_  SIZE    ERR_DEVICE_NOT_  OPENED    ERR_INVALID_  STRUCT_SIZE    ERR_IOCTL_ERROR  Parameters    pHandle  pFrameCount    Example     Rev 01  2 6 2003     Syncdrive Plus application programming interface    Continued    The structure size in structLen did not match size in driver     Communication error occurred between DLL and SYS     Handle to the open device obtained from MPA_Open       The driver version in a caller supplied MPA_DRIVER_VERSION  structure  StructLen should be filled out before calling  MPA_GetDriverVersion       MPA_DRIVER_VERSION ver    ver structLen   sizeof MPA_DRIVER_VERSION    MPA_GetDriverVersion  amp handle   amp ver     printf  Driver version is  d  d n   ver major  ver minor      Gets the number of frames received    MPADLL_API MPA_ERROR_CODE       IN const PMPA_HANDLE  OUT PULONG          Gets the number of frames received but not yet transferred to caller  buffers via MPA_GetData    These are the frames that currently reside in  the internal buffers set up in the MPA_CONFIG structure     MPA_GetFrameCount    pHandle   pFrameCount    Successfully obtained frame count   The frame count length returned did not match expected value  
11.  Found New  Hardware Wizard      Quatech Synchronous Communication Device    Windows has finished installing the software for this device     To close this wizard  click Finish              Step Procedure Description             Step9 Click Finish to continue  The Installation Wizard completes the  installation of the Syncdrive Plus driver        Rev 01  2 6 2003  Page 5    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 syn
12.  Rev 01  2 6 2003     Syncdrive Plus data structures    Used to get driver version  typedef struct tagMPA_DRIVER_VERSION    ULONG structLen       Driver version is in format major minor   UCHAR major    UCHAR minor       MPA_DRIVER_VERSION   PMPA_DRIVER_VERSION     Structure for retrieving driver version  Driver version is in format  major minor     MPA_GetDriverVersion   only     Length of the MPA_DRIVER_VERSION structure in bytes  Should be  filled in before calling MPA_GetDriverVersion       The major driver version   The minor driver version     Used to store handle information for open device    typedef struct tagMPA_HANDLE       ULONG structLen   HANDLE hndDevice   BOOLEAN overlapped       MPA_HANDLE   PMPA_HANDLE     Used to store handle information for an open device  Other than filling  out structLen before calling MPA_Open    no modifications should be  made to this structure  Structure should remain available until device is  successfully closed with MPA_Close       All MPA_Xxx   functions     Length of the MPA_HANDLE structure in bytes  Should be filled in before  calling MPA_Open       System supplied handle to the device  Should not be modified by the  application     TRUE or FALSE indicating whether device was opened with overlapped  capability  Should not be modified by the application     Page 13    Quatech Syncdrive Plus User   s Manual Syncdrive Plus data structures    MPA_NODE_ADDRESS    Syntax     Description     API Functions Used     Parameters   struct
13.  Use the following  enumeration to set encoding method  Any other value is invalid   typedef enum tagENCODING      NRZ    NRZI    FM1    FMO    ENCODING     The source for the DPLL clock  This is required if DPLL is used  Use the    following enumeration to set DPLL clock source  Any other value is invalid   typedef enum tagDPLL_CLOCK_SOURCE       DPLL_SRC_BAUD_RATE_GEN   DPLL_SRC_RTXC    DPLL_CLOCK_SOURCE     The DPLL mode  This is required if DPLL is used  Use the following  enumeration to set DPLL mode  Any other value is invalid   typedef enum tagDPLL_MODE       DPLL_MODE_NRZI     DPLL_MODE_FM    DPLL_MODE     TRUE to select automatic RTS deactivation     The preset value  either 0 or 1  to which the receive CRC checker and  transmit CRC generator should be set        Specifies what should be transmitted on an idle line  The choices are  either to send all ones or the flag character  usually 7Eh for SDLC    Sending all zeros is not supported on the ESCC chip  Use the following    enumeration to set idle line control  Any other value is invalid   typedef enum tagIDLE_LINE_ CONTROL       IDLE_LINE_FLAGS     IDLE_LINE_ ONES     ESCC doesn t support sending continuous Os     IDLE_LINE_CONTROL     Page 12    Quatech Syncdrive Plus User   s Manual    MPA_DRIVER_VERSION    Syntax     Description     API Functions Used     Parameters   structLen    major  minor    MPA_ HANDLE  Syntax     Description     API Functions Used     Parameters     structLen    hndDevice    overlapped   
14.  asynchronous is an adjective describing objects or events  that are not coordinated in time  Asynchronous communications do  not employ a clocking signal  Instead  they rely on start and stop bits   which is a simple but inefficient scheme     Contrast with synchronous communication     Sub division of synchronous communication  Bit synchronous  transfers treat a data block as a series of data bits with no specific  character boundaries  Used to implement SDLC or HDLC     An SCC feature that is used for internally generating a data clocking  signal     Sub division of synchronous communication  Byte synchronous  transfers treat a data block as a series of fixed length characters   Used to implement BISYNC  Not currently supported by Syncdrive  Plus     Cyclic redundancy checking is a method of checking for errors in data  that has been transmitted on a communications link  A sending  device applies a 16  or 32 bit polynomial to a block of data that is to  be transmitted and appends the resulting cyclic redundancy code   CRC  to the block  The receiving end applies the same polynomial to  the data and compares its result with the result appended by the  sender  If they agree  the data has been received successfully  If not   the sender can be notified to resend the block of data     Used to encode or decode a clocking signal within a data stream     A Digital PLL  DPLL  circuit may consist of a serial shift register  which receives digital input samples  extracted from the re
15.  if the frame was corrupted  If a CRC error occurs   Syncdrive Plus returns an error code  see MPA_GetData   return  values      Page 6    Quatech Syncdrive Plus User   s Manual    Operational overview    Operational overview    Data handling    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     Transmitting frames    Rev 01  2 6 2003     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  T 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  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 
16.  to take effect  you must close and re open the device     The baud rate in baud  Valid ranges are 1 to 1 6 of clock rate     The clock rate in Hz  The clock rate is determined by the Quatech  hardware  Factory standard configuration is 9 8304 MHz  This value  may be different if you are using custom configured Quatech hardware     The clock mode rate  Can be X1  X16  X82  or X64     TRUE to enable internal loopback  Internal loopback allows transmit and  receive testing from a single card without any external connections     The source of the receive clock  Use the following enumeration to set  clock source  Any other value is invalid    typedef enum tagCLOCK_SOURCE        RTXC   TRXC   BAUD_RATE_GEN   DPLL     CLOCK_SOURCE     Page 11    Quatech Syncdrive Plus User   s Manual Syncdrive Plus data structures    MPA_CONFIG    Parameters  cont    TxClockSource    TRXCOutput    Encoding    DPLLClockSource    DPLLMode    AutoRTSDeact  CRCPreset    IdleLineControl    Rev 01  2 6 2003     Continued    The source of the transmit clock  Use the following enumeration to set  clock source  Any other value is invalid   typedef enum tagCLOCK_SOURCE     RTXC   TRXC   BAUD_RATE_GEN   DPLL    CLOCK_SOURCE     Selection for what should be output the TRxC pin  Use the following    enumeration to set TRxC source  Any other value is invalid   typedef enum tagTRXC_OUTPUT       CRYSTAL_OUT   TX_CLOCK   BAUD_RATE_GEN_OUT   DPLL_OUT     TRXC_OUTPUT     Encoding method for both transmit and receive 
17. CHAR FrameBufferSizeRx le  UCHAR NumFrameBuffersRx ods  UCHAR BaudRate vil   UCHAR ClockRate 21   UCHAR ClockMode alr   UCHAR InternalLoopback 113  UCHAR RxClockSource 215  UCHAR TxClockSource a ie  UCHAR TRXCOutput 1   UCHAR Encoding Al  UCHAR DPLLClockSource Pd   UCHAR DPLLMode aa  UCHAR AutoRTSDeact sale  UCHAR CRCPreset  1   UCHAR IdleLineControl iT  ULONG pad    8 sizeof ULONG    13      bits   ULONG all     Used to clear set all bits at once     set   ULONG FrameBufferSizeRx     In bytes   ULONG NumFrameBuffersRx   ULONG BaudRate   ULONG ClockRate   ULONG ClockMode   BOOLEAN InternalLoopback   CLOCK_SOURCE RxClockSource   CLOCK_SOURCE TxClockSource   TRXC_OUTPUT TRXCOutput   ENCODING Encoding   DPLL_CLOCK_SOURCE DPLL ClockSource   DPLL_MODE DPLLMode   BOOLEAN AutoRTSDeact   BOOLEAN CRCPreset   IDLE_LINE_CONTROL IdleLineControl       MPA_CONFIG   PMPA_CONFIG     Rev 01  2 6 2003  Page 10    Quatech Syncdrive Plus User   s Manual    MPA_CONFIG    Description     API Functions Used     Parameters   structLen    set    FrameBufferSizeRx    NumFrameBuffers    BaudRate  ClockRate    ClockMode  InternalLoopback    RxClockSource    Rev 01  2 6 2003     Syncdrive Plus data structures    Continued    Used to set or get device configuration s     Note  When configuring baud rate  be sure to remember to set both the clock rate  and the clock mode  The driver needs to know the oscillator frequency in order to  run at the baud rate specified  Because FM DPLL requires a clock rate 16 
18. Frame received completely and successfully     A CRC error occurred during transfer  In overlapped mode  you would  typically call MPA_GetTransferStatus to determine availability of the  frame before making this call  If MPA_GetData returns a bad frame  no  part of the frame is returned    A data overrun occurred  This happens when the caller buffer is too small  for the frame received  In overlapped mode  you would typically call  MPA_GetTransferStatus to determine availability of the frame before  making this call  If MPA_GetData returns a bad frame  no part of the  frame is returned     Device was not opened with MPA_Open       Error receiving frame occurred  In overlapped mode  you would typically  call MPA_GetTransferStatus to determine availability of the frame before  making this call  If MPA_GetData returns a bad frame  no part of the  frame is returned     Page 18    Quatech Syncdrive Plus User   s Manual    MPA_GetData      Return  cont      ERR_INCORRECT_  NUM_BYTES_READ    ERR_INVALID_  PARAMETERS _  PASSED    ERR_INVALID_  STRUCT_SIZE    ERR_READ_  PENDING    Parameters   pHandle  pBuffer    bufferLen  pBytesWritten    lpOverlapped    Example     MPA_GetDriverVersion     Syntax     Description     Retum   ERR_NO_ ERROR    ERR_BAD_RETURN_  SIZE    ERR_DEVICE_NOT_  OPENED    Rev 01  2 6 2003     Syncdrive Plus application programming interface    Continued    For non overlapped I O only  Bytes received differ from requested  Not  necessarily an error if a larger bu
19. IFOs  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      Page 7    Quatech Syncdrive Plus User   s Manual Operational overview    Receiving frames    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     Clocking parameters    Rev 01  2 6 2003     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     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 
20. LL and SYS     Handle to the open device obtained from MPA_Open       The frame size in bytes of the oldest received frame that hasn t been  given to the caller  StructLen should be filled out before calling  MPA_SetNodeAdadress       ULONG frameCnt  frameSize   MPA_GetFrameCount  amp handle   amp frameCnt    if  frameCnt     MPA_GetFrameSize  amp handle   amp frameSize    printf   d byte frame waiting to be retrieved  n   frameSize           Gets the state of the modem control signals  MPADLL_API MPA_ERROR_CODE MPA_GetModemControlSignals       IN const PMPA_HANDLE    OUT PMPA_MODEM_CNTL_SIG      Gets the current configuration of the modem control signals in a  MPA _MODEM CNTL_SIG structure  The bits in the set union are  undefined  used for setting modem control signals only      pHandle   pModemCnitlSig    Configuration retrieved successfully   The configuration length returned did not match expected length     Page 21    Quatech Syncdrive Plus User   s Manual    MPA_GetModemControl  Signals       Retum     ERR_DEVICE_NOT_  OPENED    ERR_INVALID_  STRUCT_SIZE    ERR_IOCTL_ERROR  Parameters    pHandle  pModemCnilSig    Example     MPA_GetTransferStatus    Syntax     Description     Retum   ERR_NO ERROR    ERR_DATA_  OVERRUN  ERR_DEVICE_NOT_  OPENED  ERR_INVALID_FOR_  NON_OVERLAPPED  ERR_INVALID_  PARAMETERS _  PASSED  ERR_INVALID_  STRUCT_SIZE  ERR_IO_STILL_  PROGRESSING    Rev 01  2 6 2003     Syncdrive Plus application programming interface    Continued    Device was not o
21. Len    set    addr    enable    Rev 01  2 6 2003     Handles node addressing  typedef struct tagMPA_NODE_ADDRESS    ULONG structLen   union     struct        Set the following bits to indicate which parameter s  are to be set      Parameter value s  with corresponding bits set to zero are not       changed   UCHAR addr 1   UCHAR enable sd   UCHAR pad    8 sizeof UCHAR    2      bits   ULONG all     Used to clear set all bits at once     set   UCHAR addr   BOOLEAN enable       MPA_NODE_ADDRESS   PMPA_NODE_ADDRESS   Used to set the device s node address and or enable node addressing   MPA_SetNodeAddress   only     Length of the MPA_NODE_ADDRESS structure in bytes  Should be filled  in before calling MPA_SetNodeAddress      This is a union composed of set structure and a ULONG all  Bits in the set  structure are set to tell the driver the corresponding value is valid and  should be set in hardware  Use all to clear or set all bits simultaneously   Pad is reserved and is only used to align the structure    The node address to set for this device  This will only be set in hardware  if the corresponding addr bit is set in the set structure  If the  corresponding addr bit in the set structure is cleared  addr will be  ignored by the driver    TRUE or FALSE value used to enable or disable node addressing  This  will only be set in hardware if the corresponding enable bit is set in the  set structure  If the corresponding enable bit in the set structure is  cleared  the driver will ig
22. Syncdrive Plus  These API functions are  listed below     Description   Closes previously opened handle to the MPA device   Gets the current configuration in an MPA_CONFIG structure  Used to receive a frame of data   Gets the driver version of the kernel mode driver    Gets the number of frames received but not yet transferred to caller  buffers via MPA_GetData      Gets the frame size in bytes of the oldest received frame that hasn   t yet  been given to the caller    Gets the current configuration of the modem control signal s   Used to get status of an overlapped transfer   Opens a handle to the MPA device driver   Used to transmit a frame of data   Resets transmit and or receive frames by clearing out values  Sets the configuration for the device   Sets the modem control signals for the device    Sets the node address for the device and or enables addressing    All Syncdrive Plus functions use a C language interface with the  MPADLL_API call linkage macro  This macro is defined in the  QuaDLL h include file     All Syncdrive Plus functions return an enumerated integer value of  type MPA_ERROR_CODE  A return code of ERR_NO_ERROR   indicates a successful completion     If Syncdrive Plus cannot successfully complete a function  it returns  an error code other than ERR_NO_ERROR  We define the error codes  in the QuaDef h include file and describe them in the  section on page    Page 16    Quatech Syncdrive Plus User   s Manual    Examples    Syncdrive Plus application program
23. Visual  C   6 00 and included the project files on the Syncdrive Plus CD   ROM     For the source code for all examples  see the Synchronous  Adapters  Software  Windows 2000  XP Syncdrive Plus Examples  directory on the Syncdrive Plus CD ROM     The executable programs can be found in the Synchronous  Adapters  Software  Windows 2000  XP Syncdrive Plus Examples   Exe directory of the Quatech CD ROM     All examples can be run from the command line prompt  Type the  program name along with a space and the          argument for a listing  of option arguments     Descriptions of example programs    LPBCKBI2K    FDBCKBI2K    SENDBI2K    Rev 01  2 6 2003     This is a loopback program  running in bit synchronous mode  You  need only one MPA series adapter  No connector or cable is  necessary  You can select configuration options on the command line     This is a feedback program and runs in bit synchronous mode  You  must install two MPA series adapters in the same system to run this    program  Connect a crossover cable between the two adapters  See  on page Bo for pinouts     This program transmits single frames  It runs in bit synchronous  mode  You can use it in tandem with RECBI2K running on another  computer by connecting two MPA series adapters with a crossover  cable  You can select a options on the command line  See    Crossover cable on page  30 for pinouts     Page 29    Quatech Syncdrive Plus User s Manual Using example programs    RECBI2K    THREADRX2K    THREADTX2K 
24. ackets     pHandle   pReset    Successfully reset frame s    Device was not opened with MPA_Open       The structure size in structLen did not match size in driver     Communication error occurred between DLL and SYS   Neither transmit nor receive frames were marked to be reset     Handle to the open device obtained from MPA_Open       Pointer to a filled out MPA_RESET_FRAMES structure indicating which  frames to reset  transmit or receive or both      MPA_RESET_FRAMES reset    reset structLen   sizeof MPA_RESET_FRAMES    reset tx   TRUE     Reset tx frames    reset rx   FALSE    Do not reset rx frames   MPAResetFrames  amp handle   amp reset      Page 25    Quatech Syncdrive Plus User   s Manual    MPA_SetConfig     Syntax     Description     Return   ERR_NO_ ERROR    ERR_BAD_RETURN_    SIZE    ERR_DEVICE_NOT_  OPENED    ERR_INVALID_  STRUCT_SIZE    ERR_IOCTL_ERROR  Parameters     pHandle  pConfigIn  pConfigOut    Example     Rev 01  2 6 2003     Syncdrive Plus application programming interface    Sets the configuration and gets the resulting configuration  MPADLL_API MPA_ERROR_CODE MPA_SetConfig    IN const PMPA_HANDLE pHandle   IN const PMPA_CONFIG pConfigIn   OUT PMPA_CONFIG pConfigOut          Sets the configuration for the device  The bits in the MPA_CONFIG union  are used to indicate which parameter s  are to be set  The driver ignores  parameters associated with bits that are not set  For an example of how  this works  see MPA_SetNodeAddress    The resultant configura
25. ansferred     Page 22    Quatech Syncdrive Plus User   s Manual    MPA_GetTransferStatus      Retum     ERR_TRANSFER_    STATUS    Parameters   pHandle  lpOverlapped    pBytesTransferred  wait    Example     MPA_Open     Syntax     Description     Return   ERR_NO_ ERROR    ERR_INVALID_  STRUCT_SIZE    ERR_COULDNT_  OPEN_DEVICE    Parameters   pHandle    Rev 01  2 6 2003     Syncdrive Plus application programming interface    Continued    Driver failed to return correct status to DLL  Could indicate hardware  failure     Handle to the open device obtained from MPA_Open       Pointer to the overlapped structure corresponding to the transfer that  status is requested     The amount of data that has been transferred     TRUE or FALSE to determine whether or not to wait until transfer has  completed before returning     MPA_ERROR_CODE err   MPA_HANDLE handle   UCHAR data      10  20  30  40    ULONG written   OVERLAPPED overlapped   MPA_Open  amp handle  0  TRUE      Open for overlapped I O   memset  amp overlapped 0   0  sizeof overlapped 0      MPAPutData  amp handle  data  sizeof data  sizeof data 0     amp written   amp overlapped    MPA_GetTransferStatus  amp handle   amp overlapped   amp written  FALSE    if  err    ERR_NO_ERROR    printf  ERROR  Unable get transfer status   n     else   printf  Transferred  d bytes so far  n   written      Open the MPA device    MPADLL_API MPA_ERROR_CODE MPA_Open  OUT PMPA_HANDLE pHandle   IN UCHAR deviceNumber   IN BOOLEAN overlapped      
26. 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     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 F
27. ations hardware    WV    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    gt  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    The system requirements are as follows      gt      gt  PCrunning either Windows 2000 or Windows XP  Available PCI slot or PC Card slot   Note  See Quatech   s Internet       site for the latest drivers and We recommend that you install the latest service packs     updates  All other requirements are the same as for the respective operating  http     www quatech com    systems     V    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 This is the CD that shipped with the  into your CD ROM drive  MPAX XXX adapter   Step 2 Insert the MPAX XXX adapter into any The Found New Hardware prompt  available PC Card socket  displays briefly  f
28. baud  rate selections     Page 31    Quatech Syncdrive Plus User s Manual    Error codes    Error codes    The definitive source for error codes is the QuaDef h include file  The    Note  The error code meaning  may vary  depending on the  Syncdrive Plus command     Error message  ERR_NO_ ERROR    ERR_BAD_RETURN_SIZE    ERR_COULDN T_CLOSE_DEVICE  ERR_COULDN T_OPEN_DEVICE  ERR_DATA_CRC  ERR_DATA_OVERRUN    ERR_DEVICE_NOT_OPENED  ERR_ERROR_ READING DATA  ERR_ERROR WRITING DATA  ERR_INCORRECT_NUM_BYTES_READ    ERR_INCORRECT_NUM_BYTES_WRITTEN  ERR_INVALID_FOR_NON_OVERLAPPED  ERR_INVALID_PARAMETERS_ PASSED    ERR_INVALID_STRUCT_SIZE  ERR_IOCTL_ERROR  ERR_IO_STILL_PROGRESSING    ERR_NOTHING TO_DO  ERR_READ_PENDING  ERR_TRANSFER_STATUS    ERR_WRITE_PENDING    Rev 01  2 6 2003     error codes for Release 1 00 are duplicated here for convenience  The  significance of the error code depends on the function returning it   See the return code explanation for the API of interest in the document     Description    Successful operation  operation varies  depending on  command    The  address   frame count   frame size   configuration    driver version  length returned did not match expected    Unsuccessful close  Unsuccessful open  A CRC error occurred during transfer    A data overrun occurred because the caller buffer was  too small for the frame received    Device was not opened with MPA Open    Error receiving frame occurred  Error transmitting frame occurred    For non overlapped I O o
29. ceived  signal   a stable local clock signal which supplies clock pulses to the  shift register to drive it and a phase corrector circuit which takes the  local clock and regenerates a stable clock in phase with the received  signal by slowly adjusting the phase of the phase of the regenerated  clock to match the received signal     The DLL is typically used in situations where separate signals for  transmit and receive data clocks are not available in the cables  The  clocking information is embedded in the data itself     Page 33    Quatech Syncdrive Plus User   s Manual Appendix A   Definitions    Term    Frame    PCI bus    Protocol  SCC  Serial Communications    Controller     Synchronous communication    Rev 01  2 6 2003     Definition    In telecommunications  a frame is data that is transmitted between  network points as a unit complete with addressing and necessary  protocol control information  A frame is usually transmitted serial bit  by bit and contains a header field and a trailer field that    frame    the  data   Some control frames contain no data      PCI  Peripheral Component Interconnect  is an interconnection  system between a microprocessor and attached devices in which  expansion slots are spaced closely for high speed operation  PCI is  designed to be synchronized with the clock speed of the  microprocessor     In information technology  a protocol is the special set of rules that  end points in a telecommunication connection use when they  communicate
30. chronous 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    Rev 01  2 6 2003     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
31. d successfully   The configuration length returned did not match expected value     Page 17    Quatech Syncdrive Plus User   s Manual    MPA_GetConfig       Return  cont      ERR_DEVICE_  NOT_OPENED    ERR_INVALID_  STRUCT_SIZE    ERR_IOCTL_  ERROR    Parameters   pHandle  pConfigOut    Example     MPA_GetData    Syntax     Description     Return   ERR_NO_ERROR  ERR_DATA_CRC    ERR_DATA_  OVERRUN    ERR_DEVICE_NOT_  OPENED    ERR_ERROR_  READING_DATA    Rev 01  2 6 2003     Syncdrive Plus application programming interface    Continued    Device was not opened with MPA_Open     The structure size in structLen did not match size in driver     Communication error occurred between DLL and SYS     Handle to the open device obtained from MPA_Open     The current configuration in a caller supplied MPA_CONFIG structure   StructLen should be filled out before calling MPA_GetConfig       MPA_CONFIG config   config structLen   sizeof MPA_CONFIG    MPA_GetConfig  amp handle   amp config      Receive a frame of data    MPADLL_API MPA_ERROR_CODE       MPA_GetData    IN const PMPA_HANDLE pHandle   OUT UCHAR  pBuffer    IN ULONG bufferLen   OUT ULONG  pBytesRead   IN LPOVERLAPPED lpOverlapped         Used to receive a frame of data  Read requests can be queued up in  anticipation of received frames  For non overlapped I O  a single request  can be sent and it will return when a frame is received  For overlapped  T O  only system resources limit the number of requests that can be  queued     
32. eceiver  The crossover cable  for these tests should cross the TxD to RxD lines and the TxClk DTE   to RxClk DCE  lines  For RS 422 485  like polarities should match     Figure 10   RS 232 Crossover cable pinouts                      TxD 2 J 2 TxD  RxD 3 n 3 RxD  RxClk 17 l 17 RxClk  TxClk 24 9 24 TxClk       Figure 11   RS 422  485 Crossover cable pinouts       TxD    2 14     a 2 14 TxD     RxD    3 16        3 16 RxD     RRCIk    17 9         J 17 9 RxClk     TT Clk   24 11     Sl 24 11 TXCIik      Page 30    Quatech Syncdrive Plus User   s Manual Troubleshooting    Troubleshooting    Verify that the hardware is configured properly    Note  The compiled Syncdrive  Plus example programs are  good tools to use for this  purpose because we test them  all in a known good system  before shipping     Hint  Run the program with a     parameter on the command  line for a short help screen     A good first step in solving problems is to make sure that there are no  hardware conflicts  One way to do this is to try a known good  Syncdrive Plus application on the hardware     The LPBCKBI2K EXE program is the best place to start because it  does not require you to connect any cables  It can accept as command  line input whatever resource settings are being used on the installed  MPA series adapter     LPBCKBI2K runs continuous frames in loopback mode  As it runs  it  prints each frame to the screen  If LPBCKBI2K is able to run  successfully  then you know that the hardware configuratio
33. ended  option   Press Next to continue        Figure 4   Locate Driver Files screen       Found New Hardware Wizard  Locate Driver Files  Where do you want Windows to search for driver files  S    Search for driver files for the following hardware device           Quatech Synchronous Communication Device    The wizard searches for suitable drivers in its driver database on your computer and in  any of the following optional search locations that you specify     To start the search  click Next  If you are searching on a floppy disk or CD ROM drive   insert the floppy disk or CD before clicking Next   Optional search locations     I  Floppy disk driv ee       T CD ROM drives  IV Specify a location  I Microsoft Windows Update                      Step Procedure Description  Step5 Select the Specify a location option  The Insert installation disk prompt  Press Next to continue  displays     Rev 01  2 6 2003  Page 3    Quatech Syncdrive Plus User   s Manual Introduction    Figure 5   Insert installation disk prompt    Found New Hardware Wizard x  Insert the manufacturer s installation disk into the drive  selected  and then click OK     Copy manufacturer s files from        iters    SottwareWwindows 2000  P Suncdrive Pluih Browse         Step Procedure Description                Step6 Browse to the correct drive location on your The complete path is E  Synchronous  CD ROM drive  Adapters  Software  Windows 2000   XP Syncdrive Plus  Replace E  with your  CD ROM drive designation   
34. ffer was allocated than required     Device opened as overlapped but storage for an overlapped structure not  passed in lpOverlapped     The structure size in structLen did not match size in driver     Receiving frame in the background since device opened as overlapped     Handle to the open device obtained from MPA_Open       Pointer to a caller supplied buffer to receive data  Each call to  MPA_GetData   provides a buffer to receive a complete frame of data     The length of the buffer in bytes     The number of bytes received  For overlapped I O  this can be less than  bufferLen since the transfer is occurring in the background     Caller supplied storage for an overlapped structure if device was opened  for overlapped I O  Should be NULL if device was opened for non   overlapped I O     MPA_ERROR_CODE err   MPA_HANDLE handle   UCHAR data 4    ULONG read   MPA_Open  amp handle  0  FALSE    err   MPAGetData  amp handle  data  4   amp read  NULL    if  err    ERR_NO_ERROR   printf  ERROR  Unable to read data  n          Open for non overlapped I O      4 bytes or less    else  printf  Read  d bytes  n   read      Gets the version of the driver    MPADLL_API MPA_ERROR_CODE       IN const PMPA_HANDLE    OUT PMPA_DRIVER_VERSION        Gets the driver version of the kernel mode driver  QuaSYS SYS  in the  format major minor     MPA_GetDriverVersion    pHandle   pVersion    Configuration retrieved successfully   The driver version length returned did not match expected length    
35. 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     The API supports many different clocking configurations  It is up to  the application to configure valid combinations  The application can  control the following      gt  Transmit clock source    gt  Receive clock source    gt  Output of TRxC pin    gt  DPLL clock source and mode if DPLL used     gt  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 
36. loop  DPLL     Page 8    Quatech Syncdrive Plus User   s Manual Operational overview    Include file structure    The BRG is a variable rate clocking mechanism used with external  clock pins  The DPLL is used to encode the clocking signal within the  data stream  eliminating the need for an external clock pin  The  DPLL requires a clock and can either acquire it from the BRG or  externally through the RTxC pin     QuaDLL h     Provides function prototypes for Syncdrive Plus API  functions     QuaDef h     Defines structures that are used with Syncdrive Plus API  calls     Operating under Windows 2000  XP    Building Syncdrive Plus applications    Terminating applications    Tips and Techniques    Note  Syncdrive Plus data  structures must be _ 8 byte   aligned     Rev 01  2 6 2003     Link the application s object modules with the Syncdrive Plus API  import library file QuaDLL LIB  The file can be found in the   Synchronous Adapters  Software Windows 2000  XP Syncdrive Plus   Examples directory of the Quatech CD ROM     Ensure that the Windows XP 2K device driver has been installed  properly on the system     You can find all the required Syncdrive Plus include files in the    Synchronous Adapters  Software Windows 2000  XP Syncdrive  Plus Examples directory of the Quatech CD ROM     Syncdrive Plus applications must include the QuaDLL h file   Applications must use the MPADLL_API calling convention  defined in  the QuaDLL h include file  in order to access the Windows DLL    
37. meter s  are valid     The resulting modem control signal configuration in a caller supplied  MPA MODEM _CNTL_SIG structure  StructLen should be filled out before  calling MPA_SetModemControlSignals       MPA_MODEM_CNTL_SIG sigIn  sigOut   sigIn structLen   sizeof MPA_MODEM_CNTL_SIG    sigIn set all   0     Clear all set bits   sigIn rts   TRUE   sigIn set bits rts   TRUE     Set RTS only   sigOut structLen   sizeof MPA_MODEM_CNTL_SIG    MPA_SetModemControlSignals  amp handle   amp sigIn   amp sigOut    if  sigIn rts    sigOut rts    printf  ERROR  Could not set RTS  n          Page 27    Quatech Syncdrive Plus User   s Manual    MPA_SetNodeAddress       Syntax     Description     Return   ERR_NO ERROR    ERR_BAD_RETURN_    SIZE    ERR_DEVICE_NOT_  OPENED    ERR_INVALID_  STRUCT_SIZE    ERR_IOCTL_ERROR    Parameters   pHandle  pAddrin    pAddrOut    Example     Rev 01  2 6 2003     Syncdrive Plus application programming interface    Sets the SDLC node address and  or enables addressing    MPADLL_API MPA_ERROR_CODE MPA_SetNodeAddr       IN const PMPA_HANDLE pHandle   IN PMPA_NODE_ADDRESS pAddrIn   OUT PMPA_NODE_ADDRESS pAddrOut          Sets the SDLC node address for the device and or enables addressing   The SDLC address is eight bits long and is used to designate which  receiving station accepts a transmitted message  The bits in the  MPA_NODE_ADDRESS union are used to indicate which parameter s  are to  be set  The driver ignores parameters associated with bits that are not
38. ming interface    Use of the Syncdrive Plus API functions is demonstrated in the  numerous example programs supplied on the Syncdrive Plus CD     ROM  These example programs are described in the Using example  fprograms section beginning on page 29    Command reference    MPA Close     Syntax     Description     Return   ERR_NO_ ERROR    ERR_COULDNT_  CLOSE_DEVICE    ERR_DEVICE_NOT_  OPENED    ERR_INVALID_  STRUCT_SIZE    Parameters   pHandle    Example     MPA_GetConfig     Syntax     Description     Return   ERR_NO ERROR    ERR_BAD_  RETURN_SIZE    Rev 01  2 6 2003     Close the MPA device  MPADLL_API MPA_ERROR_CODE MPA_Close      IN const PMPA_HANDLE pHandle          Closes previously opened handle to the MPA device  Must be called when  finished calling MPA_Xxx   functions     Successful close   Unsuccessful close     Device was not opened with MPA_Open       The structure size in structLen did not match size in driver     Handle to the open device obtained from MPA_Open       MPA_ERROR_CODE err   MPA_HANDLE handle   MPA_Open  amp handle  0  FALSE    err   MPA_Close  amp handle    if  err    ERR_NO_ERROR   printf  ERROR  Unable to close device  Error code  d  n   err      Gets configuration    MPADLL_API MPA_ERROR_CODE       IN const PMPA_HANDLE    OUT PMPA_CONFIG        Gets the current configuration in a MPA_CONFIG structure  The bits in  the set union are undefined  used for setting configuration only      MPA_GetConfig    pHandle   pConfigOut    Configuration retrieve
39. n is good   If LPBCKBI2K crashes or locks up  it indicates that the hardware is  not configured properly  You may need to change some of the  hardware settings to avoid conflicts with other devices in the system     Check the Syncdrive Plus configuration    If the hardware is verified to be good  then the problem must be  somewhere in the software  The first place to check is the  MPA_CONFIG configuration structure  Double check that all  variables in this structure are set properly     Check the clock sourcing    Know the speed limits    Rev 01  2 6 2003     If transmit or receive operations just don t seem to work right  double  check the RxClockSource and TxClockSource variables in the  MPA_CONFIG configuration structure  In conjunction with the  hardware manual for the MPAX series adapter  make sure that any  clock signals on the cable are routed to the proper SCC inputs and  outputs  and that the modes in the RxClockSource and TxClockSource  variables are set properly     There are limits on how fast the MPAX series adapters can operate  under Syncdrive Plus  Most of the limitations are the result of  external cabling  the upper limits of the SCC  and clock jitter as that  upper limit is approached  Syncdrive Plus limits the maximum rate to  1 6 of the input clock frequency     If you need a baud rate that cannot be achieved with the standard  clock frequency  contact Quatech Technical Support  It may be  possible to use a custom clock oscillator to change the available 
40. nals      Syntax     Description     Retum   ERR_NO_ERROR    ERR_BAD_RETURN_  SIZE    ERR_DEVICE_NOT_  OPENED    ERR_INVALID_  STRUCT_SIZE    ERR_IOCTL_ERROR    Parameters   pHandle  pModemCnilSig    pModemCnilSigOut    Example     Rev 01  2 6 2003     Syncdrive Plus application programming interface    Sets the modem control signal s  and gets resulting configuration    MPADLL_API MPA_ERROR_CODE       MPA_SetModemConitrolSignals    IN const PMPA_HANDLE pHandle   IN const PMPA_MODEM_CNTL_SIG pModemCnilSig   OUT PMPA_MODEM_CNTL_SIG pModemCntlSigOut          Sets the modem control signal s  for the device  The bits in the  MPA_MODEM_CNTL_SIG union are used to indicate which parameter s   are to be set  The driver ignores parameters associated with bits that are  not set  For an example of how this works  see MPA_SetNodeAddress     The resulting configuration is returned in pModemCnitlSigOut  The bits  returned in pModemCnilSigOut are undefined  used for setting  configuration only      All parameters can be updated dynamically and can be verified by the  values in pModemCnilSigOut     Configuration set successfully   The configuration length returned did not match expected value     Device was not opened with MPA_Open     The structure size in structLen did not match size in driver     Communication error occurred between DLL and SYS     Handle to the open device obtained from MPA_Open       An MPA_MODEM_CNTL_SIG structure filled out and bit s  selected to  determine which para
41. nly  bytes received differ from  requested  not necessarily an error if a larger buffer was  allocated than required    Number of bytes written differs from number expected  This call is not valid for non overlapped I O    Device opened as overlapped but storage for an  overlapped structure not passed in  pOverlapped   WAIT cannot be TRUE when overlapped is NULL     The structure size in structLen did not match size in driver  Communication error occurred between DLL and SYS    I O is still occurring in the background  Bytes   transferred is placed in pBytesTransferred    Neither transmit nor receive frames were marked to be  reset    Receiving frame in the background since device opened  as overlapped    Driver failed to return the correct status to the DLL   probable hardware failure    Returned when driver is set up for overlapped I O   indicates that driver is still working on the last write    Page 32    Quatech Syncdrive Plus User   s Manual    Appendix A    Definitions    Term    API  Application Programming  Interface     Asynchronous communication    Bit sync    BRG  Baud Rate Generator     Byte sync    CRC    DPLL  Digital Phase Locked  Loop     Rev 01  2 6 2003     Appendix A   Definitions    Definition    An application program interface is the specific method prescribed by  a computer operating system or by an application program by which a  programmer writing an application program can make requests of the  operating system or another application     In general 
42. nore enable     Page 14    Quatech Syncdrive Plus User   s Manual Syncdrive Plus data structures    MPA_RESET FRAMES  Syntax     Description     API Functions Used     Parameters   structLen    tx    rx    Rev 01  2 6 2003     Used to reset transmit and  or receive frames    typedef struct tagMPA_RESET_FRAMES       ULONG structLen   BOOLEAN tx   BOOLEAN rx       MPA_RESET_FRAMES   PMPA_RESET_FRAMES     Used to reset frames  Transmit and receive frames can be reset  individually or simultaneously      MPA_ResetFrames   only     Length of the MPA_RESET_FRAMES structure in bytes  Should be filled  in before calling MPA_ResetFrames       TRUE to reset transmit frames  FALSE to leave transmit frames  unchanged     TRUE to reset receive frames  FALSE to leave receive frames unchanged     Page 15    Quatech Syncdrive Plus User   s Manual Syncdrive Plus application programming interface    Syncdrive Plus application programming interface    Note  All Syncdrive Plus API  functions are prototyped in the  QuaDLL h Syncdrive Plus include    file    Function   MPA_Close    MPA_GetConfig    MPA_GetData    MPA_GetDriverVersion    MPA_GetFrameCount      MPA_GetFrameSize      MPA_GetModemControlSignals    MPA_GetTransferStatus    MPA_Open     MPA_PutData    MPA_ResetFrames    MPA_SetConfig    MPA_SetModemControlSignals    MPA_SetNodeAddress      Calling convention    Return values    Rev 01  2 6 2003     There are a number of functions that make up the application  programs entry points into 
43. ollowed by the Found    New Hardware Wizard   s Welcome screen     Figure 1   Found new hardware prompt    Found New Hardware 3         gt  Quatech Synchronous Communication Device    Installing           Figure 2   Welcome screen    Found New Hardware Wizard        Welcome to the Found New    ng tg     SS Hardware Wizard        This wizard helps you install a device driver for a  hardware device        To continue  click Next           Step Procedure Description             Step 3 Press Next to continue  The Install Hardware Device Drivers  screen displays        Rev 01  2 6 2003  Page 2    Quatech Syncdrive Plus User   s Manual Introduction    Figure 3   Install Hardware Device Drivers screen       Found New Hardware Wizard    Install Hardware Device Drivers        device driver is a software program that enables a hardware device to work with S    an operating system        This wizard will complete the installation for this device     Quatech Synchronous Communication Device       device driver is a software program that makes a hardware device work  Windows  needs driver files for your new device  To locate driver files and complete the  installation click Next     What do you want the wizard to do     C Display a list of the known drivers for this device so that  can choose a specific  driver        lt  Back Cancel         Step Procedure Description             Step 4 Select the Search for a suitable driver for The Locate Driver Files screen displays   my device  recomm
44. pened with MPA_Open     The structure size in structLen did not match size in driver     Communication error occurred between DLL and SYS     Handle to the open device obtained from MPA_Open       The current configuration of the modem control signals in a caller   supplied MPA_MODEM_CNTL_SIG structure  StructLen should be filled  out before calling MPA_SetNodeAddress    StructLen should be filled out  before calling MPA_GetModemControlSignals       MPA_MODEM_CNTL_SIG sig   sig structLen   sizeof MPA_MODEM_CNTL_SIG    MPA_GetModemControlSignals  amp handle   amp sig      Get the status of a queued overlapped transfer    MPADLL_API MPA_ERROR_CODE MPA_GetTransferStatus       IN const PMPA_HANDLE pHandle    IN LPOVERLAPPED lpOverlapped   OUT ULONG  pBytesTransferred   IN BOOL wait    E  Used to get status of an overlapped transfer  specifically  the number of  bytes that have been transferred  transmitted or received  depending on    whether the overlapped structure was sent in MPA_PutData   or  MPA_GetData     This call is not applicable for non overlapped I O     Successfully returned status   A data overrun occurred  This happens when the caller buffer is too small    for the frame received   Device was not opened with MPA_Open       This call is not valid for non overlapped I O     WAIT cannot be TRUE when overlapped is NULL     The structure size in structLen did not match size in driver     T O is still occurring in background  The transferred bytes are placed in  pBytesTr
45. ta   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     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       Rev 01  2 6 2003  Page i    Quatech Syncdrive Plus User s Manual Table of contents    Table of figures       Rev 01  2 6 2003  Page ii    Quatech Syncdrive Plus User   s Manual Introduction    Introduction    Syncdrive Plus is a synchronous communications software driver  Note  For on line technical package that helps users of Quatech synchronous communication  support  see Quatech   s Web site     ttp    www quatech com  technica hardware to develop their application software   The Syncdrive Plus driver package includes these features        N    Multiple communication channels using multiple MPA series  adapters     gt  Support for bit synchronous  SDLC  HDLC  communications   gt  User control of most communication parameters   gt     Relieves programmers of the burden of directly programming the  synchronous communic
46. times  the data rate  the clock mode will be 16 in this case  Similarly  NRZI DPLL  requires a clock rate 32 times the data rate  Notice that clock mode acts as a  divisor and results in a lower maximum data rate     MPA_SetConfig   and MPA_GetConfig   only     Length of the MPA_CONFIG structure in bytes  Should be filled in before  calling MPA_GetConfig   or MPA_SetConfig   functions     Union composed of set structure and a ULONG all  Bits in set structure  are set to tell the driver the corresponding value is valid and should be  set in hardware  Use all to clear or set all bits simultaneously  Pad is  reserved and is only used to align the structure     The size of each of the receive buffer s  in bytes  This should be set to the  largest frame expected  The value should be as small as possible since it  requires non paged system memory  This value only changes when the  device is opened  For the new values to take effect  you must close and  re open the device     The number of receive frame buffers for use by the driver  This setting  should be based on how quickly frames will be read from the driver  If  frame sizes are large  infrequent  or frame servicing will be handled as  frames arrive  then this value can be small  Back to back small frames  that cannot be serviced as they arrive would require a larger value  The  value should be as small as possible since it requires non paged system  memory  This value only changes when the device is opened  For the new  values
47. tion is  returned in pConfigOut  The bits in the set union of pConfigOut are  undefined  used for setting configuration only      All parameters can be updated dynamically except number of receive  buffers and quantity of receive buffers  If the buffer size or quantity is  changed  the device must be closed and reopened to see the results   Otherwise the previous values are used and returned in pConfigOut until  the device is re opened     Configuration set successfully   The configuration length returned did not match expected length     Device was not opened with MPA_Open     The structure size in structLen did not match size in driver     Communication error occurred between DLL and the driver     Handle to the open device obtained from MPA_Open       An MPA_CONFIG structure filled out and bit s  selected to determine  which parameter s  are valid     The resulting configuration in a caller supplied MPA_CONFIG structure   StructLen should be filled out before calling MPA_SetConfig       MPA_CONFIG configIn  configOut    configIn structLen   sizeof MPA_CONFIG     configIn set all   0    configIn BaudRate   9600    configIn set bits  BaudRate   TRUE    configOut structLen   sizeof MPA_CONFIG     MPA_SetConfig  amp handle   amp configIn   amp configOut     if  configln BaudRate    configOut BaudRate   printf  ERROR  Could not set baud rate  n          Clear all set bits        Set baud rate only     Page 26    Quatech Syncdrive Plus User   s Manual    MPA_SetModemControl  Sig
48. verlapped I O  MPA_PutData   and MPA_GetData    return when transfer has been completed     MPA_ERROR_CODE err   MPA_HANDLE handle   handle structLen   sizeof MPA_HANDLE    err   MPA_Open  amp handle  0  FALSE      Open for non overlapped I O   if  err    ERR_NO_ERROR   printf  ERROR  Unable to open device  Error code  d  n   err      Transmits a frame of data    MPADLL_API MPA_ERROR_CODE MPA_PutData     IN const PMPA_HANDLE pHandle   IN const PUCHAR pBuffer   IN ULONG bufferLen   OUT ULONG  pBytesWritten   IN LPOVERLAPPED lpOverlapped         Used to transmit a frame of data  For non overlapped I O  a single  transmit request can be sent and it will return when the frame has been  transmitted  For overlapped I O  the number of transmit requests that  can be queued is limited only by system resources     Successful close   Unsuccessful close     Device was not opened with MPA_Open     Returned if the driver fails for some reason  possibly due to a hardware    failure    The number of bytes returned differs from the number of bytes in the  request to write    The structure size in structLen did not match size in driver     Returned when the driver is set up for overlapped I O  Indicates that the  driver is still working on the last write and is not really an error     Handle to the open device obtained from MPA_Open       Page 24    Quatech Syncdrive Plus User   s Manual    MPA _PutData       Parameters  cont    pBuffer    bufferLen  pBytesWritten    lpOverlapped    Example   
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
View - Element14  WOLF-Garten Bluepower 34 E  Manuel d'utilisation  WT1000 - NTT エレクトロニクス  magicolor 7450 Guida utente  HT Media Limited  Sony ZS-Y2L B  Digital Dissolved Oxygen, Conductivity, TDS and pH Meter  Manuel - Interfocos  vistaHD user manual    Copyright © All rights reserved. 
   Failed to retrieve file