已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RFID的设计与实现基于RFID的智能停车场的设计与实现1.智能停车场的功能介绍1.1智能停车场的应用环境在同一个小区,或者一个城市里。所有车辆停车都需求IC卡,主要是用在取车验证。所有车辆都办有“电子标签”,粘贴在汽车的挡风玻璃内。同一个小区或者城市里的所有车辆都已经办理好停车“电子标签”和IC卡,电子标签和IC卡里记载的有车辆和车主的信息,包括:车牌号、车型号、车的颜色、车主姓名。1.2智能停车场的功能要求智能停车场的整体流程:当一辆车驶入停车场入口时,位于停车场前10M处的识读器会读到位于车内的电子标签,并对读到的数据进行处理。如果是有效的电子标签则记录信息并传送给上位机记录,并显示余额。当车辆驶进入口后,停车场内A区,B区,C区,D区的停车空位显示屏上会实时显示出空位供车主进行选择停放位子。当车主停好车后,该车位的终端节点识读器会及时读到车上的电子标签,然后把停车的车位信息通过无线方式发送给数据采集器,然后数据采集器再通过再把信息汇总发送到上位机,比如A区3号。车主取车时,根据进入停车场的取车通道处刷IC卡,读卡器进行验证后显示出停车的位子。最后车主开车驶出停车场。以上的识读器和读卡器不是同一类型,识读器的范围在1m-2m,而读卡器的范围为10cm以内。智能停车场要实现的功能:1.车辆不停车进入停车场。2.停车场内的识读器会及时记录车辆停车的位子并传送给上位机。3.车主取车时在岗亭刷卡验证后会及时返回给车主车辆的位子。智能停车场的系统结构2. RFID系统整体设计结构主控机(PC)数据采集器数据采集器终端节点终端节点终端节点终端节点终端节点终端节点l 主控机:该部分位于整个系统的最上层,负责控制和管理网络中的所有通信,并对收集到的各个节点的数据进行处理。可以使用PC机作为主控机,利用RS-485总线连接多个数据采集器。l 数据采集器:在一个具体的应用环境中,无线系统往往受到通信距离、空间布局、外部干扰等因素的限制,无线通信端的节点无法直接与主控计算机通信,这就需要使用数据采集器作为中间媒介,将无线终端和主控机连接在一起。数据采集器通常使用处理能力较强、硬件资源较为丰富的高级单片机,如Winbond公司的W77E58。l 终端节点:也就是停车场具体车位上的识读器,由于数量相对较多,可以使用通用8051控制器来降低系统成本(如AT89S52)。无线射频识别操作的一个关键因素是数据的传输转换,它发生在RFID标签与识读器之间,称为耦合。这是通过RFID标签的天线与识读器的天线进行的。磁感应耦合的无线射频范围读取范围小,只有几厘米。车主取车时用IC卡验证,用的就是这种方式。电磁波进行通信的范围较大,可以达到10m以外。停车场入口的地方我们可以用这种方式来实现车辆驶入停车场不用停车。硬件组件:RFID标签、识读器和天线。系统硬件设计标签识读器主机网络RFID系统软件主机应用程序RFID中间件软件组成:RFID系统软件、RFID中间件和主机应用程序。2.1 RFID标签RFID标签一般由天线、调制器、编码发生器、时钟电路及存储器组成,其工作过程为:时钟电路把所有电路功能时序化,以使存储器中的数据在精确的时间内传输至读写器,存储器中的数据是应用系统规定的唯一性编码,标签安装在识别对象(如集装箱、车辆、动物等)前就已写入。数据读出时,编码发生器把存储器中存储的数据编码,调制器接收由编码发生器编码后的信息,并通过天线电路将此信息发射反射至读写器。数据写入时,由控制器控制,将天线接收到的信号解码后写入存储器。通常,RFID标签具有如下功能:(1)具有一定容量的存储器,用以存储被识别对象的信息;(2)在一定工作环境及技术条件下标签数据能被读出或写入;(3)维持对识别对象的识别及相关信息的完整;(4)数据信息编码后,工作时可传输给读写器;(5)具有确定的使用期限,使用期限内无须维修:(6)对于有源标签,通过读写器能显示出电池的工作状况。2.2 RFID射频读写器射频读写器一般由天线、射频模块、读写模块等组成。其中,天线是发射和接收射频载波信号的设备,在确定的工作频率和带宽条件下,天线发射由射频模块产生的射频载波,并接收从标签发射或反射回来的射频载波:射频模块可发射和接收射频载波,射频载波信号由射频振荡器产生并被射频处理器放大。该射频载波通过天线发射;射频模块将天线接收的从标签发射反射回来的载波解调后传给读写模块;读写模块接收射频模块传输的信号,解码后获得标签内信息或将要写入标签的信息编码后传给射频模块,完成写标签操作,同时还可以通过标准接口将标签内容和其他信息传给计算机。通常,射频读写器具有如下功能:(1)读写器与标签通信的功能;在规定的技术条件下读写器可与标签进行通信。(2)读写器与计算机通信的功能:通过标准接口与计算机网络连接,并提供本读写器的识别码、本读写器读出标签的日期和时间、本读写器读出的标签信息,以实现多个读写器在系统网络中运行。(3)有些应用系统的读写器还具有以下功能:能在读写区内查询多个标签,并能正确区分各标签:适用于固定和移动对象T能提示读写过程中的错误信息;对于有源标签,能读出标签电池有关信息(如电池电量指示)。在RFID系统设计中,本人主要工作是进行射频读写器的设计。由于超高频射频芯片造价太高,接下来本人设计验证时用M1(Mifare卡)来代替RFID标签,RC500射频芯片来代替超高频射频芯片RMU900。3. 硬件设计与实现系统硬件电路以AT89C52单片机、RC500射频芯片和nRF905模块为核心元件,由单片机的I/O端口分别控制RC500和nRF905。系统硬件组成电路如下图所示:RC500A0-A7 NWR NRD NCS IRQ ALEP0-P7 WR RD P2.7 P3.2 ALEAT89C52P2.6 P1.2 P1.3 P2.2 P2.3 P1.6 P1.5 P1.4 P2.4 P2.5模式控制端口 SPI端口 MISO 状态输出nRF905MF RC500和单片机AT89S52都是采用标准TTL电平,不需电平转换。系统硬件设计中的关键接口部分连接如下:MFRC500的AD0-AD7为带施密特触发器的双向数据和地址复用总线,接单片机AT89C52的AD0-AD7。MF RC500的NWPdRNW为带施密特触发器的写禁止只读信号,接单片机的写信号wR。MF RC500的NRDNDS为带施密特触发器的读禁止,数据选通禁止信号,接单片机的读信号RD。MF RC500的NCS为带施密特触发器的片选禁止信号接单片机的I0口线P2.7。MF RC500的ALE为带施密特触发器的地址锁存使能信号,接单片机的地址锁存信号。MFRC500的IRQ为带施密特触发器的中断请求信号,接单片机的中断口。3.1 MCU控制模块MCU模块中,控制核心采用AT89S52单片机,硬件电路如图3-1所示。其中,P0口控制MFRC500的数据;晶振Y选用110592MHz(若用221184MHz晶振,可在程序内部直接改写即可);图3-13.2射频模块射频基站模块是射频卡读写器的关键部件,通过该模块与射频卡进行数据通信。射频基站模块的主要部件就是射频基站芯片,选用philip公司的MFRC500射频基站芯片,其功能框图如图3-2-1所示。图3-2-1MF RC500是应用于1356Mllz非接触式通信中高集成读卡IC系列中的一员。读卡IC系列利用先进的调制和解调概念,完全整合了在1356MHz下任何类型的被动非接触式通信方式和协议。它内部包括微控制器接口单元、模拟信号处理单元和IS014443A规定的协议处理单元,以及Mifare卡特殊的Cryptol安全密钥存储单元。它可以与所有兼容Intel或Motorola总线的微控制器实现8位并行“无缝”接口(直接连接),其内部还具有64个字节的先进先出(FIFO)队列,可以和微控制器之间高速传输数据;其片内的IS014443A协议处理单元包括状态和控制单元、数据转换处理单元;片内的模拟单元能够将数字信号处理单元的数据信息调制并发送到天线中,也可以将天线接收到的信息解调成数字信号传送给协议处理单元,带有一定的天线驱动能力。MF RC500支持IS014443A任何的层,内部的发送器部分无需增加有源电路就能够直接驱动近操作距离的天线(可达lOOmm);接收器部分提供一个坚固而有效的解调和解码电路,用于IS014443兼容的应答器信号;数字部分处理IS014443A帧和错误检测(奇偶CRC)。此外它还支持快速CRYPTOI加密算法,用于验证Mifare系列产品。方便的并行接口可直接连接到任何8位微处理器,给读卡器终端的设计提供了极大的灵活性。MFRC500的AD卜AD7为带施密特触发器的双向数据和地址复用总线,接单片机AT89C52的ADnD7。MF RC500的NWPdRNW为带施密特触发器的写禁止只读信号,接单片机的写信号wR。MF RC500的NRDNDS为带施密特触发器的读禁止,数据选通禁止信号,接单片机的读信号RD。MF RC500的NCS为带施密特触发器的片选禁止信号接单片机的I0口线P27。MF RC500的ALE为带施密特触发器的地址锁存使能信号,接单片机的地址锁存信号。MFRC500的IRQ为带施密特触发器的中断请求信号,接单片机的中断口。其接口电路图如图3-2-2所示。图3-2-23.3串行通信模块在本系统中,PC机与单片机之间的通信是近距离的串行通信,可以采用RS232实现。单片机串口的输入输出均为TTL低电平,而PC机的RS232接口为了提高抗干扰性能,采用RS232标准的EIA电平,所以要实现PC机与单片机之间的串行通信,其接口必须进行电平转换。选用MAX232芯片实现这两种电平之间的转化。硬件接口电路如图3-3所示,其中E5、E6、E7、E8均为01uF电容,数据也可以以无线的方式将数据发给PC机。图3-33.4天线设计天线部分主要包括低通滤波器、接收电路、天线匹配电路和天线线圈,其工作过程为:天线拾取的信号经过天线匹配电路送到Rx脚。MF RC500的内部接收器对信号进行检测和解调并根据寄存器的设定进行处理。然后数据发送到并行接口。由微控制器进行读取。MF RC500对驱动部分使用单独电源供电。电路设计天线直接连接的匹配电路如3-4-1所示。图3-4-1MF RC500的非接触式天线接口主要引脚功能如表3-4-2所示。非接触式天线使用以下4个管脚:名 称类 型功 能TX1, TX2输出缓冲天线驱动器WMID模拟参考电压RX输入模拟天线输入信号图3-4-24. 软件设计4.1软件设计思路根据系统要求,软件部分设计包括两大部分,即:上位机对读卡器的操作、数据的读写、密码的管理、功能的测试等等;读卡器对卡的实时监控,显示并将数据发给上位机。程序设计采用单片机汇编语言和Kei 1C51混合编程。看门狗定时器中断服务程序采用汇编语言编写,其它程序采用C语言编写。程序的每一部分按模块化设计成一个文件,单独调试通过后,再在KeilC51环境下加入到工程文件中汇编生成HEX文件,用仿真器进行仿真通过后,写入AT89S52芯片中,然后脱离仿真器运行。系统开始运行时,首先进行初始化,其过程为:对RC500配置的初始化,液晶显示的初始化和定时器波特率的初始化。1、 初始化系统/ 系统初始化/void init(void)ET2 = 0; /cpu的定时溢出中断2开放控制位 T2CON = 0x04;/启动定时器2 PCON = 0x80; /串口波特加倍 SCON = 0x70; TMOD = 0x21; /采用定时器1的工作模式2,采用定时器0的工作模式1 /TMOD = 0x22;TH1 = 0xfd; /0xfdTL1 = 0xfd;/0xfdTR1 = 1; /启动T1开始计数TH0 = 0x60; TL0 = 0x60; TR0 = 0; /启动T0开始计数 ET0=0;/禁止定时/计数器0溢出产生中断ET1=0;/禁止定时/计数器1溢出产生中断EA=1; /开总中断EX0=1;/禁止外部中断0IT0 = 1; /外部中断为边沿触发方式TR2=0;/T2停止计数 ES = 1; /响应串行口中断 /SPEAKER=1;/P2.6 蜂鸣器响/delay_10ms(30);/延时0.3秒/SPEAKER=0;/蜂鸣器灭/delay_10ms(30);/SPEAKER=0;/* 复位并初始化RC500*注意:RC500上电后应延时500ms才能可靠初始化*/char PcdReset() char status=MI_OK; char n=0; uint i=0x4000; RC500_CE=0; RC500_RST=1; DelayMs(100); RC500_RST=0; while(i!=0n!=0x3f) n=ReadRawRC(RegCommand); i-; while(i!=0n=0x3f) n=ReadRawRC(RegCommand); i-; if(i!=0) WriteRawRC(RegPage,0x80); n=0x80; while(i!=0)(n0x80) n=ReadRawRC(RegCommand); i-; if(i=0|(n0xff) status=MI_RESETERR; else status=MI_RESETERR; if(status=MI_OK) WriteRC(RegClockQControl,0x0); WriteRC(RegClockQControl,0x40); DelayUs(100); ClearBitMask(RegClockQControl,0x40); WriteRC(RegBitPhase,0xad); WriteRC(RegRxThreshold,0xff); WriteRC(RegRxControl2,01); WriteRC(RegFIFOLevel,0x1a); WriteRC(RegTimerControl,0x02); WriteRC(RegIRqPinConfig,0x02); WriteRC(RegTxControl,0x5b); return status; 4.2射频读写卡程序设计读写卡过程是一个很复杂的程序执行过程,要执行一系列的操作指令,调多个C51函数,包括装载密码,询卡,防冲突,选卡,验证密码,读写卡,卡。这一系列的操作必须按固定的顺序进行。在没有Mifare卡进入射频天有效范围时,在低5位显示当前时钟,当有Mifare卡进入到射频天线的有范围,读卡程序验证卡及密码成功后,将卡号和读卡时间及相关数据作为一记录存入E2pROM存储器中,并在LED显示器高5位上显示卡号。程序流程图如图4-2所示:RC500复位与初始化搜索IC卡IC卡防冲突选择IC卡认证命令转移读块写块增值减值暂停是否改变访问分区?NY图4-21.写(设置)RFID卡第一部分功能为上位机对读卡器的操作,读卡器对卡进行数据的读写,密码的管理和功能的测试,通过上位机发送的命令,可以进行寻卡,防冲突,选择和终止等功能。对16个扇区密码的下载,及A B组密码的选择。对16个扇区,每个扇区3个块的数据读写。块值操作,包括初始化,读值,加值和减值;密码的修改。射频卡处理部分,void cmdexecution(void)详细的写出了怎样进行各种设置,包括12种功能设置:终止卡操作;寻卡,防冲突,选择卡,返回值操作;防冲突读卡的系列号MLastSelectedSnr;选择卡Select Card:校验卡密码(E2);下载密码(E2);直接校验密码;读卡;写卡下载密码;参数设置。/*原型:char PcdRequest(uchar req_code)*功能:寻卡*input:req_code=寻卡方式* req_code=0x52:寻天线区内所有符合14443A标准的卡* req_code=0x26:只寻未进入休眠状态的卡*ouput:status=MI_OK:寻卡成功*/*原型:char PcdAnticoll(uchar *snr)*功能:防冲撞* 寻卡成功后,通过此函数向天线区内卡片发送防冲撞命令,无论天线区内有几张卡* 此函数只得到一张卡片的序列号,再用Pcdselect()函数选定这张卡,则所有后续* 命令针对此卡,操作完毕后用PcdHalt()命令此卡进入休眠状态,再寻未进入休眠* 状态的卡,可进行其它卡片的操作*input:snr=存放序列号(4byte)的内存单元首地址*output:status=MI_OK:成功* 得到的序列号放入指定单元*/*原型:char PcdSelect(uchar *snr)*功能:选定一张卡*input:snr=存放序列号(4byte)的内存单元首地址*output:status=MI_OK:成功*/*原型:char ChangeCodeKey(uchar *uncoded,uchar *coded)*功能:将密钥转换为RC500接收格式,密钥格式见048020.PDF第67页 密钥准备*input:uncoded=6字节未转换的密钥首地址* coded=12字节转换后的密钥存放首地址*output:status=MI_OK:成功* 转换后的密钥存入指定单元 */*原型:char PcdAuthKey(uchar *keys)*功能:将已转换格式后的密钥送到RC500的FIFO中*input:keys=12字节密钥存放首地址*output:status=MI_OK:成功*/*原型:char PcdAuthState(uchar auth_mode,uchar block,uchar *snr)*功能:用存放RC500的FIFO中的密钥和卡上的密钥进行验证*input:auth_mode=验证方式,0x60:验证A密钥,0x61:验证B密钥* block=要验证的绝对块号* snr=序列号首地址*output:status=MI_OK:成功*/*原型:char PcdRead(uchar addr,uchar *readdata)*功能:读卡上一块(block)数据(16字节)*input:adde=要读的绝对块号* readdata=读出的数据存放首地址*output:status=MI_OK:成功* 读出的数据存入readdata指向的单元*/*原型:char PcdValue(uchar dd_mode,uchar addr,uchar *value)*功能:扣款和充值*input:dd_mode=命令字,0xc0:扣款,0xc1:充值* addr=钱包的绝对块号* value=4字节增(减)值首地址,16进制数,低位在前*output:status=MI_OK:成功*/5. PCB设计5.1PCB设计思想在PCB设计过程中,合理的布局、布线是及其关键的。所谓布局就是把电路图上所有的元器件都合理地安排到有限面积的上,而布线就是在布局之后通过设计铜铂的走线图,按照原理图连通所有的走线。显然布局的合理程度直接影响布线的成功率,往往在布线过程中还需要对布局作适当的调整,布线设计可以采用双层走线和单层走线。对于极其复杂的设计也可以考虑采用多层布线方案。本系统PCB板的设计思路为:模拟电路和数字电路的布局相对独立,但又不完全分开:连接插座基本都设计在PCB板的外围,方便拔插和使用。并采用了双层布线方式,使读写器的电路板更加趋于合理。设计过程中,全部采用贴片式的元器件,这样可有效的节省空间和缩小体积,使整个电路板看上去美观、大方。天线部分的设计将铜铂的走线和元器件有效的分开,这样有利于实际产品的生产和加工、安装,而且又美观。地线尽量扩大,由于整个电路板采用了双层布线,又加之是混合电路(模拟电路和数字电路),所以设计时就将一面作为主要的信号走线,而另一面作为主要地的走线,这有利于电磁兼容性(EMC)和克服干扰等问题。RFID读写器原理图的PCB板为图5-l所示,系统顶层图见图42。其中,本系统为5V供电(禁止电压高于525V)。图5-1结论与展望无线RFID读写器,具有功能多样、安全可靠、性价比高等特点,可以在公路不停车收费和交通管理、资产设备管理、物流仓储管理、校园考勤、进销存、餐饮娱乐管理、检票系统、畜牧管理等方面可以发挥重要作用。本文通过对无线RFID读写器系统的设计和开发,得出如下结论:1)论述了无线RFID读写器系统的主要应用领域和发展动向,介绍了硬件系统、软件系统的开发过程,提出了切实可行的应用方案。2)通过对硬件系统和软件系统的仔细调试,发现了存在的一些问题,在调试过程中把问题逐一解决,从而保证各功能完美实现,保证系统安全、可靠运行,实用范围非常广泛。3)对系统开发过程中用到的关键技术,如IC卡防冲突机制、无线应用等技术进行了详细研究可利用Delphi开发前台应用程序实现对后台SQLServer 2000数据库的调用,从而使其应用更加广泛。4)本系统如加以修改和提升,还可以设计成万能卡读写器(市场上只要有的135M射频卡都可以进行读写),当然要增加硬件和重新设计软件。5)本系统如还可以在增加存储容量和修改软件的基础上,将其设计成为一个手持的便携式读写器,这样其应用范围就更加广泛。附录:/* 延时*/void DelayMS(uchar j) uchar i,n; for(i=0;ij;i+) for(n=0;n230;n+); void DelayUs(uchar j) uchar i,n; n=j/5; for(i=0;in;i+);/*原型:char PcdRequest(uchar req_code)*功能:寻卡*input:req_code=寻卡方式* req_code=0x52:寻天线区内所有符合14443A标准的卡* req_code=0x26:只寻未进入休眠状态的卡*ouput:status=MI_OK:寻卡成功*/char PcdRequest(uchar req_code) char status; idata struct TranSciveBuffer uchar MfCommand; uchar MfLength; uchar MfData1; MfComData; struct TranSciveBuffer *pi; pi=MfComData; PcdSetTmo(106); WriteRC(RegChannelRedundancy,0x03); ClearBitMask(RegControl,0x08); WriteRC(RegBitFraming,0x07); MfComData.MfCommand=PCD_TRANSCEIVE; MfComData.MfLength=1; MfComData.MfData0=req_code; status=PcdComTransceive(pi); if(!status) if(MfComData.MfLength!=0x10) status=MI_BITCOUNTERR; return status;/*原型:char PcdAnticoll(uchar *snr)*功能:防冲撞* 寻卡成功后,通过此函数向天线区内卡片发送防冲撞命令,无论天线区内有几张卡* 此函数只得到一张卡片的序列号,再用Pcdselect()函数选定这张卡,则所有后续* 命令针对此卡,操作完毕后用PcdHalt()命令此卡进入休眠状态,再寻未进入休眠* 状态的卡,可进行其它卡片的操作*input:snr=存放序列号(4byte)的内存单元首地址*output:status=MI_OK:成功* 得到的序列号放入指定单元*/char PcdAnticoll(uchar *snr) uchar i; uchar snr_check=0; char status=MI_OK; idata struct TranSciveBufferuchar MfCommand; uchar MfLength; uchar MfData5; MfComData; struct TranSciveBuffer *pi; pi=MfComData; PcdSetTmo(106); WriteRC(RegDecoderControl,0x28); ClearBitMask(RegControl,0x08); WriteRC(RegChannelRedundancy,0x03); MfComData.MfCommand=PCD_TRANSCEIVE; MfComData.MfLength=2; MfComData.MfData0=PICC_ANTICOLL1; MfComData.MfData1=0x20; status=PcdComTransceive(pi); if(!status) for(i=0;i4;i+) snr_check=MfComData.MfDatai; if(snr_check!=MfComData.MfDatai) status=MI_SERNRERR; else for(i=0;i4;i+) *(snr+i)=MfComData.MfDatai; ClearBitMask(RegDecoderControl,0x20); return status;/*原型:char PcdSelect(uchar *snr)*功能:选定一张卡*input:snr=存放序列号(4byte)的内存单元首地址*output:status=MI_OK:成功*/char PcdSelect(uchar *snr) uchar i; char status; uchar snr_check=0; idata struct TranSciveBufferuchar MfCommand; uchar MfLength; uchar MfData7; MfComData; struct TranSciveBuffer *pi; pi=MfComData; PcdSetTmo(106); WriteRC(RegChannelRedundancy,0x0F); ClearBitMask(RegControl,0x08); MfComData.MfCommand=PCD_TRANSCEIVE; MfComData.MfLength=7; MfComData.MfData0=PICC_ANTICOLL1; MfComData.MfData1=0x70; for(i=0;i4;i+) snr_check=*(snr+i); MfComData.MfDatai+2=*(snr+i); MfComData.MfData6=snr_check; status=PcdComTransceive(pi); if(status=MI_OK) if(MfComData.MfLength!=0x8) status = MI_BITCOUNTERR; return status;/*原型:char ChangeCodeKey(uchar *uncoded,uchar *coded)*功能:将密钥转换为RC500接收格式,密钥格式见048020.PDF第67页 密钥准备*input:uncoded=6字节未转换的密钥首地址* coded=12字节转换后的密钥存放首地址*output:status=MI_OK:成功* 转换后的密钥存入指定单元 */char ChangeCodeKey(uchar *uncoded,uchar *coded) uchar idata cnt=0; uchar idata ln=0; uchar idata hn=0; for(cnt=0;cnt6;cnt+) ln=uncodedcnt0x0F; hn=uncodedcnt4; codedcnt*2+1=(ln4)|ln; codedcnt*2=(hn4)|hn; return MI_OK;/*原型:char PcdAuthKey(uchar *keys)*功能:将已转换格式后的密钥送到RC500的FIFO中*input:keys=12字节密钥存放首地址*output:status=MI_OK:成功*/char PcdAuthKey(uchar *keys) char status; uchar i; idata struct TranSciveBufferuchar MfCommand; uchar MfLength; uchar MfData12; MfComData; struct TranSciveBuffer *pi; pi=MfComData; PcdSetTmo(106); MfComData.MfCommand=PCD_LOADKEY; MfComData.MfLength=12; for(i=0;i12;i+) MfComData.MfDatai=*(keys+i); status=PcdComTransceive(pi); return status;/*原型:char PcdAuthState(uchar auth_mode,uchar block,uchar *snr)*功能:用存放RC500的FIFO中的密钥和卡上的密钥进行验证*input:auth_mode=验证方式,0x60:验证A密钥,0x61:验证B密钥* block=要验证的绝对块号* snr=序列号首地址*output:stat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自带药物注射免责协议书
- 2026-2031中国光学镜头行业分析与发展趋势研究报告
- 2026-2031中国光电材料市场全景调查研究报告
- 2025年防疫卫生常识知识考察试题及答案解析
- 防台防汛抢险应急救援预案演练方案
- 2025年起重装卸机械操作工起重机维修中级职业技能鉴定试卷及答案
- 职业卫生健康培训试题及答案
- 2026年建筑验收协议
- 消防安全管理考试试题及答案
- 2026年工程技术合规合同
- 幕墙工程技术交底范本集
- 中国五冶集团招聘笔试题库2025
- 招生老师业务提成协议书
- 入团考试题库及答案海南
- GB 46039-2025混凝土外加剂安全技术规范
- 苏教版新版一年级上册科学期末复习单元知识
- 2025至2030中国大闸蟹养殖行业产业运行态势及投资规划深度研究报告
- 非标设备现场组装方案(3篇)
- 中国邮政内容讲解
- 2025-2030中国台湾地区机床产业竞争力比较分析报告
- 托幼一体化模式对教师队伍素质培养路径探析
评论
0/150
提交评论