陳 峰 , 韓曉英
(1.華南理工大學 土木與交通工程學院,廣東 廣州,510641;2.廣州大學 實驗中心,廣東 廣州 510006;3.廣東省公共網絡安全風險評價與預警應急技術研究中心,廣東 廣州,510075)
隨著3G技術的發展,TD-SCDMAD等3G無線網絡已經覆蓋廣州等十多個大中型城市。自2005年以來,3G上網流量一直保持著接近300%的增速,基于3G網絡的增值應用具有廣闊的發展前景。
筆者將3G無線網絡單元與射頻接收端統一于ARM7微處理器平臺,設計了基于ARM的3G無線射頻測控平臺,可有效滿足分散地域的多種測量控制需求。
系統結構由ARM微處理器、HID設頻模塊、3G無線模塊、外部實時時鐘、多個模擬數字接口和存儲單元6部分組成。考慮到開發周期、系統穩定性等問題,ARM微處理器采用西門子LPC2214微處理器芯片,HID射頻模塊采用成熟的ProcPoint公司6005B型HID讀卡器,3G無線模塊采用華為em560、em200、em770w模塊系列,內嵌TCP/IP協議無線通信模塊。系統結構如圖1所示??紤]到準確計時和批量保存考勤數據的需要,擴展了I2C總線的外部時鐘芯片1337和采用備用電池供電的外部靜態ROM存儲單元CY62157ESL。

圖1 基于ARM的3G無線射頻測控系統結構Fig.1 Systiem structure of 3G wireless measure and control machine based on ARM microprocessor
3G模塊選用華為 em560、em200、em770w模塊系列、帶TPC/IP協議的無線模塊。該無線模塊系列的3種產品,分別支持TD-SCDMA、CDMA2000、WCDMA3G無線通信技術,通過簡單的模塊替換,即可兼容不同格式的3G網絡。系統支持AT命令及增強AT命令,提供豐富的語音和數據業務等功能。
由于該系列模塊通過RS232接口實現與主機的通信,因此選用了SP3243E作為232電平的轉換芯片。其接口電路如圖2所示。圖中左側所接電路為無線通信模塊的RS232接口,右側電路接入LPC2214微處理器芯片串口1相關管腳。

圖2 3G無線模塊接口電路Fig.2 Circuit of 3G wireless model interface
HID射頻模塊采用成熟的ProcPoint公司6005B型HID讀卡器。該讀卡器輸出信號支持WEIGAND26和WEIGAND34協議。
電路設計中,將LPC2214的P0.16和P0.20多路復用管腳功能設置為外部中斷0和外部中斷3,采用外部中斷的方式實現對6005B型HID讀卡器DATA0和DATA1路數據每次讀卡過程26個或34個脈沖信號的采集。由于HID讀卡器輸出為標準TTL電平,ARM微處理器為低功耗CMOS電平,該處使用了74LVX4245電平轉換芯片,將5 V標準輸入轉換為3.3 V。
接口電路如圖3所示。圖中左側最上端兩個管腳為LPC2214的輸入管腳,通過對74LVX4245的22腳接低電平實現輸入電壓轉換。

圖3 HID讀卡器接口電路原理Fig.3 Circuit of HID card reader interface
LPC2214接口功能豐富,擁有8路10位ADC、PWM輸出以及多達9個外部中斷。通過配制總線,最多可提供76個通用IO接口。
由于讀卡器和無線串口占用了16個通用IO接口,以及其他系統占用了部分接口,因此將P2口的P2.0到P2.31接口設計為32個通用數字I/O接口,通過簡單的寄存器設計設置為16入、16出;將P3口的P3.0到P3.9接口設置為10路模擬輸入接口。該種設計使得系統具備16路數字輸入、16路數字輸出和10路模擬信號輸入的能力,成為一臺具有豐富I/O接口的通用測控平臺。
軟件系統主要圍繞穩定可靠的3G無線通信和兼容WEIGAND26和WEIGAND34協議的讀卡識別兩方面展開。通過在西門子LPC2214微處理器芯片中植入μC/OS-Ⅱ操作系統,增強了系統程序的穩定性。其中,3G無線通信程序主要參考國際通用的AT指令集,實現模塊與微處理器的信息交換??紤]到目前的主流讀卡協議為WEIGAND26和WEIGAND34協議兩種,讀卡軟件的編寫在兩種協議的兼容性方面進行了特殊的設計。
整個軟件體系如圖4所示,首先啟動μC/OS-Ⅱ系統,建立主任務,進行串口等的初始化,然后通過串口信號線驅動Modem,AT指令集進行一系列Modem參數設置,并撥號到GGSN,新建PPP任務進行數據鏈路層和網絡層的協商,得到IP,完成上網過程。此時可以建立發送數據任務,作為客戶端向網絡主機發送建立TCP連接請求,經過2次握手成功后,雙方TCP連接狀態都到達ESTABLISH(建立連接)狀態[4],此時便可以將搜集到的數據通過套接字傳輸回網絡主機,完成傳輸任務[5]。接下來可以結束任務或等待下一次采集數據時間到,再次進行傳輸。

圖4 3G無線通信軟件流程Fig.4 Flow chart of 3G wireless communication program
WEIGAND(韋根)協議在數據的傳輸中只需兩條數據線,一條為DATA0,另一條為DATA1。協議規定,兩條數據線在無數據時均為高電平,如果DATA0為低電平代表數據0,DATA1為低電平代表數據1(低電平信號低于1 V,高電平信號大于4 V)。兩個脈沖間的時間間隔在200 μs到 20 ms之間。
韋根26位輸出格式:
E XXXX XXXX XXXX XXXX XXXX XXXX O
其中,第1位E表示前12BIT偶校驗碼,最后1位O表示后12BIT奇校驗碼,第2位到第9位為區域碼,第10位到第25位為卡號。以上數據從左至右順序發送。高位在前。韋根34與韋根26的區別在于區域碼由8位擴展到16位,首尾的校驗碼均為16位而不是12位校驗碼。
考慮到現有HID射頻卡多為WEIGAND26和WEIGAND34兩種格式,設計了可兼容兩種協議的讀卡程序。
程序流程如圖5所示。采用捕捉外部中斷的方式對DATA0和DATA1的脈沖計數,同時記錄脈沖間隔時間。當脈沖間隔時間>30 ms時,認為一次讀卡過程結束。若脈沖數等于26或34,作為WEIGAND26卡或WEIGAND34卡處理,記錄卡號和讀卡時間;否則,丟棄數據,通過顯示屏和喇叭發出刷卡失敗報警信息,提示使用人員重新刷卡。

圖5 兼容WEIGAND26、34協議的讀卡程序流程Fig.5 Flow chart of WEIGAND26 and 34 compatibility reading cards program
系統數據校驗采用32位CRC校驗 (循環冗余校驗)方式:在發送端根據要傳送的k位二進制碼序列,以一定的規則產生一個校驗用的r位監督碼(CRC碼),附在原始信息后邊,構成一個新的二進制碼序列數共k+r位,然后發送出去。在接收端,根據信息碼和CRC碼之間所遵循的規則進行檢驗,以確定傳送中是否出錯。該種校驗方法檢錯能力強,占用系統資源少,用來檢測或校驗數據傳輸或者保存后可能出現的錯誤,是進行數據傳輸差錯檢測地一種很好的手段。
以該無線測控平臺為基礎,針對湛江移動分公司多個分散營業廳統一考勤需要,通過設計相應的上位機軟件,系統以無線統一考勤的方式在散布于湛江地區80個移動營業廳開展了應用。從應用結果看來,該系統對WEIGAND26和WEIGAND34協議的不同種類HID卡均可正確識別,讀卡響應快,數據存儲和無線傳輸穩定可靠。
圖6為散布于湛江地區80個移動營業廳的無線考勤系統15天(21 600 min)實際運行在線率統計結果。從圖中可看出,除56號機等處于偏遠地區,經實際測試無線信號很弱的設備掉線時間較長外,90%的無線測控平臺在線率達90%以上,系統運行穩定可靠。

圖6 系統試運行在線率統計Fig.6 Online ratio of trail running
將華為3G無線模塊與HID讀卡器統一于西門子LPC2214 ARM微處理器芯片,設計了一種基于ARM微處理器的3G無線測控硬件平臺,在此基礎上,設計了可兼容WEIGAND26和WEIGAND34協議的讀卡程序、3G無線通信程序和其它軟件。系統在分散于湛江地區的80個移動營業廳實地應用表明,該設備讀卡正確率高、響應快,數據存儲和無線傳輸穩定可靠,可滿足大范圍分散地域的多種測控需求。
[1]秦霆鎬,張婷婷.基于ARM的非接觸式指紋IC卡一體機的設計[J].儀表技術,2006(6):11-15.
QIN Ting-gao,ZHANG Ting-ting.Design of untouched fingerprint and IC card machine based on ARM microcontroller[J].Instrument Technique,2006(6):11-15.
[2]岳云峰,韋根.(Wigand)協議及其應用[J].齊齊哈爾大學學報,2002(6):56-58.
YUE Yun-feng,WEI-gen.Wigand protocol and application[J].Journal of Qiqihar University,2002(6):56-58.
[3]周立功.ARM微控制器基礎與實戰[M].北京:北京航空航天大學出版社,2003.
[4]苗啟廣,魏樂,王寶樹,等.基于uClinux的嵌入式軟件開發架構[J].計算機工程與設計,2004,25(6):881-883.
MIAO Qi-guang,WEI-Le,WANG Bao-shu,etal.Software developmentframework based on uClinux [J].Computer Engineering and Design,2004,25(6):881 -883.
[5]蘆東昕,張華強,王陳.基于UDP的可靠數據傳遞技術環境[J].計算機工程,2003,29(22):62-63.
LU Dong-xin,ZHANG Hua-qiang,WANG Chen.Reliable data transmit technique environment based on UDP[J].Computer Engineering,2003,29(22):62-63.
[6]華為GTM560無線模塊 AT命令手冊 [EB/OL].(2007-07-12).http://www.elecfans.com/soft/.