swp协议.docx
- 文档编号:16864213
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:59
- 大小:1.91MB
swp协议.docx
《swp协议.docx》由会员分享,可在线阅读,更多相关《swp协议.docx(59页珍藏版)》请在冰点文库上搜索。
swp协议
总述
●Swp接口是UICC和CLF(非接前端)之间的面向比特流,点到点通信的协议。
●CLF是主设备(master),UICC是从设备(slave)。
图SWP数据传输
●虽然是单线协议,但是是全双工数字传输。
信号S1是电压域的数字调制信号
信号S2是电流域的数字调制信号
当主设备以高状态发送S1信号,从设备借助上拉电流(高状态)或不借助上拉电流(低状态)来传输S2信号。
因S1以脉冲宽度编码,所以可以在它上面传送一个传输时钟,即数据以全双工模式传输。
S1的编码方式参见本规范8.1节。
只有在S1处于高状态时S2才有效。
物理传输层
S1信号的位编码和采样时序
S1信号的位编码如下图所示。
逻辑1的高状态持续时间是0.75T,逻辑0的高状态持续时间是0.25T。
所有的位都顺序传输。
一个位被定义为有两个上升沿。
上升沿构成了一个位的开始和结束。
每一个传输的位的位持续时间都可以是不同的。
S2信号的切换管理
S2信号只有当S1信号处于高状态时有效。
UICC卡应当在S1处于低状态时才切换S2信号。
下图表明了S2信号相对S1信号的切换时序。
以下的数据来自swio的ip定义,从下表中可以看出s2信号的电流大小。
输出信号S2与输入信号的逻辑关系
输入信号
输出信号
SWIO端口输入电压(S1)
DOUT
SWIO端口电流(S2)
逻辑“1”
逻辑“1”
逻辑“1”(600uA≤S2≤1mA)
逻辑“1”
逻辑“0”
逻辑“0”(S2<1uA)
逻辑“0”
任意值
此时输出S2应视为无效(-20uA 系统架构 总体概述 图表01非接前端—UICC卡物理链路 上图代表了非接前端和UICC卡之间的物理链路。 UICC的C6引脚连接到非接前端上用来传输S1和S2信号。 对TS102221的支持 支持SWP协议的UICC卡片和终端应该符合TS102221。 为了维持在某些工作模式下的低功耗状态,一个支持SWP的终端不支持A类工作模式。 在低功耗模式下,本规范扩展了C1引脚的电气特性。 引脚C2,C3以及C7符合TS102221。 本规范中的扩展如下: 1TS102221中定义uicc需要的最大供电电流是10ma。 在本协议中改为5ma。 2TS102221中定义终端应该可以接受的最大电荷变化是12nas,时间宽度不能超过400ns,最大幅度不能超过60ma。 在本协议中修改为终端应该可以接受的最大电荷变化是6nas,时间宽度不能超过400ns,最大幅度不能超过30ma TS102221: Itshallalsobeabletocounteractspikesinthecurrentconsumptionofthecarduptoamaximumchargeof12nAswithnomorethan400nsdurationandanamplitudeofatmost60mA,ensuringthatthesupplyvoltagestaysinthespecifiedrange. 本协议: 配置 终端遵照TS102221,指明是否支持SWP接口。 UICC卡遵照TS102221,在ATR的全局接口字节中指明是否支持SWP接口。 如果终端和UICC卡片都支持SWP接口,一些原本(不支持SWP接口的终端和UICC卡片)不支持的模式可以得到支持: ●只有SWP接口被激活。 这种情况在终端完全被激活而其它接口(例如: TS102221接口或TS102600接口)处于闲置或非激活状态,或者当终端被关闭的情况下发生。 ●当另一个UICC卡-终端接口上正在进行一个会话时,SWP接口被激活(例如: TS102221接口或TS102600接口)。 这种情况下,不同接口上的激活过程应该可以同时进行且互不影响。 与其它接口的交互 支持SWP接口的UICC卡和支持SWP接口的终端之间的通讯通过本规范定义的C6引脚进行通讯,或通过TS102221、TS102600中定义的C2,C3,C4,C7,C8引脚进行通讯。 在一个引脚上的信号不应该影响另一个引脚上信号的状态。 这同样适用于UICC卡的激活过程。 C1(VCC)和C5(GND)上提供的电量应该满足卡片上所有已激活接口的用电需求。 激活后,SWP接口上的操作应该独立于UICC卡其它接口(例如: TS102221接口或TS102600接口)上的操作。 任何复位信号(TS102221中定义的在C2引脚上的复位信号或者在TS102600中定义的逻辑复位)应当只影响与这些接口相关的UICC协议栈。 SWP相关操作不应当受到其它接口上复位信号的影响。 SWP接口上数据链路层的逻辑复位信号(SHDLC复位)以及激活与去激活操作都不应该影响其它接口。 物理特性 卡片运行的温度范围 在本规范中,SWP接口涉及的所有参数均参照TS102221中定义的关于卡片数据存储和工作的标准温度范围。 TS102221中定义: 标准的存储和工作是在-25度到85度。 扩展的温度范围如下表: 触点 触点规定 UICC的VCC(C1触点)和Gnd(C5触点)由终端复用来提供电源。 UICC的SWIO(C6触点)用于UICC与非接前端之间的数据交互。 触点激活与去激活 终端应当按照TS102221中定义的过程来对C2、C3、C7进行连接、激活和去激活操作;按照TS102600中定义的过程来对C4,C8进行连接,激活和去激活操作;按照TS102221中定义的过程来激活C1。 如果终端检测到卡片不支持SWP,可以不执行SWP触点或者接口的激活操作。 SWIO触点激活 只要Vcc(触点C1)没有被激活,终端应当保持SWIO(触点C6)处于去激活状态(S1处于低状态)。 终端激活Vcc为了激活SWP接口或者UICC上另一个其它接口。 当终端将SWIO信号由低状态设置为高状态时,SWIO(触点C6)被激活。 通知UICC卡片SWP接口已被激活。 SWIO触点去激活 为了去激活SWIO(触点C6),终端应当把SWP设置为8.3节定义的DEACTIVATED状态。 8.3节: 去激活: 如果SWP处于挂起状态,主设备可以将SWP切换到非激活状态,通过维持SWIO处于低状态超过P4时间。 UICC卡的去激活 除了TS102221和TS102600中定义的去激活过程外,终端应该在去激活Vcc(触点C1)之前先去激活SWIO(触点C6)。 6.2.3接口激活 接口激活初始化 在SWIO触点激活后,将执行下述流程。 本流程采用8.3节描述的SWP接口状态管理和9.4节描述的ACTLLC层协议。 流程如下: 1)唤醒SWP。 表明UICC卡提示已经准备好交换SWP数据。 如果CLF没有探测到SWP被UICC唤醒,CLF将会假设UICC不支持SWP接口。 然后CLF端DeactivateSWIO。 2)CLF配置SWP进入activated状态。 如果UICC没有检测到SWPACTIVATED状态,UICC将会在把S2放到H态后的TS2_INHIBIT时间里把S2放到L态。 UICC不应再与非接前端进行SWP交互,并应等待UICC的去激活操作或者从其它接口上获得终端对SWP的支持能力(参见6.2.4节)。 3)UICC发送第一个ACT_SYNC帧并等待CLF(非接前端)的第一个帧。 4)CLF从UICC收到第一个ACT_SYNC帧后,CLF(非接前端)执行下述操作: 如果CLF(非接前端)收到了一个正确的ACT_SYNC帧并且终端提供全功耗模式,CLF(非接前端)将返回一个表征全功耗模式的ACT_POWER_MODE帧。 FR=0,表明全功耗模式。 如果CLF(非接前端)收到了一个正确的ACT_SYNC帧并且终端提供低功耗模式,非接前端认为接口初始化工作已经成功完成,不会再发送ACT帧。 5)如果CLF(非接前端)收到了一个损坏的ACT_SYNC帧,它将向UICC发送一个FR字段设置为1的ACT_POWER_MODE帧,用以表明终端当前的供电模式,同时要求UICC重发最近一个ACT_SYNC帧。 6)UICC从CLF(非接前端)收到ACT_POWER_MODE帧后,UICC执行下述操作: 如果UICC收到了一个正确的ACT_POWER_MODE帧(其中FR字段设置为1),UICC将重发ACT帧。 如果FR字段设置为0,UICC将返回ACT_READY帧。 如果UICC收到了一个损坏的ACT_POWER_MODE帧,它不作任何响应。 7)如果CLF(非接前端)收到了一个ACT_POWER_MODE帧的响应帧,CLF(非接前端)执行下述操作: 如果非接前端收到了以下的一个正确的ACT帧,它将认为已经成功完成接口初始化流程,并且不再发送其它ACT帧。 ●一个ACR_SYNC帧,用来响应它将向UICC发送一个FR字段设置为1的ACT_POWER_MODE帧,用以表明终端当前的供电模式,同时要求UICC重发最近一个ACT帧。 ●一个ACR_READY帧,如果CLF已经正确的接收了UICC的第一个ACR_SYNC帧。 8)当CLF接收到了一个错误的帧,CLF将向UICC发送一个FR字段设置为1的ACT_POWER_MODE帧,用以表明终端当前的供电模式,同时要求UICC重发最近一个ACT帧。 9)当CLF没有收到一个响应ACT_POWER_MODE帧的ACT帧,CLF将执行下述操作: 在这种情况下,CLF(非接前端)将向UICC发送一个FR字段设置为1的ACT_POWER_MODE帧,用以表明终端当前的供电模式,同时要求UICC重发最近一个ACT帧。 非接前端向UICC发送ACT_POWER_MODE帧(FR字段设置为1)的次数不应超过3。 如果没有按照以上的顺序,CLF将认为接收到的ACT帧是一个坏帧。 如果接口激活失败,非接前端假定UICC不支持SWP接口。 在这种情况下,非接前端将去激活SWIO。 UICC在初始化接口激活阶段发送的ACT_SYNC帧,应该包含ACT_INFORMATION域。 图表01SWP初始化的过程 后续的接口激活流程 接口激活初始化流程同样适用于S1信号从非激活状态切换为高状态,需要做下述修改: UICC不在任何发送的ACT帧中携带ACT_INFORMATION字段信息。 如何非接前端从UICC收到了第一个ACT_SYNC帧,非接前端执行下述操作: 如果非接前端收到了一个正确的ACT_SYNC帧,它应当立刻假定接口激活操作成功并不再 发送ACT帧。 时序参数 下图表明激活Vcc后,在发送ACT_POWER_MODE帧情况下接口激活初始化的时间要求。 表6.1给出了相关的时间值。 备注1: FR相关的字段只是用来帮助描述信息。 备注2: 有星号'*'的时间是示意性的。 RF应用启动时的Trf_1st_cmd(ISO/IEC14443-3中: 为了能接受REQA和REQB的RF-field1.5A/m后的5毫秒内)依从于非接前端对Trf_vcc, Ts1_act_p2,Tclfinit以及SWP位持续时间的平衡。 系统是以当非接前端在第一条SYNC_ID 的发送时保证时序的严格性来设计的。 如果这个失败,那么非接前端应当让卡重发SYNC_ID 来获得REQA和REQB。 备注3: 非接前端实现的Ts1_act_rep应当大于Ts1_act_frp和SWP唤醒时间的总和。 这是为了保证当UICC发送ACT响应帧的时候非接前端没有在发送ACT帧。 当ACT_POWER_MODE帧发送时,SWP在非激活状态下的接口激活过程如图6.2所示,其它的时序参数在表6.2中给出。 备注1: FR相关的字段只是用来帮助描述信息。 备注2: 有星号'*'的时间是非正式的。 RF应用启动时的Trf_1st_cmd(ISO/IEC14443-3中: 为了能接受REQA和REQB的RF-field1.5A/m后的5毫秒内)依从于非接前端对Trf_vcc, Ts1_act_p2,Tclfinit以及SWP位持续时间的平衡。 系统是以当非接前端在第二条SYNC_ID 的发送时保证时序的严格性来设计的,如果第一条传输失败的话。 对其它接口的影响 取决于UICC处于的功耗模式,下面的条件适用于多接口: 如果UICC卡处于低功耗模式,终端不应当以TS102221中的过程激活接口;如果UICC支持TS102600中定义的USB接口,终端不应该去链路USB接口。 ? 如果UICC卡处于全功耗模式,终端能独立地启动其它UICC接口。 如果UICC被TS102221定义的那样激活,那么SWP接口应当被UICC上的某个应用激活。 ? 在一个不支持SWP的终端上UICC卡的表现(模拟和逻辑) UICC卡片应当考虑将C6相对Vcc以低阻抗连接或者两者完全隔离的终端。 当UICC卡片探测到终端不支持SWP接口后的两秒内,它得知C6没有连接Vcc后应当将C6保持在相对Gnd低阻抗的状态。 备注: 实现应当关注使SWP的功耗尽可能小。 在一个不支持SWP的UICC卡上终端的表现 当终端探测得知UICC不支持SWP时,它应当保持SWIO处于非激活状态。 非活动触点 TS102221中定义的非活动触点相关条件适用于C6触点。 ? 7电气特征 工作条件 非接前端的电压值和UICCS1信号的电压值在图7.1中表征。 Vih和Vil表示由从设备接收到的电压。 Voh和Vol表示由主设备发送出的电压。 所有的电压值都相对接地的电压值。 SWP接口适用另一个S2信号,它是主设备到从设备的一个电流信号,同时允许从设备在之上返回数据给主设备。 S2信号的值只有在S1信号为高时有效。 S2信号的电流值定义在7.1.4.1中,由图7.2给出。 提供的电压级别 一个支持SWP接口的UICC卡应当支持TS102221中定义的B类电压和C类电压? 。 Vcc(触点C1)低功耗模式定义 当系统工作于低功耗模式时,表7.1适用。 表7.1中定义的电流最大值是为UICC定义的。 终端可以提供更多。 电压值被维护在一个特定范围内,不管定义在表7.2的暂时的电量消耗值。 7.1.3S1信号 S1是一个电压域的值,用来从非接前端向UICC在SWIO(触点C6)上传送数据。 S1和7.1.4节定义的S2信号共享一个电气触点。 S1的电气特征在表7.3和表7.4中给出。 流入UICC或者流出CLF的电流认为是正的。 7.1.4S2信号 S2信号是一个电流域的值,用来从UICC发送数据到主设备。 S2和S1信号共享一个电气触点C6。 S2信号的电气特征在本节被描述。 7.1.4.1S2的工作条件 当SWIO上的电流处于Ihmin和Ihmax之间,S2信号被认为处于高状态; 当SWIO上的电流处于Ilmin和Ilmax之间,S2信号被认为处于低状态。 8物理传输层 8.1S1信号的位编码和采样时序(自同步编码) 逻辑1的高状态持续时间是0.75T,逻辑0的高状态持续时间是0.25T。 所有的位都顺序传输。 一个位被定义为有两个上升沿。 上升沿构成了一个位的开始和结束。 每一个传输的位的位持续时间都可以是不同的。 UICC在C6触点上的输入电容不应该超过10皮法。 8.2S2信号的切换管理 S2信号只有当S1信号处于高状态时有效。 UICC卡应当在S1处于低状态时才切换S2信号。 图8.3表明了S2信号相对S1信号的切换时序。 8.3SWP接口状态管理 SWP有三种状态: 激活状态: 在这种状态下主设备和从设备之间发送位数据。 SWP保持这个状态直到出现SUSPEND(挂起)转换。 挂起状态: 在这种状态下S1处于高状态S2处于低状态。 这种状态是SWP接口被激活后的初始状态。 SWP维持这种状态直到唤醒或者去激活过程发生。 非激活状态: 在这种状态下S1和S2都处于低状态。 SWP维持此状态直到激活过程发生。 注意: 当uicc工作在全功耗的模式,如果终端没有提供重新激活这个接口的方法,master不应该把SWP放到那个状态。 在这些状态下相互切换的定义如下: 唤醒: 从挂起状态到激活状态的切换过程。 主设备和从设备都能发起唤醒过程使SWP进入激活状态。 主设备唤醒: 条件1: 主设备通过发送P2个连续的闲置位来发起唤醒过程。 SWP在这些位发送后进入激活状态。 如果是主设备唤醒,那么从设备在P2个连续的闲置位时已经开始发送帧。 如果主设备接收到上层指示,UICC不需要对接口进行操作,主设备通过把SWIOdeactivation和activation来唤醒。 从设备唤醒: 条件2: 从设备发起的唤醒过程是在电流上拉高(S2信号处于高状态)。 主设备应当发送在低于P3max的时间内发送一个序列来作为响应。 在这个序列结束时,SWP进入激活状态。 从这个序列之后的延时到从设备发送的SOF帧之间不应该超过4个位。 挂起(suspend): 条件3: 如果在SWP上持续P1时间内没有数据交互。 主设备可以通过维持S1信号处于高状态。 将SWP切换到挂起状态。 去激活: 条件4: 如果SWP处于挂起状态,主设备可以通过维持SWIO处于低状态超过P4时间将SWP切换到非激活状态。 从设备直到高层在该接口上没有更多的活动,SWP将会进入挂起状态。 SWP进入挂起状态PX的时间,CLF将会: 不在检测RF域。 不再产生来自UICC的RF域。 激活: 如果SWP处于非激活状态,6.2.3节中描述的接口激活过程适用。 从设备可以通过使用在TS102223【7】中描述激活接口命令来激活SWP接口。 状态转换图如下: 图8.5是描述了SWP接口上活动的一个例子。 中文版的图: 8.4功耗模式及切换以及省电模式 当终端激活Vcc(C1触点),UICC进入初始供电状态。 这个初始供电状态在TS102221【1】中定义。 UICC将在以下两个步骤下进入低功耗模式: 1在初始SWP接口激活中,指示为低功耗模式。 2在初始SWP接口激活中,UICC接收到第一个非ACT帧,没有接收到powermode帧。 UICC将在以下两个步骤下进入全功耗模式: 1在初始SWP接口激活中,指示为全功耗模式。 2另一个接口的全功耗模式执行? 。 如果终端电源足够,CLF指示为全功耗供电模式。 在初始化供电状态,只要检测到SWPACTIVATED状态,UICC将会增加它的电流功耗到低功耗模式的值。 从全功耗切换到低功耗,需要把VCCdeactivation。 当在所有激活的接口上发生下面的情况时,UICC应当进入节电模式: 1TS102221【1】中定义的停钟模式,如果这个接口是激活的(如果UICC处于全功耗模式);7816接口 2TS102600【6】中定义的挂起模式,如果这个接口是激活的(如果UICC处于全功耗模式);usb接口 3以下两个条件满足之一: swp接口 UICC应当在SWP处于非激活状态后的10毫秒。 SWP收到的最后信息是上层的SHDLC确认,该确认表明UICC在该接口上没有活动,并且SWP进入SUSPEND状态有10ms。 无论哪些接口是激活的,当UICC处于节电模式下它的耗电量不应当超过TS102221中定义的停钟模式和TS102600中定义的挂起模式下的耗电极限。 当有一个接口上的唤醒过程发生后,UICC应当退出节电模式。 备注: 在全功耗模式下,终端上所有的资源(比如: 显示屏,键盘等)可能对UICC应用都不提供服务。 9数据链路层 9.1概述 数据链路层管理LPDU(链路协议数据单元)如图9.1所示。 该层可以分成两个子层: MAC层负责成帧 LLC层实现错误管理和流控 9.2媒介访问控制层(MAC) 9.2.1BIT顺序 SWP通讯通道的比特顺序为MSB第一。 9.2.2结构 图9.2说明了由主设备发送到从设备的帧结构: SOF标签的值是‘7E’,EOF标签的值是‘7F’。 在两个帧之间,将会发送空闲的比特位(逻辑值为0)。 而且两个帧之间至少有一个空闲的比特位。 图9.3说明了由从设备发送到主设备的帧格式. 在发送每个由从设备到主设备的帧之前,应该插入一个唤醒序列,该序列包含一个逻辑值为1的比特位。 在从设备开始发送唤醒序列,主设备将同时挂起此接口的情况下,逻辑值为1的比特位将被从设备序列转变到原始状态。 将SWP恢复到激活状态。 载荷大小限制在30字节以内。 CRC长度为16比特。 9.2.3BIT填充 为保证无疑义的检测SOF和EOF的标签,在SWP上发送载荷和CRC时,传输实体将使用比特位0填充。 在五次连续的逻辑值1之后,插入逻辑值为0的比特位。 如果CRC的最后五个比特位包含逻辑值1,将不再添加逻辑值为0的比特位。 接收方能识别和取消填充的比特位。 如图9.4是一个比特位为0填充序列的示例: 9.2.4错误检测 在帧中的错误检测基于CRC-16CITT标准。 CRC的多项表达式为 .初始值为0xFFFF. CRC计算基于SOF和EOF之间所有的比特位,不包括SOF与EOF。 9.3支持的LLC层 本规范定义了三个逻辑链路控制层(LLC),它们均使用之前定义的MAC层: SHDLC: 这是一类在大多数非接触业务中被使用的LLC。 SHDLC定义见第10章。 在CLF和UICC中要求必须持这种LLC。 CLT: 这类LLC用于处理某些私有协议。 CLT模式的定义参见11章。 在CLF与UICC中(取决于应用)都是选的。 ACT: 这类LLC包含接口激活时被使用的帧。 在CLF和UICC中要求必须支持这种LLC。 控制字段是SWP帧载荷中的第一个字节。 其它的LLC层定义见表9-1 LPDU载荷的数据结构如图9.5: 9.3.1LLC层交互 当SWIO(触点C6)被激活之后,或者S1由非激活状态切换到高状态后,SHDLC链路不应该被建立,并且不打开CLT会话。 ACTLLC应用于UICC和CLF。 在成功激活SWP之后,CLF遵循以下行为: 如果CLF发送数据给UICC(如: 取决于非接触业务)要求使用CLTLLC,将初始化一个CLTLLC会话。 否则,CLF将迅速建立一个SHDLC链路。 注释: CLF总会在SWP激活之后发送第一个non-ACT帧。 在UICC和CLF建立了SHDLC链接,或者打开CLT会话之后,UICC和CLF将不再发送ACTLLC帧;接收到的ACTLLC帧将被忽略。 从ACTLLC或者CLTLLC进入SHDLCLLC的链路建立步骤详见10.7.2节和10.7.3节。 SHDLC链路一旦建立,CLT会话将不能在SHDLC链路建立过程中将SHDLC环境和端点置为无效状态。 当ACTLLC或者
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- swp 协议