來源:維庫電子網
針對傳統基於RS-485 總線的射頻辨識技術(RFID)收費系統,具有實時性差和通訊效率低的缺點,提出了一種基於CAN 總線和2.4G 無線網路的新型RFID 收費系統。該系統採用2.4G 無線網路環境,使一個CAN 節點能夠控制六個RFID 收費終端的數據傳輸。應用溫度模組獲取的數據的無線傳輸,對該系統進行測試,測試結果表明該方案設計的正確性。
1 引言
RFID(Radio Frequency IDentification)技術,即射頻辨識技術,是一種通信技術,目前廣泛應用於各種收費場合,例如:公共交通收費系統,停車場收費系統等等。目前使用RFID 技術的系統通常使用RS-485 和PC 端進行數據交互,但是RS-485 使用單主節點,採用輪詢方式,因此存在實時性較低和通訊效率低的問題。
隨著電腦資訊科學水平的不斷飛躍和工業發展的需要,工業控制系統經歷了基地式儀表控制系統、集中式數位控制系統、集散控制系統,到現在廣泛使用的現場總線控制系統的轉變。CAN(Controller Area Net)總線是一種基於串行通信網路的現場總線。
CAN 總線採用多主工作方式,網路上的任意節點可以在任意時刻向網路上的其他節點發送資訊。同時,CAN 總線採用非破壞性仲裁技術,當兩個或者更多的節點同時向網路上傳送數據,優先級低的節點將停止發送,直到優先級高的節點發送完數據後再發送,這樣有效地避免了總線競爭。CAN 通信距離最遠可達10km/5kbps,通信速率最高可大1Mbps.CAN 的每幀數據都有CRC校驗或者其它檢測方式,保證了數據通信的可靠性。
當一個CAN 節點發生嚴重錯誤時,該節點會自動關閉,從而不影響其它節點的正常工作。因此,CAN 總線具有可靠性強,實時性高和效率高等優勢,完全能夠取代RS
485 總線。
考慮到在實際應用環境中,為了減少大量的布線工作,使用2.4G 無線網路作為數據從RFID 到CAN總線之間傳輸的中轉站。無線技術具有成本低、靈活性高、可靠性高和安裝時間短等特點。本次設計使用選用nRF24L01 組建無線通信網路,該芯片支持多點通信,在接受模式下可以接收6 路不同通道的數據。
也就是無線網路的接收端可以接收6 個不同發送端的數據,發送端的數據是通過RFID 模組獲得。
基於以上的討論,本文將給出一種基於CAN 總線和2.4G 無線網絡的新型RFID 收費系統。
2 硬體系統設計
2.1 系統拓撲結構和系統組成
2.1.1 系統拓撲結構。
如圖1 所示,RFID 設備的相關數據將通過無線網路傳送至CAN 收發器,後者再將數據通過CAN 總線傳送至PC 機,PC 機採用帶有CAN 接口的PCI-E 擴展卡。此外,無線通訊芯片nRF24L01 在接受模式下可以接收6 路不同通道的數據,以此來實現一個CAN節點最多控制6 個RFID 終端設備的數據傳送。在6個RFID 收費終端不能滿足需求的情況下,可以添加更多的節點,所有節點掛載在CAN 總線上,通過CAN總線,每個節點將數據傳送至PC 端。
圖1 系統拓撲結構圖
2.1.2 系統組成。
本系統(CAN 節點)有兩個子系統組成。B 子系統由單片機、RFID 模組、無線模組、看門狗、液晶螢幕、時鐘模組、按鍵和EEPROM 組成。微控制器(MCU)控制RFID 模組對Mifare 1 卡進行讀寫操作,無線模組將有關的數據發送給A 子系統。
A 子系統由單片機、無線模組、看門狗和CAN 模組組成。MCU 將經由無線模組接收到的數據通過CAN 模組發送至PC 端。由於一個節點最多可以控制6 個RFID 設備終端,因此在一個完整的系統裡,A 子系統只有1 個,而B 子系統最多可以有6 個。
圖2 子系統A 組成框圖
圖3 子系統B 組成框圖。
2.2 微控制器
微控制器選用STC89LE58RD+,它具有4 個8 位並行I/O 端口P0~P3,1 個4 位並行端口P4,32KB FLASHROM,1280 字節RAM,3 個定時器,8 個中斷源和4個中斷優先級的中斷系統。其性能完全滿足設計所需。
2.3 CAN 模組
CAN 總線的硬件實現選用飛利浦公司的SJA1000和PCA82C250.
2.3.1 SJA1000 晶片介紹。
SJA1000 是一個獨立的 CAN 控制器。它支持PeliCAN 模式擴展功能(採用CAN2.0B 協議),具有11 位或 29 位標識符,64 字節的接收FIFO,具有仲裁機制和強大的檢錯能力等。
2.3.2 PCA82C250 晶片介紹。
PCA82C250 是CAN 總線收發器,它主要是為汽車中高速通訊(高達 1Mbps)應用而設計。它可以抗寬範圍的工模干擾和電磁干擾(EMI),降低射頻干擾(RFI),具有熱保護功能。最多可以連接110 個節點。
2.3.3 硬件接口連接。
如圖4 所示,P1 口作為復用的地址/數據總線連接SJA1000 的AD 口,P2.0 和SJA1000 的片選段CS 相連,使得SJA1000 作為單片機外圍儲存器映射的I/O器件。此外,SJA1000 的RX0、TX0 和PCA82C250的RXD、TXD 相連。
圖4
SJA1000 和PCA82C250 接口連接示意圖
2.4 無線模組
2.4.1 nRF24L01 晶片介紹。
無線晶片選用nRF24L01.它是2.4GHz 無線射頻收發晶片,傳送速率高達2Mbps,支持125 個可選工作頻率,具有地址和CRC 校驗功能,提供SPI 接口。
有專用的中斷管腳,支持3 個中斷源,可向MCU 發出中斷信號。具有自動應答功能,在確認收到數據後記錄地址,並以此地址為目標地址發送應答信號。支持ShockBurstTM 模式,在此模式下,nRF24L01 可以與低速MCU 相連。nRF24L01 在接收模式下可以接收6 路不同通道的數據。
2.4.2 nRF24L01 硬體接口連接。
如圖5 所示,單片機通過模擬SPI 總線時序和nRF24L01 進行通信。其外部中斷管腳IRQ 和單片機的P3.2(外部中斷0)相連。
圖5
nRF24L01 接口連接示意圖
2.5 RFID 模組
2.5.1 MF RC500 晶片介紹。
RFID 模組選用飛利浦公司的MF RC500,它是目前廣泛使用的RFID 晶片之一。MF RC500 支持ISO14443A協議,支持MIFARE 雙接口卡,內部有高整合度模擬電路,用於應答卡的解調和解碼,具有64 字節收發FIFO 緩衝區和非易失性密鑰儲存器。此外,有專用的中斷管腳,支持6 個中斷源,可向MCU 發出中斷信號。
2.5.2 MF RC500 硬體接口連接。
由圖6 所示, MCU 將MF RC500 中的寄存器作為外部RAM進行訪問。INT 管腳懸空,不使用中斷功能。
圖6 MF
RC500 接口連接示意圖
3 軟體系統設計
在初始化單片機程序中,子系統A 外部中斷設置為低電平觸發,子系統A 的中斷信號源由nRF24L01提供,當nRF24L01 收到數據後產生中斷信號,通知MCU 來讀取數據。子系統B 不使用中斷功能。
在初始化nRF24L01 程序中,子系統B 配置為發送模式,使用16 位CRC 校驗。使用自動應答功能,數據通道0 被設置為接收應答信號,其數據通道0 的接收地址必須與發送端的地址相等,以此來保證能正確的收到應答信號。
一個系統最多可以有六個子系統A 組成,這6 個子系統的發送地址不能重復。子系統A 配置為接收模式,使用16 位CRC 校驗,最多接收6 個通道的數據。這6 個接收地址和各子系統B 中的發送地址相等。
在初試化SJA1000 中,使用PliCAN 模式,波特率125Kbps,禁止接受和發送中斷;輸出控制寄存器配置如下:正常模式,TX 下拉,輸出控制極性。此外,需正確配置驗收代碼寄存器和驗收屏蔽寄存器,此配置用於CAN 總線仲裁功能的實現。
在初始化MF RC500 中,其主要設置如下:TX1和TX2 的輸出配置為13.56MHz 能量載波;解碼器的輸入源為內部解調器;使用Q 時鐘作為接收器時鐘;禁止發送和接收中斷;設置RxThreshold 寄存器值為0xFF,BitPhase 寄存器值為0xAD 等。
復位請求函數將在天線的有效範圍內搜索Mifare1 卡,如果有卡存在,將建立通信連接並讀取卡上的卡片類型號TAGTYPE.防碰撞函數使MF RC500 在多張Mifare 1 卡選擇其中的一張。卡選擇函數能夠和已知序列號的卡進行通信。認證函數將Mifare 1 卡上的密碼和MF RC500 的EEPROM 中的密鑰進行匹配。
只有匹配正確後,才能進行對卡的讀寫操作。發送停機指令設置Mifare 1 卡為HALT MODE。
CAN 函數用於將有關數據發送至PC 機。本次設計採用查詢方式以確保數據已經發送。通過查詢狀態寄存器中的標誌位TBS、TCS 和TS 即可確認是否數據發送完畢。類似的,在無線函數中為確保數據已經發送,通過查詢狀態寄存器中的TX_DS 即可。
圖7 子系統A 軟體流程
圖8 子系統B 軟體流程圖
4 系統測試
首先,對RFID 模組進行了測試。將MIFARE 1卡放入天線有效範圍內,對該卡進行讀寫操作,並將相關數據顯示在液晶螢幕上。經過該測試,RFID 模組讀寫正常。
隨後,測試該系統傳輸網路的實時性,本文以溫度數據的無線傳輸進行測試。測量溫度的裝置為DS18B20 單線溫度傳感器。將該溫度傳感器連接至子系統B 中,溫度傳感器每隔一秒對室內溫度採樣一次,微控制器讀取溫度數據並通過無線網絡發送給A 子系統,A 子系統接收數據並通過CAN 總線發送至PC 端。
PC 端使用Visual
Basic 6.0 編寫上位機程序,上位機將溫度數據繪製成曲線並寫入文本。溫度曲線如圖8 所示,其中溫度值的精度為攝氏1 度。通過對溫度曲線圖和文本數據的對比觀察,發現溫度數據無異常, 數據沒有出現丟失情況。
圖9 溫度曲線圖
5 結語
本文利用了CAN 總線取代RS-485 總線,克服了後者存在的缺點。同時還使用了無線技術,在減少大量布線工作的同時,充分利用了nRF24L01 多點通訊的功能。在系統搭建完成後,筆者對系統進行了長時間測試。測試結果表明:數據傳輸穩定,可靠,實時性高,克服了傳統基於RS485 總線設計的RFID 收費系統的缺陷,具有較強的使用價值。
沒有留言:
張貼留言