周云城 王維鋒 萬 劍
(江蘇省交通規(guī)劃設(shè)計院 南京 210004)
隨著現(xiàn)代大規(guī)模停車場智能化發(fā)展,單一出入口控制的管理模式逐漸被淘汰,取而代之的是具有停車誘導(dǎo)服務(wù)的停車場管理系統(tǒng)[1]。車位檢測器作為智能停車場管理系統(tǒng)的前端信息采集重要組成部分,是實現(xiàn)停車管理、車位誘導(dǎo)等功能的重要基礎(chǔ)。
早期的停車場車位檢測器多采用RS-232和RS-485通信接口。基于RS-232總線通信方式的停車監(jiān)測設(shè)備設(shè)計方案只能實現(xiàn)點對點半雙工通信[2],通信距離短且不利于擴展。采用RS-485總線通信方式實現(xiàn)多個監(jiān)測節(jié)點互聯(lián)[3],其性能明顯優(yōu)于RS-232總線方式,但仍存在通信實時性差、穩(wěn)定性弱等問題。
相比上述傳統(tǒng)的通信方式,將先進(jìn)的CAN總線應(yīng)用于停車位檢測器優(yōu)勢明顯。CAN 總線是1種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),采用該總線通信方式不僅可以提高數(shù)據(jù)上傳的實時性,同時具有更高可靠性[4]。因此,提出1種基于CAN 協(xié)議接口的停車檢測器設(shè)計方案[5-7],實現(xiàn)車位空滿狀態(tài)監(jiān)測、實時多節(jié)點組網(wǎng)的數(shù)據(jù)傳輸[8-12]。經(jīng)組網(wǎng)測試證明,筆者所設(shè)計的CAN 總線的停車位檢測器,不僅能實現(xiàn)車位狀態(tài)精確檢測,且具有良好的通信實時性與可靠性,適用于大規(guī)模分布式的停車場。
大型停車場管理系統(tǒng)利用車位占用信息,經(jīng)數(shù)據(jù)分析、發(fā)布后,可進(jìn)行停車出入精確誘導(dǎo)。一般情況下,車位占用信息有主動模式與被動模式上傳2種策略。主動模式下,停車位檢測器根據(jù)車位觸發(fā)及時上傳;被動模式時,根據(jù)管理需求定時收集各個車位的占用信息。車位占用信息作為停車誘導(dǎo)管理的依據(jù),其動態(tài)收集的準(zhǔn)確性、實時性有較高要求。2種模式都需要毫秒級的通信傳輸與車位狀態(tài)的準(zhǔn)確識別,這對車位檢測器的車位感知與數(shù)據(jù)傳輸功能提出較高要求。為及時直觀地表達(dá)車位占用情況,車位檢測器控制指示燈以不同顏色表征車位的空滿狀態(tài)。此外,車位檢測器作為1個感知設(shè)備,其工作參數(shù)影響信息采集傳輸效能,需提供各種參數(shù)配置接口。
綜上需求,本車位檢測器包含車位檢測、數(shù)據(jù)上傳、車位指示、參數(shù)配置4個功能模塊,總體結(jié)構(gòu)設(shè)計見圖1。
圖1 車位檢測器總體結(jié)構(gòu)設(shè)計Fig.1 Structureof the parking space detector
根據(jù)總體結(jié)構(gòu)設(shè)計,該車位檢測器硬件電路主要由電源模塊、主控微處理器、CAN 通信模塊、車位探測模塊、撥碼配置模塊以及車位指示燈組成,見圖2。
1)電源模塊。為避免遠(yuǎn)距離和多節(jié)點供電情況下的電壓衰減現(xiàn)象導(dǎo)致設(shè)備供電不穩(wěn),在檢測器的電源模塊設(shè)計中采取提高供電電壓的方式,采用直流24 V 供電,再經(jīng)過開關(guān)穩(wěn)壓芯片LM2575-5V 和低壓差穩(wěn)壓芯片ASM1117-3.3V進(jìn)行降壓后分別為各電路模塊及主控芯片供電,從而減少供電線路的電壓損耗,保證各模塊供電穩(wěn)定。同時采用B0505S 電源隔離模塊對CAN收發(fā)電路實現(xiàn)隔離供電,提高CAN 總線通信的抗干擾能力。
圖2 車位檢測器硬件組成Fig.2 Hardware of the parking space detector
2)主控微處理器。根據(jù)車位檢測器的功能及接口需求,選用內(nèi)部集成CAN 控制器、外部中斷、定時器、Flash 存儲器等功能模塊的STM32F103VET6作為主控微處理器,從而使外圍電路設(shè)計更加方便可靠,本設(shè)計中MCU 的內(nèi)部資源分配,見圖3。
圖3 MCU 內(nèi)部資源分配Fig.3 Allocation of the internal resource of MCU
3)CAN 通信模塊。由于STM32F103芯片內(nèi)部集成了CAN 控制器模塊,因此只需在外圍增加CAN 收發(fā)器芯片TJA1050,搭建接口電路與STM32內(nèi)置CAN 控制器相連便能實現(xiàn)CAN總線通信。同時,采用電源隔離和高速光耦隔離技術(shù)對CAN 收發(fā)器外圍電路進(jìn)行優(yōu)化實現(xiàn)各車位檢測器之間的電氣隔離,提高總線的抗干擾性,其接口電路設(shè)計,見圖4。
4)車位探測模塊。為保證精確可靠地實現(xiàn)車位空滿狀態(tài)檢測,本設(shè)計選用探測距離遠(yuǎn)的超聲波測距模塊,探測距離可達(dá)5 m。根據(jù)不斷探測到的超聲波檢測距離,計算車位是否被車輛占用。
5)撥碼配置模塊。為適應(yīng)不同場合的車位檢測,采用撥碼開關(guān)靈活設(shè)置車位探測器的重要參數(shù),使檢測器在不同的安裝高度和使用場景下具有最為匹配的工作參數(shù)和判定閾值,提高車位空滿狀態(tài)的判定準(zhǔn)確性。車位檢測器的主要配置參數(shù)有設(shè)備地址(區(qū)號和位號)、檢測器安裝高度配置、采樣間隔時延等,其對應(yīng)編碼配置見表1。
圖4 CAN 總線接口電路Fig.4 Circuit of CAN-bus interface
表1 車位檢測器撥碼開關(guān)配置定義Tab.1 The code switch configuration definition of parking space detector
6)車位指示燈。車位指示燈采用高光亮、低功耗LED 發(fā)光管,使用時被安裝在車位前上方。當(dāng)車位占用時指示燈為紅色,車位空閑時,指示燈為綠色,便于駕駛員在尋車位時方便地判斷該車位是否空閑。
根據(jù)車位檢測器的功能需求,軟件主要完成設(shè)備初始化、參數(shù)配置、車位探測、數(shù)據(jù)上傳、以及車位指示等功能。為提高該設(shè)備軟件的實時性與可靠性,本設(shè)計基于ucOS 操作系統(tǒng)對該檢測器軟件功能進(jìn)行開發(fā),軟件流程設(shè)計如圖5所示,主要可分為以下4個步驟。
1)車位檢測器上電或復(fù)位后,讀取撥碼開關(guān)的編碼狀態(tài),根據(jù)編碼狀態(tài)對車位檢測器的主要工作參數(shù)(包括設(shè)備地址、超聲波探測閾值、車位探測間隔時間)進(jìn)行存儲和配置。
2)設(shè)備初始化,對核心微處理器的各外設(shè)模塊以及ucOS操作系統(tǒng)進(jìn)行初始化。
3)創(chuàng)建3個子任務(wù)并分配任務(wù)優(yōu)先級,分別為車位狀態(tài)檢測任務(wù),數(shù)據(jù)定時上傳任務(wù)以及等待數(shù)據(jù)請求任務(wù)。其中車位狀態(tài)檢測任務(wù)負(fù)責(zé)利用遠(yuǎn)距離超聲波測距模塊對車位空滿狀態(tài)進(jìn)行判定,當(dāng)車位狀態(tài)發(fā)生變化時上傳車位信息報文并對車位狀態(tài)指示燈進(jìn)行相應(yīng)的變更;數(shù)據(jù)定時上傳任務(wù)負(fù)責(zé)定時上傳車位信息報文;等待數(shù)據(jù)請求任務(wù)負(fù)責(zé)響應(yīng)主機發(fā)送的查詢請求指令。
4)啟動任務(wù),開始執(zhí)行上述3個子任務(wù)。
圖5 車位檢測器軟件執(zhí)行流程Fig.5 The software process of parking space detector
1)判定算法優(yōu)化。由于不同車輛車身高度存在差異,單純地通過設(shè)定探測距離閾值來判定車位是否被占用并不可靠,因此,將判定算法改進(jìn)為通過判定前后2次探測距離的跳變值來判定車位是否被占用,當(dāng)探測距離從大到小大跳變幅度超過0.5m 時,判定車位被占用;相反地,當(dāng)探測距離從小到大跳變幅度超過0.5m 時,判定車位恢復(fù)空閑。
2)測距算法優(yōu)化。通過上述判定算法優(yōu)化,將檢測器安裝到測試現(xiàn)場進(jìn)行反復(fù)測試,仍存在誤判現(xiàn)象,且誤判率高達(dá)13%,通過分析造成車位誤判定的主要原因來自于鄰近超聲波檢測器的折射波干擾以及車輛停泊偏離傳感器正下方導(dǎo)致測距誤差過大或有誤。
對此,筆者采用中值濾波及時延濾波組合算法對超聲波測距數(shù)值進(jìn)行軟件濾波抗干擾處理,算法流程如下。
a)連續(xù)采樣7次超聲波探測距離(單位cm)存入無符號整型數(shù)組S[]中,且每次采樣間隔為Td(時延Td的時間可通過設(shè)備撥碼開關(guān)調(diào)整,參見表1),通過一定的時延避免短時間多次采集到奇異數(shù)據(jù)。
b)調(diào)用排序函數(shù)Sort(unsigned intS[])對數(shù)組S[]進(jìn)從小到大排序;
c)對排序后的數(shù)組是S[]執(zhí)行中值濾波,獲取濾波后的車位探測距離Sf,
即Sf=med{S[0],…,S[3],…,S[6]}=S[3],式中med{}表示取序列的中間值。
d)對濾波后的Sf再進(jìn)行置信度判定,當(dāng)Sf∈[Smin,Smax],判定Sf為有效探測距離,否則返回步驟a)重新進(jìn)行距離采樣。置信區(qū)間中Smin和Smax分別為超聲波模塊的最小和最大探測距離,本設(shè)計所選用的超聲波模塊的有效探測距離為3~500cm,因此Smin=3cm,Smax=500cm。
通過采用上述濾波抗干擾算法,有效剔除了絕大部分奇異數(shù)據(jù),減小了誤差數(shù)據(jù)對車位狀態(tài)判定準(zhǔn)確度的干擾,使檢測器的車位狀態(tài)判定準(zhǔn)確率由原來的87%上升至98%。
根據(jù)CAN2.0A 設(shè)計規(guī)范,采用標(biāo)準(zhǔn)數(shù)據(jù)幀格式,制定車位檢測器的數(shù)據(jù)報文協(xié)議(如圖7所示),其中11位標(biāo)示符用于區(qū)分報文信息的類型及優(yōu)先級,數(shù)據(jù)域用于存儲標(biāo)志信息、地址信息、車位狀態(tài)信息、模式信息等相關(guān)數(shù)據(jù)信息。
為論證本設(shè)計的可行性與實用性,搭建了實物原型系統(tǒng)進(jìn)行現(xiàn)場測試并對總線通信性能進(jìn)行研究。根據(jù)本文提出的設(shè)計的方案研制了100套車位檢測器(圖7(a)),并在安裝于某大樓地下停車場(圖7(b)),利用上位機監(jiān)控軟件(圖7(c))實時顯示停車場各車位的狀態(tài)信息,并通過CANalyst軟件(圖7(d))對CAN 總線上的報文數(shù)據(jù)進(jìn)行統(tǒng)計分析,研究總線通信的實時性和可靠性。
首先,通過對安裝在現(xiàn)場的車位檢測器進(jìn)行車位狀態(tài)判定準(zhǔn)確率測試,通過對不同類型的車輛以及不同泊車角度進(jìn)行研究。結(jié)果表明,該車位檢測器針對不同類型的車輛均可以準(zhǔn)確地判定車位的空滿狀態(tài),但局限性在于對泊車偏離檢測器正下方太遠(yuǎn)的車輛偶爾會造成誤判。此外現(xiàn)場測試也反應(yīng)了車位指示燈可有效幫助車輛駕駛員提高停車效率,緩解停車場內(nèi)的交通擁堵現(xiàn)象。
其次,對采用CAN 總線通信技術(shù)的車位檢測器的車位信息上傳實時性進(jìn)行測試分析。
根據(jù)文獻(xiàn)[9],CAN 總線網(wǎng)絡(luò)的通信時延主要來自與數(shù)據(jù)傳輸時間與阻塞時間,節(jié)點的數(shù)據(jù)上傳時延與掛載節(jié)點個數(shù)以及通信癱瘓的節(jié)點個數(shù)無直接關(guān)系,其節(jié)點報文信息的上傳時延Td1可表示為
圖6 數(shù)據(jù)報文協(xié)議Fig.6 The protocol of upload data
圖7 實物系統(tǒng)測試Fig.7 Test of physical system
式中:Tb為阻塞時間;Tf為傳輸時間。
而傳統(tǒng)的RS-485總線網(wǎng)絡(luò)的通信時延與掛載節(jié)點個數(shù)以及通信癱瘓的節(jié)點個數(shù)相關(guān),網(wǎng)絡(luò)節(jié)點個數(shù)或通信癱瘓的節(jié)點個數(shù)越多,單個節(jié)點的數(shù)據(jù)上傳時延越大。其節(jié)點報文信息的上傳時延Td2可表示為
式中:N為總線節(jié)點個數(shù);Tw為相鄰節(jié)點輪詢間隔時間;Tf為傳輸時間;M為節(jié)點損壞個數(shù);Te為節(jié)點訪問最大等待時間。
對比式(1)與式(2),通常情況下,Tw和Te的數(shù)量級遠(yuǎn)大于Tb,因此CAN 總線節(jié)點報文上傳時延時間Td1遠(yuǎn)小于RS-485總線的節(jié)點報文上傳時延Td2。
為驗證上述理論,將測試系統(tǒng)中各車位檢測器節(jié)點的定時上傳時間設(shè)置為10s,通信速率設(shè)置為50kb/s,采用CANalyst軟件對掛載不同檢測器節(jié)點個數(shù)情況下的報文上傳最大時延進(jìn)行觀測和記錄,結(jié)果見圖8。
圖8 車位檢測器節(jié)點個數(shù)與報文上傳時延的關(guān)系Fig.8 Data transmission delay test with multiple nodes
測試結(jié)果表明,基于CAN 總線通信技術(shù)的車位檢測器的報文信息上實時性很高,且基本不受總線掛載節(jié)點個數(shù)影響。
最后,對采用CAN 總線通信技術(shù)的車位檢測器的車位信息上傳準(zhǔn)確可靠性進(jìn)行測試分析。在上述實時性測試的實物系統(tǒng)基礎(chǔ)上,更改車位檢測器的報文協(xié)議,將報文的數(shù)據(jù)域用于統(tǒng)計個節(jié)點的發(fā)送報文總數(shù),同時采用CANalyst軟件對總線上接收到的報文數(shù)據(jù)進(jìn)行觀測統(tǒng)計,分別測試掛載不同節(jié)點個數(shù)及不同上傳頻率下的通信穩(wěn)定性,測試系統(tǒng)運行約10h后記錄報文統(tǒng)計結(jié)果,見表2。
表2 CAN 總線報文收發(fā)統(tǒng)計結(jié)果Tab.2 The statistical results of CAN bus message receiving and sending
測試結(jié)果表明,當(dāng)總線掛載節(jié)點數(shù)目越大、上傳頻率越高時,通信的丟包率有所增加,但誤碼率始終為0。即便在這種極端的測試條件下,總線通信仍能保證無誤碼和極低的丟包率(遠(yuǎn)小于1%),在實際應(yīng)用中借助各檢測器的定時上傳功能,可保證管理系統(tǒng)實時準(zhǔn)確地監(jiān)測場內(nèi)各車位狀態(tài)。
車位檢測器是停車場智能化管理的基礎(chǔ)和重要組成部分,筆者基于CAN 總線通信技術(shù)設(shè)計并實現(xiàn)的1種車位檢測器,可輔助智能化停車場管理系統(tǒng)實現(xiàn)停車場車位狀態(tài)實時監(jiān)測、空余車位信息發(fā)布以及停車誘導(dǎo)等功能。通過搭建實物系統(tǒng)測試,驗證了本文提出的車位檢測器的軟硬件設(shè)計方案的可行性與實用性,該檢測器相比于傳統(tǒng)的基于RS-485通信技術(shù)的車位檢測器具有更高的數(shù)據(jù)上傳實時性和可靠性,組網(wǎng)方式更為方便靈活,非常適用于大中型地下停車場、政府辦公樓、火車站和購物中心等公共停車場的車位檢測,具有顯著的技術(shù)優(yōu)勢和廣泛的應(yīng)用前景。
[1]曹光磊,徐克寶.基于超聲探測的停車場車位引導(dǎo)系統(tǒng)的研究[J].儀器儀表學(xué)報,2008,29(4):735-738.Cao Guanglei,Xu Kebao.Based on supersonic survey parking lot berth homing system research[J].Chinese Journal of Scientific Instrument,2008,29(4):735-738.
[2]雷禎靖,秀 芝,李克杰.基于RS232的停車監(jiān)測設(shè)備研究[J].科技信息,2013(20):24.Lei Zhenjing,Xiu Zhi,Li Kejie.Based on RS232 parking monitoring equipment research[J].Science&Technology Information,2013(20):24.
[3]周 律,汪 亮,鄧 勝.基于MODBUS的地面停車場智能管理系統(tǒng)[J].計算機測量與控制,2013,21(1):236-239.Zhou Lv,Wang Liang,Deng Sheng.Intelligent parking system on the ground based on modbus[J].Computer Measurement & Control,2013,21(1):236-239.
[4]王學(xué)峰.CAN 總線技術(shù)及應(yīng)用[J].赤峰學(xué)院學(xué)報:自然科學(xué)版,2008,24(2):52-54.Wang Xuefeng.CAN Bus Technology and Application[J].Journal of Chifeng University:Natural Science Edition,2008,24(2):52-54.
[5]王慶雙,蔡冬生.基于ARM 的CAN 通信系統(tǒng)的設(shè)計與實現(xiàn)[J].航空電子技術(shù),2011,42(1):9-13.Wang Qingshuang,Cai Dongsheng.ARM-based CAN communication system design and implementation[J].Avionics Technology.2011,42(1):9-13.
[6]潘俊家,楊芝華,龔進(jìn)峰,等.CAN 總線網(wǎng)絡(luò)自動化測試平臺應(yīng)用[J].交通信息與安全,2013,31(3):113-116.Pan Junjia,Yang Zhihua,GongJinfeng,et al.Application of automation test platform of CAN bus network[J].Transport Information and Safety,2013,31(3):113-116.
[7]唐燕妮,戴衛(wèi)軍.大型停車場智能管理系統(tǒng)的研究與開發(fā)[J].工業(yè)控制計算機,2010,23(6):95-96.Tang Yanni,Dai Weijun.Research and development for intelligent management system of large parking lot[J].Industrial Control Pomputer,2010,23(6):95-96.
[8]遲東明,司棟森.CAN 總線在停車場燈光智能控制系統(tǒng)中的應(yīng)用[J].微計算機信息,2005,21(2):46-47 Chi Dongming,Si Dongseng.Application of CAN bus in parking guidance system[J].Microcomputer Information,2005,21(2):46-47.
[9]佟為明,高洪偉,陳培友.CAN 總線傳輸延時特性的研究[J].儀器儀表學(xué)報,2007,28(4):295-297.Tong Weiming,Gao Hongwei,Chen Peiyou.Research of CAN bus transmission time delay property[J].Chinese Journal of Scientific Instrument,2007,28(4):295-297.
[10]劉應(yīng)吉,曹慶富,張學(xué)文,等.基于CAN 總線與GPRS的營運客車運行狀態(tài)遠(yuǎn)程監(jiān)控系統(tǒng)研究[J].交通信息與安全,2013,31(1):90-93.Liu Yingji,Cao Qingfu,Zhang Xuewen,et al.Research of the remote monitoring system of operating passenger car running state based on CAN bus and GPRS[J].Transport Information and Safety,2013,31(1):90-93.
[11]王 雷,江朝華,徐 鵬.大城市商業(yè)區(qū)停車誘導(dǎo)系統(tǒng)應(yīng)用開發(fā)[J].交通信息與安全,2009,29(1):95-97.Wang Lei,Jiang Chaohua,Xu Peng.Application and development of the parking guidance system for big city business district[J].Transport Information and Safety,2009,29(1):95-97.
[12]Wan JooPark,Byung Sung Kim,Dong-EunSeo,et al.Parking space detection using ultrasonic sensor in parking assistance system Intelligent Vehicles Symposium[C]∥2008IEEEIntelligent Vehicles Symposium.Eindhoven,Netherlands:Eindhoven University of Technology,2008:1039-1044