The se_hdlcn devices provide a data path which supports the transfer of data via read(2) and write(2)
system calls, as well as ioctl(2) calls. Data path opens are exclusive
in order to protect against injection or diversion of data by another process.
The se_hdlc device provides a separate control path for use by programs that need to configure or monitor a connection independent of any exclusive access restrictions imposed by
data path opens. Up to three control paths may be active on a particular serial channel at any one time. Control path accesses are restricted to ioctl(2) calls only; no data transfer is possible.
When used in synchronous modes, the SAB 82532 ESCC supports several options for clock sourcing and data encolding. Both the transmit and receive clock sources can be set to be the external Transmit
clock (TRxC), external Receive Clock (RTxC), the internal Baud Rate Generator (BRG), or the output of the ESCC 's Digital Phase-Lock Loop (DPLL).
The BRG is a programmable divisor that derives a clock frequency from the PCLK input signal to the ESCC. The programmed baud rate
is translated into a floating point (6-bit mantissa, 4-bit exponent) number time constant that is stored in the ESCC.
A local loopback mode is available, primarily for use by syncloop(1M)
for testing purposes, and should not be confused with SDLC loop mode, which is not supported on this interface. Also, an auto-echo feature may be selected that causes all
incoming data to be routed to the transmit data line, allowing the port to act as the remote end of a digital loop. Neither of these options should be selected casually, or left in use when not needed.
The se driver keeps running totals of various hardware generated events for each channel. These include numbers of packets and characters sent and received, abort conditions detected
by the receiver, receive CRC errors, transmit underruns, receive overruns, input errors and output errors, and message block allocation failures. Input errors are logged
whenever an incoming message must be discarded, such as when an abort or CRC error is detected, a receive overrun occurs, or when no message block is available to store
incoming data. Output errors are logged when the data must be discarded due to underruns, CTS drops during transmission, CTS timeouts, or
excessive watchdog timeouts caused by a cable break.
|