palowireless
          Bluetooth Resource Center


Advanced search


Bluetooth Protocol Stack Technology Profiles
Bluetooth Stack Examples Overview FAQ
WPAN Technology Tutorial Baseband RFCOMM L2CAP LMP HCI


specs specifications docs pdfs WPAN Wireless Personal Area Network
 
 

Members

Member:

Password:

Forgot your
password?


New Member


 
 

 

 
Radio Baseband LMP HCI L2CAP RFCOMM SDP Profiles

Audio/Video Remote Control Profile

    The Audio/Video Remote Control Profile (AVRCP) defines the features and procedures required in order to ensure interoperability between Bluetooth devices with audio/video control functions in the Audio/Video distribution scenarios. This profile specifies the scope of the AV/C Digital Interface Command Set (AV/C command set, defined by the 1394 Trade Association) to be applied, and it realizes simple implementation and easy operability. This profile adopts the AV/C device model and command format for control messages, and those messages are transported by the Audio/Video Control Transport Protocol (AVCTP).

    In this profile, the controller translates the detected user action to the A/V control signal, and then transmits it to a remote Bluetooth device. The functions available for a conventional infrared remote controller can be realized in this profile. The remote control described in this profile is designed specific to A/V control. Other remote control solutions using Bluetooth wireless technology may be applied for general Bluetooth devices including A/V devices.

For more details : Download the AVRCP Profile from the Bluetooth.org website.

        Table Of Contents

1 Profile Overview
1.1 Profile Stack
1.2 Configurations/Roles
1.3 User Requirements/Scenarios
1.4 Profile Fundamentals
1.5 Conformance
2 Application Layer
3 Control Interoperability Requirements
3.1 Procedure
3.2 AVCTP Interoperability Requirements
3.3 AV/C Command and Response
3.4 Supported Unit Commands
3.5 Supported Common Unit and Subunit Commands
3.6 Categories
4 SDP Interoperability Requirements
5 L2CAP Interoperability Requirements
5.1 Channel Types
5.2 Signalling
5.3 Configuration Options
6 Link Manager (LM) Interoperability Requirements
7 Link Manager (LM) Interoperability Requirements
8 Generic Access Profile Interoperability Requirements

 

 

Profile Overview

1.1   Profile Stack

 

Image reprinted from Bluetooth AVRCP Profile, Figure 2.1

    The Baseband, LMP, and L2CAP are the OSI layer 1 and 2 Bluetooth protocols. AVCTP defines the procedures and messages to be exchanged for controlling A/V devices. SDP is the Bluetooth Service Discovery Protocol. AV control is the entity responsible for A/V device control signalling; this signalling is AV/C command-based.

 

1.2   Configurations/Roles

    The following roles are defined for devices that comply with this profile:

  • The controller (CT) is a device that initiates a transaction by sending a command frame to a target. Examples for CT are a personal computer, a PDA, a mobile phone, a remote controller or an AV device (such as headphone, player/recorder, timer, tuner, monitor etc.).

  • The target (TG) is a device that receives a command frame and accordingly generates a response frame. Examples for TG are an audio player/recorder, a video player/recorder, a TV, a tuner, an amplifier or a headphone.

  •  

1.3  User Requirements/Scenarios

    The usage model of AVRCP is specific in a way that user action manipulates the control, but there is no limitation to perform the features in audio/video devices. AVRCP is capable to manipulate the menu function that is already commonly used for analogue devices for various features such as adjustment of TV brightness or hue, or VCR timer. With this menu function, AVRCP is designed so that any type features can be supported.

    A user can learn the status information of a device using display on the body such as LED or LCD, as well as OSD (On Screen Display) method. Although a controller can not directly gain the status information from a target through AVCTP transaction, the similar information can be given to a user in various ways as feedback.

    There are 4 scenarios that are covered in this profile:

  • Remote Control from Separate Controller

  • Remote Control and Audio Stream Between Two Devices

  • Mutual Remote Control Within a Piconet

  • Remote Controller with LCD

User Expectations

In this section, user expectations and related restrictions of AVRCP are described. Although a device may implement only AVRCP as shown in 2.3.1. of the AVRCP Profile (Remote Control from Separate Controller)1, it is assumed that, in most cases, an A/V distribution profile co-exists in a device. Items described in this section shall be considered according to the condition; whether only AVRCP is implemented, or one or more AV distribution profiles co-exist in the device.

  • Configuration: AVRCP is based on the control over point to point connection within a piconet. For this profile, it is assumed that the use case is active between the two devices. Note that one or more CTs may exist within a piconet.  A controller may support several targets, and the detail of control such as target selection is not defined in AVRCP.

  • Limited Latency: The responsiveness of remote control operations is an important feature of AVRCP. It is expected that the system reacts in a timely manner in order to avoid uncontrollable situations like system overload by repeated commands.

  • Power Management: The discussions below are intended to be for application information only: there are no mandatory usages of the low power modes for AVRCP. It is assumed that battery powered devices are common in the usage model of AVRCP, in case that CT is a handheld device. The device is recommended to ensure comparable service grade to the existing infrared product range. Duplex radio systems suffer from higher power consumption compared to the simple infrared transmission controller. To compensate this fundamental drawback, dynamic use of low power modes is recommended especially when only AVRCP is implemented in a device.

  • User Action: The user action is required in most cases in AVRCP. Applications shall be designed based on this characteristic. It is possible to design simple automatic operation without a user action; such as a timer function that sends a command to start recording at preset time, within this profile.

 

1.4  Profile Fundamentals

    The profile fundamentals, with which all applications shall comply, are the followings.

  1. Use of security features in link level such as authorisation, authentication and encryption are optional. Support for authentication and encryption is mandatory, such that the device can take part in the corresponding procedures if requested from a peer device.

  2. A link shall be established before commands can be initiated or received.

  3. There are no fixed master/slave roles.

  4. In this profile, the A/V functions are classified into four categories defined in Section 4.7. All devices that conform to this profile shall support at least one category, and may support several categories.

 

1.5  Conformance

    If conformance to this profile is claimed, all capabilities indicated mandatory for this profile shall be supported in the specified manner (process-mandatory). This also applies to all optional and conditional capabilities for which support is indicated.

  

Application Layer 

    Section 3 of the AVRCP describes the feature requirements on units complying with the Audio/Video Remote Control Profile. Table 3.1 of the AVRCP Profile shows the features requirements for this profile. Note that a device may have both CT and TG capabilities. In that case, features for both CT and TG are required. Table 3.2 of the AVRCP Profile below maps each feature to the procedures used for that feature. All procedures are mandatory if the feature is supported.

 

Control Interoperability Requirements

3.1  Procedure

    The interoperability requirements for an entity that is compatible with the AVRCP are completely contained in this chapter. The requirements directly relate to the application layer features.

Connection for Control

An L2CAP connection establishment for AVCTP may be initiated by the CT or by the TG. An internal event or an event generated by a user, such as turning the power on, initiates the connection establishment. Note: Only one L2CAP connection shall be established between AVCTP entities. If the connection already exists, the CT/TG shall not initiate the connection request.

Release Connection for Control

Release of an L2CAP connection for AVCTP may be initiated by the CT or by the TG. An internal event or an event generated by a user, such as turning the power off, initiates the connection release.

Procedure of AV/C Command

Upon an internal or an event generated by a user, the CT shall initiate connection establishment if a connection has not been established by then. Once the connection is established, it is able to send a AV/C command.

Image reprinted from Bluetooth AVRCP Profile, Figure 4.4

AV/C Command Operation

This section describes the operation procedure of AV/C command exchange shown in the figure above. 

The AV/C General Specification covers the AV/C general command and response model, unit/subunit model, and standard unit and subunit commands. An AV/C subunit is an instantiation of a logical entity that is identified within an AV/C unit. An AV/C subunit has a set of coherent functions that the electronic device provides. Functions are defined for each category of devices in its subunit specification. (Monitor, Audio, Tape recorder/player, Disc, Tuner, etc.).

The AV/C command set consists of the AV/C General Specification and each subunit command. In the AV/C General Specification, the UNIT INFO command and SUBUNIT INFO command are both mandatory. For subunit commands, the mandatory commands are defined in each subunit specification, and it depends on the device implementation which subunit to support.

The main feature of this profile is the remote control performed by the PASS THROUGH command of the Panel subunit. The Panel subunit provides a user-centric model for actuating the controls on a device. The controller controls the Panel subunit according to the user operation using certain controller-dependent manners. The user manipulates the user interface on the display or operates a button, and then the controller sends commands to the panel subunit. In response to these commands, the Panel subunit performs some action(s). Even though there may be several subunits in a TG, the TG shall have only one panel subunit. Unlike many other AV/C subunits, the panel subunit does not directly deal with media streams itself. The main purpose for using a panel subunit is to allow it to translate the incoming user action commands into internal actions, which affect other subunits and/or the unit, and dispatch them to an appropriate subunit or unit inside the TG using the TG-dependent manner. The result of these actions may have an effect on media streams. This profile uses the PASS THROUGH command, which is one of the subunit commands defined in the Panel Subunit Specification. A controller conveys a user operation to a TG by the PASS THROUGH command.

 

3.2  AVCTP Interoperability Requirements

    On the CT side, it is application-dependent how transaction labels are handled, and therefore it is not defined in this specification. On the TG side, the transaction label received in an AVCTP command frame shall be used as the transaction label returned in the possible corresponding AVCTP response frame. In case several response frames are sent as reaction to one AVCTP command, all response frames shall use the same value of transaction label in the received command frame.. See Section 4.2.2 & 4.2.3 in the AVRCP Profile for more information on Message Fragmentation & Profile Identifier of AVCTP Message Information respectively.

 

3.3  AV/C Command and Response

    AV/C command and response frames are encapsulated within the AVCTP Command/Response Message Information field,

AV/C Transaction Rules

An AV/C transaction consists of one message containing a command frame addressed to the TG and zero or more messages containing a response frame returned to the CT by the TG. The TG is required to generate a response frame as quickly as possible, within a time period of T RCP (100) counting from the moment a command frame is received.

For some transactions, the TG may not be able to complete the request or determine whether it is possible to complete the request within the T RCP (100) allowed. In this case, the TG shall return an initial response code in INTERIM with the expectation that the final response follow later.

AV/C Command Frame

An AV/C command frame contains up to 512 bytes of data, and it is contained in the AVCTP Command/Response Message Information field. An AV/C command frame has the structure shown below.

Image reprinted from Bluetooth AVRCP Profile, Figure 4.5

AV/C Response Frame

An AV/C response frame is contained in the AVCTP Command/Response Message Information field, and it has the structure shown in the figure below.

AV/C Frame Fields

For the fields and code values for AV/C command and response frames listed below, as well as the definition of reserved field and reserved value, refer to the AV/C General Specification.

  • Command type codes (ctype)

  • Response codes (response)

  • AV/C address (subunit_type, subunit_ID)

  • Subunit_type and subunit_ID encoding

  • Operation (opcode)

  • Operands

 

3.4  Supported Unit Commands

    The unit commands shown in the following table are used in this profile. For unit commands, the AV/C address field of AV/C command frame shall indicate the value for unit. See Section 4.4 of the AVRCP Profile for more details.

Image reprinted from Bluetooth AVRCP Profile, Table 4.3

 

3.5  Supported Common Unit and Subunit Commands

    The common unit and subunit commands shown in the following table are used in this profile. For the common unit and subunit command, the AV/C address field of the AV/C command frame shall indicate the value for unit or Panel Subunit if the command is one defined in this profile.

Image reprinted from Bluetooth AVRCP Profile, Table 4.4

    The VENDOR DEPENDENT command shall not be used instead of commands specified in the AVRCP that have the same functionality.

PASS THROUGH Command

The PASS THROUGH command of the Panel subunit is used in this profile. The operation_id’s to be used in this profile depend on which A/V function category the device supports.  For the PASS THROUGH command, the AV/C address field of the AV/C command frame shall indicate the value for Panel Subunit. The PASS THROUGH command is used to transfer user operation information from a CT to Panel subunit on TG.

 

3.6  Categories

    This profile ensures the interoperability by classifying the A/V functions into four categories. For each category, the mandatory commands for the TG are defined by the operation_ids in the PASS THROUGH command. It is mandatory for the TG to support at least one of the categories. The categories are:

  • Category 1: Player/Recorder

  • Category 2: Monitor/Amplifier

  • Category 3: Tuner

  • Category 4: Menu

    See section 4.7 of the AVRCP Profile for details on each category type

Support Level in TG & CT

No mandatory command for the CT is defined by the operation_ids in the PASS THROUGH command. However, it is mandatory in CT to support at least one of the operation_ids. The category for CT indicates that the CT expects to control a TG supporting the corresponding category. It is mandatory for CT to support at least one of categories. The table 4.6 & 4.7 in the AVRCP Profile show the operation_ids and their support level for each category for the TG and CT respectively.

 

SDP Interoperability Requirements

    Table 5.1 & 5.2 in the AVRCP Profile define the following service records for the CT and the TG respectively.

 

 

L2CAP Interoperability Requirements

5.1  Channel Types

    In this profile, only connection-oriented channels shall be used. This implies that broadcasts shall not be used in this profile. In the PSM field of the Connection Request packet, the value for AVCTP defined in the Bluetooth Assigned Numbers document shall be used.

 

5.2  Signalling

    Only the CT may issue an L2CAP Connection Request within the execution of this profile. Other than that, AVRCP does not impose any additional restrictions or requirements on L2CAP signalling.

 

5.3  Configuration Options

    This section describes the usage of configuration options in this profile.

  • Maximum Transmission Unit (MTU) : The minimum MTU that a L2CAP implementation for this profile shall support is 48 bytes.
  • Flush Timeout : The Application shall set the appropriate value for responding time to the flush timeout. However, the Flush timeout can be constrained by the ACL channels when the other applications (such as audio/video streaming or file sharing) coexist with AVRCP.
  • Quality of Service : Negotiation of Quality of Service is optional in this profile.

 

 

Link Manager (LM) Interoperability Requirements

    The procedure for SCO links is excluded. Other than that, there is no change to the requirements as stated in the Link Manager specification itself.

 

 

Link Control (LC) Interoperability Requirements

    Table 8.1 in the AVRCP Profile lists all features at LC level, and the extra requirements are added to the one in the Baseband specification by this profile.

    

 

Generic Access Profile Interoperability Requirements

    Section 9 in the AVRCP Profile defines the support requirements for the capabilities as defined in the Generic Access Profile.

This shows

  • the support status for modes within this profile
  • the support status for idle mode procedures within this profile.

    There is no change to the Security Aspects requirements as stated in the Generic Access Profile.

 

   

Note , the above text contains excerpts from the Bluetooth SIG's Specification, as well as various interpretations of the Specs. For complete details of the various sections, consult the actual Bluetooth Specification.