预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于ARM的IC卡读写模块设计 (本实验取材于我正做的项目“电动汽车智能交流充电桩”中我负责的部分) 实验名称基于ARM的IC卡读写模块设计课程嵌入式系统 姓名叶冠南班级控制工程1202学号2111203199 实验目的 使用ARM内核的MCU 实验原理 使用基于ARM内核的MCU芯片以及RFID卡完成非接触性IC卡读写模块的设计。 使用时序模拟的SPI通信。 实验环境和器件 编程语言环境:keilMDKμVisionV4.21.0.0 MCU芯片:基于ARM内核的STM32F103VET6芯片(Heart103V开发板) RFID卡:RFID-MFRC522模块 调试工具:JTAG仿真器 实验内容 RFID—MFRC522模块 1.1结构 非接触式IC卡的薄膜结构 卡内部结构 1.2功能 功能框图 读卡器通过天线发射激励信号(一组固定频率的电磁波),IC卡进入读写器工作区内,被读写器信号激励。在电磁波的激励下,卡内的LC串联谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可以作为电源为其他电路提供工作电压,供卡内集成电路工作所需。 (1)ATR模块:AnswerToRequest(“请求之应答”) 当一张MIFARE1卡处在读写器的天线工作范围之内时,程序员控制读写器向卡发出Requestall(或Requeststd)命令后,卡的ATR将启动,将卡片块0中2个字节的卡类型号(TagType)传送给读写器,建立卡与读写器的第一步通信联络。 如果不进行第一步的ATR工作,读写器对卡的其他操作(读/写操作等)将不会进行。 (2)AntiCollision模块:防(卡片)冲突功能 如果有多张MIFARE1卡处在读写器的天线工作范围之内,则AntiCollision模块的防冲突功能将被启动工作。读写器将会首先与每一张卡进行通信,读取每一张卡的序列号(SerialNumber)。由于每一张MIFARE1卡都具有惟一的序列号,决不会相同,因此程序员将启动读写器中的AntiCollision防重叠功能配合卡上的防重叠功能模块,根据卡序列号来选定其中一张卡。被选中的卡将被激活,可以与读写器进行数据交换;而未被选中的卡处于等待状态,随时准备与读写器进行通信。 AntiCollision模块(防重叠功能)启动工作时,读写器将得到卡片的序列号(SerialNumber)。序列号存储在卡的Block0中,共有5个字节,实际有用的为4个字节,另一个字节为序列号的校验字节。 (3)SelectApplication模块:卡片的选择 当卡与读写器完成了上述两个步骤,读写器要想对卡进行读/写操作时,必须对卡进行“Select”操作,以使卡真正地被选中。 被选中的卡将卡片上存储在Block0中的卡容量“Size”字节传送给读写器。当读写器收到这一字节后,方可对卡进行进一步的操作,如密码验证等。 (4)Authentication&AccessControl模块:认证及存取控制模块 完成上述的三个步骤后,读写器对卡进行读/写操作之前,必须对卡上已经设置的密码进行认证,如果匹配,则允许进一步的读/写操作。 MIFARE1卡上有16个扇区,每个扇区都可分别设置各自的密码,互不干涉,必须分别加以认证,才能对该扇区进行下一步的操作。因此每个扇区可独立地应用于一个应用场合,整个卡可以设计成一卡多用(一卡通)的形式来应用。 密码的认证采用了三次相互认证的方法,具有很高的安全性。如果事先不知卡上的密码,则因密码的变化可以极其复杂,试图靠猜测密码而打开卡上一个扇区的可能性几乎为零。 (5)Control&ArithmeticUnit:控制及算术运算单元 这一单元是整个卡的控制中心,是卡的“头脑”。它主要对卡的各个单元进行操作控制,协调卡的各个步骤;同时它还对各种收/发的数据进行算术运算处理、递增/递减处理和CRC运算处理等,是卡中内建的中央微处理器(MCU)单元。 (6)RAM/ROM单元 RAM主要配合控制及算术运算单元,将运算的结果进行暂时存储,例如将需存储的数据由控制及算术运算单元取出送到EEPROM存储器中;将需要传送给读写器的数据由控制及算术运算单元取出,经过RF射频接口电路的处理,通过卡片上的天线传送给读写器。RAM中的数据在卡失掉电源后(卡片离开读写器天线的有效工作范围)将会丢失。 同时,ROM中则固化了卡运行所需要的必要的程序指令,由控制及算术运算单元取出,对每个单元进行指令控制,使卡能有条不紊地与读写器进行数据通信。 (7)CryptoUnit:数据加密单元 该单元完成对数据的加密处理及密码保护。加密的算法可以为DES标准算法或其他。