基于CAN和2.4G的RFID收費系統
本文引用地址:http://dyxdggzs.com/article/153827.htm
2.5 RFID 模塊
2.5.1 MF RC500 芯片介紹。
RFID 模塊選用飛利浦公司的MF RC500,它是目前廣泛使用的RFID 芯片之一。MF RC500 支持ISO14443A協(xié)議,支持MIFARE 雙接口卡,內部有高集成度模擬電路用于應答卡的解調和解碼,具有64 字節收發(fā)FIFO 緩沖區和非易失性密鑰存儲器。此外,有專(zhuān)用的中斷管腳,支持6 個(gè)中斷源,可向MCU 發(fā)出中斷信號。
2.5.2 MF RC500 硬件接口連接。
由圖6 所示, MCU 將MF RC500 中的寄存器作為外部RAM進(jìn)行訪(fǎng)問(wèn)。INT 管腳懸空,不使用中斷功能。
3 軟件系統設計
在初始化單片機程序中,子系統A 外部中斷設置為低電平觸發(fā),子系統A 的中斷信號源由nRF24L01提供,當nRF24L01 收到數據后產(chǎn)生中斷信號,通知MCU 來(lái)讀取數據。子系統B 不使用中斷功能。
在初始化nRF24L01 程序中,子系統B 配置為發(fā)送模式,使用16 位CRC 校驗。使用自動(dòng)應答功能,數據通道0 被設置為接收應答信號,其數據通道0 的接收地址必須與發(fā)送端的地址相等,以此來(lái)保證能正確的收到應答信號。一個(gè)系統最多可以有六個(gè)子系統A 組成,這6 個(gè)子系統的發(fā)送地址不能重復。子系統A 配置為接收模式,使用16 位CRC 校驗,最多接收6 個(gè)通道的數據。這6 個(gè)接收地址和各子系統B 中的發(fā)送地址相等。
在初試化SJA1000 中,使用PliCAN 模式,波特率125Kbps,禁止接受和發(fā)送中斷;輸出控制寄存器配置如下:正常模式,TX 下拉,輸出控制極性。此外,需正確配置驗收代碼寄存器和驗收屏蔽寄存器,此配置用于CAN 總線(xiàn)仲裁功能的實(shí)現。
在初始化MF RC500 中,其主要設置如下:TX1和TX2 的輸出配置為13.56MHz 能量載波;解碼器的輸入源為內部解調器;使用Q 時(shí)鐘作為接收器時(shí)鐘;禁止發(fā)送和接收中斷;設置RxThreshold 寄存器值為0xFF,BitPhase 寄存器值為0xAD 等。
復位請求函數將在天線(xiàn)的有效范圍內搜索Mifare1 卡,如果有卡存在,將建立通信連接并讀取卡上的卡片類(lèi)型號TAGTYPE.防碰撞函數使MF RC500 在多張Mifare 1 卡選擇其中的一張??ㄟx擇函數能夠和已知序列號的卡進(jìn)行通信。認證函數將Mifare 1 卡上的密碼和MF RC500 的EEPROM 中的密鑰進(jìn)行匹配。
只有匹配正確后,才能進(jìn)行對卡的讀寫(xiě)操作。發(fā)送停機指令設置Mifare 1 卡為HALT MODE.
CAN 函數用于將有關(guān)數據發(fā)送至PC 機。本次設計采用查詢(xún)方式以確保數據已經(jīng)發(fā)送。通過(guò)查詢(xún)狀態(tài)寄存器中的標志位TBS、TCS 和TS 即可確認是否數據發(fā)送完畢。類(lèi)似的,在無(wú)線(xiàn)函數中為確保數據已經(jīng)發(fā)送,通過(guò)查詢(xún)狀態(tài)寄存器中的TX_DS 即可。
4 系統測試
首先,對RFID 模塊進(jìn)行了測試。將MIFARE 1卡放入天線(xiàn)有效范圍內,對該卡進(jìn)行讀寫(xiě)操作,并將相關(guān)數據顯示在液晶屏上。經(jīng)過(guò)該測試,RFID 模塊讀寫(xiě)正常。 隨后,測試該系統傳輸網(wǎng)絡(luò )的實(shí)時(shí)性,本文以溫度數據的無(wú)線(xiàn)傳輸進(jìn)行測試。測量溫度的裝置為DS18B20 單線(xiàn)溫度傳感器。將該溫度傳感器連接至子系統B 中,溫度傳感器每隔一秒對室內溫度采樣一次,微控制器讀取溫度數據并通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò )發(fā)送給A 子系統,A 子系統接收數據并通過(guò)CAN 總線(xiàn)發(fā)送至PC 端。
PC 端使用Visual Basic 6.0 編寫(xiě)上位機程序,上位機將溫度數據繪制成曲線(xiàn)并寫(xiě)入文本。溫度曲線(xiàn)如圖8 所示,其中溫度值的精度為1 攝氏度。通過(guò)對溫度曲線(xiàn)圖和文本數據的對比觀(guān)察,發(fā)現溫度數據無(wú)異常, 數據沒(méi)有出現丟失情況。
5 結語(yǔ)
本文利用了CAN 總線(xiàn)取代RS-485 總線(xiàn),克服了后者存在的缺點(diǎn)。同時(shí)還使用了無(wú)線(xiàn)技術(shù),在減少大量布線(xiàn)工作的同時(shí),充分利用了nRF24L01 多點(diǎn)通訊的功能。在系統搭建完成后,筆者對系統進(jìn)行了長(cháng)時(shí)間測試。測試結果表明:數據傳輸穩定,可靠,實(shí)時(shí)性高,克服了傳統基于RS485 總線(xiàn)設計的RFID 收費系統的缺陷,具有較強的使用價(jià)值。
電磁爐相關(guān)文章:電磁爐原理
評論