一种MCU与智能卡直接通信的通讯电路的制作方法

文档序号:17185777发布日期:2019-03-22 21:20阅读:356来源:国知局
一种MCU与智能卡直接通信的通讯电路的制作方法

本实用新型涉及一种通讯电路,具体的说是一种无需额外增加外部辅助电路便可实现MCU与智能卡直接通信的通讯电路。



背景技术:

现代支付领域越来越向智能化发展,简单快捷成为现在快节奏生活的主要需求。金融小额闪付已经越来越被广泛支持。简单安全的智能卡作为承载这种便利的主要手段,已经遍及生活的各个领域。同时随着智能穿戴的崛起,特别是智能手环的崛起,支付和NFC结合的穿戴产品开始变得走俏。如何把NFC和接触式智能卡做到一个手环里是很多人都在研究的话题。因为现有常用的手环的CPU只有串口接口,没有智能卡接口,要实现普通CPU和智能卡通信成为一个难题。

一些厂商通过在手环内设置带有智能卡接口的CPU作为协处理器,利用协处理器和主CPU通信从而实现智能卡与手环之间的通信,但是这样一来系统的复杂性显著增加,系统的可靠性降低。

现有一种方法,其利用CPU串口接口进行7816通信以达到与智能卡之间的通信,但是其实施电路十分复杂,需要很多外围辅助器件,将这么多器件做到手环中后手环的体积较庞大,用户使用十分不便。



技术实现要素:

本实用新型的目的在于提供一种全新的通讯电路结构,其无需增添多余的元器件便可实现常规的MCU与接触式智能卡实现数据的直接通信。

本实用新型通过如下的技术手段加以实现:一种MCU与智能卡直接通信的通讯电路,包括主控、智能卡,所述智能卡直接贴片在PCB板上,智能卡和CPU通过PCB布线相连,所述主控的管脚直接与智能卡的u_vcc脚、u_rst脚、u_io脚及uart1_clk连接,所述的主控与uart1_clk脚之间设置定时器进行分频。

所述的分频器包括第一定时器及第二定时器,第一定时器与第二定时器互相激活且在定时器激活时对智能卡的时钟脚进行翻转,第一定时器超时值为5,第二定时器超时值为4,所述的时钟输出频率为1.77M。

所述的u_io口上设置软件开关,所述软件开关与智能卡插槽的接收脚与发送脚选择性连接,从而令u_io口进行数据的发送或者接收。

本实用新型与现有技术比较,其将主控与智能卡直接进行连接,省去诸多外围组件,电路整体体积变小,实施电路较为简单。

附图说明

图1为本实用新型主控芯示意图;

图2为本实用新型智能卡示意图;

图3为本实用新型分频器示意图;

图4为本实用新型数据连接端串口实现单线收发示意图。

具体实施方式

下面结合说明书附图对本实用新型进行进一步详述:

本实用新型涉及了一种通讯电路,具体的说,是一种MCU与智能卡之间实现直接通信的通讯电路,其包括了主控芯片、智能卡,所述的所述主控的管脚直接与智能卡的u_vcc脚、u_rst脚、u_io脚及uart1_clk连接,具体的说,所述的MCU的41脚与智能卡插槽的u_rst脚连接,42脚与智能卡插槽的uart1_clk脚连接,43脚与智能卡插槽的u_io脚连接,7脚与智能卡插槽的u_vcc脚连接,u_vcc为智能卡的供电脚,u_rst为智能卡的复位脚,uart1_clk为智能卡的时钟脚,u_io为智能卡的数据收发脚。

本实用新型中。所述的智能卡与主控芯片之间使用7816接口进行通讯,智能卡复位时时钟频率f在1~5MHz范围之内,比较常见的是3.579545MHz。由于3.579545MHZ我们CPU主频为16M,比较难产生。对其进行9分频为1.777M和我们使用的1.7897725MHZ很接近,在通信误差允许范围。所以我们就采用主频9分频的输出。由于此CPU没有现成的能够实现9分频的机制。我们考虑用定时器对16M时钟的计数实现,具体的说,在所述的主控与uart1_clk脚之间设置定时器进行分频。

为保证时钟的连续性,若使用单定时器其不能重复加载不同的计数值,否则会造成输出波形不连续,设置单计数值时只适合产生偶数等脉宽时钟。要想产生奇数分频的时钟我们必须采用双定器的组合。因此所述的分频器包括第一定时器及第二定时器,第一定时器与第二定时器均可对智能卡的时钟脚进行翻转,且两个定时器采用超时互相激活的方式运作,具体的说,两定时器输入时钟直接选主时钟16M输入,第一定时器计时值设定为5,超时翻转智能卡的时钟脚,并触发第二定时器开始计时,第一定时器停止工作;第二定时器计时值设定为4,超时翻转智能卡的时钟脚,又触发第一定时器计时,同时第二定时器停止工作。这样往复循环构成了一个周期时钟的输出。

由上文我们可得知,当时钟为1.77M时,通信的波特率刚好是4800。而我们硬件串口是刚好支持这个波特率的。且7816和串口的位校验模式几乎一样。所以数据可以直接用串口收发。但串口是双线的,而智能卡是单线收发的。所以我们采用的方案是对串口收发口进行动态切换,具体的说,在所述的u_io口上设置软件开关,所述软件开关与智能卡插槽的接收脚与发送脚选择性连接,从而令u_io口进行数据的发送或者接收。单需要发送的时候我们将智能卡数据脚映射到串口的发送脚,当需要接收的时候我们将智能卡数据脚切换到串口的接收脚。从而达到单线发的目的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1