java怎么拦截某个对象
238
2022-10-31
智能读写器电源管理与接口芯片MC33560的原理及应用
1 MC33560的主要特点
MC33560是专门为智能卡读/写器应用而设计的接口集成电路。它能通过简单灵活的微控制器接口来管理任意类型的智能卡或者存储卡。该器件具有待机省电特性而且所需外部器件很少,因而可以广泛用于功耗要求比较严格的嵌入式手持设备中。MC33560的主要特点如下:
●与ISO7816-3标准100%兼容;
2 MC33560的引脚功能
MC33560具有SO-24和TSSOP-24两种封装形式,全部管脚可以分为控制器接口引脚、智能卡接口引脚及电流限制和热保护引脚等三部分。其引脚排列见图1。
2.1 控制接口引脚功能
3脚(INT):该脚可用于指示智能卡电流状态的改变。当进行卡插拔时,该脚的逻辑电平为0;而在CS或PWRON端信号的上升沿,该脚信号被复位为1。在多路应用时,可将两个或两个以上的INT端连在一起与微控制器进行连接并插入检测槽中。
4脚(RDYMOD):该脚为双向端口,其输出为三态?输入采用斯密特触发方式。当RDYMOD被强制为0时,MC33560可通过CS端口上的一个负跳变来将器件设置为编程方式。
5脚(CS):片选引脚。该脚为高时,MC33560的2、6、7、10、20和21脚无效;在CS信号的下降沿,器件进入编程模式。
6脚(RESET):复位引脚。当CS为低时,该脚信号可对14脚上的卡复位信号进行控制;而当CS为高时,该脚信号将被锁定。实际中,该引脚也可以用于编程模式。
7脚(IO):智能卡与微控制器之间的串行I/O信号传输引脚。可与微控制器的串行I/O端口相连。当CS为低时,该脚上的电平传输有效;CS为高时,该脚信号被锁定。
8脚(INVOUT):该脚信号实际上是9脚ASY-CLKIN信号经缓冲和反转后的时钟信号。
9脚(ASYCLKIN):该脚用于连接主微控制器时钟或其它时钟信号。该脚信号可反馈到内部时钟选择电路并以相同的频率传输到CRDCLK端口,也可以通过编程将其二分频或四分频。
2.2 智能卡接口引脚功能
14脚(CRDRST):使用时应将该端连接到卡连接器的RESET端;
15脚(CRDCLK):时钟选择电路输出,一般与卡连接器的CLK端相连;其时钟选择可在RDYMOD下变为0时通过2、6和7脚进行编程设置;
16,19脚(CRDC4,CRDC8):通用输入输出口,与CRDIO端口的功能基本相同,通常被分别连接到卡连接器的C4和C8引脚;
18脚(CRDCON):该脚可连至PGND、VBAT或微控制器的其它输出端口。当17脚为0时,该脚为逻辑1;反之,该脚为逻辑0。
2.3 电流限制和热保护引脚功能
12脚(CRDGND):信号地;与卡连接器的地端相连,该端电平可作为所有模拟和数字信号的参考地点;
13脚(CRDVCC):卡电源引脚,设计时可连到卡连接器的VCC端。该端电平可作为11、14、15、16和19脚的高电平参考;
23脚(VBAT):供电电压端口,为2脚到10、17、18、20和21脚高电平逻辑参考。当VBAT电压低于最低阀值时,MC33560的操作被禁止;
24脚(ILIM):该脚可以和PGND相连,也可以通过一个电阻和PGND脚相连,还可以悬空,具体接法可由智能卡线圈所提供的峰值电流来决定。图33 MC33560的工作模式
MC33560共有待机模式、编程模式、激活模式、事务处理模式和空闲模式等五种工作模式,其中待机模式为无卡时的工作模式;编程模式为对MC33560进行编程操作时的模式;而在激活模式下,用户可以查询卡的状态并进行DC/DC转换;在事务处理模式下?MC33560会保持加到卡上电源和选中的时钟信号,并根据电源电压在微处理器和卡之间进行IO、RESET、C4、C8等引脚的信号电平转换;空闲模式指的是卡已上电,但没有进行数据传输时的状态。图2所示是五种工作模式之间的转换关系图。4 应用设计
4.1 硬件应用电路
图3所示是用MC33560智能卡读写器接口电路和MC68HC705C9微控制器构成的智能卡读写器的硬件应用电路。
在了解了MC33560的硬件工作原理后,接下来的工作就是程序设计。下面是对MC33560进行编程时的部分程序源代码:
static int 33560 programming mode?int status {
CLEAR_RDYMOD; //inter the programming mode
SET_CS;
Delay;
CLEAR_CS;
/** VCC and Clock of Card programming **/
switch(status)
{
case 0:
//SYNCLK 3v
{
CLEAR_PWRON;
CLEAR_RESET;
CLEAR_DATAIO;
break;
}
…………… // case 1---case 7
} //finished program
Delay;
SET_CS;? //lock the value
SET_RDYMOD; //out of this mode
return 0;
}
设置MC33560进入待机模式的程序代码如下:
static int 33560_standby_mode()
{
33560_reset();
CLEAR_CS;
CLEAR_PWRON;
SET_CS;
return 0;}
对于激活模式,当MC33560被选中后,RDYMOD引脚将变为输出,此时可以查询MC33560的状态。如果发现有卡,则启动DC/DC转换器。然后继续查询RDYMOD引脚以检测是否成功进行了DC/DC转换。该过程的流程图如图4所示。下面是其程序代码:
SET_CS;
SET_PWRON;
CLEAR_PWRON;
CLEAR_RESET;
CLEAR_CS; // 当 CS=0时,可以查询33560
switch(RDYMOD)
{
case 0:
33560_standby_mode(); //无卡,进入待机模式
break;
default:
SET_PWRON; // 准备检查DC/DC转换是否成功
loop1:
if(RDYMOD==0)
{
delay; // DC/DC转换过载
goto loop1;
}
SET_CS; //转换ok,进入事务处理模式
CLEAR_CS;
break;
}
5 结束语
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~