摘 要:随着全國高速公路電子不停車收費(ETC)系統的快速發展,具備藍牙模塊的ETC設備近幾年獲得了較為廣泛的應用。本文設計了一種ETC設備藍牙應用協議檢測系統,能對ETC設備的藍牙應用協議和功能進行檢測。該系統具備較強的擴展性,支持靈活地編輯符合各種規範的應用協議測試例和判定準則,可對ETC設備進行藍牙應用協議符合性的自動化測試。該系統還可精确檢測藍牙通信設備的數據處理時間和響應時間,評估被測設備的通信可靠性。
關鍵詞:電子不停車收費(ETC);ETC設備;藍牙OBU;藍牙應用協議;檢測系統;
ETC儲值卡的充值困難問題、車載單元(OBU,On-Board Unit)的安裝和激活便利性問題,在一定程度上制約了ETC用戶的發展。在這種背景下,内置藍牙無線模塊的ETC設備,包括藍牙OBU、藍牙讀卡設備(或稱為藍牙盒子)等,在市場上獲得了更快的發展空間。藍牙OBU通過内置藍牙無線模塊,能與手機等智能終端進行通信和信息交互,可支持互聯網自助安裝、發行、激活及異地充值等功能。藍牙讀卡設備可以實現ETC儲值卡充值、查詢等多種功能。
對ETC設備與藍牙智能終端設備(如手機)之間的藍牙應用協議進行符合性測試,是ETC設備成功實現上述藍牙應用功能的技術保證。目前藍牙應用協議通常采用高度定制的手機APP進行測試。但是因為藍牙應用協議由各省自行定義,不同協議之前差異較大,手機APP作為測試工具存在開發工作量大、測試例修改靈活性差、可擴展性差、無法對通信交互時間做到精确測量等問題。為了解決上述問題,本文設計并實現了一種專用的ETC設備藍牙應用協議檢測系統。
本文第二章提出檢測系統的功能需求;第三章介紹了系統設計與實現方式,包括系統構成、藍牙工裝設備硬件設計、上位機軟件設計、測試指令幀設計和協議符合性的自動判斷準則等;第四章是檢測系統的測試驗證情況;第五章總結全文。
1 系統功能需求ETC設備藍牙應用協議檢測系統應具備的基本功能是與被測ETC設備建立藍牙通信連接,執行預先編寫的測試指令對藍牙應用協議進行測試,并輸出測試結果及相關數據。為了實現應用協議的自動化測試,測試系統應支持通過預先編寫的判定準則,對被測ETC設備的返回數據是否符合應用協議進行自動判斷。同時為了支持多種藍牙應用協議,檢測系統的測試用例應具備可擴展性,即支持協議測試用例的自定義編輯和發送。此外,為了測試被測ETC設備的藍牙通信性能,檢測系統還應支持對藍牙協議通信數據幀的起始和結束時刻進行精确計時,且計時精度應在1毫秒以内。
檢測系統的基本硬件要求包括:
(1)具備藍牙BLE通信模塊;
(2)通信接口:支持串口(波特率可配置)、網口通信(IP等參數可配置);
(3)至少2個PSAM卡插槽,支持PSAM卡的讀寫;
(4)具備LED燈、蜂鳴器等提示模塊,提示設備工作狀态和異常等信息。
(5)支持對藍牙協議空口數據幀毫秒級的硬件定時。
2 系統設計與實現2.1 系統構成ETC設備藍牙應用協議檢測系統包括藍牙工裝設備和控制該工裝設備的上位機軟件兩大主要部分。整個系統的構成(含被測藍牙OBU)如圖1所示。藍牙工裝設備和安裝上位機軟件的測試計算機之間的通訊接口為串口或網口。其中,上位機軟件實現人機界面,對整個測試過程進行控制和管理,實現系統設置、數據通信、測試例管理、數據管理等功能。藍牙工裝設備内置嵌入式軟件,控制工裝設備的時序和操作流程。工裝設備與被測ETC設備通過藍牙連接,進行藍牙通信并測試被測ETC設備的藍牙應用協議和性能。
圖1 檢測系統構成 下載原圖
2.2 藍牙工裝設備硬件設計工裝設備的硬件設計框圖如圖2所示。
硬件模塊采用ARM硬件平台,雙模藍牙方案使用TI公司的CC2564C實現,藍牙網絡芯片選用原廠配套陶瓷藍牙天線,并内置藍牙BLE協議棧,支持通過BLE藍牙模塊與藍牙OBU進行連接并通信。為實現對藍牙協議通信數據幀的精确計時,采用常規格晶振,參數為25MHz,25ppm。硬件模塊内置USB轉串口芯片和以太網協議棧芯片,可以通過串口或網口與上位機連接。硬件設備配備PSAM卡槽,以支持認證相關的協議測試,智能卡接口使用4片ST8024L芯片在ARM控制器和4個卡座之間連接,實現4路獨立的SmartCard接口。
2.3 上位機軟件設計藍牙應用協議測試軟件的功能結構如圖3所示。
軟件主要功能包括:系統設置、掃描藍牙、數據通訊、測試例管理和數據管理。詳細功能如下:
(1)系統設置
系統設置主要功能包括:
(1)協議選擇。可以選擇應用層數據直接通過藍牙BLE協議進行收發,或者先将應用層數據按微信的Protobuf協議進行封裝,再通過藍牙BLE協議進行收發。
(2)網絡連接。可選擇通過串口或網口與上位機通信,串口波特率可以配置,網口IP等參數可配置。
(3)PSAM卡選擇。從4個PSAM插槽中選擇拟使用的PSAM。
(4)硬件複位。可以複位硬件到初始狀态。
(2)掃描藍牙
軟件可以向工裝設備發送掃描藍牙指令,并顯示工裝返回的掃描結果。用戶可以從掃描到的藍牙設備列表中選擇被測的ETC設備,軟件會将該設備的MAC地址發送給工裝設備,由工裝設備建立與該ETC設備的連接。如與ETC設備建立連接成功,工裝設備将返回連接成功标志。
(3)數據通訊
數據通訊功能用于将測試指令數據發送給工裝設備,由工裝設備發給連接的藍牙設備,工裝設備在接收到藍牙設備返回的數據後,返回給上位機軟件。
(4)測試例管理
測試例管理功能可實現測試例的新建、修改與保存。測試例能自定義名稱,每個測試例可以自定義多條需要發送的指令,執行完一條指令後,下一條指令的執行條件可以配置(如是否需要收到回複幀才能執行下一條指令,間隔多久發送下一條指令)。測試例可以進行自定義分組(如按省份分組),選擇某個分組可以顯示該分組下的所有測試例。
(5)數據管理
圖2 藍牙工裝硬件設計圖 下載原圖
圖3 軟件功能結構圖 下載原圖
數據管理功能可以實現收發數據和測試日志的保存和查看功能。
2.4 測試指令幀設計測試指令幀的格式設計及示例如表1所示:
表1 測試指令幀格式設計及示例 下載原圖
表1中各字段說明如下:
(1)指令代号:按順序編号。
(2)發送内容:該條指令幀需要發送的數據操作指令。
(3)發送方向:向被測ETC設備通過藍牙發送時寫1,向PSAM卡發送時寫2。
(4)返回變量名:是指當該條指令幀發出後,需要從接收到的數據中截取一段數據暫存,并插入到後續下發指令幀中特定位置,暫存的數據就存入返回變量名中。一條指令幀中如有多個返回變量,則寫入同一單元格中用逗号分隔。
(5)返回變量起始字節:與返回變量名按順序一一對應,如有多個也使用逗号分隔。
(6)返回變量長度:為需要截取的返回數據的字節數。
例如,某條指令的返回數據為33028036B300003100812F012DB1B1BEA9110100011611110112012200000000162015122820250916BEA941313233343500000000000000900060,需要截取返回數據的第26字節到第33字節(8字節卡号,如上述斜體加粗數據),存儲為變量名稱ZZ01,因此在返回變量名中填入ZZ01,在返回變量起始字節中填入26,在返回變量長度中填入8;需要截取返回數據的第14字節到第33字節,共20個字節的數據,存儲為變量名稱ZZ02,因此在返回變量名中填入ZZ02,在返回變量起始字節中填入14,在返回變量長度中填入20。當下一幀數據需要發送已截取的數據時,僅需将相應的變量名插入相應位置即可。
2.5 協議符合性的自動判斷準則檢測系統可以自動判斷被測設備返回的數據是否符合協議。為了實現該功能,系統支持預先對每條測試指令幀的返回數據設定判據條件。當收到返回數據時,軟件根據判據條件自動輸出判斷結果,并決定是否下發下一幀。判據條件需要設置指令代号、字節數、判斷方式和判據内容4個字段。各字段說明如下:
(1)指令代号需要與發送的測試指令幀一緻。
(2)字節數指示了待判斷的返回數據的字節位置。
(3)判斷方式的設計如下:
(1)01:判斷與所給判據内容是否一緻,不一緻則報錯,且不發下一幀。
(2)02:判斷與所給判據内容是否一緻,不一緻則報錯,但繼續發下一幀。
(3)11:判斷所給判據内容是否為之後剩餘字節的總長度,不一緻則報錯,且不發下一幀。
(4)12:判斷所給判據内容是否為之後剩餘字節的總長度,不一緻則報錯,但繼續發下一幀
(5)13:判斷本字節與下一字節内容是否為之後剩餘字節的總長度,不一緻則報錯,但繼續發下一幀。
(6)14:判斷最後2字節是否為9000,不是則報錯,且不發下一幀。
(4)判據内容通常用于與返回的數據進行比較,應為16進制數據;當判斷剩餘字節長度時,如不知道具體數據,判據内容填00即可;當判斷9000,判據内容隻需填入90,字節數填FF,判斷方式填14。
以下舉例說明,返回數據為
則相應的判據條件示例如表2所示。
表2 測試數據判據條件格式示例 下載原圖
表2說明如下
(1)判斷第1字節是否為B2。
(2)判斷第2字節是否為00。
(3)判斷第3字節是否與發送的第二字節一緻,即為02。
(4)判斷第4和第5字節是否為剩餘字節的總長度(小端模式)
(5)判定第6字節是否為81。
(6)判定第7字節是否為之後剩餘字節的總長度。
(7)判定第8字節是否為TPDU序列号“01”。
(8)判定第9字節“65”是否為之後該TPDU剩餘字節的總長度。
(9)判斷最後2字節是否為9000,如果是說明讀取正常,否則讀取失敗。
上述判據中,假如(1)(2)(3)(8)(9)不通過,則報錯,不發下一幀,其他判定不通過,報錯,但繼續發下一幀。
3 測試驗證情況藍牙工裝設備與安裝上位機軟件的電腦采用網線連接,被測ETC設備處于藍牙廣播狀态。上位機軟件向工裝設備發送掃描指令幀,工裝設備将掃描到的藍牙設備顯示在軟件界面。測試人員選擇被測ETC設備,建立藍牙連接。
連接成功後即可發送測試用例開始測試。測試用例可以進行預先編輯、分組和保存。測試時可以從左側測試用例欄選擇多個拟發送的測試用例,加載到發送數據顯示窗口中,點擊發送。測試用例由藍牙工裝設備,發送給被測設備。當所有指令都執行完畢後,工裝設備将把測試結果返回上位機軟件。測試數據窗口将顯示測試數據的交互時間、數據方向、數據内容和數據解析結果。
4 結語本文提出了一種專用的ETC設備藍牙應用協議檢測系統,支持靈活編輯符合各種規範的應用協議測試例和相應的判定準則,并按定義完成的測試例檢測ETC設備的藍牙應用協議是否符合相關協議标準,同時可對被測ETC設備的通信交互處理性能進行評估。相比傳統的高度定制的手機APP測試工具,本檢測系統具有操作簡便、靈活性高、可擴展性強、能精确測試交互時間等優點,不僅節約了多次開發手機APP的成本,而且能極大地減少測試工作的複雜度和工作量,提高測試工作效率。本檢測系統可廣泛應用于ETC藍牙OBU和藍牙盒子産品研發和質量檢測工作中。
參考文獻[1] GB/T 20851.1-2007,電子收費專用短程通信第1部分:物理層.
[2] GB/T 20851.2-2007,電子收費專用短程通信第2部分:數據鍊路層.
[3] GB/T 20851.3-2007,電子收費專用短程通信第3部分:應用層.
[4] GB/T 20851.3-2007,電子收費專用短程通信第4部分:設備應用.
[5] GB/T 20851.3-2007,電子收費專用短程通信第5部分:物理層主要參數測試方法.
[6] 孫保衛,趙海濤,馮晉峰.ETC在高速公路聯網中的應用.公路交通科技(應用技術版),2017(7):105-107.
[7] 李亦飛,傅惠,譚志标,等.基于NFC的ETC卡空中充值服務應用系統實現.中國交通信息化,2016(11):88-90.
[8] 黃小島.智能藍牙電子标簽的互聯網應用.機電工程技術,2016(A01).
[9] 李奇峰.基于互聯網的ETC電子标簽自助安裝系統.自動化與信息工程,2017(5).
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!