TEMIC系列射频卡开发指南.doc
《TEMIC系列射频卡开发指南.doc》由会员分享,可在线阅读,更多相关《TEMIC系列射频卡开发指南.doc(28页珍藏版)》请在冰豆网上搜索。
TEMIC系列射频卡开发指南
TEMIC系列射频卡开发指南
一.开发设计简介:
TEMIC系列射频卡产品包括E5550、E5560卡和U2270B基站芯片。
`在开发过程中由开发商自行设计基站发射、接收电路。
由于U2270B基站芯片只需少量的驱动电路,并且具有多种供电模式。
这给用户以极大的简便性和灵活性。
用户可以根据不同的应用要求快速、简便的设计出不同特点的基站电路。
用户仍然需要绕制基站天线,一般使用铜制漆包线绕制直径3CM、100圈的线圈即可。
这些特点要求开发射频卡应用软件的同时还要设计基站发射电路。
二.设计目标:
1.硬件设计:
根据应用环境(供电条件、功耗要求)的需要设计发射基站电路。
绕制合适的天线线圈,要求达到要求的频率特性。
设计单片机控制接口电路对基站电路进行控制。
2.软件设计:
根据设计电路的约定设计射频卡读写程序,要求能够对射频卡进行完备操作(读数据、写数据、加密控制等),并能够提供简便易用的编程接口(函数封装)。
设计单片机与PC机的通讯程序,设计通讯和命令格式约定等协议。
在PC端还要设计应用程序接口(动态连接库.DLL)供上层应用程序调用。
三.实现:
1.硬件实现:
E2270B支持两种供电方式。
一种为+5V直流电源供电,另一种为汽车用+12V电池供电,并且E2270B还具有电压输出功能可以给微处理器或其他外围电路供电。
此外,对E2270B还有省电模式和STANDBY控制可选,所以设计基站电路时应中和以上功能的不同要求,设计基站的外围电路。
这里只对几个常用控制功能的实现加以说明。
A.省电模式:
当射频卡系统应用于汽车、门禁等领域如果对电路的耗电量加以控制(射频信号发射的功耗是远远大于接触式IC卡的),可以有效的节省能耗延长内置电池的寿命。
在需要降低功耗的领域可以在无卡检测的过程中间断的打开和关闭射频输出(E2270B的CFE脚)。
也可以使卡处于STANDBY模式(控制U2270B的STANDBY脚)这样可以极大的降低基站的耗电量。
此外用户也可以使用外加检测电路的方法如:
光电管、红外检测等低耗电手段来控制基站的工作这样可以得到很好的省电要求。
B.串行通讯:
假设射频卡读写器为PC机的外围设备,读写器与微机的通讯需要通过串行口进行。
根据需要用户可以选择使用各种串行接口电路。
这里假设使用RS232串行接口电路。
C.电路原理图:
2.软件实现:
软件设计要求设计汇编程序完成对射频卡的完备操作(包括读操作、写操作以及命令发送等)。
读卡程序要求用软件模拟信号时序,自动检测同步信号同步后要根据选择的编码方式进行软件解码,最后将解码得到的数据流按合理顺序存人指定存储区。
写卡程序使用开关天线负载的方法对数据进行编码,要求能向IC卡发射各种组合的数据流,完成对IC卡的各种控制功能(注:
写程序只完成向IC卡发送数据的功能,对命令或写操作的执行情况不做检测,而是由读卡程序获取IC卡的反馈信息后再进行比较判断)。
由于E5550卡与E5560卡的特性区别所以对两种卡的读写程序不尽相同,但两种卡读写程序的设计思想是基本相同的。
A.E5550卡读写程序:
在介绍E5550卡的读写卡程序之前,先要了解该类型卡的读写特性。
这些特性包括:
EEPROM的存储分配、卡的同步信号、发射频率、BITRATE、卡控制块的结构、写卡以及其他卡操作的命令格式等。
E5550卡内置264位的EEPROM这些存储区分为8个BLOCK每块33位,其中第0位为块锁定位,一旦该位被置‘1’则该块儿数据将不能再做任何修改,而且LOCK位是无法恢复的。
LOCK位不随其他位一起发射到基站(即:
LOCK位是不可读的用户实际使用的数据区位每块的后32位共256位)。
8个BLOCK中的BLOCK0是作为卡片的控制块存储卡的控制信息,BLOCK7是PASSWORD区在口令加密功能启动时这里存放卡的读写控制密码,当加密功能没有使用时该区也可以存放用户数据。
其他六个存储块用户可以用来存放各种数据。
EEPROM结构如图:
0132
LUserDataOrPasswordBlock7
LUserDataBlock6
LUserDataBlock5
LUserDataBlock4
LUserDataBlock3
LUserDataBlock2
LUserDataBlock1
LModeDataBlock0
32BIT
Nottransmitted
E5550卡控制块用于控制卡的各种操作的特性,如:
同步信号、数据流格式、数据流长度、加密、口令唤醒和停止发射等功能的启用关闭等。
控制块位于EEPROM的第0块数据区可由用户进行编程控制(用户向卡发送写命令给该区写入一定格式的数据即可)。
一般一个应用系统的卡的模式块的值是统一的,在发卡时建议写入数据后将该块的LOCK位置‘1’这样可以防止对控制块的误修改引起卡的操作不正常。
E5550卡的控制块的结构和功能说明如图:
(模式设置将影响读写程序的设计)
0111121314151617181920212223242526272829303132
LRESERVEDBR0MS1MS2PSK0MaxblkSTBt0
AORuseSTOP
PWD
下面结合对控制块的说明,简单介绍E5550卡的各种工作模式和操作特性:
在E5550卡中控制块的第1位至第11位之间的11位和第32位为保留位,现在没有使用,用户可以写入任何值,建议写入‘0’用来和其他功能位区别。
控制块中的第15位和第24位必须写入‘0’否则卡将不能正常工作。
从第12位至第14位为Bitrate设置位。
用户通过设置这三位的值可以决定卡发射数据时的Bitrate。
用户可按下表中的值进行设置。
(一般使用RF/32的BITRATE)
第12位第13位第14位BitRate
000RF/8
001RF/16
010RF/32
011RF/40
100RF/50
101RF/64
110RF/100
111RF/128
第16~17位、18~20位以及21~22位结合在一起设定卡发射数据的调制方法,具体配合方式如下表所示。
用户设置16、17位为‘00’时18~20位的设置有效,如果18~19
位设置为‘001’、‘010’、‘011’时可继续使用第21~22位设置在PSK调制方法下的
1617ModuMode
00direct181920ModuModeMoreData1Data0
01Mancheester000direct
10Biphase001PSK1
11Reserved010PSK2
011PSK3
2122PSKCF100FSK1RF/8RF/5
00RF/2101FSK2RF/8RF/10
01RF/4110FSK1aRF/5RF/8
10RF/8111FSK2aRF/10RF/8
11reserved
频率变化。
第23位用来控制是否启动AOR(Answer-On-Request)功能。
该位设置为‘1’时启动AOR功能,这时IC卡进入射频区域后不主动发射数据,而要由基站给IC卡发射唤醒命令后再发射数据。
该功能要求首先启动口令加密功能,也就是说基站要唤醒一个IC卡时必须在唤醒命令序列中向IC卡发射口令密码,IC卡检测到包含合法口令的唤醒命令时才恢复发送数据。
要启动口令加密功能就要求将控制块的第28位设置为‘1’。
启动口令加密功能后第7块数据区将保存IC卡的口令密码,所以启动加密功能之前应该事先写入密码。
如果允许修改密码则不用锁定BLOCK7如果密码永久有效则要在写入密码的同时锁定BLOCK7这样用户将不能修改密码。
在加密模式下用户对卡中数据进行任何修改均要求提供密码验证。
密码正确时修改操作有效,密码不正确则修改无效。
后面将讲到加密模式和非加密模式下的写命令格式是不同的。
为了保护密码不被未知用户截获,用户在启动加密功能后还应该对控制块的第25~27位进行设置。
这三位设置的为IC卡发射数据时发射的最大数据块数(MaxBlock)这三位的设置和发射数据流的关系如下表:
第25位第26位第27位SendBlocks
000Onlyblock0
0