<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AVR單片機(jī)的125 kHz簡(jiǎn)易R(shí)FID閱讀器設(shè)計(jì)

          基于AVR單片機(jī)的125 kHz簡(jiǎn)易R(shí)FID閱讀器設(shè)計(jì)

          作者: 時(shí)間:2010-04-28 來(lái)源:網(wǎng)絡(luò) 收藏
          每當(dāng)EM4100將64個(gè)信息位傳輸完畢后,只要ID卡仍處于讀卡器的工作區(qū)域內(nèi),它將再次按照?qǐng)D3順序發(fā)送64位信息,如此重復(fù),直至ID卡退出讀卡器的有效工作區(qū)域。
          4.2 EM4100數(shù)據(jù)編碼方式
          EM4100采用曼徹斯特編碼,如圖4所示:位數(shù)據(jù)“1”對(duì)應(yīng)著電平下跳,位數(shù)據(jù)“0”對(duì)應(yīng)著電平上跳。在一串?dāng)?shù)據(jù)傳送的數(shù)據(jù)序列中,兩個(gè)相鄰的位數(shù)據(jù)傳送跳變時(shí)間間隔應(yīng)為1P。若相鄰的位數(shù)據(jù)極性相同(相鄰兩位均為“O”或“1”),則在兩次位數(shù)據(jù)傳送的電平跳變之間,有一次非數(shù)據(jù)傳送的、預(yù)備性的(電平)“空跳”。電平的上跳、下跳和空跳是確定位數(shù)據(jù)傳送特征的判據(jù)。在曼徹斯特碼調(diào)制方式下,M4100每傳送一位數(shù)據(jù)的時(shí)間是64個(gè)振蕩周期,其值由RF/n決定。若載波頻率為125 ,則每傳送一位的時(shí)間為振蕩周期的64分頻,即位傳送時(shí)間為:1P=64/125 =512μs,則半個(gè)周期的時(shí)間為256μs。
          4.3 解碼軟件
          ATmega8T/C1的輸入捕捉功能是定時(shí)/計(jì)數(shù)器的一個(gè)非常有特點(diǎn)的功能,T/C1的輸入捕捉單元可用于精確捕捉一個(gè)外部事件的發(fā)生,記錄事件發(fā)生的時(shí)間印記。當(dāng)一個(gè)輸入捕捉事件發(fā)生時(shí),T/C1的計(jì)數(shù)器TCNTl中的計(jì)數(shù)值被寫入輸入捕捉寄存器ICRl中,并置位輸入捕獲標(biāo)志位ICFl,產(chǎn)生中斷申請(qǐng)。可通過設(shè)置寄存器TCCRlB的第6位ICESl來(lái)設(shè)定輸入捕捉信號(hào)觸發(fā)方式。本系統(tǒng)利用的輸入捕捉功能進(jìn)行解碼。
          由曼徹斯特編碼特點(diǎn)可知,每位數(shù)據(jù)都由半個(gè)周期的高電平和半個(gè)周期的低電平組成,因此可將一個(gè)位數(shù)據(jù)拆分為兩位,即位數(shù)據(jù)“1”可視為“10”,位數(shù)據(jù)“O”可視為“01”,則64位數(shù)據(jù)可視為由128位組成。為了獲得完整且連續(xù)存放的64位ID信息,在此接收兩輪完整的64位數(shù)據(jù),即接收256位。則上一輪接收到的停止位后緊跟著的必然是本輪接收到的起始位,據(jù)此找出起始同步頭。再根據(jù)曼碼特點(diǎn)獲得ID卡的有效數(shù)據(jù)(“10”解碼為“1”;“01”解碼為“O”)并進(jìn)行LCR校驗(yàn),若校驗(yàn)無(wú)誤,則將ID卡號(hào)輸出至PC機(jī),并準(zhǔn)備下一次的解碼;否則,直接準(zhǔn)備下一次解碼。另外,在程序中首先定義一個(gè)數(shù)組bit[256]用來(lái)存放接收到的數(shù)據(jù);定義一個(gè)變量flag用來(lái)標(biāo)記256位數(shù)據(jù)接收完成;定義一個(gè)變量error用來(lái)標(biāo)記校驗(yàn)有錯(cuò)誤產(chǎn)生。由于無(wú)ID卡靠近讀卡器的有效工作區(qū)時(shí),輸入捕捉引腳輸入的是高電平,因此在主程序中先設(shè)定為下降沿觸發(fā),清零計(jì)數(shù)器TCNTl,打開T/C1的輸入捕捉功能。主程序流程圖如圖5所示。

          本文引用地址:http://www.ex-cimer.com/article/173352.htm


          在輸入捕捉中斷程序中定義一個(gè)觸發(fā)沿標(biāo)志tr=1(用于表示由下降沿引起的觸發(fā)),同時(shí)定義一個(gè)無(wú)符號(hào)字符型變量i用來(lái)對(duì)接收到的數(shù)據(jù)個(gè)數(shù)進(jìn)行計(jì)數(shù),由于無(wú)符號(hào)字符型數(shù)據(jù)的取值范圍為O~255,所以當(dāng)接收完256位時(shí),i的值再次變?yōu)?。接著判斷是否為合法跳變,由以上分析可知,電平跳變的時(shí)間為256μs或512μs為合法跳變。本系統(tǒng)使用8 MHz時(shí)鐘,T/C1設(shè)置為無(wú)預(yù)分頻,則系統(tǒng)周期為O.125μs,則256μs對(duì)應(yīng)計(jì)數(shù)值應(yīng)為2 048,512μs對(duì)應(yīng)計(jì)數(shù)值應(yīng)為4 096。取計(jì)數(shù)值TCNTl小于5 000為合法跳變依據(jù),若TC-NTl大于5 000,則認(rèn)為是由干擾信號(hào)產(chǎn)生的非法跳變,并將其忽略,取TCNTl介于3 000~5 000之間為512μs跳變依據(jù)。若為合法跳變,由于是下降沿觸發(fā)的中斷,則認(rèn)為接收到一位數(shù)據(jù)“1”;若為合法跳變且3 000TCNTl5 000,則認(rèn)為接收到兩位數(shù)據(jù)“1”。
          再將輸入捕捉觸發(fā)方式改為上升沿觸發(fā),設(shè)定觸發(fā)沿標(biāo)志tr=0(用于表示由上升沿引起的觸發(fā))。當(dāng)中斷是由上升沿觸發(fā)時(shí),執(zhí)行類似操作。圖6為中斷處理程序流程圖。



          5 結(jié)語(yǔ)
          硬件電路中功放和檢波部分采用分立元件構(gòu)成,無(wú)需讀卡基站芯片,電路結(jié)構(gòu)簡(jiǎn)單,成本極低;軟件部分采用C語(yǔ)言進(jìn)行編寫,提出了一種曼徹斯特編碼的解碼方法。由于RS 232的傳輸距離最大只有15 m,因此對(duì)于需要遠(yuǎn)距離數(shù)據(jù)傳送的場(chǎng)合,可以通過加入RS 485電路以提高傳輸距離,從而實(shí)現(xiàn)遠(yuǎn)距離數(shù)據(jù)采集以及實(shí)行有關(guān)控制。在一些需要較遠(yuǎn)讀卡距離的應(yīng)用中,可通過改進(jìn)功率放大電路(例如采用D類功率放大電路)來(lái)提高功放的效率,從而增大發(fā)射功率,增大讀卡距離。通測(cè)試,系統(tǒng)可成功實(shí)現(xiàn)對(duì)EM4100 ID卡的讀取,經(jīng)過微調(diào)天線,最大讀取距離可達(dá)15 cm,且讀卡穩(wěn)定、成功率高,可將其應(yīng)用于門禁、公交等系統(tǒng)。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();