(最新版)125kHzRFID读卡器研究报告书 联系客服

发布时间 : 星期一 文章(最新版)125kHzRFID读卡器研究报告书更新完毕开始阅读9d067313854769eae009581b6bd97f192279bfa4

图 5 控制电路

三、系统软件设计

系统软件设计包括两部分:125 kHz载波的发生和曼彻斯特解码。载波信号产生相对简单,可利用单片机的P口可得到125 kHz的方波。解码软件设计相对较复杂,要对ID卡进行解码,首先应掌握ID卡的存储格式和曼彻斯特编码方式,然后对解码后的数据进行计算。

(一) EM4100数据存储格式

图6是EM4100的64位数据信息,它由5个区组成:9个引导位、10个行偶校验位“PO~P9’、4个列偶校验位“PC0~PC3”、40个数据位“D00~D93”和1个停止位S0。9个引导位是出厂时就已掩膜在芯片内的,其值为“”,当它输出数据时,首先输出9个引导位,然后是10组由4个数据位和1个行偶校验位组成的数据串,其次是4个列偶校验位,最后是停止位“0”。“D00~D13”是一个8位的晶体版本号或ID识别码。“D20~D93”是8组32位的芯片信息,即卡号。

图6 EM4100卡内部数据存储格式

每当EM4100将64个信息位传输完毕后,只要ID卡仍处于读卡器的工作区域内,它将再次按照图3顺序发送64位信息,如此重复,直至ID卡退出读卡器的有效工作区域。

(二) Manchester码编码方式

Manchester编码如图7所示:

图7 Manchester码编码方式

位数据“1”对应着电平下跳,位数据“0”对应着电平上跳。在一串数据传送的数据序列中,两个相邻的位数据传送跳变时间间隔应为1P。若相邻的位数据极性相同(相邻两位均为“0”或“1”),则在两次位数据传送的电平跳变之间,有一次非数据传送的、预备性的(电平)“空跳”。电平的上跳、下跳和空跳是确定位数据传送特征的

判据。在曼彻斯*调制方式下,EM4100每传送一位数据的时间是64个振荡周期,其值由RF/n决定。若载波频率为125 kHz,则每传送一位的时间为振荡周期的64分频,即位传送时间为:1P=64/125 kHz=512μs,则半个周期的时间为256us。

(三)Manchester码解码算法

利用MC9S12XS128单片机进行解码,MC9S12XS128的T口的输入捕捉单元可用于精确捕捉一个外部事件的发生,记录事件发生的时间印记。当一个输入捕捉事件发生时,T口的计数器TCNTl中的计数值被写入输入捕捉寄存器ICRl中,并置位输入捕获标志位ICFl,产生中断申请。可通过设置寄存器TCCRlB的第6位ICESl来设定输入捕捉信号触发方式。本系统利用单片机的输入捕捉功能进行解码。 由Manchester编码特点可知,每位数据都由半个周期的高电平和半个周期的低电平组成,因此可将一个位数据拆分为两位,即位数据“1”可视为“10”,位数据“0”可视为“01”,则64位数据可视为由128位组成。为了获得完整且连续存放的64位ID信息,在此接收两轮完整的64位数据,即接收256位。则上一轮接收到的停止位后紧跟着的必然是本轮接收到的起始位,据此找出起始同步头。再根据曼码特点获得ID卡的有效数据(“10”解码为“1”;“01”解码为“O”)并进行LCR校验,若校验无误,则将ID卡号输出至PC机,并准备下一次的解码;否则,直接准备下一次解码。另外,在程序中首先定义一个数组bit[256]用来存放接收到的数据;定义一个变量用来标记256位数据接收完成;定义一个变量用来标记校验有错误产

生。由于无ID卡靠近读卡器的有效工作区时,单片机输入捕捉引脚输入的是高电平,因此在主程序中先设定为下降沿触发,清零计数器TCNTl,打开T/C1的输入捕捉功能。

解码流程图如下:

图8 解码流程图

解码程序见附录4

四、系统测试 (一)波形测试

利用数字示波器检测各个测试点,波形均输出成功,但数字示波器无法截图,因此我们用虚拟示波器来测量各个点的波形,利用上位机的截图功能,保存各个测试点的截图。

测试点TP1:125KHz波形如下: