
STM32F05xx微控制器的智能卡接口设计 前言 5 Z" ~3 @( u& ]# G' ^ 本文档介绍基于 STM32F05xx USART 外设的固件和硬件智能卡接口解决方案。此固件和硬件包的主要用途是,为使用处于智能卡模式的 USART 外设(支持 T=0 和 T=1 协议)的应用开发提供资源以加速开发过程。 / m2 [! i1 Y( y: n* D, _' M 0 p0 B* Q$ N& g7 ]$ o 固件接口包含了为支持 ISO 7816-3/4 规范而开发的库源文件。还提供了一个基于意法半导体的 STM320518-EVAL 评估板(带一些附加硬件)的应用示例。 1 K3 j4 }5 } I' t4 } 本文档及其相关的固件可以从意法半导体网站 http://www.st.com 下载。 5 W, i% I# W* C+ Y9 u# z0 @) m ) z) H; m2 N; ^% m 表 1 列出了本应用笔记所涉及的微控制器和开发工具。 ( Z2 Z4 B Y O) a+ h ![]() 词汇表STM32F05xx 器件为: ● Flash 容量高达 32 KB 的 STM32F050xx 微控制器。 ● Flash 容量高达 64 KB 的 STM32F051xx 微控制器。! K; u/ {/ k0 x1 ~3 L: j 5 D9 l* q8 _6 x( l7 A( n 1 智能卡接口说明 1.1 前言 3 M7 v1 u |8 b& t- ?& q6 }8 A 5 n+ A: `8 U& s/ b- N 智能卡接口在 USART 智能卡模式下进行开发。有关 USART 寄存器的说明,请参见STM32F05xx 参考手册 (RM0091)。USART 智能卡模式支持 ISO 7816-3(A 类)标准中定义的异步协议智能卡。更多详细信息,请参见此标准。 3 V) r& r* l6 g: u" I 使能智能卡模式后,必须将 USART 配置为: 1 _+ m/ `9 W; X6 b9 i9 L' x : Z. A4 o" x0 e | ● 8 位数据位加上奇偶校验 ● 0.5 或 1.5 位停止位智能卡的时钟源为一个 5 位预分频器和智能卡时钟发生器。将 GPIO 引脚与软件配合使用来提供智能卡接口所需的其它功能。 d. X5 H! a* {' v7 d 软件中不处理 ISO 7816-3 中定义的反向信号传输约定,反转数据和最高有效位优先的情况。 ! }; u/ C' {0 C/ w$ X& N) |( O0 x 智能卡有三种不同的工作电压: - w! G1 r" \. h/ w/ H# ] u ● 5 V(ISO7816-3 A 类) ● 3 V(ISO7816-3 B 类) & Q+ p, g# C6 r1 |0 @ ● 1.8 V(ISO7816-3 C 类)9 C$ A+ X/ z$ H& U / t% \' o& c; B a) ~, ` 1.2 外部接口 ![]() Smartcard_RST(智能卡复位)、Smartcard_3/5V(3 V 或 5 V)、Smartcard_CMDVCC(用于 VCC 的命令)和 Smartcard_OFF 信号(用于智能卡检测的信号)由软件控制 GPIO的端口实现。为了使数据信号以正确的驱动连接到智能卡 IO 引脚,应当把 USART_TX 端口的 GPIO 位编程为复用开漏输出模式,为把时钟发生器连接到 Smartcard_CLK 的引脚,USART_CK 端口的 GPIO 位应配置为复用推挽输出模式。 1.3 协议 ! O5 P5 |0 ], A9 `6 f" uISO 7816-3 标准为异步协议定义了时间基准单位,称作 ETU (elementary time units),它与输入至智能卡的时钟频率有关。一个 ETU 的长度是一个位时间。USART 接收器和发送器在内部通过 Rx_SW 信号相连接。必须将 USART 模块设置为智能卡模式,才能实现从STM32F05xx 向智能卡传输数据。 , O% A; E" _8 Z7 S4 K* }![]() |
赞一个 |
谢谢分享 |