实验12智能仓储模拟管理实验-V201703171.实验目的掌握高频读卡器的通讯协议;掌握高频模块工作原理;掌握本平台高频模块的操作过程;了解智能仓储的原理;2.实验设备硬件:RFID实验箱2号高频多路节点;软件:RFID实验箱管理软件;芯片手册:配套光盘\附件\芯片手册\高频RFID读写芯片手册3.实验原理3.1读写芯片CLRC632简介CLRC632是NXP生产的高集成13.56MHZ射频卡芯片。支持ISO/IEC14443A、ISO/IEC14443B和ISO/IEC15693标准,支持最大10cm的工作距离。采用8位并行接口或SPI总线与微控制器进行通信。更多芯片资料,请查看CLRC632数据手册配套光盘\附件\芯片手册\高频RFID读写芯片手册3.2PC与高频节点通讯协议3.2.1下传数据包格式(上位机发给下位机)►命令头:2字节,固定AABB►数据长度:2字节,低位在前,高位在后,数据长度后面所有的字节数个数(不含数据长度本身的2个字节数)►设备号:2个字节,未使用,0000►命令码:2字节,低位在前,高位在后►数据包:字节数不定,由命令吗决定►数据校验:1字节,命令码(含)后面所有的字节异或运算即DCS=COMHxorCOMLxorPD0xorPD1xor…xorPDn例:设置波特率指令AABB0600000001010101,其中AABB是命令头,0600是数据长度,0000是设备码,0101是设置波特率命令,01是将比特率设为9600,01是数据校验。3.2.2上传数据包格式(下位机发给上位机)当上位机下传指令到下位机,下位机执行并返回应答数据。如下位机无数据返回,说明上位机发送的指令格式不对,需修改重新发送。下位机接收到指令并执行后返回上位机的数据格式和上位机下传的数据格式是一样的。其中命令码是下传的命令码,PD0值则反应命令执行情况。PD0返回的是00表示下位机准确执行了上位机发送的命令,返回的是其他值则表示执行错误,见下图:注意:代码中定义的错误代码是十进制数,上传到上位机上是十六进制数。例:下传寻卡指令:AABB0600000001025251寻卡成功上传:AABB08000000010200040007寻卡失败上传:AABB0600000001021414上传、下传指令中的0102表示寻卡命令,下传命令码后面的52表示寻感应区的所有的14443A卡。寻卡成功时命令码后面的00表示寻卡成功,0400是MifareS50卡,表示在感应区寻找到MifareS50卡。寻卡失败时命令码后面的14是寻卡失败代码,换算成十进制数则是20,对应的错误代码是FAULT20,表示寻卡失败。3.2.3CLRC632读写卡操作流程设置波特率→关闭天线→设置通讯协议→打开天线→寻卡→防碰撞:读UID→选择卡→验证密钥→读卡→写卡3.2.4CLRC632通讯指令(以读写14443A卡为例)上位机发送指令码到下位机,下位机对命名进行判断,执行相应的命令。本实验是在RFID基础实验/实验6HF高频RFID通信协议实验的基础上扩展而来,详细的原理介绍可参考实验6。3.3代码分析3.3.1voidantsel(chari)天线选择函数该函数在main.c文件中,APP采用轮询的方式,通过发送指令,间隔一段时间选择一根天线,再进行寻卡、读卡操作,以判断天线上是否放置有卡,以此来模拟货物仓储的环境。此时卡可以认为是货物的一个标签,当读到卡时,说明有货物;无卡时,无货物。voidantsel(chari){switch(i){case1://选择1号天线bianma0=0;bianma1=0;bianma2=0;LED_ANT1=1;P2&=0XC0;//11000000LED_ANT8=0;break;case2://选择2号天线bianma0=0;bianma1=0;bianma2=1;LED_ANT1=0;P2&=0XC0;P2|=0X01;//00000001LED_ANT8=0;break;case3://选择3号天线bianma0=0;bianma1=1;bianma2=0;LED_ANT1=0;P2&=0XC0;P2|=0X02;//00000010LED_ANT8=0;break;case4://选择4号天线bianma0=0;bianma1=1;bianma2=1;LED_ANT1=0;P2&=0XC0;P2|=0X04;//00000100LED_ANT8=0;break;case5://选择5号天线bianma0=1;bianma1=0;bianma2=0;LED_ANT1=0;P2&=0XC0;P2|=0X08;//00001000LED_ANT8=0;break;case6://选择6号天线bianma0=1;bianma1=0;bianma2=1;LED_ANT1=0;P2&=0XC0;P2|=0XD0;//11010000LED_ANT8=0;break;case7://选择7号天线bianma0=1;bianma1=1;bianma2=0;LED_ANT1=0;P2&=0XC0;P2|=0XE0;//11100000LED_ANT8=0;break;case8://选择8号天线bianma0=1;bianma1=1;bianma2=1;LED_ANT1=0;P2&=0XC0;//11000000LED_ANT8=1;break;}}3.3.2main函数当接收到APP发来的寻卡和读卡指令时,进行寻卡和读卡,成功读到卡,蜂鸣器“嘀”一声。4.实验过程4.1准备工作本实验需要先将实验箱恢复至出厂设置再进行,请根据配套光盘\附件中将物联网RFID实验箱恢复到出厂状态文档的操作步骤,将实验箱恢复到出厂状态。4.2实验操作第一步:打开安装好的RFID实验箱管理软件,进入软件主界面,如图4.2.1所示:图4.2.1软件主界面第二步:点击右下角的“说明”,查看“RFID&控制节点&WiFi模式”操作说明,如图4.2.2所示:图4.2.2RFID&控制节点&WiFi模式操作说明第三步:按照说明完成配置,并把S1开关拨至指定的位置,点击APP界面右下角的“开始”按钮,此时,高频多路节点(2号节点)会接收到APP发来的指令,可以看到节点底板上的LED_ANT1——LED_ANT8轮流被点亮。如果1/5/9/11号节点上的天线上未放置高频卡,则APP上显示无货物,如图4.2.3所示:图4.2.3无货物第四步:在天线上放置高频卡,当读到该卡信息时,会显示卡号,并显示有货物,如图4.2.4所示:图4.2.4有货物4.3实验结果分析本实验模拟智能仓储系统:每个货物都有一个标签,当扫描到标签,则显示“有货物”,说明该货物库存充足,无需采购,同时显示标签卡号,用以判断货物的属性;当货架上无货物时,则无法扫描到标签,显示无货物,仓管人员可根据显示信息,及时补充库存。