Overview
The FarSync Flex, FarSync OEM T-Series and M-Series cards and software provides support for an
enhanced SDCI (Synchronous Dumb Card Interface) API as part of the
standard release. It allows applications to exactly control the type of data
sent and received in both bit synchronous (HDLC framed) data and
transparent bitstream formats. The products SDCI SDK contains
everything a user needs to rapidly develop and test applications for such
requirements as supporting specialist synchronous protocols or
transparent data (bitstream) requirements such as Audio, MPEG Video, T-DMB and DAB ETI.
The kit includes Windows XP, 2000 and Server 2003 drivers. Simple sample applications with support
for both modes of operation is provided complete with source code to
illustrate how the interface is used.
The product also includes a Linux API and on card support that features,
royalty free source code for the on card executive and synchronous line
drivers with sample application, test programs and utilities that allow you
to get the adapter working straight out of the box, for further details on
the adapters supported see FarSync Flex USB adapter,
FarSync OEM T1U / T2U (1 and 2
port PCI / PCI-X cards),
FarSync OEM T4U (4 port PCI / PCI-X card), FarSync OEM T4E (4 port PCI / PCI-X card with special clock options), FarSync T4Ue 4 port PCI Express card, FarSync OEM TE1 (E1/T1 card), FarSync OEM M1P (1 port PCMCIA card).
Application
Development using SDCI
SDCI is a standard interface defined by Microsoft that allows Independent
Hardware Vendors to provide compatible drivers that conform to the standard
Host Integration Server 2000 model. The interface provides a small set of
commands to configure the link, read and write control signals, transmit and
receive data, abort the transmitter or receiver etc. FarSite has enhanced
the interface with a number of IOCTL's to configure and control the
additional functions of the FarSync card including transparent
continuous bitstream support.
An Application communicates with the FarSync adapter through the
SDCI driver by means of Input/Output Control commands, or IOCTL's. IOCTL
commands are sent from user-mode applications via the DeviceIoControl
function. This is done by sending a parameter block recognised by the driver
causing the corresponding device to perform the corresponding operation. All
I/O requests are passed to the driver using the standard Input/Output
Request Packet, or IRP structures.
Free of charge email and telephone assistance is provided to applications
developers using this product.
FarSync cards support both HDLC-framed and transparent data
modes. HDLC and Transparent Modes (and Frame Size) can be set on a per
port basis.
HDLC Mode is the normal data mode in which FarSync cards
operate. An HDLC frame uses flags to determine the beginning and end of a
frame. These flags provide frame synchronisation. One flag may be used as
both an end flag for one frame and the start flag for the next frame.
Although FarSync cards do not transmit such shared flags, they
can receive and correctly handle them.
An HDLC frame typically consists of an opening flag, followed by an
address field, a control field, an information field, a cyclic redundancy
check (CRC) field, and, finally, a closing flag. As far as the FarSync
driver is concerned the address, control and information fields
are just data. Frames maintain data transparency by a process called
zero-insertion and deletion. When transmitting data, the transmitter
inserts a zero after five consecutive ones. When receiving data, between
opening and closing flags, the receiver deletes any zero received after
five consecutive ones. Zero insertion and deletion is sometimes called bit
stuffing and unstuffing and also ZBID.
The FarSync card can also be run in a Transparent Mode.
Transparent Mode disables zero insertion and deletion, CRC generation and
checking, abort generation, and opening/closing flag generation.
The HDLC controller transmits data exactly as it is loaded in the
transmit FIFO, when the transmitter has no more data to send it transmits
mark idle, no abort sequence is sent. Abort has no meaning in Transparent
Mode as all one's is as valid as any other data sequence. Transparent Mode
is useful for transmitting and receiving raw data streams such as MPEG video and audio such as T-DMB (Digital Multimedia Broadcasting) and DAB (Digital Audio Broadcasting) ETI (Ensemble Transport Interface - ETSI 300799).
Transparent mode also disables the receive byte counter; therefore,
short frame and long frame errors are not reported.
Receive data may not be byte aligned, as the receiver knows nothing of
the data format or any synchronising sequences. If receive data needs to
be byte aligned then this can be achieved in software on the Host PC.
The FarSync cards normally send and receive the LSB of a byte first, this is however configurable on the T-Series cards.
When receiving transparent data, no buffer status is transferred to the
buffer descriptors by the SmartDMA. The received data is simply a
continuous stream of samples, and the SmartDMA controller keeps cycling
through buffers without ever storing an EOP. The receiver will begin
receiving as soon as the port is started. It will continue receiving as
long as there are buffers available in the receive buffer ring. Each
receive block is as big as the buffer allocated for it. If the receive
data is marking, then the receive buffers just keep being filled with
0xff's until there are no buffers available or the port is stopped.
SDCI
Test Utility
SDCIDemo provided with the FarSync OEM products is intended to
demonstrate and test the operation of the SDCI interface. Both HDLC frame
and Transparent bitstream modes can be tested. Selection and testing of multiple
adapters is supported.
SDCIDemo Configuration Screen

SDCIDemo Screen Shot during Data Transfer

|