
STM32F05xx微控制器的智能卡接口设计! F. ]' G( T2 x* L 前言 2 r. q2 }& q0 m$ r( h* M1 `) V 本文档介绍基于 STM32F05xx USART 外设的固件和硬件智能卡接口解决方案。此固件和硬件包的主要用途是,为使用处于智能卡模式的 USART 外设(支持 T=0 和 T=1 协议)的应用开发提供资源以加速开发过程。 m5 V8 p4 {$ m 固件接口包含了为支持 ISO 7816-3/4 规范而开发的库源文件。还提供了一个基于意法半导体的 STM320518-EVAL 评估板(带一些附加硬件)的应用示例。 ; D5 M. K W- j* z6 @& F + L8 A Q3 f& @8 f 本文档及其相关的固件可以从意法半导体网站 http://www.st.com 下载。 . S" v2 t& B% T5 v. M& X 表 1 列出了本应用笔记所涉及的微控制器和开发工具。 ![]() 词汇表STM32F05xx 器件为: , ?# x! [" G+ J5 O ● Flash 容量高达 32 KB 的 STM32F050xx 微控制器。 ● Flash 容量高达 64 KB 的 STM32F051xx 微控制器。8 z, ~& Z% \- ]( u: i: Y 1 智能卡接口说明 * W' M( W- h7 p, d$ Y' Y0 ? 1.1 前言 8 H6 p/ ]* E8 ~ Q6 ? J8 _( n 智能卡接口在 USART 智能卡模式下进行开发。有关 USART 寄存器的说明,请参见STM32F05xx 参考手册 (RM0091)。USART 智能卡模式支持 ISO 7816-3(A 类)标准中定义的异步协议智能卡。更多详细信息,请参见此标准。 使能智能卡模式后,必须将 USART 配置为: ' M4 M; n' }( c! M Y& }! z 2 j5 I8 J8 d' P& N6 W ● 8 位数据位加上奇偶校验 ; y& ]& R3 u5 O0 b$ H ● 0.5 或 1.5 位停止位智能卡的时钟源为一个 5 位预分频器和智能卡时钟发生器。将 GPIO 引脚与软件配合使用来提供智能卡接口所需的其它功能。 软件中不处理 ISO 7816-3 中定义的反向信号传输约定,反转数据和最高有效位优先的情况。 : W; o0 F5 I. a) D% `0 J- } 智能卡有三种不同的工作电压: ● 5 V(ISO7816-3 A 类) ● 3 V(ISO7816-3 B 类) / @! u {/ C8 {7 I# U ● 1.8 V(ISO7816-3 C 类)# H3 d4 S4 w- d+ i( \' Q 1.2 外部接口0 G4 b. y4 N( X6 M: _. ?' o: m ![]() 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 协议 ISO 7816-3 标准为异步协议定义了时间基准单位,称作 ETU (elementary time units),它与输入至智能卡的时钟频率有关。一个 ETU 的长度是一个位时间。USART 接收器和发送器在内部通过 Rx_SW 信号相连接。必须将 USART 模块设置为智能卡模式,才能实现从STM32F05xx 向智能卡传输数据。 ![]() |
赞一个 |
谢谢分享 |