Embedded LAPB Protocol Stack
TargetLAPB from Blunk Microsystems is a full-featured ISO/IEC 7776 compliant LAPB protocol stack for use in embedded applications. TargetLAPB supports both RTOS and polling environments.
- Compliant with the LAPB standards document: ISO/IEC 7776:1995(E)
- Easy to Use Application Program Interface
- Reliability and Flow Control
- Programmable Window Size
- Multiple HDLC Channels
- Optional Support for ISO/IEC 13239 Compliant SREJ
- Optional Exclusion of FRMR (frame reject) Frames
- LAPB Protocol Decoder
- Optional LAPB Test Set
- Royalty-free Platform License
- Source Code
TargetLAPB, an embedded LAPB protocol stack, is suited both for applications requiring strict ISO/IEC 7776 compatibility and for applications requiring high performance flow control and reliability over point-to-point networks. Includes optional support for ISO/IEC 13239 selective reject (SREJ) frames.
SREJ frames are not compliant with ISO/IEC 7776, but provide faster recovery from lost frames, particularly when the window size or transfer time is large. It is a desirable option when strict ISO/IEC 7776 compatibility is not required. Also, set asynchronous balanced mode (SABM/SAMBE) frames can be optionally sent in place of frame reject (FRMR) frames, for faster recovery from errors that drop the link.
TargetLAPB has been extensively tested and demonstrated interoperable with other ISO 7776 LAPB protocol stacks. Its easy to use application program interface includes LapbConnect(), LapbSend(), and LapbRecv(). Reliability is provided by CRC checks, frame sequence numbering, and positive acknowledgments with resends after timeouts. Flow control is provided by LAPB's sliding window protocol and receiver-not-ready (RNR) frames.
LAPB parameters T1, T2, T4, N2, window size, sequence number modulus (standard or extended), and addressing (DTE or DCE) are independently set for each channel. The following LAPB events can be reported by an optional callback function supplied to lapbInit(): N2 unacknowledged SABM/SABME commands, N2 unacknowledged DISC commands, N2 RNR responses, frame reject, physical disconnect, link reset, link reconnect, all I-frames acknowledged, and I-frame arrival.
Other features: the HDLC driver interface supports asserting and sensing modem control lines and the concurrent use of multiple point-to-point connections. Statistics are maintained on the number of connections/reconnections, number of frames sent and received, etc. and may be read and/or printed to stdout. If enabled, a short summary of every frame transmitted or received is printed to stdout on an ongoing basis, while the protocol stack runs.
TargetLAPB is royalty-free, and includes complete ANSI C source code, a user's manual, a sample application, and one year of technical support. TargetLAPB was developed using Blunk Microsystems' TargetOSTM, but can be easily ported to another RTOS or used without an RTOS.
- Compliant with the LAPB standards document: ISO/IEC 7776:1995(E) - Description of the X.25 LAPB-compatible DTE data link procedures.
- Easy to use application program interface for exchanging frames of data on point to point networks. Seven interface functions are provided: lapbInit(), lapbConfigure(), lapbConnect(), lapbDisconnect(), lapbSend(), lapbRecv(), and lapbStatistics().
- Reliability and flow control provided by the LAPB protocol. Reliability is provided using CRC checks, frame sequence numbering, and positive acknowledgments with resends after timeouts. Flow control is provided by LAPB’s sliding window protocol and RNR (receiver not ready) frames.
- Configuration parameters T1, T2, T4, N2, window size, sequence number modulus (standard or extended), and addressing (DTE or DCE) are independently programmable for each channel.
- Optional support for ISO/IEC 13239 compliant SREJ (selective reject) frames can be enabled at run-time. SREJ frames are not compliant with the LAPB standard, but provide faster recovery from lost frame errors, particularly when the window size and transfer time is large. This is a desirable option when ISO/IEC 7776 compatibility is not required.
- Optional exclusion of FRMR (frame reject) frames. If enabled at run-time, SABM/SAMBE (set asynchronous balanced mode) frames are emitted in lieu of FRMR frames, resulting in faster re-establishment of link connectivity after frame reject errors.
- Independent of the HDLC driver implementation used for frame transmission and reception and for support of the physical layer interface. The HDLC driver interface is clearly documented and supports concurrent use of an unlimited number of serial controllers.
- TargetLAPB-compatible HDLC drivers for the IP-Comm302, IP-Comm360, and IP-MP Serial, plus platform independent MC68302, MC68360, and MPC860 SCC HDLC drivers, are available from Blunk Microsystems.
- Maintains statistics on the number of connections/reconnections, number of frames sent and received, etc. The statistics values may be read and/or printed to stdout with the lapbStatistics() call.
- A compile-time option promotes all errors to fatal errors that break into the TargetOS command line monitor after printing an error message to stderr. At beginning stages of development, this helps catch simple programming errors that can otherwise waste time.
- LAPB events can be reported to the application using a callback function optionally supplied to lapbInit(). The following events are reported: N2 unacknowledged SABM/SABME commands, N2 unacknowledged DISC commands, N2 RNR responses, frame reject, physical disconnect, link reset, link reconnect, all I-frames acknowledged, and I-frame arrival.
- Built-in LAPB protocol decoder. When enabled by a compile-time flag, a short summary of every frame transmitted or received is printed to stdout on an ongoing basis, while the protocol stack runs.
- Extensively tested and demonstrated to be interoperable with other ISO 7776 LAPB protocol stacks.
- Source code is 100% ANSI C and has been tested using ANSI C compilers from Metrowerks Inc., Microtec Research Inc., and Software Development Systems.
- Developed using TargetOSTM, Blunk Microsystems’ full-featured royalty-free real time operating system. Easily ported to other operating systems or used in non-RTOS polling mode.
- Optional Hardware/Software test set solution, The BlunkBoxTM, is available to exercise HDLC, LAPB, and customer's application software.
- Royalty-free. Includes complete source code, a user’s manual, a sample application, and one year of technical support.