智能卡SWP接口之模拟电路设计

时间:2024-04-06 08:22:36

最近接触到一种新的单总线协议SWP。实际上很早之前都有单总线产品,比较经典的是DS18B20,这一款单总线的测温传感器。该单总线产品的数据收发和0,1的逻辑编码均使用一根总线上的电压信号来表示,0,1值的表示及复位等均靠时序来保证,因此该总线的时序控制比较严格,而且通信速率不高。

本文提到的SWP协议是ETSI组织的ETSI TS 102 613技术标准规定的单总线协议。该总线主要用于连接非接触前端和SE,典型的应用即是NFC控制器与UICC连接。总线使用电压信号S1来发送数据,电流信号S2来接收数据。信号传输的模型如下图。

 

                智能卡SWP接口之模拟电路设计

既然该总线信号涉及电流信号的传输,已经无法使用常用的GPIO引脚通过简单的时序模拟完成信号传输,必须将电流信号转换为电压信号才能输入数字电路进行处理。

常见的一种处理模式如上图模型中所表述的。在单总线电路中串入一个采样电阻,然后在采样电阻两端使用减法电路获取采样电阻的压降,进行适当比例的放大,即可将S2信号转换为普通数字电路逻辑电压信号。如技术文档中描述,当S2信号为0时,其电流值为0~20uA;当S2信号为1时,其电流值为600~1000uA。

采用下图的放大电路,当智能卡SWP接口之模拟电路设计时,该电路输出智能卡SWP接口之模拟电路设计 。

 

                                                                 智能卡SWP接口之模拟电路设计

另外一种处理方式则曲折一点。其电路模型如下图。

                                                     智能卡SWP接口之模拟电路设计

 

在该电路中,需根据实际情况调整三个电阻的阻值及Vref的值。调整R1,R2的阻值,使S1信号经过分压后进入Slave的电平范围在技术规范要求范围之内。例如B类条件(Vcc=3.3V),高电平要求为1.4V~1.98V;C类条件(Vcc=1.8V)下,高电平要求为0.85Vcc~Vcc之间。若该电阻分压比不对,经过三个电阻分压后进入Slave的高电平达不到门槛值,则Slave无法正确识别S1信号,因此就不会有S2信号的反馈。

此时可适当减少R1值以抬升输入Slave电平信号。在输入Slave的S1信号正常之后,Slave将控制内部开关的通断来输出不同的S2信号(电流信号)。通过示波器检测R3右侧电压信号波形,当S2信号不同时,流经R3的电流将显著不同,因此R3的压降也会出现不同情况。根据R3右侧电压的高低值,选择一个合适的电压比较器及参考电压Vref,即可将S2信号转换为一个合适的逻辑电压值。