基于CAN總線和RFID的礦井定位系統設計
考慮到礦井中的設備需要防爆安全認證,本系統設計中盡可能地減少外圍芯片數量。MCU采用美國微芯公司的PIC18F4580單片機,此單片機集成了基于ECAN技術的CAN總線控制模塊、lO位A/D模塊、增強的通用串口模塊、32KB的增強型Flash存儲器等,內部資源豐富,簡化了系統設計。
射頻收發模塊使用AD公司的可編程射頻收發芯片ADF7020,工作頻率為431~478MHz和862~956MHz波段,收發過程工作在半雙工方式,支持ASK/FSK/OOK/GFsK等多種調制方式。CAN總線驅動器使用的是致遠電子的通用CAN收發器芯片CTM8251A,此芯片將傳統的CAN總線驅動電路的光電隔離和CAN驅動器集成到一塊芯片,提高了通信的可靠性。
2.1PICl8F458O與CTM825lA的接口電路PIC18F4580帶有CAN控制模塊,支持CAN1.2、CAN2.0A、CAN2.0B協議,只需外接CAN驅動器即可實現CAN模塊的硬件設計,接口電路如圖3所示。CAN發器芯片CTM8251A具有DC2500V隔離功能,符合ISO11898標準,數據速率最高達1Mbps,具有自動熱關斷保護功能,并且未上電或欠壓節點不會影響CAN總線的正常工作。
2.2PIC18F4580與ADF7020的接口電路
PIC18F4580單片機通過ADF7020的串行數據輸入引腳SDATA向ADF7020發送編程控制字,控制其工作方式,并可以通過串行數據讀回引腳SREAD讀取ADF7020的工作狀態,SLE引腳作為控制字的鎖存信號。DATAI/O引腳是發送信號輸入和接收信號輸出分時復用引腳,收發工作在半雙工方式,因此MCU工作在半雙工的同步通信模式下,通過串行同步接口接收或發送數據。當ADF7020接收到一個來自天線的有效信號后,通過INT/LOCK引腳向MCU發出中斷信號。
3、系統的軟件設計
本設計的編程環境是MPLABIDE軟件并內嵌MPLAB―C18,可以支持C語言編程。系統的軟件主要分為PIC18F4580初始化、ADF7020初始化、CAN數據收發、讀卡器與電子標簽間的通信算法等部分。
PIC18F4580初始化主要是對片內各個功能模塊的初始化,包括:CAN模塊初始化,USART模塊初始化,WDT初始化,設置各個端口的方向等。
ADF7020初始化主要包括:設置晶振電路的接人方式,信號的調制/解調方式(ISO/IEC18000―6c標準中使用ASK),定義調制信號的調制輸出功率,打開VCO、PLL和輸入輸出時鐘等。在CAN數據收發程序中,讀寫器的MCU通過CAN總線向上位機實時發送讀寫器識別出的Tag的相關信息,而CPU接收來自上位機的控制命令數據。
本系統要求讀寫器能夠識別到其覆蓋范圍內的所有Tag,但在讀寫器覆蓋范圍內的Tag會幾乎同時響應讀寫器的指令,這樣響應信號就會發生碰撞,導致通信失敗,讀寫器無法正確識別Tag。因此,讀寫器軟件系統要加人防碰撞算法,保證讀寫器能夠與電子標簽正確地交換信息。本系統使用支持ISO/IEC18000―6c協議的電子標簽,規定使用基于概率類型的時隙隨機防碰撞算法。此算法的工作過程為:電子標簽進入讀寫器覆蓋范圍后進人Ready狀態;讀寫器發送Select命令和Query命令信號(開始一個新的Round周期)并監聽響應信號;電子標簽收到Query命令后將一個16位的隨機(或偽隨機)數(數值范圍為0000H~3FFFH,即共有多達215個時隙可供使用)裝載到時隙計數器中,進入Arbitrate狀態,當電子標簽每接收到一個QueryRep命令,時隙計數器就會進行減法操作(Query命令中規定了每次減的值Q,而且可以使用QueryAdjust命令修改先前的Query命令規定的Q值);
當計數器減為0時電子標簽就進入Reply狀態,此時向讀寫器發出一個16bit的(偽)隨機數作為應答信號;如果電子標簽收到一個有效的ACK信號(正確包含自己向讀寫器發送的16bit隨機數),那么電子標簽就會進入Acknowledged狀態,否則如果沒有收到正確的ACK,則表明發生碰撞,返回Arbitrate狀態;在確認狀態中,電子標簽向讀寫器發送包含自己的PC(ProtocolContro1)、EPC(ElectronicProductCode)和16bit的CRC校驗等字段的信息;此后讀寫器向電子標簽發出Read命令,可以讀Tag的EPC和TID的部分或全部內容;讀取后Tag又回到Ready狀態。
由于ISO/IEC18000―6c協議使用基于概率類型的時隙隨機防碰撞算法,與ISO/IEC18000―6a協議的ALOHA算法和ISO/IEC18000―6h協議的自適應二進制數算法相比,由于時隙隨機防碰撞算法在Tag中使用時隙計數器進行防碰撞,大大簡化了讀寫器CPU的編程工作,并提高了讀寫器的工作效率。
4、結語
本文針對煤礦安全生產的需要,設計了基于RFID技術的礦井定位系統。為了提高系統的可靠性,減小防爆安全認證的難度,設計中使用高集成度芯片,以減少分立元件的數量。在讀寫器中實現了基于最新的ISO/IEC18000―6c國際標準協議的軟件設計,不僅減小了沖突發生的概率,而且大大提高了讀寫器CPU的效率。讀寫器與上位機的通信使用了可靠性較高、礦井中廣泛使用的CAN總線技術,使地面監控室可以及時了解井下的工作狀況。













評論