| |
RFID的应用领域
RFID之应用相当广泛,最常见的应用为: * 门禁管制:人员出入门禁监控、管制及上下班人事管理 * 回收资产:栈板、货柜、台车、笼车等可回收容器管理 * 货物管理:航空运输的行李识别,存货、物流运输管理 * 物料处理:工厂的物料清点、物料控制系统 * 废物处理:垃圾回收处理、废弃物管控系统 * 医疗应用:医院的病历系统、危险或管制之生化物品管理 * 交通运输:高速公路的收费系统 * 防盗应用:超市的防盗、图书馆或书店的防盗管理 * 动物监控:畜牧动物管理、宠物识别、野生动物生态的追踪 * 自动控制:汽车、家电、电子业之组装生产 * 联合票证:联合多种用途的智能型储值卡、红利积点卡
以下对几个应用作深入的介绍说明:
一般消费品 实务应用:从仓储到商品架的有效管理长久以来,消费品制造商一直苦于如何将适切的产品,在适当的时间运交给适当的零售商。而藉由 RFID 解决方案,制造商可以有效追踪货品,管理库存水准,并维持适当的库存量以满足零售商的需求。导入 RFID 解决方案后,工厂内的货品栈板无需人工检视可直接运出,取货疏失的情形减少,退货管理的效率提升,又免了实际的存货盘点作业,厂商可以降低人事成本。
零售业 实务应用:协助提升获利能力,在零售业,竞争惨烈、资本成本高,消费者的反复无常也是众所周知,想要维持获利率,特别艰难。从增加销售额、改善促销活动到降低失窃率,零售业者必须全心全力寻找创新的方式才能提升利润。
制药业 实务应用:在严格管制的环境中提高生产效率,制药业者除了在发展及配销药品等方面。
物流业 实务应用:发挥货运及配送流程的最高效率除了仓储,货柜场也可以利用 RFID 方案来建立高效率的配送及货运流程。将商品从消费性产品业者运交到零售商的流程,是供应链中绝不可缺少的一环。
运输业 实务应用:密切监控运输中的资产,RFID 可用来追踪载货卡车与轨道车辆的位置,也可以收集在特定地点的货运车辆上最新存货数字。实际出货期间,RFID 可以根据货车所在的最新地点追踪商品,并监督这些货运车辆所载送的商品明细 实务应用:密切监控运输中的资产,RFID 可用来追踪载货卡车与轨道车辆的位置,也可以收集在特定地点的货运车辆上最新存货数字。实际出货期间,RFID 可以根据货车所在的最新地点追踪商品,并监督这些货运车辆所载送的商品明细。
接收器的制作及程序 于图2所示为RFID接收器的结构图,是由Holtek MCU HT49R50A-1所控制,由于RFID的技术目前尚处于商业保密期,故于短时间内可能无法公开时感抱歉,有关系统的程序模块,主要有三大部分所成如图3所示,分别为主程序是为负责:键的扫描,LCD显示,声响,LED指示,以及RFID中的Tag数据的核对。外部中断子程序为负责计数的管理;最后主中断子程序的控制主要负责计数移位,数据接收等工作。相关的处和语言的详列及说明如图4。
300)this.width=300" border=0>
图2 RFID 接收器的实际电路图
300)this.width=300" border=0>
图3 程序流程图
于图2所示为本文中所举RFID接收器范例的实际电路图,程序使用一组Timer及一组External Interrupt来搭配接收RFID Data,其中应特别注意的是所使用的外部Clock Sounce需要精准,以达到接收数据的稳定性及正确性。于图3所示为程序的设计流程,所设计的程序如图4所示。
ODE .SECTION AT 00H 'CODE' ;------------------ ;--- START 开始子程序 --- ORG 00H JMP START ;------------------ ;--- INT0 中断0子程序 --- ORG 04H JMP EXTERNAL_INTERRUPT0 ;------------------ ;--- INT1 中断1子程序--- ORG 08H JMP EXTERNAL_INTERRUPT1 ;------------------ ;--- TIMER 0 定时器0子程序 --- ORG 0CH JMP TIMER0_INT ;------------------ ;--- TIMER 1 定时器1子程序 --- ORG 010H JMP TIMER1_INT ;------------------ ;--- TB --- ORG 014H RETI ;------------------ ;--- RTC --- ORG 018H RETI ORG 020H ;================================ ;= ;= INT PROGRAM ;= ;=============================== ;= ;= TIMER 0 INTERRUPT 100uS ;= ;=============================== TIMER0_INT: MOV S_ACC,A ;SAVE ACC&STATUS TO MEMORY MOV A,STATUS ;push pop MOV S_STA,A ;--------------------------- RL M_DATA_BUFFER ;EVERY 100uS SHIFT LEFT ONCE SNZ P_RFID_DATA JMP RFIDGETDATA0 RFIDGETDATA1: CLR M_DATA_BUFFER.0 ;RECEIVER DATA "1" JMP CHECK_RFID_LEADING_CODE RFIDGETDATA0: SET M_DATA_BUFFER.0 ;RECEIVER DATA "0" CHECK_RFID_LEADING_CODE: SZ F_RFID_1ST_OK JMP BIT8_RECEIVER MOV A,098H ;FIRST ID 98H XOR A,M_DATA_BUFFER ;CHECK LEAD CODE SNZ Z JMP RESET_TIMER0 SET F_RFID_1ST_OK MOV A,12 MOV M_RFID_BYTES_COUNT,A ;TOTAL DATA 12 BYTES MOV A,0F3H MOV MP0,A SAVE_RF_ID_DATA: INC MP0 MOV A,M_DATA_BUFFER MOV R0,A CLR M_DATA_BUFFER SDZ M_RFID_BYTES_COUNT JMP RESET_TIMER0 CLR F_RFID_1ST_OK ; CALL CRC_CHECK_PROCESS ;CHECK CRC SNZ ACC.0 ;ACC=FFH DATA OK JMP TIMER0_INT_END SET F_RFID_RX_OK JMP TIMER0_INT_END BIT8_RECEIVER: SDZ M_ROTATE_COUNT JMP RESET_TIMER0 MOV A,08 MOV M_ROTATE_COUNT,A JMP SAVE_RF_ID_DATA ; RESET_TIMER0: CLR TMR0C.4 ;TIMER0 COUNTING 100uS MOV A,154 ;TIMR0 100uS TIMEOUT FOR RFID MOV TMR0,A ;--------------------------- TIMER0_INT_END: MOV A,S_STA ;RELOAD ACC&STATUS MOV STATUS,A ;Pop acc Status Regiter MOV A,S_ACC RETI ;=============================== ;= ;= EXTERNAL_INTERRUPT 0 ;= ;=============================== EXTERNAL_INTERRUPT0: SNZ F_RFID_RX_OK SET TMR0C.4 ;Enable TIMER0 START COUNTING 100uS RETI ;============================================================= ;= ;= MAIN PROGRAM ;= ;============================================================= START: ;--- POWER ON RESET --- MOV A,11111111B ;I/O port initial MOV PA,A MOV A,11111111B MOV PB,A MOV A,11111111B MOV PC,A ;--- TIMER 0 --- MOV A,159 ;Initial TIMR0 100uS TIMEOUT FOR RFID Receiver MOV TMR0,A MOV A,10100000B MOV TMR0C,A
;--- TIMER 1 --- MOV A,56 ;TIMR1 FOR MAIN LOOP MOV TMR1,A MOV A,10110000B MOV TMR1C,A
;--- INT 0,1 --- MOV A,00001001B MOV INTC0,A ;Enable Mcu interrupt founction MOV A,00000101B MOV INTC1,A ;-------------------------------------------------- ;---- CLEAR WORK RAM ---- CALL CLEAR_RAM ;CLEAR MCU RAM ;========================== ;= MAIN ;========================== MAIN: ;------- MAIN LOOP 20MS --------- SNZ F_20MSTIMEOUT JMP MAIN CLR F_20MSTIMEOUT ;MAIN LOOP 20MS FOR CYCLE ;********************************* ;----- Make some function -------- ;ex: ; CALL KEY_SCAN ; CALL SHOW_LCD ; CALL BEEP_SOUND ; CALL SHOW_LED JMP MAIN ;===============================================
图4系统程序语言
|