diff -r 89d6a7a84779 -r 25a17d01db0c Symbian3/PDK/Source/GUID-18C39927-625C-5B24-919F-469FCBCD501D.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/PDK/Source/GUID-18C39927-625C-5B24-919F-469FCBCD501D.dita Fri Jan 22 18:26:19 2010 +0000 @@ -0,0 +1,158 @@ + + + + + +BCA2 +API OverviewExplains the second Baseband Channel Abstraction design (BCA2). +
Required background

You +should be familiar with the following areas:

    +
  • architecture of device +drivers in Symbian platform (see Device +Drivers Concepts)

  • +
  • general principles of +a telephony stack (see Cellular +Baseband Services)

  • +
  • networking and telephony +components.

  • +
+
Key concepts +and terms

+ +
BCA
+

Baseband Channel Adapter

+
+ +
LDD
+

Logical device driver (see Device +Drivers Concepts)

+
+ +
PPP
+

Point-to-Point Protocol (see What +is PPP?)

+
+ +
HDLC
+

High-level Data Link Control

+
+ +
ISDN
+

Integrated Services Digital Network

+
+ +
ECUART
+

Serial RS232 driver for Symbian OS. UART means Universal Asynchronous +Receiver/Transmitter.

+
+ +
C32
+

Serial Communications Server in Symbian OS (see Serial +Communications Server)

+
+
+
Introduction

The Baseband Channel Adapter (BCA) +provides a telephony-specific abstraction of the baseband driver.

You +implement your BCA components depending on the level of abstraction you require, +providing a standard interface to the component above it in the Communications +stack. You can also stack BCA components for more flexibility.

Performance +is a critical requirement for the Comms Data Plane. To improve throughput, +update your BCA components and your link layer protocol plugins to use the MBca2 interface.

+
Architecture

This +topic focuses on a general case where there is one BCA component between the +driver and the lower layer of the Data Plane. In the case of a stack of BCA +components, the same design is repeated between each BCA layer.

In +a "pull" communication model, the destination requests data from the source. +Data transfer happens when the destination is ready. In a "push" model, the +source provides data to the destination : data transfer happens when the source +is ready.

BCA2 is based on a "push" architecture. The link layer component +registers with the BCA component. The BCA component provides the data to its +registered clients as soon as the data becomes available.

The API +is split into five classes to separate control flow and data flow methods.

+ MBca2 design + +

Moreover, the MBca2 interface +relies on shared buffers instead of regular buffers. Using shared buffers +avoids data copies between different layers of the stack. For more information, +see Memory Management +in the Communications Framework.

+
APIs

BCA component

+ + + +API +Description + + + + +

MBca2

+

Provides startup and shutdown methods.

+
+ +

MLowerDataSender

+

Provides the Send() method, which takes a RCommsBufChain as its parameter +and is called by the link layer component whenever it needs to send data to +the baseband (through the BCA component).

+
+ +

MLowerControl

+

Provides methods for downwards flow control and control options. +The control options depend on your implementations of the BCA, the driver +and the link layer component. For examples of control options, see the BCA2 Control Options reference +page.

+
+ + +

Link +layer component

+ + + +API +Description + + + + +

MUpperDataReceiver

+

Provides the Process() method, which takes a RCommsBufChain as its parameter +and is called by the lower BCA component whenever data is available, in order +to push the data to the upper layer.

+
+ +

MUpperDataControl

+

Provides methods for error management and upwards flow control.

+
+ + +

In the case of stacked BCA components, these APIs are implemented +by the upper BCA component.

+
Typical uses

Device +driver developers implement the BCA2 design in the Networking stack (BCA components +and link layer protocol plugins).

The following three diagrams show +common BCA components and illustrate how they integrate with the Communications +Framework. For definition of the abbreviations used in the diagrams, see the Key +concepts and terms section.

+ Use case for BCA: IP communication through the serial +port + + + Use case for BCA: PPP communication through the serial +port + + + Use case for BCA: PPP communication over Ethernet + + +
+
+BCA2 Control +Options +
\ No newline at end of file