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

使用 STM32F101xx 和 STM32F103xx 的 智能卡接口

[复制链接]
STMCU小助手 发布时间:2022-7-21 14:22
简介4 c  y2 W( O; S8 \
本文叙述了如何使用STM32F10xxx的USART模块实现智能卡接口解决方案,包括固件和硬件接口的实现。该固件和硬件包的目的是提供相应的资源,使用户使用USART模块的智能卡模式,更加便捷地开发应用程序。/ e$ o! u  u' \4 J6 R; M7 H
这个固件接口包括支持ISO 7816-3/4规范的库文件,同时提供基于ST的STM3210B-EVAL和STM3210E-EVAL评估板的应用程序示例。
: Z4 U. ?  H2 j8 F* Q6 t8 H9 r$ o' x( z5 {3 d* F& @4 z. C* f
术语表
" ~/ q5 d% p" t1 u; W小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。
5 |+ ]3 Q% B0 e* ?中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。在ST的STM3210B-EVAL评估板上集成的即为中容量产品。/ t" r  ^- M2 b+ B9 c# H8 `; }
大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。在ST的STM3210E-EVAL评估板上集成的即为大容量产品。
9 n- ?4 @! p2 V, [- v6 `: J, k6 N. _  I5 P$ @" P$ [
1 智能卡接口
; ^# Z# k0 t$ \4 E1 c+ h1.1 简介
& a- E6 c1 \, e4 v" X; G智能卡接口是在USART模块的智能卡模式下开发的。关于USART寄存器的描述,请参阅STM32F10xxx参考手册。USART智能卡模式支持ISO 7816-3标准中定义的异步智能卡协议。
1 ]& j4 K6 v3 y( I7 \# h4 \在使能智能卡模式的情况下,必须如下配置USART模块:
+ N  R6 m' V1 ~6 V" P● 8位数据位加上奇偶校验* X+ ~2 G$ z5 U7 W
● 0.5或1.5位停止位, c& ^% Y3 m0 ]& l* n# v3 |
一个5位的预分频器和智能卡时钟发生器为智能卡提供时钟。智能卡接口的其他功能则由软件配合GPIO口实现。! P8 M' x9 l  l% e9 Y# |; j2 g
软件中不处理ISO 7816-3中定义的反向信号传输约定,反转数据和最高有效位优先的情况。
0 ~# r, V6 J( z1 L3 C  e" h
1.2 外部接口
3 z% c: {# n1 g  i/ _: u
2 j1 {+ n! A7 r( V$ C" {2 @ SMSXLLOOS6UI3WPO`7$H[YK.png
' p( }8 Y+ m/ {
  Y' x5 n! ~, aSmartcard_RST(智能卡复位)、Smartcard_3/5V(3V或5V)、Smartcard_CMDVCC (管理VCC)以 及Smartcard_OFF信号(智能卡检测信号)由软件控制GPIO的端口实现。为了使数据信号以正确的驱动连接到智能卡IO引脚,应当把USART_TX端口的GPIO位编程为复用开漏输出模式,为把时钟发生器连接到Smartcard_CLK的引脚,USART_CK端口的GPIO位应配置为复用推挽输出模式。! I$ P) W' j2 z& y: U

: C( z4 D& k/ X- G  O
1.3 协议* T- Y8 C; X* \2 L) R, W( q
ISO 7816-3标准为异步协议定义了时间基准单位,称作ETU(elementary time units),它与输入至智能卡的时钟频率有关。一个ETU的长度是一个位时间。USART接收器和发送器在内部通过Rx_SW信号相连接。必须USART模块设置为智能卡模式,才能实现从STM32F10xxx向智能卡传输数据。: ^; n9 I' K4 \& P" E
* M6 z' J& ]- L1 r* U& C+ V% L

" J) x. I5 P) D: d3 q+ Y' e* u# P1 n EV@U[E1SY_LHOQ50EUD[$K6.png - h# ~  }0 ]# f/ }9 M7 ?7 y
0 K* m- ?# ~6 S: n* V" }

) f2 K5 M+ d. r0 X1.4 智能卡时钟发生器$ c" w1 v5 n! N2 m* [0 Z  K
智能卡时钟发生器为与之相连的智能卡提供时钟信号。智能卡使用这个时钟产生在智能卡与USART模块之间进行串行通信的波特率时钟。如果智能卡上有CPU,该时钟将同时提供给CPU使用。1 N0 ~$ x. f0 I! E' F
智能卡接口操作要求,在卡上的CPU运行代码时可以调整时钟速率,这样可以改变通讯的波特率,或者可以提升智能卡的性能。在ISO7816-3标准中详细描述了,协商时钟速率和改变时钟速率的协议。3 n) `, V7 m$ y% S# w/ _, \5 P
这个时钟被用作智能卡内CPU的时钟,因此更新微控制器输出的时钟频率必须和智能卡时钟同步,应注意保证没有比短周期的40%更短的脉冲。! \$ P" o* X+ D7 }
2 t: n$ v$ L, j
2 智能卡读卡器的硬件连接 8 ^6 L3 s* a; O
ST8024接口芯片用于与智能卡相连。ST8024是一个针对异步3V、5V智能卡的,完善的低成本模拟接口,它位于智能卡和STM32F10xxx之间,只需要很少的外部部件来实现电源保护和控制功能。
* u5 P4 q, |; F! M& _) Z
# G8 ^0 z0 x: s8 _( B: C& y

  z; s/ K/ `& Q3 e9 H' e5 T: q {[(YZ}MIJKVI9I]Q`SPVK.png
/ N% Z& ?! R4 A  ^9 a9 Q
: K- M8 w& {9 v5 m' C5 Q图2 智能卡接口硬件连接
# P- S3 ^! q& o, u/ }" c6 ]
- X* l# q: O/ J  m 4)M@B`]C~HLP63OM`HWOB3K.png
& h) h  t! `$ b, D1 H/ x- C, d8 c7 y* m' f
/ Z8 A5 @. q' s2 O. b4 v  z% ~1 b
完整版请查看:附件% d- R! a+ S( B) g2 n" d) D% g; A, \
5 d9 R9 o4 T) P$ R
) C" J; u  _5 p- G! o/ j/ W

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 手机版