亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器的制作方法

文檔序號(hào):6666008閱讀:229來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種車(chē)輛的區(qū)域識(shí)別與計(jì)價(jià)裝置,尤其是應(yīng)用全球定位系統(tǒng)技術(shù)(GlobelPosition System,簡(jiǎn)稱(chēng)GPS)的車(chē)輛的區(qū)域識(shí)別與計(jì)價(jià)裝置,應(yīng)用于交通需求管理。
背景技術(shù)
汽車(chē)的出現(xiàn)使人們的出行和貨物運(yùn)輸變得更加快捷方便,但是它給人類(lèi)帶來(lái)巨大效益的同時(shí),也引發(fā)了一系列的問(wèn)題,如城市交通擁擠以及由此而生的交通事故,交通事故則進(jìn)一步加劇了交通擁擠甚至造成交通阻塞。為了解決城市交通擁擠問(wèn)題,許多發(fā)達(dá)國(guó)家和發(fā)展中國(guó)家都在大量地修筑道路基礎(chǔ)設(shè)施,但是由于機(jī)動(dòng)車(chē)輛的數(shù)量激增及城市化過(guò)程中人口的集驟效應(yīng),僅靠修筑道路基礎(chǔ)設(shè)施很難從根本上解決城市交通擁擠問(wèn)題。面對(duì)日益嚴(yán)峻的交通擁擠問(wèn)題,國(guó)內(nèi)外一些專(zhuān)家提出了交通需求管理(Travel Demand Management,簡(jiǎn)稱(chēng)TDM)的概念,明確了從供求兩個(gè)方面解決城市交通問(wèn)題的思想,這是在交通規(guī)劃和解決城市交通問(wèn)題指導(dǎo)思想上的一個(gè)轉(zhuǎn)變。
利用交通需求管理的思想,對(duì)交通效率低下的車(chē)輛,如出租車(chē),通過(guò)提高其在擁擠的區(qū)域或路段的計(jì)價(jià)標(biāo)準(zhǔn)這一經(jīng)濟(jì)手段調(diào)控優(yōu)化交通分布,抑制交通效率低下的車(chē)輛,如出租車(chē),在交通高峰期間對(duì)有限的道路空間資源占用,從而使出行者的出行方式由低容量向高容量轉(zhuǎn)移,提高擁擠區(qū)域或路段的道路利用率,不僅能夠有效解決城市交通擁擠,而且對(duì)環(huán)境保護(hù)、節(jié)約能源都有顯著的效果。通過(guò)技術(shù)手段將高出標(biāo)準(zhǔn)計(jì)價(jià)部分的資金回收,用于修筑道路基礎(chǔ)設(shè)施。
交通需求管理為人們提出了許多新的科研課題,如何利用現(xiàn)有技術(shù)中的地理信息系統(tǒng)(Geographical Information System,簡(jiǎn)稱(chēng)GIS)開(kāi)發(fā)車(chē)輛區(qū)域識(shí)別的方法是首先要解決的任務(wù),在該方法的基礎(chǔ)上再開(kāi)發(fā)具有區(qū)域識(shí)別與計(jì)價(jià)功能電路,最后開(kāi)發(fā)具有區(qū)域識(shí)別與計(jì)價(jià)功能的計(jì)價(jià)器,這些都是急需解決的技術(shù)問(wèn)題,而現(xiàn)有技術(shù)中還沒(méi)有解決上述技術(shù)問(wèn)題的技術(shù)方案。
在地理信息系統(tǒng)是利用現(xiàn)代計(jì)算機(jī)圖形和數(shù)據(jù)庫(kù)技術(shù),用以輸入、存儲(chǔ)、編輯、分析、顯示空間信息及其屬性信息的地理資料系統(tǒng)。它與其他信息系統(tǒng)的主要區(qū)別在于其存儲(chǔ)和處理的信息是經(jīng)過(guò)地理編碼的,地理位置及與該位置有關(guān)的地物屬性信息成為信息檢索的重要部分。在地理信息系統(tǒng),現(xiàn)實(shí)世界被表達(dá)成一系列的地理要素和地理現(xiàn)象,這些地理特征至少由空間位置參考信息和非位置信息兩個(gè)部分組成。組件式地理信息系統(tǒng)(ComponentsGeographical Information System,簡(jiǎn)稱(chēng)ComGIS)是面向?qū)ο竽P秃徒M件式軟件在地理信息系統(tǒng)軟件中的應(yīng)用,以組件對(duì)象模型和ActiveX控件為技術(shù)基礎(chǔ)。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,應(yīng)用于交通需求管理中,對(duì)在交通高峰期間處于擁擠區(qū)域或路段的交通利用率低下的車(chē)輛,如出租車(chē),提高計(jì)價(jià)標(biāo)準(zhǔn),以提高擁擠區(qū)域或路段的道路利用率。
為了解決上述技術(shù)問(wèn)題,本發(fā)明的具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,包括GPS接收機(jī)和單片機(jī)控制系統(tǒng),GPS接收機(jī)接收和處理GPS數(shù)據(jù)、實(shí)時(shí)計(jì)算出其所在車(chē)輛的位置,并將車(chē)輛位置數(shù)據(jù)傳遞給單片機(jī)控制系統(tǒng),其特征是,所述的單片機(jī)控制系統(tǒng)包括單片機(jī)以及與其連接的UART1通信接口、UART2通信接口、數(shù)據(jù)存儲(chǔ)器、計(jì)價(jià)器和計(jì)價(jià)器通信接口,所述的單片機(jī)控制系統(tǒng)存儲(chǔ)有主程序、區(qū)域識(shí)別子程序、URAT1中斷服務(wù)子程序和URAT2中斷服務(wù)子程序,所述的單片機(jī)控制系統(tǒng)在運(yùn)行主程序時(shí)執(zhí)行如下步驟(1)、對(duì)系統(tǒng)硬件和系統(tǒng)各變量進(jìn)行初始化;(2)、對(duì)系GPS接收機(jī)進(jìn)行初始化;(3)、接收GPS數(shù)據(jù),并判斷是否接收完畢,如判斷結(jié)果為否,則繼續(xù)執(zhí)行本步驟;(4)、如(3)步驟的判斷結(jié)果為否,則對(duì)GPS數(shù)據(jù)進(jìn)行處理并生成區(qū)域識(shí)別數(shù)據(jù);(5)、對(duì)每個(gè)矩形區(qū)域進(jìn)行識(shí)別;(6)、記錄存儲(chǔ)符合條件的矩形區(qū)域個(gè)數(shù);(7)、判斷所有矩形區(qū)域是否都已識(shí)別完畢,如判斷結(jié)果為否,則返回(5)步驟;(8)、如(7)步驟的判斷結(jié)果為是,則對(duì)符合條件的矩形區(qū)域相應(yīng)的多邊形區(qū)域逐一識(shí)別,得到計(jì)價(jià)器所需的價(jià)格系數(shù);(9)、更新當(dāng)前計(jì)價(jià)器的價(jià)格系數(shù),并返回(3)步驟;所述的區(qū)域識(shí)別子程序用于完成對(duì)多邊區(qū)域的識(shí)別,所述的單片機(jī)控制系統(tǒng)在執(zhí)行上述主程序(8)步驟時(shí)運(yùn)行該子程序,單片機(jī)控制系統(tǒng)在運(yùn)行區(qū)域識(shí)別子程序時(shí)執(zhí)行如下步驟(10)、打開(kāi)地圖文件,調(diào)入地圖;(11)、新建圖層;(12)、添加識(shí)別區(qū)域,并將表示所需識(shí)別區(qū)域的多邊形的頂點(diǎn)地理坐標(biāo),輸入到城市電子地圖上;(13)、調(diào)入車(chē)輛的GPS數(shù)據(jù);(14)、將車(chē)輛所處位置的地理坐標(biāo)輸入到在城市電子地圖上;(15)、進(jìn)行座標(biāo)平移,得到多邊形的一邊的兩端點(diǎn)A、B的座標(biāo)值;(16)、判斷該點(diǎn)是否在Y軸上,如判斷結(jié)果為否,則執(zhí)行(20)步驟;(17)、如(16)步驟中的判斷結(jié)果為是,則判斷該點(diǎn)的縱座標(biāo)值是否大于零;(18)、如(17)步驟中的判斷結(jié)果為否,則弧度為3π/2,并執(zhí)行(22)步驟;(19)、如(17)步驟中的判斷結(jié)果為是,則弧度為π/2,并執(zhí)行(22)步驟;(20)、求A、B點(diǎn)的反切值,得到A點(diǎn)的弧度值;(21)、校下A、B兩點(diǎn)的弧度值;(22)、得到A、B兩點(diǎn)的弧度值;
(23)、將弧度轉(zhuǎn)換為角度;(24)、兩點(diǎn)的角度相減得角度差;(25)、角度差校正;(26)、求角度差累加和;(27)、判斷是否已計(jì)算到最后一邊,如判斷結(jié)果為否,則返回(15)步驟;(28)、如(27)步驟中的判斷結(jié)果為是,則判斷角度差累加和是否等于360°;(29)、如(28)步驟中的如判斷結(jié)果為是,則得出結(jié)論;車(chē)輛在區(qū)域內(nèi);(30)、如(28)步驟中的如判斷結(jié)果為否,則得出結(jié)論;車(chē)輛在區(qū)域外。
(31)、判斷是否停止識(shí)識(shí),如判斷結(jié)果為否,則執(zhí)行(13)步驟;如(31)步驟中的判斷結(jié)果為是,則停止識(shí)別,并返回主程序(8)步驟;所述的單片機(jī)控制系統(tǒng)內(nèi)還存儲(chǔ)有URAT1中斷服務(wù)子程序,用于接收G PS接收機(jī)發(fā)送的信息數(shù)據(jù)和向GPS接收機(jī)發(fā)送信息數(shù)據(jù),信息數(shù)據(jù)的接收和發(fā)送通過(guò)接口UART1在中斷中完成,所述的單片機(jī)控制系統(tǒng)在運(yùn)行URAT1中斷服務(wù)子程序時(shí)執(zhí)行如下步驟(32)、判斷是否收到$,如判斷結(jié)果為否,則調(diào)整接收狀態(tài),重新接收;(33)、如(32)步驟的判斷結(jié)果為是,則接收前導(dǎo)標(biāo)符;(34)、判斷是否等于$GPRMC,如判斷結(jié)果為否,則調(diào)整接收狀態(tài),重新接收;(35)、如(34)步驟的判斷結(jié)果為是,則接收并存儲(chǔ)消息數(shù)據(jù);(36)、判斷校驗(yàn)和,如判斷結(jié)果為否,則調(diào)整接收狀態(tài),重新接收;(37)、如(36)步驟的判斷結(jié)果為是,則置位接收完標(biāo)志;所述的單片機(jī)控制系統(tǒng)內(nèi)還存有URAT2中斷服務(wù)子程序,用于控制單片機(jī)與計(jì)價(jià)器之間信息數(shù)據(jù)的接收和發(fā)送,信息數(shù)據(jù)的接收和發(fā)送通過(guò)接口UART2在中斷中完成,所述的單片機(jī)控制系統(tǒng)在運(yùn)行URAT2中斷服務(wù)子程序時(shí)執(zhí)行如下步驟(38)、判斷是接收還是發(fā)送,如判斷結(jié)果為接收,則執(zhí)行(42)步驟;(39)、如(38)步驟判斷結(jié)果為發(fā)送,則判斷數(shù)據(jù)是否發(fā)送完畢,如該判斷結(jié)果為是則退出;(40)、如(39)步驟判斷結(jié)果為否,則發(fā)送一個(gè)數(shù)據(jù);(41)、發(fā)送計(jì)數(shù)器加1后退出;(42)、如(38)步驟判斷結(jié)果為接收狀態(tài),則判斷數(shù)據(jù)是否是stx或ext,如該判斷結(jié)果為否則執(zhí)行(45)步驟;(43)、如(42)步驟判斷結(jié)果為是,則判斷數(shù)據(jù)是否是stx,如該判斷結(jié)果為否,則En-tx=1、Start-rec=0并退出;(44)、如(43)步驟判斷結(jié)果為是,則Start-rec=1并退出;(45)、如(42)步驟判斷結(jié)果為否,則判斷Start-rec是否等于1,如該判斷結(jié)果為否,則退出;(46)、如(45)步驟判斷結(jié)果為是,則接收數(shù)據(jù);
(47)、判斷En-tx是否等于1,如判斷結(jié)果為否,則退出;(48)、如(47)步驟判斷結(jié)果為是,裝載發(fā)送數(shù)據(jù)En-tx=0;(49)、啟動(dòng)發(fā)送,發(fā)送計(jì)數(shù)器清零;(50)、退出。
作為上述技術(shù)方案的第一種改進(jìn),所述的一種具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,其特征是,所述的GPS接收機(jī)還設(shè)置有備用電源和狀態(tài)狀態(tài)裝置。
作為上述技術(shù)方案的第二種改進(jìn),所述的存儲(chǔ)器是串行E2PROM存儲(chǔ)器,用于把上一次正確定位時(shí)的衛(wèi)星狀態(tài)數(shù)據(jù)輸入到GPS接收機(jī)中,使GPS接收機(jī)冷啟動(dòng)后最快速的正確定位。
作為上述技術(shù)方案的第三種改進(jìn),所述的單片機(jī)控制系統(tǒng)還包括JATG程序下載及調(diào)節(jié)器調(diào)試接口。
作為上述技術(shù)方案的第四種改進(jìn),所述的數(shù)據(jù)存儲(chǔ)器內(nèi)還存有訪問(wèn)E2POM子程序,用于單片機(jī)控制系統(tǒng)與E2PROM存儲(chǔ)器之間的數(shù)據(jù)通信,所述的單片機(jī)控制系統(tǒng)在運(yùn)行訪問(wèn)E2POM子程序時(shí)執(zhí)行如下步驟(1)、判斷總線是否空閉,如判斷結(jié)果為是,則繼續(xù)執(zhí)行該步驟;(2)、如(1)步驟的判斷結(jié)果為否,則置位總線忙志;(3)、判斷是讀操作還寫(xiě)操作,如判斷結(jié)果為寫(xiě)操作,則執(zhí)行(12)步驟;(4)、如(3)中的判斷結(jié)果為讀操作,則發(fā)送總線開(kāi)始信號(hào);(5)、發(fā)送器件地址數(shù)據(jù);(6)、判斷是否接收到ACK信號(hào),如判斷結(jié)果為是,則執(zhí)行(8)步驟;(7)、如(6)中的判斷結(jié)果為否,則發(fā)送總線停止信號(hào),并返回(4)步驟;(8)、接收數(shù)據(jù);(9)、判斷數(shù)據(jù)接收是否完畢,如判斷結(jié)果為否,則發(fā)送ACK信號(hào),返回(8)步驟;(10)、如(9)中的判斷結(jié)果為是,則發(fā)送NACK信號(hào);(11)、發(fā)送總線停止信號(hào),并退出;(12)、如(3)中的判斷結(jié)果為寫(xiě)操作,則發(fā)送總線開(kāi)始信號(hào);(13)、發(fā)送器件地址數(shù)據(jù);(14)、判斷是否接收到ACK信號(hào),如判斷結(jié)果為否,則發(fā)送總線停止信號(hào),并返回(12)步驟;(15)、如(14)中的判斷結(jié)果為是,則發(fā)送發(fā)送數(shù)據(jù);(16)、判斷是否接收到ACK信號(hào),如判斷結(jié)果為否,則發(fā)送總線停止信號(hào),并返回(12)步驟;(17)、如(16)步驟的判斷結(jié)果為是,則判斷數(shù)據(jù)發(fā)送完畢嗎,如發(fā)送完畢則發(fā)送總線停止信號(hào),并退出;(18)、如(16)步驟的判斷結(jié)果為否,則返回(15)步驟。
作為上述技術(shù)方案的第五種改進(jìn),所述的數(shù)據(jù)存儲(chǔ)器內(nèi)還存有訪問(wèn)RTC子程序,用于控制單片機(jī)控制系統(tǒng)與DS1305之間的數(shù)據(jù)通信,所述的單片機(jī)控制系統(tǒng)在運(yùn)行訪問(wèn)RTC子程序時(shí)執(zhí)行如下步驟(1)、置NSS信號(hào)線為低電平;(2)、判斷是讀數(shù)據(jù)還是寫(xiě)數(shù)據(jù),如判斷結(jié)果為寫(xiě)數(shù)據(jù),則執(zhí)行(8)步驟;(3)、如(2)中的判斷結(jié)果為讀數(shù)據(jù),則寫(xiě)數(shù)據(jù)寄存器地址;(4)、讀取時(shí)間數(shù)據(jù);(5)、判斷讀數(shù)據(jù)是否完畢,如判斷結(jié)果為否,則返回(4)步驟;(6)、如(5)中的判斷結(jié)果為是,則處理時(shí)間數(shù)據(jù);(7)、置NSS信號(hào)線為高電平,退出;(8)、如(2)中的判斷結(jié)果為寫(xiě)數(shù)據(jù),則寫(xiě)數(shù)據(jù)寄存器地址;(9)、設(shè)置DS1305為寫(xiě)狀態(tài);(10)、寫(xiě)數(shù)據(jù)寄存器地址;(11)、寫(xiě)入時(shí)間數(shù)據(jù);(12)、判斷寫(xiě)入數(shù)據(jù)是否完畢,如判斷結(jié)果為否,則返回(11)步驟;(13)、如(12)中的判斷結(jié)果為是,則執(zhí)行(8)步驟。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果(1)本發(fā)明能夠識(shí)別車(chē)輛是否處于擁擠的區(qū)域或路段,并能按車(chē)輛所處的位置確定相應(yīng)的計(jì)價(jià)標(biāo)準(zhǔn),為交通需求管理的實(shí)現(xiàn),為有效解決城市交通擁擠提供技術(shù)支持;(2)能抑制交通效率低下的車(chē)輛,如出租車(chē),在交通高峰期間對(duì)有限的道路空間資源占用,從而使出行者的出行方式由低容量向高容量轉(zhuǎn)移,提高擁擠區(qū)域或路段的道路利用率,不僅能夠有效解決城市交通擁擠,而且對(duì)環(huán)境保護(hù)、節(jié)約能源都有顯著的效果。


圖1是本發(fā)明的硬件部分系統(tǒng)框圖;圖2是C8051F020Y單片機(jī)的調(diào)試環(huán)境示意圖;圖3是電平轉(zhuǎn)換芯片MAX232及其外圍部件連接圖;圖4是電源部分框圖;圖5是12V-5V轉(zhuǎn)換電路圖;圖6是直流隔直及5V-3V電源轉(zhuǎn)換電路圖;圖7是AT24C02引腳圖;圖8是AT24C02與單片機(jī)接口電路圖;圖9是DS1305與單片機(jī)接口電路圖;圖10是確定包含多邊形區(qū)域的最小矩形區(qū)域示意圖;圖11是主程序的流程圖;圖12是區(qū)域識(shí)別子程序的流程圖;圖13是UART1中斷服務(wù)子程序的流程圖;
圖14是UART2中斷服務(wù)子程序的流程圖;圖15是防問(wèn)E2PRAM子程序的流程圖;圖16是防問(wèn)RCT子程序的流程圖。
具體實(shí)施例方式
以下結(jié)合具體實(shí)施方式
對(duì)本發(fā)明作詳細(xì)說(shuō)明。
本發(fā)明的具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器的功能是接受GPS接受機(jī)發(fā)出的信息,解析出所需要的位置信息并按照特定的區(qū)域識(shí)別算法計(jì)算出車(chē)輛當(dāng)前所處位置,從而確定出行使價(jià)格;把此價(jià)格數(shù)據(jù)按照特定的通信協(xié)議傳送給計(jì)價(jià)器。對(duì)于計(jì)價(jià)器來(lái)說(shuō),為了延續(xù)其使用安裝習(xí)慣,改變其結(jié)構(gòu)形式,采用現(xiàn)有技術(shù)中的計(jì)價(jià)器。本發(fā)明的具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器分為兩部分硬件部分和軟件部分。
一、硬件部分如圖1所示,本發(fā)明的具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器包括GPS接收機(jī)和單片機(jī)控制系統(tǒng),單片機(jī)控制系統(tǒng)包括單片機(jī)以及與其連接的UART1通信接口、UART2通信接口、實(shí)時(shí)時(shí)鐘電路、數(shù)據(jù)存儲(chǔ)器、狀態(tài)顯示器和JATG程序下載及調(diào)節(jié)器試接口。GPS接收機(jī)把收到的車(chē)輛位置信息通過(guò)RS232接口傳達(dá)遞給單片機(jī)控制系統(tǒng),單片機(jī)控制系統(tǒng)根據(jù)區(qū)域識(shí)別算法判斷出此刻的車(chē)輛所處的區(qū)域位置及計(jì)價(jià)標(biāo)準(zhǔn),并通過(guò)通信接口將此計(jì)價(jià)標(biāo)準(zhǔn)顯示在出租車(chē)計(jì)價(jià)器上,據(jù)區(qū)域識(shí)別算法判斷出此刻車(chē)輛所處的區(qū)域位置及計(jì)價(jià)標(biāo)準(zhǔn),并通過(guò)通信接口將此計(jì)價(jià)標(biāo)準(zhǔn)顯示在出租車(chē)計(jì)價(jià)器上,由此來(lái)實(shí)現(xiàn)區(qū)域識(shí)別與計(jì)價(jià)的功能。
1、GPS接收機(jī)GPS信號(hào)接收機(jī)的作用是捕獲到按一定衛(wèi)星高度截止角所選擇的待測(cè)衛(wèi)星的信號(hào),并跟蹤這些衛(wèi)星的運(yùn)行,對(duì)所接收到的GPS信號(hào)進(jìn)行變換、放大和處理,以便測(cè)量出GPS信號(hào)從衛(wèi)星到接收機(jī)天線的傳播時(shí)間,解譯出GPS衛(wèi)星所發(fā)送的導(dǎo)航電文,實(shí)時(shí)地計(jì)算出測(cè)站的三維位置,位置,甚至三維速度和時(shí)間。
本發(fā)明中的GPS接收機(jī)可以選用“Jupiter”GPS接收機(jī),也可以選用GM-305GPS接收機(jī)?!癑upiter”GPS接收機(jī)主要包括天線部分、接收部分、數(shù)據(jù)處理部分。這種接收器是通過(guò)兩個(gè)串口與外部通訊的,串口1為主串口,串口2為輔助串口(提供修正量)。其中,串口1為全雙工方式,串口2為半雙工方式。其內(nèi)部通過(guò)這兩個(gè)串口同其外部器件或設(shè)備連接,也可以用軟件編程或硬件設(shè)置來(lái)配置其串口特性。接收數(shù)據(jù)的用戶可以選擇的存儲(chǔ)方式有三種SRAM、ROM、EEPROM。
GM-305 GPS接收機(jī)具有接收天線、數(shù)據(jù)處理、接口輸出一體化的設(shè)計(jì),節(jié)省空間,無(wú)須安裝于車(chē)頂,只須裝在車(chē)頭擋風(fēng)玻璃后面即可,標(biāo)準(zhǔn)的RS-232通信接口輸出使其與單片機(jī)控制系統(tǒng)接口容易而且增加通信距離。GM-305 GPS接收機(jī)將天線、接收數(shù)據(jù)處理和通信接口集成在一體。通過(guò)一根五芯電纜(兩根電源信號(hào)線、RS-232收/發(fā)信號(hào)線和1PPS輸出信號(hào)線)和其它器件連接。單片機(jī)控制系統(tǒng)通過(guò)RS-232收/發(fā)信號(hào)線同其通信,完成對(duì)其配置。
GPS接收機(jī)輸出數(shù)據(jù)協(xié)議,“Jupiter”GPS接收機(jī)和GM-305 GPS接收機(jī)都采用GPS的統(tǒng)一標(biāo)準(zhǔn)格式NMEA-0183,輸出采用ASCII碼。根據(jù)需要,可通過(guò)向GPS接收機(jī)發(fā)送控制命令,來(lái)控制GPS的輸出,接收到自己需要格式的數(shù)據(jù)。本發(fā)明中采用的是$GPRMC格式的數(shù)據(jù)。GPS的坐標(biāo)系統(tǒng)為WGS-84坐標(biāo)系。
2、單片機(jī)控制系統(tǒng)單片機(jī)控制系統(tǒng)中,由于區(qū)域識(shí)別算法要做大量的浮點(diǎn)運(yùn)算,而且由基于GIS平臺(tái)形成的區(qū)域數(shù)據(jù)庫(kù)需要大量存儲(chǔ)空間,這就要求微處理器具有高速的指令處理能力以及大量的存儲(chǔ)器,而目前流行MCS-51微控制器的速度無(wú)法滿足要求。經(jīng)過(guò)分析、比較,采用了C8051FXXX系列的單片機(jī)。
Cygnal C8051FXXX單片機(jī)是集成的混合信號(hào)片上系統(tǒng)(SOC System on chip),具有與MCS-51內(nèi)核及指令集完全兼容的微控制器。除了具有標(biāo)準(zhǔn)8051的數(shù)字外設(shè)部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件)。Cygnal單片機(jī)是完全集成的混合信號(hào)系統(tǒng)級(jí)MCU芯片,為100腳TQFP封裝,具有64個(gè)數(shù)字I/O引腳。
在本發(fā)明中,采用了C8051F020單片機(jī)主要是因?yàn)槠銫IP-51內(nèi)核的強(qiáng)大的指令處理能力能夠滿足區(qū)域識(shí)別算法的需要。另外,其片內(nèi)具有64K字節(jié)的Flash存貯器及JTEG下載接口,都為在線編程和調(diào)試提供了方便。C8051F020 CPU與標(biāo)準(zhǔn)8051完全兼容。CygnalC8051F020單片機(jī)采用CIP-51內(nèi)核,與MCS-51指令系統(tǒng)全兼容,共有111條指令,可用標(biāo)準(zhǔn)的ASM-51,Keil C高級(jí)語(yǔ)言開(kāi)發(fā)編譯C8051F020單片機(jī)的程序。C8051F020 CPU具有高速指令處理能力。標(biāo)準(zhǔn)的8051一個(gè)機(jī)器周期要占用12個(gè)系統(tǒng)時(shí)鐘周期,執(zhí)行一條指令最少要一個(gè)機(jī)器周期。Cygnal C8051F020單片機(jī)指令處理采用流水線結(jié)構(gòu),機(jī)器周期由標(biāo)準(zhǔn)的12個(gè)系統(tǒng)時(shí)鐘周期降為1個(gè)系統(tǒng)時(shí)鐘周期,指令處理能力比MCS-51大大提高。CIP-51內(nèi)核70%的指令執(zhí)行是在一個(gè)或兩個(gè)系統(tǒng)時(shí)鐘周期內(nèi)完成,只有四條指令的執(zhí)行需4個(gè)以上時(shí)鐘周期。Cygnal C8051F020具有標(biāo)準(zhǔn)8051的程序和數(shù)據(jù)地址配置。它的數(shù)據(jù)存貯器包括256字節(jié)的RAM,其中高128字節(jié)只能用直接尋址方式訪問(wèn)的SFR地址空間。低128字節(jié)可用直接或間接尋址方式訪問(wèn)。前32個(gè)字節(jié)為4個(gè)通用工作寄存器,接下來(lái)的16字節(jié)既可以按字節(jié)尋址也可以按位尋址。C8051F020除了內(nèi)部有擴(kuò)展4K數(shù)據(jù)RAM外片外,還可擴(kuò)展至64K數(shù)據(jù)RAM。C8051F020單片機(jī)程序存儲(chǔ)器為64K字節(jié)的Flash存貯器,該存貯器可按512字節(jié)為一扇區(qū)編程,可以在線編程,且不需在片外提供編程電壓。該程序存貯器未用到的扇區(qū)均可按扇區(qū)作為非易失性數(shù)據(jù)存貯器使用。Cygnal C8051F020系列單片機(jī)具有片內(nèi)調(diào)試電路與JTAG接口,可以實(shí)現(xiàn)非侵入式“在片”調(diào)試,C8051F020調(diào)試環(huán)境如下圖2所示。
單片機(jī)控制器電路由C8051F020單片機(jī)及其外圍芯片構(gòu)成,它是整個(gè)系統(tǒng)的硬件核心。單片機(jī)控制器電路完成的主要作用是1)從UART1接受GPS接收機(jī)發(fā)出的信息;2)解析接收到的數(shù)據(jù),截取經(jīng)緯度、時(shí)間等所需數(shù)據(jù)存入數(shù)據(jù)存儲(chǔ)器;3)按照區(qū)域識(shí)別算法對(duì)當(dāng)前位置進(jìn)行識(shí)別;4)把識(shí)別結(jié)果經(jīng)UART2按照制定的協(xié)議發(fā)送出去;5)完成GPS接收機(jī)的初始化以及識(shí)別結(jié)果的狀態(tài)顯示。
C8051F020單片機(jī)與GPS接收機(jī)的通信接口的設(shè)計(jì)GPS接收機(jī)與C8051F020單片機(jī)通訊接口采用8位異步串行通信接口,一幀信息為10位1個(gè)起始位,8位數(shù)據(jù)位(低位在先)和1位停止位,波特率為4800,通訊協(xié)議按照NEMA-0183協(xié)議標(biāo)準(zhǔn)。由于C8051F020單片機(jī)的端口引腳允許5V電壓輸入,所以直接將GPS接收機(jī)的輸出和C8051F020單片機(jī)的輸入引腳對(duì)接即可。GPS的TX端接C8051F020的RX端,GPS的RX端接C8051F020的TX端。
C8051F020與計(jì)價(jià)器的通訊接口的設(shè)計(jì)C8051F020與計(jì)價(jià)器的通訊接口采用RS-232標(biāo)準(zhǔn)接口。EIA RS-232是美國(guó)電子工業(yè)協(xié)會(huì)正式公布的串行總線標(biāo)準(zhǔn),也是目前最常用的串行接口標(biāo)準(zhǔn),用來(lái)實(shí)現(xiàn)計(jì)算機(jī)之間、計(jì)算機(jī)與外設(shè)之間的數(shù)據(jù)通訊。RS-232串行總線適用于設(shè)備之間的通訊距離不大于15m,傳輸速率最大為20KB/S。RS-232采用負(fù)邏輯,即邏輯“1”-5V~-15V;邏輯“0”+5V~+15V。由于RS-232規(guī)定了自己的電氣標(biāo)準(zhǔn),而此標(biāo)準(zhǔn)并不能滿足TTL電平的傳送要求,因此當(dāng)RS-232電平與TTL電平接口時(shí),必須進(jìn)行電平轉(zhuǎn)換,此工作是由MAX232及其外圍器件組成,電平轉(zhuǎn)換芯片MAX232的電氣特性為1)+5V供電可靠工作;2)兩通道收發(fā)轉(zhuǎn)換;3)數(shù)據(jù)速率120Kbps;4)驅(qū)動(dòng)器和接收器為3態(tài)輸出。具體電路圖如圖3。
3、電源部分電源部分硬件設(shè)計(jì)整個(gè)系統(tǒng)的供電電源由汽車(chē)上直流蓄電池供電。由于蓄電池為+12V直流輸出,而GPS接收機(jī)系統(tǒng)和單片機(jī)控制系統(tǒng)分別為5V和3V系統(tǒng),所以需采用直流穩(wěn)壓器。集成穩(wěn)壓器也稱(chēng)集成電壓調(diào)節(jié)器,它的功能是將非穩(wěn)定直流電壓變換成穩(wěn)定的直流電壓。集成穩(wěn)壓器按工作方式可分為串聯(lián)型穩(wěn)壓器、并聯(lián)型穩(wěn)壓器和開(kāi)關(guān)型穩(wěn)壓器三種,其中開(kāi)關(guān)型穩(wěn)壓器的效率最高,可達(dá)70%以上,但其輸出波紋最大。本發(fā)明采用電源的系統(tǒng)框圖如圖4所示。
12V-5V的轉(zhuǎn)換,電路圖如圖5所示,車(chē)載蓄電池的+12V直流電源轉(zhuǎn)換成+5V電源的電路由MAX738開(kāi)關(guān)式電壓調(diào)整器及其外圍器件構(gòu)成,圖中VCC12是電源的輸入端(+12V),VCC是電源輸出端(+5)。MAX738開(kāi)關(guān)式電壓調(diào)整器具有以下特點(diǎn)1)電流模式的脈寬調(diào)制器,切換頻率高;2)輸入電壓范圍寬6V-16V,輸出電壓精度高5%;3)85%-96%的轉(zhuǎn)換效率;4)1.7MA的靜止電流,關(guān)斷狀態(tài)僅為6uA;5)過(guò)流、過(guò)壓保護(hù),且?guī)в熊浧饎?dòng)功能。MAX738的主要功能是用一個(gè)電流模式的脈寬調(diào)制控制系統(tǒng)連接一個(gè)簡(jiǎn)單的降壓調(diào)整器來(lái)轉(zhuǎn)換輸入的6V-16V的不可調(diào)整的電壓,這個(gè)電流模式的脈寬調(diào)制結(jié)構(gòu)提供了循環(huán)的電流限制,改良了負(fù)載的瞬態(tài)響應(yīng),同時(shí)簡(jiǎn)化了輸出環(huán)路的設(shè)計(jì)。
直流隔離及5V-3V的轉(zhuǎn)換,電路圖如圖6所示,由于汽車(chē)上的蓄電池電平不穩(wěn)定且電源干擾較大,這里采用了直流電源隔離技術(shù)。使用兩個(gè)隔離模塊使GPS接收機(jī)系統(tǒng)和控制器系統(tǒng)完全隔離。同時(shí)這兩個(gè)系統(tǒng)又與汽車(chē)上的其他電器系統(tǒng)完全隔離,彼此互不影響,提高系統(tǒng)工作的可靠性。由于單片機(jī)控制器系統(tǒng)是3V系統(tǒng),所以在直流隔離模塊之后,還需一個(gè)線性三端集成穩(wěn)壓器LM2937-3.3來(lái)完成5V-3V的電壓轉(zhuǎn)換。具體電路圖如圖6所示,其中J3和J4是直流隔離模塊。
4、串行E2PROM存儲(chǔ)器電路串行E2PROM存儲(chǔ)器電路。為了使GPS接收機(jī)冷啟動(dòng)后最快速的正確定位,我們把上一次正確定位時(shí)的衛(wèi)星狀態(tài)數(shù)據(jù)輸入到GPS接收機(jī)中,這些衛(wèi)星狀態(tài)數(shù)據(jù)被存儲(chǔ)在串行E2PROMAT24C02中,系統(tǒng)掉電后也不丟失,以備下次冷啟動(dòng)時(shí)使用。AT24C02是美國(guó)ATMEL公司的低功耗CMOS串行E2PROM,它是內(nèi)含256×8位,具有工作電壓寬(2.5~5.5V)、擦寫(xiě)次數(shù)多(大于10000次)、寫(xiě)入速度快(小于10ms)等特點(diǎn)。圖7為AT24C02的引腳圖。圖中A0、A1、A2是三條地址線,用于確定芯片的硬件地址。VDD和VSS分別為正、負(fù)電源。SDA為串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過(guò)這條雙向I2C總線串行傳送。SCL為串行時(shí)鐘輸入線。SDA和SCL需要和正電源間各接一個(gè)5.1K的電阻上拉。第7腳需要接地。AT24C02中帶有片內(nèi)地址寄存器。每寫(xiě)入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址寄存器自動(dòng)加1,以實(shí)現(xiàn)對(duì)下一個(gè)存儲(chǔ)單元的讀寫(xiě)。所有字節(jié)均以單一操作方式讀取。為降低總的寫(xiě)入時(shí)間,一次操作可寫(xiě)入多達(dá)8個(gè)字節(jié)的數(shù)據(jù)。AT24C02與單片機(jī)的接口電路如圖8所示,AT24C02在I2C總線上的地址由單片機(jī)C8051F020的I/O口確定。
5實(shí)時(shí)時(shí)鐘(RTC)電路實(shí)時(shí)時(shí)鐘(RTC)電路。由于區(qū)域計(jì)價(jià)功能是根據(jù)運(yùn)營(yíng)時(shí)間段不同而改變的,而且在系統(tǒng)剛上電后是沒(méi)有準(zhǔn)確的時(shí)間基準(zhǔn)的,所以實(shí)時(shí)時(shí)鐘(RTC)電路采用了RTC DS1305確保系統(tǒng)上電后至GPS接收機(jī)正確定位之前的這段時(shí)間內(nèi)正確輸出行駛價(jià)格。DS1305與單片機(jī)接口電路如圖5.9所示。
單片機(jī)控制系統(tǒng)與計(jì)價(jià)器通信協(xié)議。控制器與計(jì)價(jià)器通訊接口,采用8位異步串行通信接口,一幀信息為10位1個(gè)起始位,8位數(shù)據(jù)位(低位在先)和1位停止位,波特率為9600,采用RS-232接口標(biāo)準(zhǔn),以02(STX)開(kāi)始,03(EXT)結(jié)束,中間用ASCII碼傳送??刂破骱陀?jì)價(jià)器的通信采取計(jì)價(jià)器呼叫、單片機(jī)響應(yīng)的通信方式。計(jì)價(jià)器每秒向單片機(jī)發(fā)送通信請(qǐng)求,單片機(jī)在收到請(qǐng)求后,向計(jì)價(jià)器發(fā)送價(jià)格數(shù)據(jù)。
二、軟件部分本發(fā)明具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器的程序是一個(gè)很復(fù)雜而龐大的實(shí)時(shí)軟件系統(tǒng)。為了便于軟件的編寫(xiě),測(cè)試和修改和維護(hù),在軟件設(shè)計(jì)中,采用了模塊化、結(jié)構(gòu)化和參數(shù)化設(shè)計(jì)技術(shù)。采用模塊化設(shè)計(jì)是為了便于系統(tǒng)的移植和維護(hù),避免代碼的重復(fù),從而節(jié)省數(shù)據(jù)的存儲(chǔ)空間。采用結(jié)構(gòu)化的編程方法使的程序結(jié)構(gòu)清晰、邏輯性強(qiáng)、便于設(shè)計(jì)修改,并符合了自頂向下的程序設(shè)計(jì)規(guī)則?!白皂斚蛳隆笔腔趶淖铐攲娱_(kāi)始逐步向下層細(xì)化的分解過(guò)程,其注重于程序的控制流和控制結(jié)構(gòu)。為使定位模塊軟件能適應(yīng)各種區(qū)域、硬件配置、運(yùn)行環(huán)境等方面的具體要求。系統(tǒng)采用了參數(shù)化設(shè)計(jì),注重于數(shù)據(jù)結(jié)構(gòu)和其上進(jìn)行的操作,這樣有助于增強(qiáng)整個(gè)定位模塊運(yùn)行軟件的靈活性和適應(yīng)性。本系統(tǒng)的軟件設(shè)計(jì)采取了自頂而下,逐步細(xì)化的設(shè)計(jì)方法。首先,按程序結(jié)構(gòu)化的設(shè)計(jì)思想設(shè)計(jì)主程序結(jié)構(gòu),其次設(shè)計(jì)中斷服務(wù)程序,然后再按功能模塊化思想設(shè)計(jì)各個(gè)子程序,并逐步細(xì)化各功能模塊,同時(shí)不斷完善中斷服務(wù)程序和主程序,最后完成所有軟件的設(shè)計(jì)。C51語(yǔ)言是一種面向微處理器的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。它除了具有程序設(shè)計(jì)快、可讀性好、易于維護(hù)和擴(kuò)充等一般結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言所具有的優(yōu)點(diǎn)外,還直接面向微處理器的內(nèi)部結(jié)構(gòu),所以用于應(yīng)用系統(tǒng)開(kāi)發(fā),可以得到一種不同于傳統(tǒng)的用匯編語(yǔ)言編程的開(kāi)發(fā)方式,能夠極大地提高應(yīng)用系統(tǒng)的開(kāi)發(fā)效率。因此采用了C51語(yǔ)言編寫(xiě)了該系統(tǒng)的軟件。
基于GIS平臺(tái)形成的區(qū)域數(shù)據(jù)庫(kù),是由若干個(gè)有不同頂點(diǎn)個(gè)數(shù)的區(qū)域多邊形組成,每個(gè)區(qū)域多邊形的每一個(gè)頂點(diǎn)由經(jīng)度和緯度兩個(gè)坐標(biāo)值組成,頂點(diǎn)存儲(chǔ)順序可以是順時(shí)針也可以是逆時(shí)針。由于區(qū)域數(shù)據(jù)庫(kù)數(shù)據(jù)量大且區(qū)域識(shí)別算法比較復(fù)雜,所以我們應(yīng)盡可能減少浮點(diǎn)乘法運(yùn)算次數(shù),因此有必要合理的安排組織數(shù)據(jù),使其按照特定要求數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在單片機(jī)的存儲(chǔ)器里,以實(shí)現(xiàn)快速、方便的存取訪問(wèn)。
設(shè)計(jì)思想是以區(qū)域?yàn)閱挝?,把屬于一個(gè)區(qū)域的頂點(diǎn)坐標(biāo)存放在同一個(gè)浮點(diǎn)型數(shù)組里,數(shù)組的最后一個(gè)元素存放此區(qū)域的價(jià)格系數(shù)。我們以每個(gè)區(qū)域的所有頂點(diǎn)坐標(biāo)值的最大值和最小值為根據(jù),計(jì)算確定出包含此區(qū)域的最小矩形區(qū)域,如圖10確定包含多邊形區(qū)域的最小矩形區(qū)域示意圖。矩形abcd是由多邊形ABCDEFG確定的。這樣每個(gè)區(qū)域都有一個(gè)包含自己的最小矩形區(qū)域與之相對(duì)應(yīng)。建立一個(gè)結(jié)構(gòu)體,它的內(nèi)容包括(1)矩形區(qū)域?qū)蔷€的頂點(diǎn)坐標(biāo)值;(2)此矩形區(qū)域相對(duì)應(yīng)的多邊形區(qū)域的頂點(diǎn)數(shù);(3)一個(gè)指針變量,此指針指向此矩形相對(duì)應(yīng)的多邊形區(qū)域的存儲(chǔ)數(shù)組的存儲(chǔ)位置。
定義一個(gè)結(jié)構(gòu)體數(shù)組,讓所有矩形區(qū)域統(tǒng)一被組織在一個(gè)數(shù)組里,由于每個(gè)矩形區(qū)域和與之相對(duì)應(yīng)的多邊形區(qū)域存儲(chǔ)位置相互關(guān)聯(lián),這樣實(shí)際就是把所有多邊形區(qū)域統(tǒng)一組織在一起了。由于識(shí)別車(chē)輛是否在某個(gè)多邊形區(qū)域內(nèi),需要執(zhí)行N次反正切運(yùn)算(這里N等于這個(gè)多邊形區(qū)域的頂點(diǎn)數(shù)),而識(shí)別一個(gè)矩形區(qū)域只需執(zhí)行兩次浮點(diǎn)加法運(yùn)算,大大節(jié)省時(shí)間。所以區(qū)域識(shí)別過(guò)程就是先判斷車(chē)輛當(dāng)前位置是在哪幾個(gè)矩形區(qū)域內(nèi),之后再根據(jù)這幾個(gè)矩形區(qū)域順序判定當(dāng)前位置是否在它們所相對(duì)應(yīng)的多邊形區(qū)域范圍內(nèi),這樣比起直接進(jìn)行多邊形區(qū)域識(shí)別可以節(jié)省大量時(shí)間,滿足實(shí)時(shí)的要求。
1、主程序主程序流程圖如圖11所示,主程序?yàn)橐粋€(gè)順序執(zhí)行的無(wú)限循環(huán)的程序。主程序首先對(duì)系統(tǒng)硬件和系統(tǒng)各變量進(jìn)行初始化。先關(guān)中斷,設(shè)置CPU中斷和各個(gè)外設(shè)的狀態(tài),設(shè)置GPS接收機(jī)的工作方式,給各變量賦初值,啟動(dòng)定時(shí)器關(guān)中斷,最后程序進(jìn)入主循環(huán)。執(zhí)行該程序時(shí)系統(tǒng)運(yùn)行如下(1)、對(duì)系統(tǒng)硬件和系統(tǒng)各變量進(jìn)行初始化;(2)、對(duì)系GPS接收機(jī)進(jìn)行初始化;(3)、接收GPS數(shù)據(jù),并判斷是否接收完畢,如判斷結(jié)果為否,則繼續(xù)執(zhí)行本步驟;(4)、如(3)步驟的判斷結(jié)果為否,則對(duì)GPS數(shù)據(jù)進(jìn)行處理并生成區(qū)域識(shí)別數(shù)據(jù);(5)、對(duì)每個(gè)矩形區(qū)域進(jìn)行識(shí)別;(6)、記錄存儲(chǔ)符合條件的矩形區(qū)域個(gè)數(shù);(7)、判斷所有矩形區(qū)域是否都已識(shí)別完畢,如判斷結(jié)果為否,則返回(5)步驟;(8)、如(7)步驟的判斷結(jié)果為是,則對(duì)符合條件的矩形區(qū)域相應(yīng)的多邊形區(qū)域逐一識(shí)別,得到計(jì)價(jià)器所需的價(jià)格系數(shù);(9)、更新當(dāng)前計(jì)價(jià)器的價(jià)格系數(shù),并返回(3)步驟。
2、區(qū)域識(shí)別子程序區(qū)域識(shí)別子程序流程圖如圖12所示,區(qū)域識(shí)別子程序負(fù)責(zé)完成對(duì)一個(gè)多邊形區(qū)域的識(shí)別,區(qū)域識(shí)別函數(shù)定義為float shibie(float x_val,float y_val,float code*addr,ucharbian)其有三個(gè)參數(shù)傳遞,浮點(diǎn)型變量x_val和y_val是當(dāng)前的經(jīng)度和緯度,浮點(diǎn)型code指針變量指向需要被識(shí)別的多邊形區(qū)域位置數(shù)據(jù)在flash存儲(chǔ)器中的首地址,無(wú)符號(hào)字符型變量bian是次需要被識(shí)別的多邊形區(qū)域的頂點(diǎn)數(shù)。返回值是浮點(diǎn)型數(shù)據(jù),如果汽車(chē)當(dāng)前位置在此多邊形區(qū)域內(nèi),則返回值是多邊形區(qū)域的價(jià)格系數(shù);否則返回值是0,表示不在此多邊形區(qū)域內(nèi)。執(zhí)行該程序時(shí)系統(tǒng)運(yùn)行如下(10)、打開(kāi)地圖文件,調(diào)入地圖;(11)、新建圖層;(12)、添加識(shí)別區(qū)域,并將表示所需識(shí)別區(qū)域的多邊形的頂點(diǎn)地理坐標(biāo),輸入到城市電子地圖上;(13)、調(diào)入車(chē)輛的GPS數(shù)據(jù);(14)、將車(chē)輛所處位置的地理坐標(biāo)輸入到在城市電子地圖上;(15)、進(jìn)行座標(biāo)平移,得到多邊形的一邊的兩端點(diǎn)A、B的座標(biāo)值;(16)、判斷該點(diǎn)是否在Y軸上,如判斷結(jié)果為否,則執(zhí)行(20)步驟;(17)、如(16)步驟中的判斷結(jié)果為是,則判斷該點(diǎn)的縱座標(biāo)值是否大于零;(18)、如(17)步驟中的判斷結(jié)果為否,則弧度為3π/2,并執(zhí)行(22)步驟;(19)、如(17)步驟中的判斷結(jié)果為是,則弧度為π/2,并執(zhí)行(22)步驟;(20)、求A、B點(diǎn)的反切值,得到A點(diǎn)的弧度值;(21)、校下A、B兩點(diǎn)的弧度值;(22)、得到A、B兩點(diǎn)的弧度值;(23)、將弧度轉(zhuǎn)換為角度;(24)、兩點(diǎn)的角度相減得角度差;(25)、角度差校正;(26)、求角度差累加和;(27)、判斷是否已計(jì)算到最后一邊,如判斷結(jié)果為否,則返回(15)步驟;(28)、如(27)步驟中的判斷結(jié)果為是,則判斷角度差累加和是否等于360°;(29)、如(28)步驟中的如判斷結(jié)果為是,則得出結(jié)論車(chē)輛在區(qū)域內(nèi);(30)、如(28)步驟中的如判斷結(jié)果為否,則得出結(jié)論車(chē)輛在區(qū)域外。(31)、判斷是否停止識(shí)識(shí),如判斷結(jié)果為否,則執(zhí)行(13)步驟;如(31)步驟中的判斷結(jié)果為是,則停止識(shí)別,并返回主程序(8)步驟。
3、UART1中斷子程序UART1中斷服務(wù)子程序流程如圖13所示,UART1中斷服務(wù)子程序負(fù)責(zé)接收GPS接收機(jī)發(fā)送的信息數(shù)據(jù),GPS輸出的$GPRMC一幀格式如下$GPRMC,hhmmss,A/V,XXXX.XXXX,N/S,XXXXX.XXXX,E/W,XXX.X,XXX.X,XXXXXX,*hh<CR><LF>
序號(hào) 1 2 3 4 56 78 9 1010這里1世界時(shí)(UTC)hh時(shí),mm分,ss秒;2為定位狀態(tài)A定位,V未定位;3緯度;4北緯南緯N北緯,S南緯;5經(jīng)度;6東經(jīng)西經(jīng)E東經(jīng),W西經(jīng);7對(duì)地速度單位為節(jié),1節(jié)(knot)=852m/h;8方位角真北方向?yàn)?度,順時(shí)針?lè)较蛴?jì)算,最大359.9度,四位輸出;9日期按日、月、年格式(年按兩位)輸出;10校驗(yàn)和。GPS接收機(jī)與單片機(jī)是通過(guò)單片機(jī)串行口UART以中斷方式進(jìn)行通信。執(zhí)行該程序時(shí)系統(tǒng)運(yùn)行如下(32)、判斷是否收到$,如判斷結(jié)果為否,則調(diào)整接收狀態(tài),重新接收;(33)、如(32)步驟的判斷結(jié)果為是,則接收前導(dǎo)標(biāo)符;(34)、判斷是否等于$GPRMC,如判斷結(jié)果為否,則調(diào)整接收狀態(tài),重新接收;(35)、如(34)步驟的判斷結(jié)果為是,則接收并存儲(chǔ)消息數(shù)據(jù);(36)、判斷校驗(yàn)和,如判斷結(jié)果為否,則調(diào)整接收狀態(tài),重新接收;(37)、如(36)步驟的判斷結(jié)果為是,則置位接收完標(biāo)志。
4、UART2中斷子程序UART2中斷服務(wù)子程序流程圖如圖14所示,UART2中斷服務(wù)子程序負(fù)責(zé)接收計(jì)價(jià)器發(fā)送來(lái)的信息數(shù)據(jù),并解析、判斷收到的數(shù)據(jù),如果接收數(shù)據(jù)正確,根據(jù)接收到的數(shù)據(jù)裝載計(jì)價(jià)器所需的信息數(shù)據(jù),在狀態(tài)字節(jié)內(nèi)填入9000表示執(zhí)行正確,然后發(fā)送給計(jì)價(jià)器;如果接收到的數(shù)據(jù)不正確,在狀態(tài)字節(jié)內(nèi)6980表示通訊錯(cuò)誤,然后發(fā)送給計(jì)價(jià)器。單片機(jī)與計(jì)價(jià)器的通信完全由單片機(jī)的串行口1(UART1)在中斷中完成。執(zhí)行該程序時(shí)系統(tǒng)運(yùn)行如下i(38)、判斷是接收還是發(fā)送,如判斷結(jié)果為接收,則執(zhí)行(42)步驟;(39)、如(38)步驟判斷結(jié)果為發(fā)送,則判斷數(shù)據(jù)是否發(fā)送完畢,如該判斷結(jié)果為是則退出;(40)、如(39)步驟判斷結(jié)果為否,則發(fā)送一個(gè)數(shù)據(jù);(41)、發(fā)送計(jì)數(shù)器加1后退出;42)、如(38)步驟判斷結(jié)果為接收狀態(tài),則判斷數(shù)據(jù)是否是stx或ext,如該判斷結(jié)果為否則執(zhí)行(45)步驟;(43)、如(42)步驟判斷結(jié)果為是,則判斷數(shù)據(jù)是否是stx,如該判斷結(jié)果為否,則En-tx=1、Start-rec=0并退出;(44)、如(43)步驟判斷結(jié)果為是,則Start-rec=1并退出;(45)、如(42)步驟判斷結(jié)果為否,則判斷Start-rec是否等于1,如該判斷結(jié)果為否,則退出;(46)、如(45)步驟判斷結(jié)果為是,則接收數(shù)據(jù);(47)、判斷En-tx是否等于1,如判斷結(jié)果為否,則退出;(48)、如(47)步驟判斷結(jié)果為是,裝載發(fā)送數(shù)據(jù)En-tx=0;(49)、啟動(dòng)發(fā)送,發(fā)送計(jì)數(shù)器清零;(50)、退出。
5、訪問(wèn)E2PROM子程序訪問(wèn)E2PROM子程序流程圖如圖15所示,訪問(wèn)E2PROM子程序主要負(fù)責(zé)單片機(jī)和AT24C02的數(shù)據(jù)通信,包括單片機(jī)對(duì)AT24C02的讀出和寫(xiě)入數(shù)據(jù)。為了使得確保數(shù)據(jù)傳輸可靠性,數(shù)據(jù)的接收與發(fā)送運(yùn)用了的差錯(cuò)控制。執(zhí)行該程序時(shí)系統(tǒng)運(yùn)行如下(1)、判斷總線是否空閉,如判斷結(jié)果為是,則繼續(xù)執(zhí)行該步驟;(2)、如(1)步驟的判斷結(jié)果為否,則置位總線忙志;(3)、判斷是讀操作還寫(xiě)操作,如判斷結(jié)果為寫(xiě)操作,則執(zhí)行(12)步驟;(4)、如(3)中的判斷結(jié)果為讀操作,則發(fā)送總線開(kāi)始信號(hào);(5)、發(fā)送器件地址數(shù)據(jù);(6)、判斷是否接收到ACK信號(hào),如判斷結(jié)果為是,則執(zhí)行(8)步驟;(7)、如(6)中的判斷結(jié)果為否,則發(fā)送總線停止信號(hào),并返回(4)步驟;(8)、接收數(shù)據(jù);(9)、判斷數(shù)據(jù)接收是否完畢,如判斷結(jié)果為否,則發(fā)送ACK信號(hào),返回(8)步驟;(10)、如(9)中的判斷結(jié)果為是,則發(fā)送NACK信號(hào);(11)、發(fā)送總線停止信號(hào),并退出;(12)、如(3)中的判斷結(jié)果為寫(xiě)操作,則發(fā)送總線開(kāi)始信號(hào);(13)、發(fā)送器件地址數(shù)據(jù);(14)、判斷是否接收到ACK信號(hào),如判斷結(jié)果為否,則發(fā)送總線停止信號(hào),并返回(12)步驟;(15)、如(14)中的判斷結(jié)果為是,則發(fā)送發(fā)送數(shù)據(jù);(16)、判斷是否接收到ACK信號(hào),如判斷結(jié)果為否,則發(fā)送總線停止信號(hào),并返回(12)步驟;(17)、如(16)步驟的判斷結(jié)果為是,則判斷數(shù)據(jù)發(fā)送完畢嗎,如發(fā)送完畢則發(fā)送總線停止信號(hào),并退出;(18)、如(16)步驟的判斷結(jié)果為否,則返回(15)步驟。
6、訪問(wèn)RTC子程序訪問(wèn)RTC子程序流程圖如圖16所示,訪問(wèn)RTC子程序主要負(fù)責(zé)單片機(jī)和DS1305的數(shù)據(jù)通信,包括單片機(jī)對(duì)DS1305的當(dāng)前時(shí)間數(shù)據(jù)的讀出和更新。執(zhí)行該程序時(shí)系統(tǒng)運(yùn)行如下(1)、置NSS信號(hào)線為低電平;(2)、判斷是讀數(shù)據(jù)還是寫(xiě)數(shù)據(jù),如判斷結(jié)果為寫(xiě)數(shù)據(jù),則執(zhí)行(8)步驟;(3)、如(2)中的判斷結(jié)果為讀數(shù)據(jù),則寫(xiě)數(shù)據(jù)寄存器地址;(4)、讀取時(shí)間數(shù)據(jù);(5)、判斷讀數(shù)據(jù)是否完畢,如判斷結(jié)果為否,則返回(4)步驟;(6)、如(5)中的判斷結(jié)果為是,則處理時(shí)間數(shù)據(jù);(7)、置NSS信號(hào)線為高電平,退出;(8)、如(2)中的判斷結(jié)果為寫(xiě)數(shù)據(jù),則寫(xiě)數(shù)據(jù)寄存器地址;(9)、設(shè)置DS1305為寫(xiě)狀態(tài);(10)、寫(xiě)數(shù)據(jù)寄存器地址;(11)、寫(xiě)入時(shí)間數(shù)據(jù);(12)、判斷寫(xiě)入數(shù)據(jù)是否完畢,如判斷結(jié)果為否,則返回(11)步驟;(13)、如(12)中的判斷結(jié)果為是,則執(zhí)行(8)步驟。
權(quán)利要求
1.一種具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,包括GPS接收機(jī)和單片機(jī)控制系統(tǒng),GPS接收機(jī)接收和處理GPS數(shù)據(jù)、實(shí)時(shí)計(jì)算出其所在車(chē)輛的位置,并將車(chē)輛位置數(shù)據(jù)傳遞給單片機(jī)控制系統(tǒng),其特征是,所述的單片機(jī)控制系統(tǒng)包括單片機(jī)以及與其連接的UART1通信接口、UART2通信接口、數(shù)據(jù)存儲(chǔ)器、計(jì)價(jià)器和計(jì)價(jià)器通信接口,所述的單片機(jī)控制系統(tǒng)存儲(chǔ)有主程序、區(qū)域識(shí)別子程序、URAT1中斷服務(wù)子程序和URAT2中斷服務(wù)子程序,所述的單片機(jī)控制系統(tǒng)在運(yùn)行主程序時(shí)執(zhí)行如下步驟(1)、對(duì)系統(tǒng)硬件和系統(tǒng)各變量進(jìn)行初始化;(2)、對(duì)系GPS接收機(jī)進(jìn)行初始化;(3)、接收GPS數(shù)據(jù),并判斷是否接收完畢,如判斷結(jié)果為否,則繼續(xù)執(zhí)行本步驟;(4)、如(3)步驟的判斷結(jié)果為否,則對(duì)GPS數(shù)據(jù)進(jìn)行處理并生成區(qū)域識(shí)別數(shù)據(jù);(5)、對(duì)每個(gè)矩形區(qū)域進(jìn)行識(shí)別;(6)、記錄存儲(chǔ)符合條件的矩形區(qū)域個(gè)數(shù);(7)、判斷所有矩形區(qū)域是否都已識(shí)別完畢,如判斷結(jié)果為否,則返回(5)步驟;(8)、如(7)步驟的判斷結(jié)果為是,則對(duì)符合條件的矩形區(qū)域相應(yīng)的多邊形區(qū)域逐一識(shí)別,得到計(jì)價(jià)器所需的價(jià)格系數(shù);(9)、更新當(dāng)前計(jì)價(jià)器的價(jià)格系數(shù),并返回(3)步驟;所述的區(qū)域識(shí)別子程序用于完成對(duì)多邊區(qū)域的識(shí)別,所述的單片機(jī)控制系統(tǒng)在執(zhí)行上述主程序(8)步驟時(shí)運(yùn)行該子程序,單片機(jī)控制系統(tǒng)在運(yùn)行區(qū)域識(shí)別子程序時(shí)執(zhí)行如下步驟(10)、打開(kāi)地圖文件,調(diào)入地圖;(11)、新建圖層;(12)、添加識(shí)別區(qū)域,并將表示所需識(shí)別區(qū)域的多邊形的頂點(diǎn)地理坐標(biāo),輸入到城市電子地圖上;(13)、調(diào)入車(chē)輛的GPS數(shù)據(jù);(14)、將車(chē)輛所處位置的地理坐標(biāo)輸入到在城市電子地圖上;(15)、進(jìn)行座標(biāo)平移,得到多邊形的一邊的兩端點(diǎn)A、B的座標(biāo)值;(16)、判斷該點(diǎn)是否在Y軸上,如判斷結(jié)果為否,則執(zhí)行(20)步驟;(17)、如(16)步驟中的判斷結(jié)果為是,則判斷該點(diǎn)的縱座標(biāo)值是否大于零;(18)、如(17)步驟中的判斷結(jié)果為否,則弧度為3π/2,并執(zhí)行(22)步驟;(19)、如(17)步驟中的判斷結(jié)果為是,則弧度為π/2,并執(zhí)行(22)步驟;(20)、求A、B點(diǎn)的反切值,得到A點(diǎn)的弧度值;(21)、校下A、B兩點(diǎn)的弧度值;(22)、得到A、B兩點(diǎn)的弧度值;(23)、將弧度轉(zhuǎn)換為角度;(24)、兩點(diǎn)的角度相減得角度差;(25)、角度差校正;(26)、求角度差累加和;(27)、判斷是否已計(jì)算到最后一邊,如判斷結(jié)果為否,則返回(15)步驟;(28)、如(27)步驟中的判斷結(jié)果為是,則判斷角度差累加和是否等于360°;(29)、如(28)步驟中的如判斷結(jié)果為是,則得出結(jié)論車(chē)輛在區(qū)域內(nèi);(30)、如(28)步驟中的如判斷結(jié)果為否,則得出結(jié)論車(chē)輛在區(qū)域外。(31)、判斷是否停止識(shí)識(shí),如判斷結(jié)果為否,則執(zhí)行(13)步驟;如(31)步驟中的判斷結(jié)果為是,則停止識(shí)別,并返回主程序(8)步驟;所述的單片機(jī)控制系統(tǒng)內(nèi)還存儲(chǔ)有URAT1中斷服務(wù)子程序,用于接收GPS接收機(jī)發(fā)送的信息數(shù)據(jù)和向GPS接收機(jī)發(fā)送信息數(shù)據(jù),信息數(shù)據(jù)的接收和發(fā)送通過(guò)接口UART1在中斷中完成,所述的單片機(jī)控制系統(tǒng)在運(yùn)行URAT1中斷服務(wù)子程序時(shí)執(zhí)行如下步驟(32)、判斷是否收到$,如判斷結(jié)果為否,則調(diào)整接收狀態(tài),重新接收;(33)、如(32)步驟的判斷結(jié)果為是,則接收前導(dǎo)標(biāo)符;(34)、判斷是否等于$GPRMC,如判斷結(jié)果為否,則調(diào)整接收狀態(tài),重新接收;(35)、如(34)步驟的判斷結(jié)果為是,則接收并存儲(chǔ)消息數(shù)據(jù);(36)、判斷校驗(yàn)和,如判斷結(jié)果為否,則調(diào)整接收狀態(tài),重新接收;(37)、如(36)步驟的判斷結(jié)果為是,則置位接收完標(biāo)志;所述的單片機(jī)控制系統(tǒng)內(nèi)還存有URAT2中斷服務(wù)子程序,用于控制單片機(jī)與計(jì)價(jià)器之間信息數(shù)據(jù)的接收和發(fā)送,信息數(shù)據(jù)的接收和發(fā)送通過(guò)接口UART2在中斷中完成,所述的單片機(jī)控制系統(tǒng)在運(yùn)行URAT2中斷服務(wù)子程序時(shí)執(zhí)行如下步驟(38)、判斷是接收還是發(fā)送,如判斷結(jié)果為接收,則執(zhí)行(42)步驟;(39)、如(38)步驟判斷結(jié)果為發(fā)送,則判斷數(shù)據(jù)是否發(fā)送完畢,如該判斷結(jié)果為是則退出;(40)、如(39)步驟判斷結(jié)果為否,則發(fā)送一個(gè)數(shù)據(jù);(41)、發(fā)送計(jì)數(shù)器加1后退出;(42)、如(38)步驟判斷結(jié)果為接收狀態(tài),則判斷數(shù)據(jù)是否是stx或ext,如該判斷結(jié)果為否則執(zhí)行(45)步驟;(43)、如(42)步驟判斷結(jié)果為是,則判斷數(shù)據(jù)是否是stx,如該判斷結(jié)果為否,則En-tx=1、Start-rec=0并退出;(44)、如(43)步驟判斷結(jié)果為是,則Start-rec=1并退出;(45)、如(42)步驟判斷結(jié)果為否,則判斷Start-rec是否等于1,如該判斷結(jié)果為否,則退出;(46)、如(45)步驟判斷結(jié)果為是,則接收數(shù)據(jù);(47)、判斷En-tx是否等于1,如判斷結(jié)果為否,則退出;(48)、如(47)步驟判斷結(jié)果為是,裝載發(fā)送數(shù)據(jù)En-tx=0;(49)、啟動(dòng)發(fā)送,發(fā)送計(jì)數(shù)器清零;(50)、退出。
2.根據(jù)權(quán)利要求1所述的一種具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,其特征是,所述的GPS接收機(jī)還設(shè)置有備用電源和狀態(tài)顯示裝置。
3.根據(jù)權(quán)利要求1所述的一種具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,其特征是,所述的數(shù)據(jù)存儲(chǔ)器是串行E2PROM存儲(chǔ)器,用于把上一次正確定位時(shí)的衛(wèi)星狀態(tài)數(shù)據(jù)輸入到GPS接收機(jī)中,使GPS接收機(jī)冷啟動(dòng)后最快速的正確定位。
4.根據(jù)權(quán)利要求1所述的一種具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,其特征是,所述的單片機(jī)控制系統(tǒng)還包括JATG程序下載及調(diào)節(jié)器調(diào)試接口。
5.根據(jù)權(quán)利要求1所述的一種具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,其特征是,所述的數(shù)據(jù)存儲(chǔ)器內(nèi)還存有訪問(wèn)E2PROM子程序,用于單片機(jī)控制系統(tǒng)與E2PROM存儲(chǔ)器之間的數(shù)據(jù)通信,所述的單片機(jī)控制系統(tǒng)在運(yùn)行訪問(wèn)E2POM子程序時(shí)執(zhí)行如下步驟(1)、判斷總線是否空閉,如判斷結(jié)果為是,則繼續(xù)執(zhí)行該步驟;(2)、如(1)步驟的判斷結(jié)果為否,則置位總線忙志;(3)、判斷是讀操作還寫(xiě)操作,如判斷結(jié)果為寫(xiě)操作,則執(zhí)行(12)步驟;(4)、如(3)中的判斷結(jié)果為讀操作,則發(fā)送總線開(kāi)始信號(hào);(5)、發(fā)送器件地址數(shù)據(jù);(6)、判斷是否接收到ACK信號(hào),如判斷結(jié)果為是,則執(zhí)行(8)步驟;(7)、如(6)中的判斷結(jié)果為否,則發(fā)送總線停止信號(hào),并返回(4)步驟;(8)、接收數(shù)據(jù);(9)、判斷數(shù)據(jù)接收是否完畢,如判斷結(jié)果為否,則發(fā)送ACK信號(hào),返回(8)步驟;(10)、如(9)中的判斷結(jié)果為是,則發(fā)送NACK信號(hào);(11)、發(fā)送總線停止信號(hào),并退出;(12)、如(3)中的判斷結(jié)果為寫(xiě)操作,則發(fā)送總線開(kāi)始信號(hào);(13)、發(fā)送器件地址數(shù)據(jù);(14)、判斷是否接收到ACK信號(hào),如判斷結(jié)果為否,則發(fā)送總線停止信號(hào),并返回(12)步驟;(15)、如(14)中的判斷結(jié)果為是,則發(fā)送發(fā)送數(shù)據(jù);(16)、判斷是否接收到ACK信號(hào),如判斷結(jié)果為否,則發(fā)送總線停止信號(hào),并返回(12)步驟;(17)、如(16)步驟的判斷結(jié)果為是,則判斷數(shù)據(jù)發(fā)送完畢嗎,如發(fā)送完畢則發(fā)送總線停止信號(hào),并退出;(18)、如(16)步驟的判斷結(jié)果為否,則返回(15)步驟。
6.根據(jù)權(quán)利要求1所述的一種具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,其特征是,所述的數(shù)據(jù)存儲(chǔ)器內(nèi)還存有訪問(wèn)RTC子程序,用于控制單片機(jī)控制系統(tǒng)與DS1305之間的數(shù)據(jù)通信,所述的單片機(jī)控制系統(tǒng)在運(yùn)行訪問(wèn)RTC子程序時(shí)執(zhí)行如下步驟(1)、置NSS信號(hào)線為低電平;(2)、判斷是讀數(shù)據(jù)還是寫(xiě)數(shù)據(jù),如判斷結(jié)果為寫(xiě)數(shù)據(jù),則執(zhí)行(8)步驟;(3)、如(2)中的判斷結(jié)果為讀數(shù)據(jù),則寫(xiě)數(shù)據(jù)寄存器地址;(4)、讀取時(shí)間數(shù)據(jù);(5)、判斷讀數(shù)據(jù)是否完畢,如判斷結(jié)果為否,則返回(4)步驟;(6)、如(5)中的判斷結(jié)果為是,則處理時(shí)間數(shù)據(jù);(7)、置NSS信號(hào)線為高電平,退出;(8)、如(2)中的判斷結(jié)果為寫(xiě)數(shù)據(jù),則寫(xiě)數(shù)據(jù)寄存器地址;(9)、設(shè)置DS1305為寫(xiě)狀態(tài);(10)、寫(xiě)數(shù)據(jù)寄存器地址;(11)、寫(xiě)入時(shí)間數(shù)據(jù);(12)、判斷寫(xiě)入數(shù)據(jù)是否完畢,如判斷結(jié)果為否,則返回(11)步驟;(13)、如(12)中的判斷結(jié)果為是,則執(zhí)行(8)步驟。
全文摘要
本發(fā)明公開(kāi)了一種具有區(qū)域識(shí)別與計(jì)價(jià)功能的車(chē)輛計(jì)價(jià)器,包括GPS接收機(jī)和單片機(jī)控制系統(tǒng),GPS接收機(jī)接收和處理GPS數(shù)據(jù)、實(shí)時(shí)計(jì)算出其所在車(chē)輛的位置,并將車(chē)輛位置數(shù)據(jù)傳遞給單片機(jī)控制系統(tǒng)。所述的單片機(jī)控制系統(tǒng)包括單片機(jī)以及與其連接的UART1通信接口、UART2通信接口、數(shù)據(jù)存儲(chǔ)器、計(jì)價(jià)器和計(jì)價(jià)器通信接口,所述的單片機(jī)控制系統(tǒng)存儲(chǔ)有主程序、區(qū)域識(shí)別子程序、URAT1中斷服務(wù)子程序和URAT2中斷服務(wù)子程序。本發(fā)明應(yīng)用于交通需求管理中,能夠識(shí)別車(chē)輛是否處于擁擠的區(qū)域或路段,并能按車(chē)輛所處的位置確定相應(yīng)的計(jì)價(jià)標(biāo)準(zhǔn),為交通需求管理的實(shí)現(xiàn),為有效解決城市交通擁擠提供技術(shù)支持。
文檔編號(hào)G07B13/00GK1564205SQ20041001901
公開(kāi)日2005年1月12日 申請(qǐng)日期2004年4月16日 優(yōu)先權(quán)日2004年4月16日
發(fā)明者陳弘 申請(qǐng)人:天津汽車(chē)檢測(cè)中心, 陳弘
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1