团 体 标 准
T/TAF 261—2025
支持串行外围设备接口(SPI)的物联网贴
片 SIM 卡技术要求
Technical requirements for IoT SMD SIM card supporting serial peripheral
interface (SPI)
2025-02-10 发布 2025-02-10 实施
电信终端产业协会 发布
前 言
本文件按照 GB/T 1.1—2020《标准化工作导则 第 1 部分:标准化文件的结构和起草规则》的规定起草。
请注意本文件中的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。
本文件由电信终端产业协会提出并归口。
本文件起草单位:中国联合网络通信有限公司、中国信息通信研究院、中国电信股份有限公司广东研究院、郑州信大捷安信息技术股份有限公司、博鼎实华(北京)技术有限公司、星汉智能科技股份有限公司、恒宝股份有限公司、楚天龙股份有限公司、武汉天喻信息产业股份有限公司、北京握奇数据股份有限公司。
本文件主要起草人:王海涛、衣莉莉、张宏星、李佳俊、袁琦、郭茂文、刘萧萧、刘献伦、安媛媛、郑海霞、 闫颖、王平、谢飞、左安全、梁宇、何蕾、曹海涛、李超、苏昆、徐小斐、李春霞。
支持串行外围设备接口(SPI)的物联网贴片 SIM 卡技术要求
1 范围
本文件规定了支持串行外围设备接口(SPI)的物联网贴片SIM卡技术要求,包括技术架构、硬件要求、软件要求等。
本文件适用于支持串行外围设备接口(SPI)的物联网贴片SIM卡的研发、设计、测试等活动。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 16649.1—2006 识别卡 带触点的集成电路卡 第1部分:物理特性
GB/T 16649.3—2006 识别卡 带触点的集成电路卡 第3部分: 电信号和传输协议
GPC SPE 025 GlobalPlatform 卡 技 术 非接触式服务 卡规范 v2.3 修订 案 C 版本 1.2 (GlobalPlatform Card Technology Contactless Services Card Specification v2.3 Amendment C Version 1.2)
3 术语和定义
下列术语和定义适用于本文件。
3.1
集成电路 integrated circuit
将处理和/或存储功能集成在一个芯片上的电子器件。
3.2
节点地址 node address
起始域中的一个子域,它指明某个块的目的和源节点地址以及VPP状态控制。
3.3
协议控制字节 protocol control block
起始域中的一个子域,它包含传输控制信息。
4 缩略语
下列缩略语适用于本文件。
HD:主设备(Hosting Device)
SE: 安全单元(Secure Element)
SIM: 用户识别模块(Subscriber Identity Module)
SMD:表面贴装器件(Surface Mount Device)
SS:从选择(Slave Select)
5 技术架构
物联网贴片SIM卡技术架构主要分为四层,包括硬件接口层、通道管理层、系统层和应用层。硬件接口层提供物理连接和数据传输的支持,通道管理层管理通信通道和安全认证,系统层提供核心功能和数据存储,应用层提供具体的功能和服务。具体如图1所示。
图1 物联网贴片SIM卡技术架构
本文件仅对硬件接口层和通道管理层作出规定,其中:
——硬件接口层是 SIM 卡与设备之间的物理连接接口。它定义了 SIM 卡与设备之间的电气特性、通信协议和机械尺寸。常见的硬件接口包括 7816 接口、SPI 接口和其他接口。硬件接口层的主要功能是提供物理连接和数据传输的基本支持,确保 SIM 卡与设备之间可以进行正常的通信;
——通道管理层位于 SIM 卡和系统层之间,负责管理与 SIM 卡之间的通信通道。通道管理层定义了 SIM 卡与设备之间的通信协议和数据传输方式。它支持数据的读取、写入和应用操作的执行。通道管理层还负责处理 SIM 卡的安全认证和加密解密等安全相关的功能;
——系统层是 SIM 卡的核心部分,提供 SIM 卡的基本功能和服务。系统层包括 SIM 卡文件系统、运算逻辑和数据存储等组件。SIM 卡文件系统用于存储和管理 SIM 卡中的应用和数据,类似于一个小型的文件系统。运算逻辑层包括 SIM 卡上的处理器和运算单元,用于执行应用程序和算法。数据存储层用于存储 SIM 卡的用户数据、密钥和安全认证信息等;
——应用层是 SIM 卡中的最高层,提供各种具体的功能和服务。应用层包括不同的应用程序和服务,如电话簿、短信、移动支付、身份认证等。每个应用程序都有自己的应用标识和安全机制,通过与系统层和通道管理层的交互,实现各种功能和服务的提供。
6 硬件要求
6.1 物理尺寸及管脚
本文件定义的支持SPI接口的物联网贴片SIM卡片应为SMD贴片卡封装,物理尺寸为5mm*5mm,厚度为0.7mm~0.8mm,如下图2所示。
图2 SIM卡尺寸
支持SPI接口的物联网贴片SIM卡有32个管脚,包括CLK、RST 、VCC 、GPIO 、GND 、SIO等, 管脚对应关系如表1所示。
本文件定义的支持SPI接口的物联网贴片SIM卡片还可以有其他尺寸封装,至少需要支持7816管脚(CLK/RST/IO/VCC/IO/GND)和SPI管脚(MOSI/MISO/CLK/SSN) ,可选支持SPI-IRQ管脚。
表1 管脚
6.2 SPI 接口要求6.2.1 基本要求
支持SPI接口的物联网贴片SIM卡应支持SPI接口。
串行外设接口SPI(Serial Peripheral Interface)是一种同步串行数据链路,可提供全双工通信。设备可以主/从模式通信,主机通过发送数据启动通信,而从机能够同时发送数据。在本文件中,SPI接口仅用于半双工通信。
可能存在多个从设备,每个设备都使用单独的从选择线(SS),但本文件仅描述了一个主设备和一个从设备之间的通信;主机设备(HD)充当主设备,安全器件(SE,本文件是指贴片SIM卡)充当从设备。
6.2.2 物理层
SPI总线规定了四种强制性物理信号/线,如图3所示,其中:
——SCL 线:串行时钟(从 HD 输出);
——MOSI 线:Master Out/Slave In(HD 输出);
——MISO 线路:Master In/Slave Out(从 SE 输出);
——SS 线: Slave Select(低电平有效,HD 输出);
——可支持 SPI-IRQ 物理线路。
图3 SPI总线示意图
如果SPI-IRQ存在, SE可使用SPI-IRQ线通知HD已准备好发送数据, 因为只有HD(主设备)可以启动通信。如果SPI-IRQ线不可用,HD会轮询SE以获取传入数据。
6.2.3 信号约定
SPI通信应使用“模式0”配置,具体要求如下:
——SPI 时钟极性位(CPOL)应为 0(非反相时钟),表明时钟的空闲状态为低并且触发在上升时钟信号(选择高电平有效时钟)时启动;
——SPI 时钟相位(CPHA)应为 0,表明数据采样发生在 SCL 信号的上升时钟信号上。数据信号设置在片选和下降时钟信号;
——SCL 频率不得超过 CIP 定义的最大时钟频率(MCF)。如果 HD 不知道使用哪个 MCF(例如尚未检索到 CIP),则应使用定义的默认最大时钟频率(DMCF),默认最大时钟频率为
1000kHz;
——在单个 SPI 访问期间通过 MOSI 或 MISO 信号传输的位数应为 8 的倍数;
——应首先发送最高有效位(msb)。
6.2.4 数据传输
当HD发起数据传输,并且在与SE交换数据之前它应该选择SE,即HD应该下拉SS线并在SCL线上提供适当的时钟信号。
当HD需要向SE发送数据时,它应在MOSI线上提供,可以忽略在MISO线上接收到的数据。反之,当HD需要从SE接收数据时,需要在MOSI线上提供填充字节,并在MISO线上读取接收到的数据。
当SE向HD发送数据时,它应在MISO线上提供,并忽略在MOSI线上接收到的数据。反之,当SE需要从HD接收数据时,需要在MISO线上提供填充字节,并在MOSI线上读取接收到的数据。
一旦所有数据都按预期交换完毕,HD将停止时钟信号并取消选择SE 。上述规则如图4所示。
图4 SPI数据传输示意图
其中:
——“msb”表示传输数据第一个字节的最高有效位的位置;
——“lsb”显示最后一个字节的最低有效位的位置;
——“tss”是在启动时钟信号和传输数据的第一位之前、有效 SS 线后主机在应等待的最短时间。
它的值超出了本文件的范围;
——“tds”是主机在数据的最后一位传输后、取消有效 SS 线(即取消选择从机)之前应等待的最短时间。它的值超出了本文件的范围。
6.2.5 数据分段/SPI 分段
SPI总线用于传输定义了数据流控制的数据链路层模块。第一级数据流控制是通过交换SPI片段在物理层实现的。一个数据块可能被分割成多个SPI片段。数据的分段取决于需要交换的数据的大小和SE访问长度(SEAL)。
当HD需要与SE交换数据(发送或接收)并且此类数据的长度超过SEAL字节时,HD应分段和交换数据,以便每次SPI访问期间传送的字节数不超过SEAL的最大值字节(在每个方向)。HD应该最大化每个SPI访问传输的字节数,以最小化SPI访问的数量。此外,HD应在两次连续的SPI访问之间暂停一段SE保护时间(SEGT),数据分段过程如图5所示。
图5 SPI 数据分段
6.2.6 半双工使用
SPI总线允许全双工模式操作,但本文件不使用此类功能,数据仅由数据链路层以半双工模式进行通信, HD和SE会交替发送数据链路层块。
6.3 7816 接口要求
7816接口应符合GB/T 16649.1—2006要求。
7 软件要求
7.1 SPI 协议要求
7.1.1 概述
数据链路层使用第6.2节中描述的物理层在HD和SE之间传输数据块。此类数据块只能由HD和SE交替发送(即半双工通信),并且可传送应用数据或传输控制数据。数据链路层应实现的协议与7816-3协议中描述的T=1协议非常相似, 因此简称为T=1'。
7.1.2 T=1’协议要求
T=1'协议建立在GB/T 16649.3—2006中描述的T=1协议之上,应具有以下差异:
——块结构中数据域长度为 2 字节,T=1 数据域长度为 1 字节;
——块结构中的 NAD 域定义有区别;
——块结构中的校验用的 2 字节CRC;
——S 帧(IFS XXX)可以包含 1 或 2 字节;
——增加了 S 块定义;
——缺省的 IFSC(从机块大小)是 8 字节,如果 HD 在不知道 IFSC 时,使用该默认值。这个值足够HD 发送一个 S 块(CIP 请求)来获取更合适的 IFSC 值;
——缺省的 IFSD(主机块大小)是 64 字节,如果 SE 在不知道 IFSD 时,使用该默认值。这个长度可以发送最长的 CIP 。HD 可以发送一个 S(IFS 请求)块来为通信的其余部分声明一个更合适的IFSD 值;
——没有硬件复位, 只有软件复位,通过新定义的 S(SWR XXX)块实现。
在GB/T 16649.3-2006里描述的无差错操作规则、错误处理规则和示例场景仍然适用。但是当执行“热复位”时,T=1'协议应该尝试交换S(SWR xxx)块。
7.1.3 块结构要求
T=1'协议使用的通用块结构应与T=1协议相同;然而,LEN字段编码为2个字节,如表2所示。
表2 块结构
LEN和CRC字段应首先发送其最高有效字节(即大端顺序)。
例如,传输14字节APDU命令(包括Le字段)并具有0xBDA4的CRC值的块将按照表3中的指示进行编码。
注:NAD和PCB值可能会有所不同,CRC值也会相应变化。
表3 块结构样例
块结构包括节点地址字节(NAD)、协议控制字节(PCB)、长度(LEN)、信息(INF)、结语(Epilogue)字段,各字段格式要求如下。
a) 节点地址字节(NAD)字段格式
NAD字段指定块的源和预期目的地址,如表4所示。
表4 NAD 字段格式
NAD值的编码应适用以下规则。
1) HD 和 SE 应分配不同的地址,因此 DAD 和 SAD 值不同。
2) 为了便于检测 NAD 字节(即块的开始与非重要字节),地址 0000b 和 1111b 是禁止的,因此禁止用于 DAD 和 SAD。
3) 如果 SE 知道自己的地址和/或 HD 的地址,那么它可以检查 DAD 和/或 SAD 值,如果其中任何一个无效则拒绝该块。
4) 如果 SE 不知道自己的地址,那么为了构建传出块的 NAD 值,SE 应重新使用并反转从HD 接收的最后一个块的 DAD 和 SAD 值。
对于涉及单个主机和单个从机的配置,本文件宜使用以下地址。
1) 0001b:主机设备(HD)。
2) 0010b:安全元件(SE)。
b) 协议控制字节(PCB)字段格式
PCB字段定义块的类型并包括传输控制数据。T=1'协议引入了以下新的块类型。
1) S(CIP 请求):请求 SE 返回 CIP。
2) S(CIP 响应):回答包含 CIP 的 S(CIP 请求)块。
3) S(释放请求):释放 SE,即 HD 表示此时不介意 SE 进入省电模式。
4) S(释放响应):确认一个 S(RELEASE 请求)块。
5) S(SWR 请求):请求 SE 执行通信接口的软件复位。发送此请求时,HD 还应重置 N(S)位并丢弃任何块链接信息。SE 对该请求的确切解释超出了范围。
6) S(SWR 响应):软件复位后确认 S(SWR 请求)块。
PCB域的编码如表5所示:
表5 PCB 域的编码
表 5 PCB 域的编码(续)
c) 长度(LEN)字段格式
LEN字段编码的是块的INF字段的长度。以下值应被接收方视为无效。
1) 超过接收器当前 IFS 值的值(即 SE 的 IFSC 、HD 的 IFSD)。
2) 超出“0FF9”的值(4089)。
d) 信息(INF)字段格式
INF字段的内容取决于块类型,如表6所示。
表6 INF 字段格式
表 6 INF 字段格式(续)
对于S(IFS请求)块的INF字段:
1) 从'01'到'FE'的值应在 1 个字节上编码;
2) 从'00FF'到'0FF9'(4089)的值应按 2 个字节编码(MSB 在前);
3) 超出“0FF9 ”(4089)的值无效。
e) 结语(Epilogue)字段格式
该字段是块的错误检测代码。在本文件中,将使用2字节的CRC。CRC只能有效地保护(2^15-1) 位(包括其自身)免受1、2和3位的损坏。因此,此协议中INF字段的大小限制为最大值“0FF9 ” (4089)字节。
7.1.4 通讯接口参数要求
CIP包含HD用于与SE通信的通信接口参数(即物理层和数据链路层参数)以及历史字节。
为了获取SE的CIP参数,HD应发送一个S(CIP请求)块并接收一个包含下部分中描述的CIP结构的S(CIP响应)块。
任何时候可以使用此过程(在开机时或软复位后使用)。
在以下部分中,所有数值都编码为无符号整数。
a) CIP-通用结构
CIP的通用结构,如表7所示。
表7 CIP-通用结构
在这个版本的协议中, CIP结构的总长度不得大于64字节。此要求与第7.1.2节中定义的默认IFSD值兼容。
b) CIP-数据链路层参数(DLLP)
数据链路层的CIP参数,如表8所示。
表8 CIP-DLLP 参数
如果HD不知道要使用哪个BWT值(例如,尚未检索到CIP),它应使用300ms的默认BWT值(DBWT)。
为了与更高版本的协议(如果将来有定义)实现一定程度的兼容性,HD实现应接受更多数据(上表中未描述)出现在数据链路层参数的末尾并忽略这些数据。
c) CIP –物理层参数(PLP)
数据链路层的PLP参数,如表9所示。
表9 CIP-PLP 参数
7.1.5 省电模式要求
SE可以决定进入省电模式以节省电池(通常是主机设备电池)。 SE实现进入这种模式的条件通常取决于定义有关性能、可用性、电池节省等要求的高级应用用例。因为可能无法捕获一组适合所有使用的此类条件,在某些情况下,本文件承认特定SE实现可能会根据专有策略决定进入省电模式这一事实。然而,本文档为SE指定了以下可互操作的策略:
a) SE 只能进入省电模式:在收到 S(RELEASE 请求)块并返回相应的 S(RELEASE 响应)块
之后,或者如果 HD 在以下任何事件后没有发送任何新的数据链路层块,则超时后:
1) 启动完成(上电时)
2) SE 返回了一个 R-block 或 S-block(包括 S(SWR 响应))。
3) SE 返回一个 I-block 完成发送 APDU 响应(如果使用APDU 链接,则返回链的最后一个APDU 响应)。
虽然SE仅在满足上述条件之一时才会进入省电模式,但SE可能会选择不这样做(即即使满足上述条件)。
如果超时适用(见下文) ,HD可能会选择在达到超时之前发送S(RELEASE请求)块,即为SE提供更早进入省电模式的机会。
b) SE 应指示适用的节能超时值(PST)作为 CIP 的一部分(参见第 6.1.3 节)。
1) 如果超时值设置为“00”,则 SE 表示它实际上可以随时进入省电模式。实施专有政策的SE 应指示此值。假设 HD 实现知道并可以调整其行为以适应这种专有策略。
2) 如果超时值设置为“FF”,则 SE 表示它不使用此超时值, 因此只能在收到 S(RELEASE请求)块时进入省电模式。
3) 任何其他值(从“01”到“FE”)应理解为有效的超时值。请注意,HD 在测量超时时应应用一些余量。
上电后,如果HD期望SE执行上述互操作策略并且不知道适用的超时值(例如, 尚未检索到CIP),则它应假定SE可能已经进入省电模式。
如果SE实施专有的节电策略(或仅根据上述可互操作策略部分运行),HD将对此类专有策略有足够的了解以调整其自身的行为。
假设进入或退出省电模式对数据链路层的通信参数(例如N(S)位、M位、N(R)位)没有影响。
7.2 7816 协议要求
7816协议应符合GB/T 16649.3—2006要求。
7.3 SPI/7816 接口并发要求
7.3.1 基本要求
SPI接口和7816接口应能独立运行互不影响。SPI接口和7816接口指令交叉执行时,应互不影响。如果两个接口同时收到指令,应优先处理7816接口指令,再处理SPI接口指令。7816接口热复位时不应影响SPI接口功能。SPI接口接收数据应支持DMA接收。
7.3.2 SPI 接口权限可控制
SPI 接口访问控制权限主要用于限制 SPI 接口上的应用运行,只有指定的应用才允许在 SPI 接口上激活。该功能在 GPC SPE 025 规范的基础上进行扩展,实现细节如表 10。
表10 EF 参数
其中Tag ‘80’ 、‘81’ 、‘82’扩展如表11:
表11 通信接口标识符
扩展上述Tag后有2种方式设置应用为SPI界面上可激活:
a) 方法1:安装辅助安全域,设置其‘80’和‘81 ’Tag为SPI界面可激活,后续该辅助安全域下关联的所有应用默认在SPI界面可激活。
b) 方法2:应用安装时安装参数中‘EF/A0/A5/82 ’Tag的bit4设置为1,表示该应用在SPI界面可激活使用。
其他情况下,如应用的安装参数中不带‘EF/A0/A5/82 ’Tag,或者带有该Tag但是bit4设置为0时则该应用无法在SPI界面激活。
对安装参数的修改和获取遵循标准GP规范要求。
7.3.3 多逻辑通道
SPI/7816接口,每个接口有独立的通道信息,每个物理通道至少包含4个逻辑通道。
SPI接口要求支持1个基础逻辑通道和3个辅助逻辑通道。基础逻辑通道上默认选择ISD。
应用安装时的隐式选择参数“CF”对SPI接口无效。
7.3.4 电压设置
为保证7816和SPI接口通信的稳定性,终端应确保7816和SPI接口信号电平的一致性。
附 录 A
(资料性)
支持串行外围设备接口(SPI)的物联网贴片 SIM 卡应用场景
A.1 业务场景
物联网贴片SIM卡是一种集成电路芯片,用于提供通信和身份验证功能。它通常用于物联网设备中,以便这些设备能够连接到移动通信网络,如图A. 1所示。
图A.1 物联网贴片SIM卡使用场景
物联网终端通常由以下几个主要组件构成:
——通信单元:物联网终端中的通信单元负责处理与移动通信网络之间的通信。它可能包含移动通信协议栈、调制解调器和射频前端等组件, 以便与网络进行通信。
——MCU(Microcontroller Unit):MCU 是物联网终端中的微控制器单元。它是一种具有处理能力和控制功能的芯片,用于执行各种任务,例如管理通信单元和与物联网设备的接口通信。
——贴片 SIM 卡(Subscriber Identity Module): SIM 是物联网终端的核心组件,它存储了与设备相关的身份验证和安全信息。SIM 中包含一个智能芯片,其中包含存储器和处理器,用于存储和处理与设备身份相关的数据。
——通信单元与 SIM 之间通过 7816 接口进行通信。7816 接口是一种通信协议标准,用于智能卡(如 SIM 卡)与读卡器之间的通信。它定义了卡片和读卡器之间的电气和传输特性,以及通信协议规范。
——MCU 与 SIM 卡之间通过 SPI(Serial Peripheral Interface)进行通信。SPI 是一种串行通信接口标准,用于在微控制器和外部设备之间传输数据。它支持全双工通信,通过使用时钟信号和多个数据线传输数据。应符合 SPI 协议要求和接口并发要求。
通过这样的架构和通信方式,物联网贴片SIM卡能够处理与移动通信网络的通信,并与物联网设备进行数据交换。它提供了设备身份验证、数据加密和安全访问等功能,以确保物联网设备的安全性和可靠性。

评论