FarSync FAQ – General
V.35 transmit and receive clocks are output on the Y-AA and V-X V.35 connector pins.
The degree of support for internal clocking varies by adapter type and is as shown below:
Adapter Type | Transmit Clock (Y-AA) | Receive Clock (V-X) |
---|---|---|
FarSync T1U | N | N |
FarSync T2U | N | N |
FarSync T2Ue | N | N |
FarSync T4U (< REV 0.3) | N | N |
FarSync T4U (>= REV 0.3) | Y | N |
FarSync T4U+Async (>= REV 0.3) | Y | N |
FarSync T4Ue | Y | N |
FarSync T4Ue+Async | Y | N |
FarSync T2U-PMC | Y | Y |
FarSync T2Ee | Y | Y |
FarSync K2Ee | Y | Y |
FarSync T4E | Y | Y |
FarSync T4E+ | Y | Y |
FarSync T4Ee | Y | Y |
FarSync Flex | Y | Y |
Note: some special cable types allow a port to be run in X.21 mode but present the signals on a V.35 connector, this can overcome the limitation where V.35 internal clocking is not provided. For example, a UX35C cable converts between HD26-M (X.21) and MRAC34-F (V.35) and presents a DCE-configured interface.
Click here for more details on the UX35C cable.
The Interface Types supported are dependent on the adapter type as shown below:
Interface Type | T1U | T2U | T4U | T4U+Async | T2U-PMC | T2Ee | K2Ee | T4E | T4E+ | T4Ee | T2Ue | T4Ue | T4Ue+Async | Flex |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RS232 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
X.21 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
V.35 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
X.21D | Y | Y | Y | Y | N | N | N | N | N | N | Y | Y | Y | N |
RS530/449 | N* | N* | N* | N* | Y | Y | Y | Y | Y | Y | N* | N* | N* | Y |
RS422 signal levels | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
RS485 | N | N | N | N | N | Y | Y | N | Y1 | Y | N | N | N | Y |
* these products can support a subset of the RS530 interface when used with special cables, e.g. the U530 cable for TxU(e).
1 T4E+ hardware is RS485-capable, but at the time of writing there is no onboard or driver support for this, software support for RS485 will be introduced at a later date, contact FarSite for details.
X.21 interfaces normally provide a Signal Element Timing function (clock) to synchronize data transfer between DTE and DCE. When running at high speed or with long cables, use of a single clock can present problems. This is because the round-trip delay for the clock from DCE to DTE plus the data from DTE to DCE becomes significant compared to the period of the clock. The preferred solution to this problem, which is available on all adapters, is to use the Invert Rx Clock feature.
An alternate approach, available on some adapters, is to use X.21 Dual Clocking. In this mode clock is sent with the data in each direction, so there is no longer a problem with the round-trip delay. In order to use this feature the X.21 Indicate signal has to be relinquished for use as the second clock; the second clock is always an input.
In order to use Dual Clocking mode when connecting a pair of FarSync devices together, a special X.21 Dual null-modem cable is required. This special null-modem cable differs from the standard one in that it requires Sa-Ia and Sb-Ib connections in each direction. Each end of the link needs to be configured for Internal Clocking as well as X21D Interface Mode.
FM0, FM1 NRZI, Manchester & Conditioned Diphase encoding schemes allow clocking information to be embedded in the transmitted serial bit stream. This eliminates the requirement for a separate clock to be provided with the data, as the clock can be recovered from the encoded data.
Support for various encoding schemes by card type is shown below:
Encoding Types | Flex* | TxU | TxU(e) | T2U-PMC | T4E | T4E+, T2Ee/K2Ee | T4U/T4Ue + Async | T4Ee |
---|---|---|---|---|---|---|---|---|
NRZ | Y | Y | Y | Y | Y | Y | Y | Y |
NRZI | Y | N | N | N | N | N | N | Y |
FM0 | Y | N | N | N | N | Y | N | Y |
FM1 | Y | N | N | N | N | Y | N | Y |
MAN (Manchester) | Y | N | N | N | N | Y | N | Y |
DMAN (Differential Manchester/Conditioned Diphase) | Y | N | N | N | N | Y | N | Y |
*Flex encoding support details above excludes Flex’s supplied between May 2007 & Dec 2013.
*Requires latest hardware and drivers – earlier Manchester-only builds can be updated if required, contact FarSite for details.
FM0 Coding is also known as Biphase-S(pace).
FM1 Coding is also known as Biphase-M(ark).
Manchester Coding is also known as Biphase-L(evel). FarSite products support the G.E. Thomas variant, the IEEE variant is simply the inversion of G.E. Thomas.
Conditioned DiPhase is also known as Differential Biphase-L(evel) or Differential Manchester coding.
The FarSync T4Ee, T4E+ and T2Ee/K2Ee are capable of sending and receiving encoded data at rates from 1200bps to 10Mbps.
See the FarSync Flex FAQ for the clock speeds supported by the various Encodings.
When connecting two such FarSync products together, there are two ways of configuring the clock.
The first method of configuring the clocks (recommended), is to select internal clocking at both ends. In this mode the internal oscillator of each adapter is used to drive the transmitter, with the receiver phase-locked-loop recovering the clock from the data in each case. When running in this mode there will be some small difference in the data rates in each direction due to local oscillator tolerances.
An alternate method of configuring the clocks it to set one end internal and the other external. When running in FM0, FM1, NRZI, Manchester or Conditioned Diphase modes the internal end runs from the adapters local oscillator, the external end runs in a slave clocking mode where the recovered received clock is used to transmit data back to the originating device. This ensures all data is timed to the one clock source, but can result in more jitter in the data transmitted by the external end which can cause problems recovering data at higher speeds.
Although some clocking information is included in the NRZI bit stream, it may be inadequate to allow for reliable clock recovery. For this reason an optional separate one times clock can be provided with the NRZI encoded data, for improved reliability.
Whether Asynchronous Data is supported is dependent on the adapter type as shown below:
T1U | T2U | T4U | T4U+Async | T2U-PMC | T2Ee | K2Ee | T4E | T4E+ | T4Ee | T2Ue | T4Ue | T4Ue+Async | Flex | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Asynchronous Data | N | N | N | Y | N | N | N | Y | Y | Y | N | N | Y | Y* |
*Flex hardware is asynchronous capable, earlier synchronous-only builds can be updated if required, contact FarSite for details.
The UCX35C cable is useful in V.35 applications where the FarSync adapter is required to source clocking, but does not fully support the generation of clocking. The UX35C achieves this by running the adapter in X.21 mode (which does support generation of clocking) and converting this to a V.35 (DCE configured) interface.
The UX35C cable passes data and clocks straight through but loops control signals at the HD26-M (X.21) and MRAC34-F (V.35) connectors. Control is looped to Indicate on the X.21 side; RTS is looped to CTS and DTR is looped to DCD and DSR on the V.35 side. The single X.21 clock drives both transmit and receive clock to the V.35 interface.
Products such as T1U, T2U and T4U can use the UX35C cable; the cable attaches directly to a T1U or T2U, connects to a T4U via a MTU4 cable.
FarSync T2U-PMC, T2Ee, K2Ee, T4E, T4Ee, T4E+ and Flex do not require the UX35C as they fully support internal V.35 clocking.
The U530 cable is useful in applications where a FarSync adapter that does not natively support RS530 needs to be connected to a RS530 system. The U530 achieves this by running the adapter in X.21 mode and converting this to a DB25 RS530 (DTE configured) interface.
The U530 provides balanced TxD, RxD, RTS, CTS & TxC. Since only a single clock is provided on the interface, the attached device must guarantee phase and frequency locked transmit and receive clock. Please refer to the U530 cable diagram to determine signalling compatibility with a particular application.
Products such as T1U, T2U, T4U, T2Ue and T4Ue can use the U530 cable; the cable attaches directly to a T1U, T2U or T2Ue and connects to a T4U or T4Ue via a MTU4 cable.
FarSync T2U-PMC, T2Ee, K2Ee, T4E, T4Ee, T4E+ and Flex do not require the U530 as they fully support RS530.
The Internal Clock Rates (Clocks generated by the adapter) supported are dependent on the adapter type as shown below:
Clock rate | T1U | T2U | T4U | T4Ue |
---|---|---|---|---|
9600 | Y | Y | Y | Y |
19200 | Y | Y | Y | Y |
38400 | Y | Y | Y | Y |
76800 | Y | Y | Y | Y |
153600 | N | N | N | N |
307200 | N | N | N | N |
614400 | N | N | N | N |
64000 | N | Y | Y | Y |
128000 | N | Y | Y | Y |
256000 | N | Y | Y | Y |
512000 | N | Y | Y | Y |
1024000 | N | Y | Y | Y |
2048000 | N | Y | Y | Y |
4096000 | N | Y | Y | Y |
8192000 | N | Y | Y | Y |
T2Ue, T2U-PMC, T2Ee, K2Ee, T4E, T4Ee and T4E+ support a large number of clock speeds. Supported rates vary according to Slave/Master configuration. The Master clock is the internally generated clock operating independently on each port.
The T4E+ operating in Manchester Encoding, Conditioned Di-phase, FM0 or FM1 signalling modes (clock extracted from the data) can support all the speeds in the table below from 2,400 bps onwards. The T2Ee, K2Ee and T4Ee supports these modes from 100 bps upwards.
T2Ue/T2U-PMC/T2Ee/K2Ee/T4E/T4E+/T4Ee Clock Rates (Master) |
---|
100, 300, 600, 1200, 2400, 4800, 7200, 8000, 9600, 12000, 14400, 16000, 16800, 19200, 21600, 24000, 26400, 28800, 31200, 32000, 33000, 33333, 33600, 36000, 38400, 40000, 40800, 43200, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 320000, 384000, 448000, 512000, 576000, 640000, 704000, 768000, 832000, 896000, 960000, 1000000, 1024000, 1088000, 1152000, 1216000, 1280000, 1344000, 1408000, 1472000, 1536000, 1600000, 1664000, 1728000, 1792000, 1856000, 1920000, 1984000, 2000000, 2048000, 2112000, 2176000, 2240000, 2304000, 2368000, 2432000, 2496000, 2560000, 2624000, 2688000, 2752000, 2816000, 2880000, 2944000, 3000000, 3008000, 3072000, 3136000, 3200000, 3264000, 3328000, 3392000, 3456000, 3520000, 3584000, 3648000, 3712000, 3776000, 3840000, 3904000, 3968000, 4000000, 4032000, 4096000, 4160000, 4224000, 4288000, 4352000, 4416000, 4480000, 4544000, 4608000, 4672000, 4736000, 4800000, 4864000, 4928000, 4992000, 5000000, 5056000, 5120000, 5184000, 5248000, 5312000, 5376000, 5440000, 5504000, 5568000, 5632000, 5696000, 5760000, 5824000, 5888000, 5952000, 6000000, 6016000, 6080000, 6144000, 6208000, 6272000, 6336000, 6400000, 6464000, 6528000, 6553600, 6592000, 6656000, 6720000, 6784000, 6848000, 6912000, 6976000, 7000000, 7040000, 7104000, 7168000, 7232000, 7296000, 7360000, 7424000, 7488000, 7552000, 7616000, 7680000, 7744000, 7808000, 7872000, 7936000, 8000000, 8064000, 8128000, 8192000, 9000000, 10000000. |
The Slave Clock is an external reference clock sourced from one of the cards ports (A – D). The other ports (A – D) or CT Bus may be phase locked to this reference (see below for table of permitted speeds).
T4E/T4E+/T4Ee Clock Rates (Slave) |
---|
32000, 38400, 57600, 64000, 128000, 256000, 512000, 1024000, 2048000, 4096000, 8192000. |
T4U/T4E/T4E+/T4Ee Clock Rates (Asynchronous) |
---|
110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200. |
Note: Listed rates are those supported by latest driver/firmware, older versions support a subset of these.
For FarSync Flex clock rates see FarSync Flex FAQ.
Note: Listed rates are those supported by latest driver/firmware, older versions support a subset of these.
There are several configuration parameters that can affect the behaviour of the of transmit and receive processing. These parameters relate to configuration of the resources on the FarSync card/device itself. In the case of both Linux and Windows, these parameters can be configured using either the supplied configuration utilities or programmatically (e.g. by an application that you develop). For details of the configuration mechanisms available please refer to the OS-specific FarSync product documentation.
- Number of Transmit Buffers (on the FarSync card/device) – This can be one of the following values: 1, 2, 4, 8, 16, 32, 64 or 128
- Number of Receive Buffers (on the FarSync card/device) – This can be one of the following values: 1, 2, 4, 8, 16, 32, 64 or 128
- Transmit Buffer Size – This defines the size of each of the transmit buffers on the card/device. The buffer size can be any value from 1 to 32k-1. Note that, as described below, there are limitations on the number/size combination. Also note that for the FarSync Flex this value is limited to the range 4, 8, 16 and Nx32 when running in transparent mode.
- Receive Buffer Size – This defines the size of each of the receive buffers on the card/device. The buffer size can be any value from 1 to 32k-1. Note that, as described below, there are limitations on the number/size combination. Also note that for the FarSync Flex this value is limited to the range 4, 8, 16 and Nx32 when running in transparent mode.
Buffer Size Considerations:
When configuring the number of buffers and their size, there are several considerations to keep in mind:
- Maximum Buffer Space – The maximum buffer space per port per direction is 64K, the largest buffer size permissible is 32K-1 and the maximum number of buffers possible is 128. The following table show the maximum buffer size that may be selected for a given number of buffers.
FAQs - FarSync - Max buffer size Number of Buffers Max Buffer Size (Kb) 1 32-1 2 32-1 4 16 8 8 16 4 32 2 64 1 128 0.5 - Keeping the Transmitter Busy – In most real time applications, it will be a prime consideration to keep the transmitter busy for as much of the time as possible. Therefore the application will want to use at least two transmit buffers, so the next buffer can be loaded while the current buffer is currently being transmitted. From the table above, this would limit the maximum frame size that could be handled to 32K-1. Similarly, if you have many small buffers, the rate of transmit completions may be greater than the rate at which your application can transfer buffers to the driver. This could lead to periods of time where the transmitter may be idle.
- Receive Buffer Overruns – If your application has to receive many small frames at a high line rate, then you may need to change the default configuration to increase the number of receive buffers, or there is a risk that some of the received frames could be lost. The port statistics should indicate if this condition may be occurring. If you are seeing these receive errors it will be necessary to increase the number of buffers. This may also mean that you need to reduce the buffer size. For example, you may change the default setting to 16 buffers of 4096 bytes, or 32 buffers of 2048 bytes. Please refer to the OS-specific FarSync product documentation for details of how to view the port’s statistics etc.
- Transparent Mode – In transparent mode similar considerations apply. In this mode the application will always receive data in full receive buffers. Although it is not always necessary to fill the transmit buffers, if the application is required for maintaining the transmit bit stream, then it is important to make sure that there is always a buffer ready for transmitting while the card is transmitting the current buffer. If the application does not read the data fast enough, then the card will signal receive buffer overruns. If the application doesn’t provide data fast enough to the driver then this will cause a “Transmit Unavailable” indication from the card. This is not necessarily an error, it depends on whether it is a requirement or not for the application to maintain a continuous bit stream and transmit “idle” patterns when there is no real “user” data. Therefore, any error recovery from this condition would depend on the characteristics of the transmit bit stream.
The maximum recommended speed for each interface type is as follows:
Interface Mode | Maximum Speed |
---|---|
RS232 | 64Kbps1 |
V.35 | 2.048Mbps |
X.21 | 10Mbps2 |
RS530 | 10Mbps2 |
RS485 | 10Mbps |
Where a particular FarSync device supports termination, enabling this feature will offer improved performance at higher speeds by reducing crosstalk and signal reflections.
1 RS232 synchronous rates of 128kbps or more are possible by using encoded data or by using terminal timing with NRZ (where available) or by the appropriate use of receive clock inversion where terminal timing is not available.
2 Synchronous rates of up to 10Mbps are supported by using encoded data or by using terminal timing with NRZ (where available) or by the appropriate use of receive clock inversion where terminal timing is not available.