您的位置 首页 测评

根据SOPC的射频卡实时消费记载体系规划

基于使用户刷卡消费的数据可进行采集存储的目的,采用了在FPGA平台上设计一种射频卡实时消费记录系统的方法。该系统采用了FATFS文件系统,可将用户数据及时保存到SD卡之中。通过对软硬件模块和上位机的设

摘要:依据运用户刷卡消费的数据可进行收集存储的意图,选用了在FPGA渠道上规划一种射频卡实时消费记载体系的办法。该体系选用了FATFS文件体系,可将用户数据及时保存到SD卡之中。经过对软硬件模块和上位机的规划,选用FPGA为开发渠道,对用户刷卡消费的记载写入到SD卡中。运用SD卡的移动性,可便利地完结与计算机的数据交换,到达数据剖析的意图。此法便于客户对消费记载的核对,具有实践商业价值。
要害词:FPGA;NIOS II;FM1702SL;SD;文件体系

文中首要评论射频卡实时消费记载体系的硬件和软件规划。硬件规划首要包含FPGA模块、蜂鸣器、FM1702SL模块、SD卡模块、液晶显现等模块。软件规划部分首要介绍射频读写模块的软件规划、SD卡的软件规划、FATFS文件体系移植、液晶显现和上位机对IC卡充值和加密操作。

1 硬件模块规划
射频卡实时消费记载体系组成如图1所示,首要分为以下几部分:FPGA、电源办理、射频卡通讯、SD卡、液晶显现、蜂鸣器等。

a.JPG

1)FPGA的选用——EP2C8Q208C8N
EP2C8Q208C8N是ALTERA公司推出的Cyclone II芯片,该芯片有8 256个逻辑单元,208个引脚、用户可用的I/O引脚为138个、18个嵌入式乘法器和2个锁相环。与其他90-nm FPGAs同类产品比较在性能上提高了60%并且减少了一半的能量消耗。依据FPGA渠道规划的射频消费记载体系具有规划灵敏、可裁剪、可扩大、可晋级及软、硬件在体系可编程的优势。
2)电源部分
本体系经过一个开关电源供给5 V的电源。体系中FPGA的作业电压为3.3 V与1.2 V,装备芯片EPCS4S18作业电压为3.3 V,射频卡读写模块、液晶显现模块还有蜂鸣器需求5 V供电,SD卡作业在3.3 V,经过AMS1117-1.2与AMS1117-3.3稳压器把5 V的转化成1.2V和3.3V。
3)液晶显现
液晶选用带字库的LCD12864。液晶显现器作业电压为5 V,经过开关电源来供电。液晶显现体系能够显现界面,如“一卡通研制”、“卡号”、“消费”、“余额”等信息。
4)射频卡通讯
考虑到开发性和经济性等要素,这儿选用了复旦微电子股份有限公司规划的FM1702SL(该芯片与RC632结构相似),是依据ISO/EC14443规范的非触摸卡读卡机专用芯片,作业频率为13.56 MHz,并且支撑多种加密算法。射频卡咱们选用的是Phihps公司的MIFARE规范IC卡,该类型卡的效果间隔最大为10 cm,归于紧耦合卡。
ISO/IEC安排依据接口设备与卡效果间隔的不同界说了3个国际规范,如表1所示。

b.JPG

ISO/IEC14443规范又分为ISO/IEC14443A(代表产品是Philips公司的MIFARE射频卡)和ISO/IEC14443B(ST、MoToRoLA、SAMSung、OTI和NEC公司出产的产品)规范。
5)SD卡模块
SD卡是一种依据半导体快闪回忆器的新一代回忆设备,由日本松下、东芝及美国SanDisk公司一起研制,它具有微型、低功耗、防震、非易失性和保存数据无需能量消耗等特色,并且兼容MMC闪存卡,广泛运用于手机、数码相机、智能机器人、GPS、电子测验设备和大容量存储设备。
SD卡支撑SPI和SD两种通讯接口形式,因为ALTERA公司供给了SPI接口IP核,因而在咱们规划的体系中选用的是SPI形式。相对SD形式,SPI形式运用的更广泛一些。

2 软件规划
2.1 射频通讯模块的软件规划
体系选用的是FM1702SL非触摸卡读卡机专用芯片和Philips公司的MIFARE规范IC卡一起组成了射频卡读写模块。了解S50非触摸式IC卡和FM1702SL的内部结构与读写操作进程是编写程序的要害,因而对其做简略介绍。
MF1 IC S50由1KB的EEPROM、RF接口和数字式操控单元组成,能量和数据都经过天线传送,天线由几匝线圈组成并直接连接到MF1 IC S50。其与PCD之间的作业原理为:读写器向M1卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的鼓励下,LC谐振电路发生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单导游通的电子泵,将电容内的电荷送到另一个电容内贮存,当所堆集的电荷到达2 V时,此%&&&&&%可做为电源为其它电路供给作业电压,将卡内数据发射出去或接取读写器的数据。
卡的内部有16个扇区,每个扇区分为4块,别离是块0、块1、块2、块3。块0~块2为数据块,用于存储数据。块3为操控块,包含了暗码A、存取操控、暗码B。每个块为16个字节,以块为存储单元。第0扇区的块0,用于寄存厂商代码,现已固化不行更改。
每个扇区的暗码和存储操控都是独立的,依据实践需求设定各自的暗码及存储操控。在操控块中暗码A和暗码B各占6个字节,存储操控占4个字节,在存储操控中每个块都有相应的3个操控位,经过设定不同的数就具有不同的含义。例如,存储操控的4个字节为0xFF078069,表明块0~块3中别离对应的3个操控位都为0,经过验证暗码A或许暗码B的正确性后就能够对数据块0、1、2进行读、写、加、减、转存和康复操作,关于操控块3来说,暗码A不能读,存储操控不能写,经过验证暗码A或暗码B的正确性后能够对暗码A进行写、暗码B进行读或写、存取操控读操作。
FM1702SL包含512字节的EEPROM和64字节的FIFO,FM1702SL的内部寄存器组按功用不同分红8组,每组为一页,包含8个寄存器,内部还带有加密单元,在FM1702SL中,6字节的密钥有必要以规则的格局寄存在EEPROM内,需求12字节EEPROM。FM1702SL与S50 IC卡之间的通讯能够简略的分为下面几个进程:
1)复位应对
射频读写模块上电复位后,然后进入复位应对形式。依照界说好的协议和波特率,读卡器会对其有用作业规模内的卡进行查验,验证卡片的类型。
2)防抵触机制
所谓防抵触便是当有多张卡在其作业规模内时,射频读写模块会依据操控指令选中其间的一张卡片进行后续操作。
那些没有选中的卡片会处于闲暇状况等候下一次选卡操作。
3)选卡
射频读写模块对放入FM1702SL操作规模之内的某张卡片进行选中,取得其卡序列号和卡片容量巨细。
4)三次彼此认证
当一张卡依照ISO14443A协议被选中后,射频读写模块依据指令拜访扇区号中的操控块,并对该操控块的暗码进行查验,查验方法运用三次认证令牌机制,该认证进程在履行Authent1和Authent2指令时主动完结,在认证指令履行之前,用户有必要确保在密钥缓冲器中现已预备好了密钥,当暗码得到验证,咱们就能够经过加密进行彼此通讯了。
5)对卡的操作
经过认证后,就能够对特定扇区中的块进行读、写、减值、加值、存储、传输和间断操作。
在本项目中,FM1702SL非触摸读卡机专用芯片与S50射频卡通讯的流程图如图2所示。

c.JPG

2.2 液晶显现模块
经过阅览液晶数据手册了解清楚根本原理后,依据咱们项意图需求写了12 864的驱动函数。驱动函数包含延时函数、液晶初始化函数、写数据函数、写指令函数、写数据函数、液晶显现函数、数值的转化格局函数、显现数值函数和射频卡序列号显现函数。
在液晶初始化函数中对通讯方法、功用、显现还有输入方法进行了设置,一起也对液晶进行了清屏操作。在咱们规划的模块中挑选的是并口方法(PSB=1),功用设置为0x30(8字节界面、根本指令集),显现设置为0x0C(全体显现、光标不显现、光标不反向),输入方法设置0x06(光标右移、地址位加1、全体右移)。依据读写时序图,咱们对写数据函数和写指令函数进行了编写。一起,依据项目要求对液晶界面显现内容的格局也进行了编写。液晶部分软件流程如图3所示。

d.JPG

2.3 SD卡的软件规划
在SOPC builder中对SPI核进行相应的装备后,经过写一些驱动函数就能够对外围的SD卡进行读写操作了,这些读写操作仅仅简略的对某个数据扇区进行读写操作,意图是测验底层通讯是否正确,操作流程如图4所示。

e.JPG

SD卡的底层通讯测验正确后,咱们仅仅把SD卡作为一块大容量的Flash在用,为了让时序写入SD卡中的信息在PC中能够直接显现,咱们就要移植文件体系。现在盛行的FAT文件体系模块首要有:周建功公司的ZLG/FS、美国Micrium公司的UC/FS、SourceForge.net网站上发布的开源项目efsl(Embeded File System Library)以及日本电子爱好者规划并保护的FATFS文件体系模块。因为FATFS具有开源、免费、高效等特色,并且相对其他文件体系模块老练一些。
在咱们项目顶用到了FatFS Module,FatFS Module是一个小型嵌入式体系下的FAT文件体系模块,其代码彻底兼容ANSI C,并且与硬件渠道无关,能够简略便利的移植到8051、P%&&&&&%、AVR、SH、Z80、H8、ARM等MCU上,而不要做任何修正。FatFs有FatFs、Tiny-FatFs和Petit-Fat Fs 3个版别,FatFs合适比较大的RAM的设配;Ting-FatFs合适小RAM的体系,比方单片机,价值是更慢的读写速度和更少的API函数;Petit-FatFs合适8位处理器,占用很少的RAM,只对单文件进行读写操作。SD卡文件体系结构如表2所示。

f.JPG

各个层的效果:硬件笼统层完结NIOS2处理器对SD卡操控器相应寄存器的设置,把对SD卡的操作笼统为对相应的寄存器的操作;CRC校验层完结了CRC校验,对指令和呼应运用CRC7校验,对数据选用CRC16校验;指令层界说了各种指令和呼应,以向SD卡发送指令的函数为根底,完结了读写SD卡内部寄存器等功用;操作函数接口层向FatFS文件体系供给操作SD卡的函数,包含:SD卡初始化、读单块数据、读多块数据、写单块数据、写多块数据、获取SD卡信息等函数;Disk I/O层起到一个桥梁效果,供给的函数都是在SD卡的函数根底上编写的;FatFS Mod ule层为运用程序供给函数。
FatFS Moudle移植只需对diskio.c、ff.h和integer.h进行相应的修正。diskio.c需求对6个接口函数进行编程,Disk_initialize、Disk_statue、Disk_read、Disk_write、Disk_ioct1和Get_fattime;ff.h需求依据处理器的类型进行设置;integer.h需求对数据类型进行修正以匹配处理器。在SD卡中创立文件并向文件写入数据的流程图如图5所示。

g.JPG

2.4 射频卡实时消费记载体系软件规划
经过对上面各个模块的规划,结合各个模块的操作,咱们就能够把各个模块整组成一个完好的体系,整个体系流程图如图6所示。

h.JPG

3 上位机规划
上位机部分首要是对射频卡进行操作,图7为上位机的界面。

i.JPG

在咱们项目中为了便利与上位机之间通讯测验,在写FM1702SL的驱动函数时,设置默许暗码为6个F,操作扇区为第1扇区(扇区号从0开端算起),对块1进行写操作。例如,对卡进行充值操作,前2个字节是恣意的,第3个字节和第4个字节是金额,Ox****2710这个2710表明的十进制为10 000,对应的金额为100.00。

4 结束语
本体系选用FPGA为开发渠道,对用户刷卡消费的记载写入到SD卡中,便于客户对消费记载的核对,具有实践商业价值。跟着电子体系向SOC方向开展,选用FPGA的体系规划将得到愈加宽广的开展。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/287420.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部