你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用 STM32F101xx 和 STM32F103xx 的 智能卡接口

[复制链接]
STMCU小助手 发布时间:2022-7-21 14:22
简介
. G. k0 g/ w: \' l- n本文叙述了如何使用STM32F10xxx的USART模块实现智能卡接口解决方案,包括固件和硬件接口的实现。该固件和硬件包的目的是提供相应的资源,使用户使用USART模块的智能卡模式,更加便捷地开发应用程序。' \( e* h( v6 E7 e
这个固件接口包括支持ISO 7816-3/4规范的库文件,同时提供基于ST的STM3210B-EVAL和STM3210E-EVAL评估板的应用程序示例。
2 u4 o) i9 |" w8 S. U
% n( o0 f$ `4 a: ?* \0 g术语表
$ J  P9 O+ ]% A5 R# p. C( `# E/ k小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。
, Y. H) D" X+ I* g中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。在ST的STM3210B-EVAL评估板上集成的即为中容量产品。+ t" Z+ B: ^8 L1 l9 e- m+ s2 Y
大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。在ST的STM3210E-EVAL评估板上集成的即为大容量产品。
1 L/ w( C) H. x) L  m2 @. o6 C5 d& y& ~; k7 C1 X; l! C8 m
1 智能卡接口8 A+ g( v" c- }, D. _+ a  L; U: R( i
1.1 简介
8 Z; }& ^1 x! A7 D' e智能卡接口是在USART模块的智能卡模式下开发的。关于USART寄存器的描述,请参阅STM32F10xxx参考手册。USART智能卡模式支持ISO 7816-3标准中定义的异步智能卡协议。! Y+ B0 j  B% }+ S' Y: q/ ]9 S
在使能智能卡模式的情况下,必须如下配置USART模块:4 W4 ^4 x* I$ B: a8 Z8 S& _
● 8位数据位加上奇偶校验5 W/ h5 a' ]! b" |
● 0.5或1.5位停止位
' h9 [( Q8 v- ^/ d, J一个5位的预分频器和智能卡时钟发生器为智能卡提供时钟。智能卡接口的其他功能则由软件配合GPIO口实现。
4 M% d: t# C: a9 f2 h软件中不处理ISO 7816-3中定义的反向信号传输约定,反转数据和最高有效位优先的情况。
, r, x4 J) E0 `, V
1.2 外部接口2 F2 x* R$ D  L# _$ G/ y3 j3 @2 }7 A
5 k4 _. ~$ I3 \8 h, z" o0 @2 `+ |3 y
SMSXLLOOS6UI3WPO`7$H[YK.png
1 O1 U& A' l% D9 ~8 H$ @% v
$ Q1 ?/ J, c8 lSmartcard_RST(智能卡复位)、Smartcard_3/5V(3V或5V)、Smartcard_CMDVCC (管理VCC)以 及Smartcard_OFF信号(智能卡检测信号)由软件控制GPIO的端口实现。为了使数据信号以正确的驱动连接到智能卡IO引脚,应当把USART_TX端口的GPIO位编程为复用开漏输出模式,为把时钟发生器连接到Smartcard_CLK的引脚,USART_CK端口的GPIO位应配置为复用推挽输出模式。8 t% P! V) H, L- }- q! E
& N, G& u1 X  L
1.3 协议
/ Q% s0 s, S' G2 x) g! E# ?9 I* g6 IISO 7816-3标准为异步协议定义了时间基准单位,称作ETU(elementary time units),它与输入至智能卡的时钟频率有关。一个ETU的长度是一个位时间。USART接收器和发送器在内部通过Rx_SW信号相连接。必须USART模块设置为智能卡模式,才能实现从STM32F10xxx向智能卡传输数据。
+ G1 x. ~  G+ P7 D- s( A% P& i$ [& u7 a, \2 M1 U

' L& H; X) O6 i EV@U[E1SY_LHOQ50EUD[$K6.png - `: W0 G# a) j; B' k7 Z
8 t4 v5 K( j/ Q% T
; j8 o' u3 K# l  |5 p0 d
1.4 智能卡时钟发生器
* f. H- s* Y5 E$ B5 Z4 x智能卡时钟发生器为与之相连的智能卡提供时钟信号。智能卡使用这个时钟产生在智能卡与USART模块之间进行串行通信的波特率时钟。如果智能卡上有CPU,该时钟将同时提供给CPU使用。
" T( L7 ^: Q! r智能卡接口操作要求,在卡上的CPU运行代码时可以调整时钟速率,这样可以改变通讯的波特率,或者可以提升智能卡的性能。在ISO7816-3标准中详细描述了,协商时钟速率和改变时钟速率的协议。/ K$ M9 f( G* R$ s, E0 A
这个时钟被用作智能卡内CPU的时钟,因此更新微控制器输出的时钟频率必须和智能卡时钟同步,应注意保证没有比短周期的40%更短的脉冲。
( O9 o7 J$ M& X4 j/ }
' o( H: i" O$ w: ~2 o2 智能卡读卡器的硬件连接 ; S. U+ K6 j& P2 ~! J
ST8024接口芯片用于与智能卡相连。ST8024是一个针对异步3V、5V智能卡的,完善的低成本模拟接口,它位于智能卡和STM32F10xxx之间,只需要很少的外部部件来实现电源保护和控制功能。( j8 z* ]/ S# N7 `. I1 e

# q0 ~" h+ b( r; }, h' _& b! h6 G

4 L8 B: K: i- F {[(YZ}MIJKVI9I]Q`SPVK.png ; X( y6 ^2 L% f

2 \7 L6 b% z. G  H6 @图2 智能卡接口硬件连接' k/ i  c& g# U, w. ?

! r8 e+ M5 X* _) w 4)M@B`]C~HLP63OM`HWOB3K.png
5 m3 V% C7 X! x  E/ `5 s
8 }+ l0 ?. M. Z  s8 x- S/ r
: W, P/ L  k/ m4 w5 N! z完整版请查看:附件
  P9 v8 s2 G, e' P$ b+ v6 \0 |
7 T7 J4 ?, j, A* n+ H! B/ j, j& L; l& }9 M1 Q! @

CD00166510_ZHV2.pdf

下载

715.5 KB, 下载次数: 44

收藏 评论0 发布时间:2022-7-21 14:22

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版