1、 ANSI/CEA Standard Serial Communication Protocol for Portable Electronic Devices ANSI/CEA-2017.1 R-2013 November 2007 NOTICE Consumer Electronics Association (CEA) Standards, Bulletins and other technical publications are designed to serve the public interest through eliminating misunderstandings be
2、tween manufacturers and purchasers, facilitating interchangeability and improvement of products, and assisting the purchaser in selecting and obtaining with minimum delay the proper product for his particular need. Existence of such Standards, Bulletins and other technical publications shall not in
3、any respect preclude any member or nonmember of CEA from manufacturing or selling products not conforming to such Standards, Bulletins or other technical publications, nor shall the existence of such Standards, Bulletins and other technical publications preclude their voluntary use by those other th
4、an CEA members, whether the standard is to be used either domestically or internationally. Standards, Bulletins and other technical publications are adopted by CEA in accordance with the American National Standards Institute (ANSI) patent policy. By such action, CEA does not assume any liability to
5、any patent owner, nor does it assume any obligation whatever to parties adopting the Standard, Bulletin or other technical publication. This document does not purport to address all safety problems associated with its use or all applicable regulatory requirements. It is the responsibility of the use
6、r of this document to establish appropriate safety and health practices and to determine the applicability of regulatory limitations before its use. This document is copyrighted by the Consumer Electronics Association (CEA) and may not be reproduced, in whole or part, without written permission. Fed
7、eral copyright law prohibits unauthorized reproduction of this document by any means. Organizations may obtain permission to reproduce a limited number of copies by entering into a license agreement. Requests to reproduce text, data, charts, figures or other material should be made to CEA. (Formulat
8、ed under the cognizance of the CEA R6 Portable, Handheld and In-Vehicle Electronics Committee.) Published by CONSUMER ELECTRONICS ASSOCIATION 2012 Technology Phone: +1 503 296 9892; Internet: www.usb.org CEA-2017.1 2 2.2 Definitions CEA-2017 Device A CEA-2017 device is a physical unit that can be co
9、nnected to another CEA-2017 device through the physical interface defined in CEA-2017, Common Interconnection for Portable Media Players. Function Block A group of functions for a CEA-2017 device. A single CEA-2017 device may have multiple components and therefore multiple function blocks. For examp
10、le, a typical portable media player might have a function block for an auxiliary component, and a function block for an audio amplifier. Function A component of a function block. For example, a portable media player function block might contain the functions DeviceStatus, and DeviceBrowsing. Host De
11、vice A device to which a portable electronic device may be connected for the purposes of controlling the portable electronic device and/or displaying or playing content from the portable electronic device. Portable Electronic Device An electronic device that may be carried around by its user. It may
12、 record and/or play back audio and/or video, and may also receive and send other data. MOST Device A MOST device is a physical unit, which can be connected to a MOST network via a MOST network interface controller. MOST Specifications The collective group of MOST specifications, including the MOST S
13、pecification, the MOST Specification of Physical Layer, the MOST Function Catalog, the MOST FunctionBlock AuxIn, the MOST Specification Framework, the MOST Medium Access Control Mechanism Specification, the MOST High Protocol Specifications, the MOST Content Protection Scheme DTCP Implementation, an
14、d the MOST Content Security Specification. CEA-2017.1 3 2.3 Symbols and Abbreviations CEA Consumer Electronics Association MOST Media Oriented Systems Transport Host Device HDEV Portable Electronic Device PEDEV Human Machine Interface HMI Identifier ID Function Block FBlock Function Block ID FBlockI
15、D Function ID FktID Operation Type OPType Second s Millisecond ms CEA-2017.1 4 2.4 Compliance Notation As used in this document “shall” and “must” denote mandatory provisions of this standard. “Should” denotes a provision that is recommended but not mandatory. “May” denotes a feature whose presence
16、does not preclude compliance, and implementation of which is optional. “Optional” denotes items that may or may not be present in a compliant device. 3 Description of Serial Protocol A CEA-2017 device is a physical unit that can be connected to another CEA-2017 device through the physical interface
17、defined in CEA-2017. The serial physical interface defined in CEA-2017 is the serial RX and TX lines of a CEA-2017 device. The serial protocol is intended to be used within the framework of the serial physical interface (the RX and TX serial data signals) defined in CEA-2017. A CEA-2017 device commu
18、nicating over the CEA-2017 defined serial link transmits or receives data over this physical interface in the format described in CEA-2017, which is as follows. The serial data signal shall have the following characteristics: 1. Four baud rates (9600, 19,200, 57,600 and 115,200 bps) 2. 8 data bits,
19、no parity, one stop bit 3. PEDEV shall auto detect the baud rate based on a synchronization byte (AB hex) sent from the HDEV 4. No flow control 5. When the PEDEV recognizes the baud rate it shall respond at the same baud rate with an acknowledgement (54 hex, which is the complement of the AB hex syn
20、chronization byte) 6. During synchronization the HDEV must send the synchronization byte ABh until it gets an acknowledgement byte 54h from the PEDEV or tSync time has elapsed. There is no concept of a control channel, streaming data channel, or packet data channel in the serial protocol. The CEA-20
21、17 serial link is not intended for data streaming which needs high bandwidth, and does not support multimedia data transfer, such as audio or video files. The CEA-2017 serial link is intended for command and control of a PEDEV which requires low bandwidth and short packet length commands. It may als
22、o support transport of small graphics art, such as logos, and album art, or small picture formats from the PEDEV. 3.1 Serial Protocol Framework The frame work that a CEA-2017 device communicating over the CEA-2017 defined serial link is as follows: CEA-2017.1 5 C E A - 2 0 1 7 D E V I C E C E A - 2
23、0 1 7 D E V I C EC E A - 2 0 1 7 D E V I C E C E A - 2 0 1 7 D E V I C EC E A - 2 0 1 7 S E R I A L R X / T XS e r i a l T r a n s l a t i o nC U S T O MC E A - 2 0 1 7 . 1F U N C B L O C K( N E T B L O C K )C E A - 2 0 1 7 . 1F U N C B L O C KA P P L I C A T I O N 1C E A - 2 0 1 7 . 1F U N C B L O
24、C KA P P L I C A T I O N 2( L o g i c a lI n t e r f a c e )P h y s i c a lI n t e r f a c eH M I ( o p t i o n a l )Figure 1: Framework of CEA-2017 Device The highest part of the frame work may be a HMI. The HMI is completely a custom architecture whos layering and structure will not depend on this
25、 serial protocols standard. The HMI allows a user interface which initiates the serial protocol. The next layer is the serial protocols standard function blocks. The serial protocol functions for a PEDEV/HDEV are grouped together in function blocks. In addition to the function blocks which represent
26、 applications, each serial protocol implementation must have a special function block called the NetBlock. The NetBlock provides functions related to the entire device. Interaction with a function block requires two partners which are referred to as the “PEDEV” and the “HDEV”. The command operationa
27、l types of the function reside in the HDEV and the report operational types of the function reside in the PEDEV. The HDEV sends commands to a PEDEV and in return receives reports or status from the PEDEV. A PEDEV must be associated with only one HDEV, and vice versa. The serial protocol defined in t
28、his standard only supports point to point communication typically between a HDEV and PEDEV. 3.2 Serial Protocol Logical Structure This section gives a description of the logical structure of the serial protocol. In order to distinguish between the different function blocks and functions of a PEDEV o
29、r HDEV, each function and function block has an identifier. FBlockID.FktID CEA-2017.1 6 3.2.1 Function Blocks FBlockID identifies a function block. A function block is a group of functions for a device. A single device may have multiple components and therefore multiple function blocks. FBlockID con
30、sists of 8 bits, and has a limit of 255 maximum number of function blocks. 3.2.2 Functions FktID identifies a specific function within a device that can be called via the serial protocol. FktID consists of 12 bits, but each function block has a limit of 508 maximum number of functions. The range of
31、FktIDs is subdivided into groups that have specific purposes. The subdivision of FktIDs is as follows: General Functions (000h9FFh) o General functions in an function block Player Specific Proprietary Functions (A00hFFEh) o Proprietary functions that the portable electronic device manufacturer may u
32、se Accessory Specific Proprietary Functions (A00hFFEh) o Proprietary functions that the portable electronic device accessory manufacturer may use Proprietary/Supplier Specific (F00hFFEh) o Functions that may be used by suppliers for any proprietary purpose. Supplier specific functions are not report
33、ed in FBlockID.FktIDs.Status. If a supplier specific property supports notification, notification of this property is not affected by the FBlockID.Notification.Set (SetAll) command. If a supplier specific property supports notification, notification of this property is cleared by the FBlockID.Notifi
34、cation.Set (ClearAll) command. 3.2.3 Function Operations When accessing functions, certain operations are applied to the respective function which is either a property of the function block or a method it provides. The type of operation is specified by the OPType. The parameters of the operation fol
35、low the OPType, resulting in the following structure: FBlockID.FktID.OPType(Data) OPType identifies the operation that shall be applied to the property or method specified in the FktID. A property is a segment of computer code that may be used to read and write data, and is frequently used to set or
36、 get method calls. A method is a segment of computer code that performs an action, and may include a set of input parameters that customizes the action and an output value. The meaning of the OPType value is different depending on whether FktID is a property or a method. OPType consists of 4 bits, s
37、o each function may have up to 16 OPType values. The possible meanings for the various OPType values are listed in Table 1. CEA-2017.1 7 Table 1: OPTypes for Properties and Methods OPType For Properties For Methods Commands: 0 Set Start 1 Get Abort 2 SetGet StartResult 3 Increment Reserved 4 Decreme
38、nt Reserved 5 GetInterface GetInterface 6 Not allowed StartResultAck 7 Not allowed AbortAck 8 Not allowed StartAck Reports: 9 Reserved ErrorAck A Not allowed ProcessingAck B Reserved Processing C Status Result D Not allowed ResultAck E Interface Interface F Error Error 3.2.3.1 Function Types A funct
39、ion is a defined attribute of a function block through which it communicates with the external world. Functions are subdivided into three classes, “methods”, “properties”, and “events”. 3.2.3.2 Method Function Type Functions that can be started and which lead to a result after a certain period of ti
40、me, are called “methods”. Methods can be used to control function blocks. In general, a method is triggered only once at a certain point of time, for example, starting the auto-scanning of a tuner. Methods can be defined without parameters or with certain parameters that specify their behavior. Afte
41、r the reception of a method called by a function block, the respective process must be started. If this is not possible, the function block has to return the respective error message to the sender of the method call. This may happen if the addressed function block has no method of that kind, if a wr
42、ong parameter was found, or if the current status of the function block prevents execution of the method. After finishing the process, the controlled function block should report execution to the HDEV. This report may contain results of the process. If a process runs for a long time, it may be usefu
43、l to return intermediate results before finishing, such as informing the HDEV about the successful start of the process. 3.2.3.3 Property Function Type Functions for determining or changing the status of a device, which refer to the current properties of a device are called “properties”. CEA-2017.1
44、8 Properties can be read (e.g., device name), written (e.g., device state), or read and written (e.g., current track). For each property the allowed operations are specified. Within a function block, a property is normally represented by a variable that represents something such as a limit or a stat
45、us. 3.2.3.4 Event Function Type Functions for notifying that an event has occurred are called “events” or “notifications”. 3.2.4 Data Transport Data may be transported between the two devices. The length of the data field is specified by Length. The data of the operation follows the Length, resultin
46、g in the following structure: FBlockID.FktID.OPType.Length(Data) Length specifies the length of the data field in bytes. It is encoded in 16 bits. Length = 0x0000 Data field of length 0 Length = 0x0001 Data field of length 1 byte Length = 0x03F9 Data field of length 1017 bytes 3.2.4.1 Data Transport
47、 Packet Format Sync o 1 Byte o HDEV = ABh o PEDEV = 54h FBlockID o 1 Byte FktID/OPType o 2 Bytes (FktID = 12 most significant bits, OPType = 4 least significant bits) Length o 2 Bytes Data o 0 to 1017 Bytes Checksum o 1 Byte 3.2.4.2 Data Transport Packet Checksum Computation 1. Add all bytes togethe
48、r excluding the synchronization byte 2. Drop all high bits leaving only the lowest 8 bits 3. Get the twos complement of the lowest 8 bits Step 3 provides the checksum byte. 3.2.5 Data Types In a data transmission on the serial link, the maximum data field length is 1017 bytes. CEA-2017.1 9 Within a
49、data field, none, one, or multiple parameters in any combination of the following data types can be transported. They are transported MSB first. The sign is encoded in the most significant bit and 2s complement coding is used for signed values. There are the following basic data types: Boolean o 1 byte o Only one bit of the byte can be used Unsigned Byte o 1 byte Unsigned Word o 2 bytes BitField o 1, 2, or 4 bytes o Size byte = (Mask.Data) Data: Size byte (data content area) Mask: Size byte (masking area) “Mask“ is a masking bit