1、 ANSI/CTA Standard SD Card Common Interface Standard ANSI/CTA-2040 (Formerly ANSI/CEA-2040) July 2011 NOTICE Consumer Technology Association (CTA) Standards, Bulletins and other technical publications are designed to serve the public interest through eliminating misunderstandings between manufacture
2、rs 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 any respect precl
3、ude any member or nonmember of the Consumer Technology Association 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
4、 those other than Consumer Technology Association members, whether the standard is to be used either domestically or internationally. Standards, Bulletins and other technical publications are adopted by the Consumer Technology Association in accordance with the American National Standards Institute
5、(ANSI) patent policy. By such action, the Consumer Technology Association does not assume any liability to 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 prob
6、lems associated with its use or all applicable regulatory requirements. It is the responsibility of the user 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
7、 Technology Association and may not be reproduced, in whole or part, without written permission. Federal 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.
8、Requests to reproduce text, data, charts, figures or other material should be made to the Consumer Technology Association. (Formulated under the cognizance of the CTA R4.8 DTV Interface Subcommittee.) Published by CONSUMER TECHNOLOGY ASSOCIATION 2015 Technology Fax 202-872-9161; Fax 202-828-3131; In
9、ternet http:/www.atsc.org DVB Registry: DVB Services Srl is 17A Ancienne Route, CH -1218 le Grand Saconnex, Switzerland; Internet http:/ SD Memory Card specifications: SD Association, c/o Global Inventures, Inc., 2400 Camino Ramon, Suite 375, San Ramon, CA 94583; Phone 925-275-6615; Fax 925-886-4870
10、; Internet http:/www.sdcard.org Internet Engineering Task Force standards: IETF Secretariat, c/o Association Management Solutions, LLC (AMS), 48377 Fremont Blvd., Suite 117, Fremont, California 94538; Phone: 510-492-4080; Fax: 510-492-4001; Internet: http:/www.ietf.org Internet Streaming Media Allia
11、nce specifications: CEA-2040 2 Internet Streaming Media Alliance, Presidio of San Francisco, P.O. Box 29920, 572 B Ruger Street, San Francisco, CA 94129-0920; Phone: 415-561-6276; Fax: 415-561-6120; Internet http:/www.isma.tv ISO standards: Library of Congress via http:/www.loc.gov/standards/iso639-
12、2/langhome.html 3. Acronyms AU Access Unit CAS Conditional Access System CI Common Interface CID Card Identification register CP Copy Protection ECM Entitlement Control Message EMM Entitlement Management Message ESP Encapsulating Security Payload, part of the IPsec protocol suite ESG Electronic Serv
13、ice Guide IP Internet Protocol PNM Product Name SAC Secure Authenticated Channel 4. Definitions Closed Recording Session A Recording Session that is not in progress and no data may be added to it. Common Interface Module A small device, not working by itself, designed to run specialized conditional
14、access processing in association with a Terminal. Open Recording Session A Recording Session that is in progress and data may be added to it. Recording Session The result of all the data received for a particular Service over a period of time. Service - A set of synchronized media streams delivered
15、in a time-constrained or unconstrained manner for immediate consumption (during the reception). Terminal The television receiver (not including the CI Module) device with a CI Module interface CEA-2040 3 5. Overview 5.1 Architecture The reference architecture using the Common Interface Module is sho
16、wn below: Figure 1 Terminal Architecture The CI Module based system consists of a Terminal and a CI Module. The Terminal provides the reception and decoding functionality whilst the CI Module provides the decryption functionality. The Terminal and the CI Module are connected through the Common Inter
17、face. Please refer to the documentation of the applicable broadcast standard for a detailed description of the Terminal architecture and requirements. The Common Interface described in this document supports (at minimum) the transfer of the encrypted authorization information as well as the encrypte
18、d audio/video/data streams to the CI Module, and the transfer of the decrypted audio/video/data streams back to the Terminal. The transfer from the CI Module to the Terminal may optionally be protected by a Secure Authenticated Channel (SAC). The Common Interface specified in this document allows in
19、dependent operation of both Terminal and the CI Module. In the case that the CI Module is not present in the Terminal, the Terminal should be able to render only the unencrypted broadcast channels. In case that the CI Module is present in the Terminal the encrypted broadcast channels shall be presen
20、ted to the CI Module for decryption. This document focuses only on the CI Module aspects of the interface. It does not include the mass storage aspects of the SD card that remains unchanged and is accessible through the standard SD Protocol. 5.2 Physical Interface The physical interface of the CI Mo
21、dule shall be as defined in 2. 5.3 Logical Interface The logical interface of the CI Module shall be as defined in 2. 5.4 Form Factor The form factor of the CI Module shall be the microSD form factor as defined in the 2. CEA-2040 4 6. Transport Protocol Communications between the Terminal and the CI
22、 Module shall consist of a series of pairs of write commands followed by read commands. All CI Module commands shall be formatted using the READ_SINGLE_BLOCK (CMD17), READ_MULTIPLE_BLOCK (CMD18), WRITE_SINGLE_BLOCK (CMD24) and WRITE_MULTIPLE_BLOCK (CMD25) commands. The “multiple block” commands shou
23、ld be used for performance reasons. For all commands (CMD17, CMD18, CMD24 and CMD25), the “data address” on bits 39 to 8 (inclusive) shall be set to 0xFFFF. A read command shall immediately follow the write command. If the CI Module is not ready to answer the command carried in the write command, it
24、 shall respond to the read command with a Status Word of 0x6E04 (Busy) and the Terminal shall issue the read command once more after waiting the period of time described in the delay field, see section 8.2.2.1.2. Note that all commands except for “Send Broadcast Data“ (9.3) will fit in a single 512
25、byte data block (see 4.3.4 of 2). Responses to commands will fit in a single 512 byte data block (see 4.3.3 of 2), except for some responses to “SAC Information Exchange“ (8.2.2.4), “Notification management“ (9.4), “Storage Information“ (10.2), and “Get Product List/Details“ (11.2), and except for m
26、ost responses to “Send Broadcast Data“ (9.3). 6.1 Writing Data to the CI Module The payload of the write commands (CMD24 and CMD25) shall be as follows (general form): Syntax Bytes Format head_string 32 (fixed) tag 1 uimsbf length 2 uimsbf data length head_string The head_string constant value is us
27、ed by the CI Module to differentiate regular file write commands from commands meant for the CAS functionality of the CI Module. The head_string shall be 0x2AB5534443492A436F6D6D616E642A48656164537472696E672A57726974652A (32 bytes). Note that the head_string value for write operations is different f
28、rom that of read operations. tag The tag field identifies the command sent. length The length field indicates the number of bytes following this field (not including the length field bytes) in this message. data The optional data field contains the details of the command. If the length field is zero
29、, there shall be no bytes of data (no payload). The values of tag, length and data vary by the message written. CEA-2040 5 6.2 Reading Data from the CI Module The payload of the read commands (CMD17 and CMD18) shall be as follows (general form): Syntax Bytes Format head_string 32 (fixed) tag 1 uimsb
30、f length 2 uimsbf data length status_word 2 uimsbf status_flags 2 bslbf head_string The head_string constant value is used by the CI Module to differentiate regular file read commands from commands meant for the CAS functionality of the CI module. The head_string shall be 0x2AB5534443492A436F6D6D616
31、E642A48656164537472696E672A726561642A2A (32 bytes). Note that the head_string value for read operations is different from that of write operations. tag The tag field identifies the command responded to. length The length field indicates the number of bytes of data that follow this field (not includi
32、ng the length field bytes, and not including the two bytes of status_word , and not including the two bytes of status_flags) in this message. data The optional data field contains the details of the command. If the length field is zero, there shall be no bytes of data (no payload). CEA-2040 6 status
33、_word The status_word is a response code. Possible values for the status_word are shown below. Some values are not returned for some commands. status_word Description0x9000 Command executed normally 0x9240 Storage error 0x9500 No authorization0x9501 ECM not received 0x9502 Invalid data format 0x9503
34、 No corresponding CAS module 0x9504 EMM error in CAS module 0x9505 ECM error in CAS module 0x9506 Authorization about to expire 0x9507 CAS module banned 0x9508 Descrambler not configured 0x9509 Descrambler context count exceeded 0x950a Session count exceeded 0x6dXX Unrecognized command*0x6e00 Incorr
35、ect command0x6e01 Invalid argument 0x6e02 Missing information 0x6e03 End of file 0x6e04 Busy0x6fXX Technical error. No diagnostics available.* In these cases, the byte indicated as XX will contain the tag value of the Command. status_flags The status_flags is a bit field used for indications from th
36、e CI Module to the Terminal. status_flags bit meanings shall be as shown below: status_flags Description0bxxxx xxxx xxxx xxx1 Notification PendingOther bits reserved The CI Module shall set the Notification Pending bit to indicate that information is ready to be supplied to the Terminal via the Noti
37、fication Management command (see section 9.4 below). Upon receiving a response with the Notification Pending bit set, the Terminal may retrieve the pending information via the Notification Management command. CEA-2040 7 7. Text Strings Text may be supplied by the CI Module to the Terminal which may
38、then be displayed to the end user by the Terminal. The ATSC A/65 Multiple String Structure, as constrained below, shall be used to convey text strings when the CI Module supplies text to the Terminal. See ATSC A/65:2009 1 Section 6.10. The syntax for the Multiple String Structure is as shown below (
39、included for convenience): Syntax Bytes Format multiple_string_structure() number_strings 1 uimsbf for ( i=0 ; in ; +i) ISO_639_language_code 3 uimsbf number_segments 1 uimsbf for ( j=0 ; jnumber_segments ; +j) compression_type 1 uimsbf mode 1 uimsbf number_bytes 1 uimsbf for ( k=0 ; knumber_bytes ;
40、 +k) compressed_string_bytek 8 bslbf compression_type compression_type shall be 0x00 (no compression). mode The mode field shall be 0x42, indicating UTF-8 encoded character data. CEA-2040 8 8. Workflow 8.1 Workflow The workflow when receiving audio/video/data between the Terminal and CI Module is de
41、scribed by the following diagram: Terminal CI ModuleInit/ResetInit/ResetGet ParametersEMM ServiceStream Reception EMM Service selectionEMM Filtering isac_sys _count ; +i) sac_vendor 2 uimsbf sac_vendor_length 2 uimsbf for ( j=0 ; jsac_vendor_length ; +j) sac_vendor_dataj 8 uimsbf head_string See in
42、6.1. tag Shall be 0x06, indicating “SAC Information Exchange” length Shall be the number of bytes in the SAC Information Exchange command following the length field. sac_sys _count Indicates the number of copy protection systems supported by the Terminal. sac_sys _count may be 0x00. sac_vendor Indic
43、ates the copy protection mechanism supported. This identifier is globally unique, and is registered at http:/ sac_vendor_length Shall be the length of the following sac_vendor_data, in bytes. sac_vendor_length may be 0x00. sac_vendor_data Shall be vendor data. CEA-2040 17 8.2.2.4.2 Response The resp
44、onse to the Reset command shall be as follows: Syntax Bytes Format Value head_string 32 (fixed) tag 1 0x06 length 2 uimsbf sac_match 1 bslbf sac_sys 2 uimsbf sac_resp_length 2 uimsbf for ( i=0 ; isac_resp_length ; +i) sac_resp_datai 8 uimsbf status_word 2 uimsbf status_flags 2 bslbf head_string See
45、in 6.2. tag Shall be 0x06, indicating a “SAC Information Exchange” response length Shall be the number of bytes in the SAC Information Exchange response following the length field and not including the status_word and status_flags. sac_match The sac_match field is a bitfield indicating SAC system ma
46、tches and requirements, as shown below status_flags Description0b1xxx xxxx xxxx xxxx There are no common SAC mechanisms between the CI Module and the Terminal0b0xxx xxxx xxxx xxxx There are common SAC mechanisms between the CI Module and the Terminal 0bx1xx xxxx xxxx xxxx Successful SAC negotiation
47、is essential for proper operation 0bx0xx xxxx xxxx xxxx Successful SAC negotiation is not essential for proper operation (other bits) Reserved sac_sys Indicates the SAC system chosen by the CI Module for operation. The Terminal should commence additional SAC negotiation specific to the common SAC sy
48、stem chosen by the CI Module. sac_resp_length Shall be the number of bytes in sac_resp_data. sac_resp_data may be 0x00. sac_resp_data Shall be SAC-vendor-specific data. status_word Shall be set to one of the values listed in section 6.2 for status_word . status_flags Status flags are as defined in 6
49、.2 above. CEA-2040 18 9. Class 0 Live Stream Handling This section specifies the commands that shall be supported by Class 0 Terminals. All Terminals compliant with this standard shall be at least Class 0 Terminals. 9.1 Open Session (0x04) This command is used: To assign a unique session id to this session To provide to the CI Module all the configur