基于SPCE061A單片機(jī)對(duì)射頻讀寫器輸出信號(hào)進(jìn)行分析處理
掃描二維碼
隨時(shí)隨地手機(jī)看文章
當(dāng)前,讀寫器的應(yīng)用日漸廣泛。在生產(chǎn)和銷售的過程中,人們常常苦于沒有一種快速、簡(jiǎn)便的方法對(duì)讀寫器的輸出信號(hào)進(jìn)行直觀的顯示,以至于在生產(chǎn)中常常需要將產(chǎn)品進(jìn)行返工,重新校正產(chǎn)品的信號(hào)輸出。為解決這一問題,采用具有語音處理功能的SPCE061A單片機(jī)作為控制器,對(duì)射頻讀寫器常見的輸出信號(hào)進(jìn)行分析和處理。
射頻識(shí)別RFID技術(shù)是一種基于射頻原理實(shí)現(xiàn)的非接觸式自動(dòng)識(shí)別技術(shù)。它的基本原理是信號(hào)通過空間耦合(交變磁場(chǎng)和電磁場(chǎng))實(shí)現(xiàn)信息傳遞,這些信息一般加載在電子標(biāo)簽中。信息的數(shù)據(jù)格式通常有標(biāo)準(zhǔn)的韋根(Wiegand)信號(hào)或各種串行通信接口信號(hào)。
1 信號(hào)分析系統(tǒng)的總體設(shè)計(jì)
在射頻讀寫器中,需要分析與處理的常見信號(hào)包括RS-232信號(hào)、RS-485及韋根信號(hào)。對(duì)這些信號(hào)的處理可以采用凌陽SPCE061A單片機(jī)。凌陽SPCE061A單片機(jī)具有51單片機(jī)的常用功能,片內(nèi)資源高度集成,如ADC、DAC、RAM、Flash、定時(shí)器、鎖相環(huán)、低電壓檢測(cè)及復(fù)位、看門狗、ICE接口等等;另外,SPCE061A內(nèi)嵌32K字閃存,其u’nSP指令系統(tǒng)還提供具有較高處理速度的16位×16位乘法運(yùn)算指令和內(nèi)積運(yùn)算指令,能方便、快捷地處理各種復(fù)雜的數(shù)字信號(hào)。因此,本系統(tǒng)采用SPCE061A作為核心控制電路來進(jìn)行外圍電路開發(fā),系統(tǒng)的總體框圖如圖1所示。
在本系統(tǒng)中,為了選擇所要測(cè)試的數(shù)據(jù)類型,系統(tǒng)中設(shè)計(jì)了數(shù)據(jù)切換按鈕以使系統(tǒng)能夠?qū)λx數(shù)據(jù)進(jìn)行選擇處理,同時(shí),為了直觀看到所要分析的數(shù)據(jù)信號(hào),系統(tǒng)中設(shè)置了LCD。該LCD能將所讀數(shù)據(jù)的ID顯示出來,同時(shí)系統(tǒng)能將讀到的錯(cuò)誤ID通過語音模塊進(jìn)行報(bào)警。本文重點(diǎn)討論使用SPCE061A對(duì)常見信號(hào)(如RS-485與韋根信號(hào))進(jìn)行分析與處理的方法。
1.1 RS-485數(shù)據(jù)信號(hào)處理
本文所要處理的RS-485信號(hào)的數(shù)據(jù)幀格式如下:
①數(shù)據(jù)開始標(biāo)志STX=02H,數(shù)據(jù)結(jié)束標(biāo)志ETX=03H。
②DATA為讀取的電子標(biāo)簽編號(hào),長(zhǎng)度為8字節(jié)ASCII碼。把數(shù)據(jù)按從高到低的順序每4位1組進(jìn)行分割,再把4位二進(jìn)制數(shù)的取值用ASCII碼表示。由于4位二進(jìn)制數(shù)的取值范圍是0H~FH,因此轉(zhuǎn)換后的ASCII碼為30H~39H、41H~46H。例如:32位編號(hào)數(shù)據(jù)為6A90F103H,轉(zhuǎn)化為8字節(jié)的ASCII碼后為“36H 41H39H 30H 46H 31H 30H 33H”。
③BCC為校驗(yàn)碼,是從STX到ETX每一個(gè)字節(jié)“異或”后的結(jié)果。接收時(shí),SPCE061A單片機(jī)對(duì)接收的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,然后與校驗(yàn)碼相比較,以進(jìn)行誤碼判斷。
當(dāng)用SPCE061A單片機(jī)對(duì)RS-485信號(hào)進(jìn)行分析時(shí),采用Maxim公司的MAX481作為RS-485的驅(qū)動(dòng)芯片。該芯片內(nèi)部集成了1個(gè)驅(qū)動(dòng)器和1個(gè)接收器,符合RS-422A和RS-485通信標(biāo)準(zhǔn)。MAX481引腳如圖2所示。引腳功能如表1所列。
SPCE061A與RS-485的接口電路如圖3所示。
SPCE061A的串口引腳IOA10和IOA13分別連接到MAX481的RO和DI引腳,以進(jìn)行串行數(shù)據(jù)交換;控制引腳IOA12和IOA11分別連接到MAX481的DE和RE引腳,以控制驅(qū)動(dòng)器和接收使能端。這4個(gè)引腳均接上拉電阻。
MAX481的A端和B端為RS-485差分信號(hào)的輸入和輸出端。二者之間串接1個(gè)120 Ω的電阻。
1.2 韋根信號(hào)處理
韋根碼有多種數(shù)據(jù)格式,本文介紹讀寫器中較常用的韋根碼(26位)數(shù)據(jù)格式。國際標(biāo)準(zhǔn)Wiegand26格式每次只傳輸26位數(shù)據(jù)(二進(jìn)制)。這26位中只有24位是有效數(shù)據(jù),我們規(guī)定這24位對(duì)應(yīng)電子標(biāo)簽中編號(hào)的低24位。其傳輸格式如下:
表2對(duì)韋根數(shù)據(jù)格式進(jìn)行了詳細(xì)說明。其中第2~9位為分組碼,分組碼共有8個(gè)二進(jìn)制位,有256個(gè)狀態(tài);第10~25位為標(biāo)識(shí)碼,標(biāo)識(shí)碼共16個(gè)二進(jìn)制位,有65 536個(gè)狀態(tài);第1位是第2~13位的偶校驗(yàn)位;第26位是第14~25位的奇校驗(yàn)位。
由于韋根信號(hào)的特殊性,在一般的應(yīng)用中,對(duì)韋根信號(hào)的分析均是使用FPGA來完成的,文中采用如下一種特殊方式對(duì)韋根信號(hào)進(jìn)行處理。圖4中74HC14是施密特反相器,主要起整形作用;74HC86為異或門。根據(jù)韋根信號(hào)的特點(diǎn),data0和data1所輸入的信號(hào)總是相反的,這樣通過第一級(jí)異或門就可檢出data0和data1端所出現(xiàn)的“0”和“1”。第二級(jí)異或門一端接VCC,只起反相的作用,以便產(chǎn)生適合SPCE061A的中斷信號(hào);輸出接到SPCE061A的中斷輸入端IOB2(INT0)。data1經(jīng)反相整形后與SPCE061A的IOB3(INT1)相連。SPCE061A可以讀取該信號(hào)來判別是“0”還是“1”。
2 系統(tǒng)軟件設(shè)計(jì)
在進(jìn)行系統(tǒng)的軟件設(shè)計(jì)時(shí),首先必須對(duì)SPCE061A的引腳進(jìn)行配置,將IOB2和IOB3分配為外部中斷1和外部中斷0,使SPCE061A能夠更好地捕捉到外部的韋根信號(hào)。初始化程序如下:
由于數(shù)據(jù)脈沖的寬度比較窄,為了不使讀到的數(shù)據(jù)產(chǎn)生錯(cuò)誤,在IOB3上的中斷信號(hào)產(chǎn)生之前應(yīng)將IOB2上的EXT1信號(hào)進(jìn)行捕捉。
結(jié) 語
本系統(tǒng)最大的優(yōu)點(diǎn)在于能夠快速、方便地對(duì)讀寫器的各種信號(hào)進(jìn)行分析和處理。通過附加的LCD顯示屏和語音提示,該系統(tǒng)可以隨時(shí)檢測(cè)讀寫器所讀的ID信號(hào)。這一過程可以減少產(chǎn)品測(cè)試員的煩瑣工作,也能加大對(duì)讀寫器產(chǎn)品的對(duì)外推廣力度,大大提高生產(chǎn)效率,促進(jìn)銷售。