当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:基于使用户刷卡消费的数据可进行采集存储的目的,采用了在FPGA平台上设计一种射频卡实时消费记录系统的方法。该系统采用了FATFS文件系统,可将用户数据及时保存到SD卡之中。通过对软硬件模块和上位机的设计,采

摘要:基于使用户刷卡消费的数据可进行采集存储的目的,采用了在FPGA平台上设计一种射频卡实时消费记录系统的方法。该系统采用了FATFS文件系统,可将用户数据及时保存到SD卡之中。通过对软硬件模块和上位机的设计,采用FPGA为开发平台,对用户刷卡消费的记录写入到SD卡中。利用SD卡的移动性,可方便地实现与计算机的数据交换,达到数据分析的目的。此法便于客户对消费记录的核对,具有实际商业价值。
关键词:FPGA;NIOS II;FM1702SL;SD;文件系统

    文中主要讨论射频卡实时消费记录系统的硬件和软件设计。硬件设计主要包括FPGA模块、蜂鸣器、FM1702SL模块、SD卡模块、液晶显示等模块。软件设计部分主要介绍射频读写模块的软件设计、SD卡的软件设计、FATFS文件系统移植、液晶显示和上位机对IC卡充值和加密操作。

1 硬件模块设计
   
射频卡实时消费记录系统组成如图1所示,主要分为以下几部分:FPGA、电源管理、射频卡通信、SD卡、液晶显示、蜂鸣器等。


    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所示。


    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所示。


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


2.3 SD卡的软件设计
   
SOPC builder中对SPI核进行相应的配置后,通过写一些驱动函数就可以对外围的SD卡进行读写操作了,这些读写操作只是简单的对某个数据扇区进行读写操作,目的是测试底层通信是否正确,操作流程如图4所示。


    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、PIC、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所示。


    各个层的作用:硬件抽象层完成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所示。


2.4 射频卡实时消费记录系统软件设计
   
通过对上面各个模块的设计,结合各个模块的操作,我们就可以把各个模块整合成一个完整的系统,整个系统流程图如图6所示。



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


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

4 结束语
   
本系统采用FPGA为开发平台,对用户刷卡消费的记录写入到SD卡中,便于客户对消费记录的核对,具有实际商业价值。随着电子系统向SOC方向发展,采用FPGA的系统设计将得到更加广阔的发展。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

太阳能供电应用系统的设计需要考虑多个方面,包括太阳能电池板、储能装置、控制模块等。本文将介绍一种基于太阳能供电的应用系统设计方法,并从这几个方面进行详细阐述。

关键字: 太阳能 系统设计

常州2023年9月25日 /美通社/ -- 9月23日,由江苏省商务厅指导,世界中餐业联合会、常州市人民政府主办的"第三届中华节气菜大会暨首届江南美食节"在江苏常州开幕。文化和旅游部国际交流与合作局一...

关键字: BSP 可持续发展 大赛 质量控制

北京2023年9月25日 /美通社/ -- 9月21日,由中国质量报刊社·中国质量新闻网主办的第六届食品高质量发展交流会在北京举行,会议主题为"高质量,新生活",旨在推动食品行...

关键字: 自动化 BSP ISO9001 NAS

北京2023年9月23日 /美通社/ -- 近日,主线科技正式获准在北京市智能网联汽车政策先行区道路开启常态化测试与示范,将与物流客户在真实开放的城区道路场景中,率先开启基于L4级别自动驾驶能力的智能卡车运输示范。 随...

关键字: 智能卡 测试 高速公路 BSP

曼谷2023年9月18日 /美通社/ -- 作为东南亚的旅游胜地,泰国一直在全球范围内吸引着无数游客的目光。泰国旅游和体育部近日公布的报告显示,今年前7个月,泰国旅游业总收入约为1.08万亿泰铢(约合人民币2233亿元)...

关键字: BSP GEN 国美 AN

哥伦比卡尔达斯2023年9月22日 /美通社/ -- 近日,天合跟踪与中国电建签订拉美地区哥伦比亚泰普伊光伏电站跟踪支架供货协议,将为其提供108MW智能跟踪系统,其中包含开拓者1P智能跟踪支架、智能算法、以及智慧云平台...

关键字: 光伏电站 跟踪系统 控制器 BSP

2型炎症领域新突破 上海2023年9月22日 /美通社/ -- 赛诺菲今天宣布,达必妥®(度普利尤单抗注射液)获得中国国家药品监督管理局(NMPA)批准,用于治疗适合系统治疗的中度至重度结节性痒疹的成...

关键字: PRIME BSP REPORT SAR

欧莱雅中国旗下上海美次方投资有限公司达成首次开放式创新投资 法国克里希2023年9月22日 /美通社/ -- 欧莱雅集团宣布对中国创新型生物科技公司杉海创新进行少数股权投资,以建立长期合作伙伴关系,共同开发新...

关键字: AN BSP DEVELOPMENT FOR

赋能企业实现业务数据的可识别、可见、可协作和安全数据的可操作 北京2023年9月22日 /美通社/ -- 亚马逊云科技持续加速分析与安全服务创新,守护安全基座,助力企业进一步释放数据要素价值,实现创新增长。在数字经济时...

关键字: 亚马逊 BSP 生成式AI SECURITY

重庆2023年9月22日 /美通社/ -- 全球领先的高端半导体封装载板和印制电路板制造商奥特斯连续第八年受邀,出席重庆市市长国际经济顾问团于9月22日举行的第十七届年会。 奥特斯连续第八年受邀,出席重庆市市...

关键字: BSP 印制电路板 微型 微电子
关闭
关闭