Document date / Year-Month-Day Approved Revision Document No 2010-August 13 Scott Hansen



Download 60.69 Kb.
Date28.01.2017
Size60.69 Kb.
#10251

Page of

RIN Datasheet DOCUMENT

Date / Year-Month-Day

Approved


Revision

Document No


2010-August 13

Scott Hansen

2010.08


iAnywhere RIN 2010 08

Prepared


e-mail address

N.B.


iAnywhere

bluesdk@ianywhere.com

Confidential



sybase_ianywhere_cropped

Reference Integration Note

For the
iAnywhere Blue SDK 4.x and Profile SDKs

Abstract: This document provides a conceptual description of the iAnywhere Blue SDK 4.x and Profile SDKs, and summarizes the integration requirements as a guide for others integrating this design.

Disclaimer and Copyright Notice
COPYRIGHT NOTICE
Copyright © iAnywhere., 2000-2010. All rights reserved. No part of the contents of this document may be reproduced or transmitted in any form or by any means without the written permission of iAnywhere.
DISCLAIMER
The information in this document is subject to change without notice and does not represent a commitment on any part of iAnywhere. While the information contained herein is assumed to be accurate, iAnywhere assumes no responsibility for any errors or omissions.
In no event shall iAnywhere, its employees, its contractors, or the authors of this document be liable for special, direct, indirect, or consequential damage, losses, costs, charges, claims, demands, claim for lost profits, fees, or expenses of any nature or kind.
TRADEMARKS
iAnywhere® is a registered trademark to Sybase, Inc.
The Bluetooth word mark and logos are owned by the Bluetooth SIG, Inc. and any use of such marks by iAnywhere is under license.  Other trademarks and trade names are those of their respective owners.
All other product names are trademarks or registered trademarks of their respective owners.

Contents

PREFACE 6

PREFACE 6

PRODUCT OVERVIEW 6

PRODUCT OVERVIEW 6

1.SOFTWARE FEATURES 6

Product Type Declaration 6

Software Overview 6

Application 7

Block Diagram 7

Software Features 8

Software Architecture 10

Interfaces 10

Application Requirements 13

Sample Portings 13



Hardware / Software Reference Platforms 13

Contact Information 14

Contact Information 14




Document Revision History

Revision

Date

Description

2010.08

2010 July 28

Original version of document



Contributors

Name

Company

Scott Hansen

iAnywhere

Brent Kitchen

iAnywhere




PREFACE


This document forms the Reference Integration Note for the iAnywhere Blue SDK 4.x and Profile SDKs. This guide provides user information about the iAnywhere Blue SDK 4.x and Profile SDKs. Anyone interested in understanding, using, or modifying this software design should read this guide.

Design RIN Information




Product Name:

iAnywhere Blue SDK 4.x and Profile SDKs

Bluetooth Qualified

Design ID (QD ID):

[Bluetooth Design ID as assigned during the qualification of this Bluetooth design]

Bluetooth Product Type:

Bluetooth Component Product

This guide is targeted to help a Bluetooth Member or their BQE understand the role of the iAnywhere Blue SDK 4.x and Profile SDKs in a complete Bluetooth wireless product being integrated for qualification. The Bluetooth Program Reference Document requires that all Bluetooth Components have a Reference Integration Note (RIN) as a pre-requisite for qualification. This RIN has been uploaded to the Bluetooth SIG Qualification Listing Interfaces for the Qualified Design ID [list QD ID here] prior to qualification of this design and is available for Member use when creating new Bluetooth products by integration of this product into their product implementation.

PRODUCT OVERVIEW


The iAnywhere Blue SDK 4.x and Profile SDKs are software development kits that are used to add Bluetooth capabilities to various embedded and non-embedded products. The SDKs can be ported to specific hardware and operating systems, and applications can be added using the Blue SDK and Profile SDK APIs.
    1. SOFTWARE FEATURES


The iAnywhere Blue SDK 4.x and Profile SDKs provide core functionality supporting the Bluetooth 3.0+HS specification, and certain lower level profiles and protocols, including L2CAP, A2MP, SDP, SDAP, GAP, SPP, and RFCOMM. This QD ID covers the following profiles and protocols: A2DP, AVCTP, AVDTP, GAVDP, PAN, and BNEP.

Product Type Declaration


The iAnywhere Blue SDK 4.x and Profile SDKs is listed as a Bluetooth Component Product type. If you use this product to implement Bluetooth in your product’s design, further qualification and listing is required in accordance with the Bluetooth Qualification Process (ref. PRD 2.0). To start the process for a new qualification, please visit https://bluetooth.org/TPG.

Software Overview


The iAnywhere Blue SDK 4.x and Profile SDKs provide source code that can be ported to various architectures and operating systems that provide Bluetooth core and Bluetooth profile functionality. Once the software has been adapted to the operating system and hardware, applications are then written or modified to use the provided interfaces. In some cases the iAnywhere Blue SDK 4.x and Profile SDKs can be used in place of default Bluetooth stacks provided by hardware vendors to give the applications greater simplicity, more control, and more power over their application’s interactions with the Bluetooth link.

Application


The iAnywhere Blue SDK 4.x and Profile SDKs can be used in any device that uses Bluetooth, such as Bluetooth enabled automotive head units, cellular phones, printers, digital cameras, and so forth.

Block Diagram


The iAnywhere Blue SDK 4.x and Profile SDKs is a set of software building blocks that can be stacked together to create a custom Bluetooth application. Each component is provided as portable source code, designed to compile successfully in almost any C-based target environment. Because there are differences between compilers and CPU architectures, we are careful to use a specific subset of ANSI C functionality so that our code behaves identically in the vast majority of target architectures.

The diagram below illustrates the basic component layout. Areas bounded by the green boxes indicate components provided by the iAnywhere Blue SDK 4.x and Profile SDKs. Blue components are provided by a Blue SDK licensee building our SDK into a new environment. In addition to the Profile SDKs shown in this diagram, iAnywhere has many other Profile SDKs designed to work with the iAnywhere Blue SDK 4.x Stack.




Software Features


The iAnywhere Blue SDK 4.x includes the following components:

  • Communications protocol layers specified by the Bluetooth 3.0 + HS specification, including HCI (with support for HCI 5-Wire UART, HCI 3-Wire UART, BCSP, and USB transports), L2CAP, A2MP, SDP, RFCOMM, and OBEX (OBEX is currently packaged as a separate distribution).

  • Bluetooth 3.0 + HS L2CAP including fixed channels, Lockstep configuration, Extended Flow Specification, Enhanced Retransmission Mode, Streaming mode and Connectionless channels. This includes the L2CAP module called the L2capAgent. The L2capAgent manages the issues related to L2CAP channels running over AMP physical links.

  • The Management Entity (ME) component that helps to manage device connections, piconets, audio connections, and security for BR/EDR controllers.

  • AMP support including AMP additions to the Management Entity (MEAMP), the A2MP protocol, and AMP Manager API (AMPMGR).

  • The Audio/Video Distribution Transport Protocol (AVDTP) which complies with the AVDTP specification version 1.2.

  • A complete AVDTP API that can support profiles that rely on the Generic Audio/Video Profile.

  • Connection Management, Stream Management, and Signaling components

  • A media header parser/builder that simplifies the process of encoding and decoding AVDTP-formatted packet headers.

  • The Audio/Video Control Transport Protocol (AVCTP) which complies with the AVCTP specification version 1.3.

  • A complete AVCTP API.

  • Connection Management, Channel Management, and Messaging components

  • The Advanced Audio Distribution Profile (A2DP) which complies with the A2DP specification version 1.2.

  • An A2DP profile implementation, supporting stream configuration, content protection, and stream pause/resume features.

  • A portable “C” implementation of an SBC audio codec.

  • An implementation of all features described in the BNEP specification version 1.0.

  • An implementation of all mandatory features of the PANU, GN and NAP roles described in the PAN specification version 1.0.


Software Architecture


The iAnywhere Blue SDK 4.x and Profile SDKs provide the ability to for implementers to add or remove functionality as needed. For example, the HCI transport can be changed, profiles can be added or removed, unwanted optional features can be compiled out, and OS interfaces are incapsulated so porting to various operating systems is made easier. In addition, the code is processor agnostic, allowing it to be used on many different hardware architectures.

Interfaces


Interface requirement details and support can be obtained using the contact information found in section , Contact Information.

There are three interfaces that interact with the rest of the system:



  1. The Hardware Interface

  2. The Operating System Interface

  3. The Application Interface


The Hardware Interface


The Hardware Interface includes the Baseband Bluetooth Radio Hardware Interface and the AMP High Speed Hardware Interface.

Baseband Bluetooth Radio HW Interface

The iAnywhere Blue SDK 4.x and Profile SDKs relies on the published HCI specification. Therefore, the Blue SDK creates well-formed HCI commands and data, and expects well-formed HCI events and data in return.

HCI commands, events, and data are delivered as packets to a transport-specific layer called a “transport driver”. The transport driver, in turn, sends and receives streams of data through a “hardware driver” which communicates directly with the Bluetooth radio hardware.



The AMP High Speed HW Interface

The AMP Controller Layer provides a standardized way for AMP controller hardware to communicate with higher-level protocol stack implementations. The AMP Controller architecture allows both HCI based AMP Controllers and those with PALs running in the host to be easily integrated into the stack. The AMP controller architecture consists of the following modules:



The iAnywhere Blue SDK 4.x and Profile SDKs requires integration with a “host controller” (sometimes referred to generally as a “Bluetooth radio”). The host controller must include the following components:



  • Radio and antenna as per Bluetooth Core 3.0 + HS Specification Volume 2, Part A.

  • Baseband radio controller as per Bluetooth Core 3.0 + HS Specification Volume 2, Part B.

  • A Link Manager protocol implementation as per Bluetooth Core 3.0 + HS Specification Volume 2, Part C.

  • A Host Controller Interface as per Bluetooth Core Specification 3.0 + HS Volume 2, Part E.

If integrated Bluetooth hardware fails to conform to any of the above stack specifications, particularly HCI, the Blue SDK stack may behave in an undefined or non-compliant manner.

An implementer is free to use several different transports to connect the host controller’s HCI layer to the Blue SDK’s HCI layer. For example, this may be done over UART, USB, any other Bluetooth-specified manner, or in any manner specific to the hardware (including a software-only HCI on a one-chip solutions). As long as the iAnywhere Blue SDK 4.x and Profile SDKs’ HCI API contract is met the system will behave in a compliant manner.


The Operating System Interface


The iAnywhere Blue SDK 4.x and Profile SDKs defines a set of OS-specific APIs that must be provided by the implementer. These APIs provide basic system services such as a timer, a semaphore to prevent reentrancy, memory copy routines, persistent storage for security link keys, and some debugging functions. The iAnywhere Blue SDK 4.x and Profile SDKs uses only those endpoints to access local operating system functionality.

The “operating system” must supply the following basic tools. Most embedded OS’s provide this level of basic functionality.



  • Memory copy/compare/set functions

  • String compare/length functions

  • Start/cancel functions for a single timer, and ability to check the current system time

  • Pre-emptive multitasking is optional, but when available the operating system must also supply:

  • Ability to prevent stack reentrance by applications (typically done with a mutex semaphore of some kind)

  • Ability to prevent stack reentrance by HCI layers (another mutex semaphore or an interrupt-suspend mechanism)

  • Ability to “schedule” the stack task when necessary

These features can also be easily provided when no actual operating system is present.

The Application Interface


When building an application that uses the iAnywhere Blue SDK 4.x and Profile SDKs, the implementer need only include the iAnywhere Blue SDK 4.x and Profile SDKs modules that are relevant to the target functionality. For example, a network access point implementer could include BNEP and PAN modules without including RFCOMM.

Once the relevant modules are included, the implementer has access to a large set of application APIs that provide access to stack functionality. The APIs are carefully designed so that if the user follows basic rules of usage published in the API specification, it is difficult or impossible for the API user to cause the component to violate the associated protocol specification.



Profiles are implemented by connecting protocol or profile APIs to a user interface. The implementer has considerable discretion about how the application’s user interface appears or works. The implementer may refer to our sample applications to get ideas about how an application could interact with the iAnywhere Blue SDK 4.x and Profile SDKs.

Application Requirements


As specified by section , “The Application Interface”, applications are responsible for fulfilling the API contract specified by the iAnywhere Blue SDK 4.x and Profile SDKs. This includes invoking API functions in the proper order, providing the appropriate arguments to function calls, and making proper responses to callback events. Applications are also responsible for presenting an application user interface to the end-user.

Sample Portings


For information about how to adapt or port the iAnywhere Blue SDK 4.x and Profile SDKs to a relevant environment where it is to be used so that the implementations execute without errors, refer to the following sections of this document:

Section Number

Section Text



The Hardware Interface



The Operating System Interface



The Application Interface



Application Requirements


Hardware / Software Reference Platforms


The following table lists the environment which was utilized in qualifying this design. (Not all of the combinations were used on all of the tests.)

Application

OS

Baseband HW

AMP HW

A2DP Sample Application

Windows XP

CSR Nanosira fw ver. 2.1_23_0711021204 USB Dongle

N/A

L2CAP Sample Application

Windows XP

Belkin Mini 2.1 USB Dongle

Marvell 8688

API Grinder AV Worker Test Application

Windows XP

CSR Nanosira fw ver. 2.1_23_0711021204 USB Dongle

N/A

API Grinder BNEP Worker Test Application

Windows XP

CSR Nanosira fw ver. 2.1_23_0711021204 USB Dongle

N/A

L2CAP Sample Application

Windows XP

Belkin Mini 2.1 USB Dongle

N/A

API Grinder Core Worker Test Application

Windows XP

CSR Nanosira fw ver. 2.1_23_0711021204 USB Dongle

N/A

QT BSM Sample Application

Windows 7

PTS Dongle, BT2.1+EDR

N/A

API Grinder Core Worker Test Application

Windows XP

CSR Nanosira fw ver. 2.1_23_0711021204 USB Dongle

TCP AMP

SBC Dencoder Sample Application

Windows Vista

CSR Nanosira USB Dongle

N/A

SBC Encoder Sample Application

Windows Vista

CSR Nanosira USB Dongle

N/A

Note that although this table does show some of the environments were the iAnywhere Blue SDK 4.x and Profile SDKs has been successfully ported, it is not a representative list of the numerous successful portings achieved by our customers, which include custom applications, embedded operating systems, and diverse hardware platforms.

Components in our iAnywhere Blue SDK 4.x and Profile SDKs are qualified running with samples for each of the external components illustrated in section , Block Diagram. Our design goal is to make all interfaces to each external component completely clear so that the components in the iAnywhere Blue SDK 4.x and Profile SDKs behave exactly as documented in a new implementation. This reduces the testing burden for new implementations that include our iAnywhere Blue SDK 4.x and Profile SDKs.


Contact Information


Use the following contact information to obtain additional details relevant to the support of this design:

iAnywhere Solutions

Mobile Device Solutions Group

bluesdk@ianywhere.com




RIN Datasheet 2010-08-03


Download 60.69 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page