基于CAN總線的PC與RFID讀寫器通信實現
文章出處:http://hz-huyue.com 作者:王啟剛 譚杰 人氣: 發表時間:2011年10月23日
射頻識別(Radio Frequency Identification,RFID)是一種非接觸的無線自動識別技術,其基本原理是利用射頻信號和空間耦合(電感耦合或電磁耦合)傳輸特性實現對被識別物體的自動識別⋯。近年來,RFID技術迅速發展,被廣泛應用于工業、農業、體育休閑、交通管理和防偽防盜等眾多領域。根據RFID應用的具體特點,本文以制衣流程過程為基礎,提出了一種RFID技術在制造業生產流水線上的應用通信方案及其詳細實現。
制衣生產線和很多其他工業生產線一樣,每條流水線上有幾個、幾十個甚至更多的加工站點。為了在這種多站點生產線上應用RFID技術,一般需要在每一個工作站點部署一到兩個RFID讀寫器(Reader)用以控制各個工作站點的任務調度,實現各工作站點和工作人員的自動管理。然而,由于工作站點的個數較多,生產線監控管理上位機(Pc)還要實現各個工作站點的實時信息采集和監控,這就要求PC與各個工作站點的RFID讀寫器之間實現可靠的實時通信。為此,本文提出了用CAN總線實現PC與RFID讀寫器通信的方案。
1 CAN總線與RS485總線
RS485總線曾經在工業控制系統的發展過程中發揮了重要作用。但是,隨著工業控制系統功能分散化、任務多元化、整體復雜化程度的提高,工業控制系統對于可靠性、實時性、靈活性的要求也越來越高,工業數據總線領域中原有的RS485總線通信標準已經不能滿足工業過程控制和制造業自動化的需要。在這種情況下,現場總線(Field Bus)技術以其自身的高性價比而成為了工業數據領域中的一種新通信方式??刂凭钟蚓W絡(Control Area Network,CAN)總線是目前業界公認的最有前途的幾種現場總線之一。
RS485總線的局限性主要表現在:(1)RS485總線可以互聯的設備節點數一般不超過32個,這顯然不能夠滿足多點工作站的需求和生產線的規模擴展的需要,比如每條制衣生產線的工作站點很多都在40個以上;(2)RS485總線多為查詢工作方式,由上位機定時輪詢各個工作站點,效率低,實時性差;(3)RS485總線構成的通信系統可靠性不好,當由于某種原因使得兩個或更多從節點同時向總線發送數據時,將導致通信混亂甚至RS485驅動損壞;(4)RS485總線通信過程實現復雜,由于RS485僅僅是一種電氣協議規定,并沒有實現可靠的通信方法,這給通信軟件開發與程序調度實現增加了額外負擔。
CAN總線是20世紀80年代德國Bosch公司為了解決現代汽車中眾多控制與測試儀器之間的數據交換而開發的一種串行數據通信協議,其對應的國際標準ISO11898已經在1993年11月由ISO組織頒布。與RS485總線相比較,CAN總線的主要技術優勢表現在:(1)CAN總線可同時互聯的節點數目多,實際可連接1 10個節點;(2)CAN總線用數據塊編碼的方式替代了節點地址編碼,各節點通過濾波的方式實現多地址幀傳送;實現了面向數據而不是節點的通信,方便系統配置;(3)CAN 總線采用基于節點優先權設定的非破壞性總線仲裁技術,有效避免了總線上的數據傳輸沖突,使網絡在高負載運行的情況下也不會出現網絡癱瘓的情況,可靠性高;(4)CAN 總線有自己的用戶層可靠通信協議和數據錯誤自診斷功能,采用循環冗余校驗判斷報文是否有傳輸錯誤,采用8B數據段區域,既滿足了工業領域中控制命令、數據傳輸等的一般要求,又保證了通信的實時性。這不僅方便了上位機軟件開發,還有利于系統的穩定可靠運行。
2通信實現的系統結構
圖1顯示了使用USB—CAN智能轉換卡連接PC與RFID讀寫器的生產線控制系統結構。在這一系統中,USB—CAN智能轉換卡是上位機PC 采集和發送信息的通道接13,USB—CAN 智能轉換卡下端通過雙絞線連接各個控制節點— — RFID讀寫器。RFID讀寫器通過延長線連接的天線讀取電子標簽信息,經過RFID讀寫器處理后再經過CAN總線傳送到上位機處理,同時通過CAN總線接收上位機的各種控制命令和信息提示。上位機負責整個系統的監控和管理,其控制信息經過CAN總線而傳送到RFID讀寫器。
圖1應用CAN總線連接PC與RFID讀寫器的系統結構
2.1 CAN總線通信中應該注意的問題
(1)USB—CAN 智能轉換卡所支持的最擴展幀轉換率為5000幀/s,如果是標準幀或者請求幀,其速率會更快。在使用USB—CAN智能轉換卡實現CAN總線與上位機的連接時要充分考慮節點的規模和應用中的最大的瞬間數據傳輸總量,以保證系統的實時性和可靠性。
(2)上位機PC中USB—CAN設備的驅動程序安裝,不同于RS485總線和CAN/RS232接13卡,USB接13需要安裝USB—CAN設備自帶的設備驅動程序才能正常工作。
(3)CAN總線終端匹配電阻的連接,為了增強CAN總線通信的可靠性,CAN總線網絡的兩個斷電通常要連接兩個終端匹配電阻。匹配電阻值的大小根據CAN總線網絡使用的傳輸介質的阻抗特性而定。系統中采用的是阻抗特性為120歐姆的雙絞線,連接方式如圖2所示。
圖2用雙絞線連接的CAN總線網絡
2.2通信協議說明
CAN總線的ISO標準中規定了自己的通信協議格式,在這個應用中為使用方便并滿足更多節點擴展的需要,信息幀統一采用符合CAN2.0B協議(表1)實現系統中的信息傳輸。與RFID讀寫器通信的協議幀的意義表示(表2)以及與CAN總線協議擴展幀的對應解釋如下,其中表1中x表示CAN協議中的保留位。
表1 CAN總線CAN2.0B協議奠結構
表2 RFID通信協議奠的規定
在RFID通信協議幀的規定中,信息被分為4個域(表1),其中,信號類型域用來表示信息的傳輸方向,即是上位機發送到RFID讀寫器還是相反, 占用CAN2.0協議擴展幀數據域的第1個字節(字節6)。站點域,即報文識別碼區域,總共有4個字節(29位二進制數+3位保留位,字節2~5),此處采用報文識別碼的前兩個字節作為目的地址字節,作為識別符參與濾波的有效部分,以達到表示每個工作站的目的地址的作用;采用后兩個字節的13位二進制數表示信息的來源地址,它們不參與濾波;通信中采用的是數據幀,而非遠程幀,所以數據域的長度為1-8個字節,由CAN2.0協議擴展幀中的DLC區域表示;規定中的數據域實際上只剩下7個字節(字節7—13),用以表示通信中的命令或信息內容。這里的信息對應內容即是CAN 總線通信協議幀解析時,程序要做的工作。
2.3 USB-CAN智能轉換卡與上位機PC通信的軟件實現
以中科院自動化所開發的手操器式RFID讀寫器作為終端通信節點,以某公司生產的USBCAN—I型USB—CAN轉換接13卡作為連接PC 與CAN 總線的硬件設備,基于Microsoft.NET 2003的MFC開發環境,本文實現了基于CAN總線的PC與多RFID讀寫器之間的通信。在上位機PC要實現的功能中,首先是要配置CAN總線通信的相關參數,如定時器設置、濾波方式、工作模式等,并初始化USB—CAN智能轉換卡,然后才可以啟動USB—CAN設備。圖3顯示了上位機PC與RFID讀寫器通信過程操作的主要流程。
圖3上位機PC與USB-CAN通信主要流程
該流程中,信息的讀取解析與發送過程是通信的核心部分,其相應的USB 13監聽線程程序的說明如下:
該段程序中協議規定的命令類型解析部分和數據內容處理部分是PC實現與RFID讀寫器通信的核心。程序實現時應特別注意協議幀中保留位的處理方法。在接收到一幀信息時報文識別碼區域共占用4個字節,但是字節5低三位作為保留位而沒有使用,因此解析字節2~字節5時應首先將這4個字節的內容右移3位去掉保留位的內容,然后處理報文識別碼的真正內容,否則就會解析出錯。
該段程序在確認相應的命令類型的基礎之上,對接收到的各種數據信息作出進一步解析和響應(在ProcessData(、、、 )函數中實現)。ProcessData(⋯ )函數所完成的任務,要根據不同工程中規定的協議意義做出解析和響應。比如,在本文的通信中把十六進制的“AABB”放入擴展幀中的字節7-13中表示上位機的握手查詢命令,而如果接收到的幀中7~13字節的內容是十六進制的“BB AA+站點當前接入的設備ID”,則表示RFID讀寫器的握手應答信息。
3結論
在介紹了RFID技術的一些應用后,針對生產線上幾十個RFID讀寫器的應用情況,對RS485總線和CAN總線的關鍵技術特性作出了詳細的對比,給出了一種基于CAN總線的PC與多RFID讀寫器通信的硬件結構和軟件實現的關鍵部分說明。在RFID技術廣泛應用的今天,這樣一種基于CAN總線的PC與多RFID讀寫器的連接通信方式對于促進RFID技術在工業自動化領域中的應用具有積極意義。
基金項目:國家“863”計劃基金資助項目(2005AA420050)
作者簡介:王啟~(1982-),男,碩士生,主研方向:RFID技術及其應用;譚杰,副研究員、碩士
參考文獻
1游戰清,李蘇劍.無線射頻識別技術(RFID)理論與應用[M].北京:電子工業出版社,2004.
2史久根,陳真勇.CAN現場總路線系統設計技術[M].北京:國防工業出版社,2004.
3王偉杰,趙龍軍,趙學增,等.基于CAN 總線的工業測控系統的構建[C]//中國控制與決策學術年會.2002.
4廣州周立功單片機發展有限公司.USBCAN 用戶手冊VI.2[z].2oo3.
5廣州周立功單片機發展有限公司.CAN—bus通用測試軟件及接口函數庫使用手冊[Z/.2003.