最近接触到一种新的单总线协议SWP。实际上很早之前都有单总线产品,比较经典的是DS18B20,这一款单总线的测温传感器。该单总线产品的数据收发和0,1的逻辑编码均使用一根总线上的电压信号来表示,0,1值的表示及复位等均靠时序来保证,因此该总线的时序控制比较严格,而且通信速率不高。
本文提到的SWP协议是ETSI组织的ETSI TS 102 613技术标准规定的单总线协议。该总线主要用于连接非接触前端和SE,典型的应用即是NFC控制器与UICC连接。总线使用电压信号S1来发送数据,电流信号S2来接收数据。信号传输的模型如下图。
既然该总线信号涉及电流信号的传输,已经无法使用常用的GPIO引脚通过简单的时序模拟完成信号传输,必须将电流信号转换为电压信号才能输入数字电路进行处理。
常见的一种处理模式如上图模型中所表述的。在单总线电路中串入一个采样电阻,然后在采样电阻两端使用减法电路获取采样电阻的压降,进行适当比例的放大,即可将S2信号转换为普通数字电路逻辑电压信号。如技术文档中描述,当S2信号为0时,其电流值为0~20uA;当S2信号为1时,其电流值为600~1000uA。
采用下图的放大电路,当