串口特殊用法—智能卡通讯

电子说

1.3w人已加入

描述

我司某产品需要使用单片机访问7816接口的智能卡卡片,但是我们选型的单片机没有硬件7816接口,考虑到使用IO模拟超级麻烦,而且兼容性和通讯速率都无法保障,于是使用UART接口实现。

智能卡PIN定义:

智能卡主要使用以下几个管脚,VCC、RST、CLK、IO、GND,剩余管脚不使用。

PIN定义如下:

C1 VCC :智能卡电源,目前接触卡电源有1.8V、3V、5V几种类型。

C2 RST :复位管脚,低电平有效

C3 CLK :时钟管脚

C4 RFU :保留

C5 GND :地线

C6 VPP :编程电压,现在基本不使用了,悬空即可

C7 IO :双向数据线

C8 RFU :保留

电路设计:

因为智能卡的IO线是半双工的双向数据传输线,设计了以下电路,使用UART接口实现数据收发。

VCC:直接使用3.3V LDO供电

RST:单片机GPIO

CLK:单片机PWM产生4MHz方波

IO:使用单片机UART

UART接口

单片机向智能卡发送高电平时,二极管截止不导通,电阻R1把IO拉高,智能卡接收到高电平。单片机向智能卡发送低电平时,二极管导通IO线被拉低,智能卡接收到低电平。

单片机发送数据过程中,如果UART_RX也能收到数据,抛弃即可。

智能卡向单片机发送数据时,二极管一直不导通,数据走向如蓝色箭头。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分