公交車線路微機(jī)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
關(guān)鍵詞:ibutton鈕;單片機(jī);公交車線路監(jiān)控
前言
隨著城市人口的迅猛增加和面積的不斷擴(kuò)大,城市公交車的數(shù)量在不斷增加,公交線路日益增多;給人們的交通帶來了很大的方便。但在公交系統(tǒng)的管理上,與之相關(guān)的管理設(shè)備和手段大都處于落后的手工操作上,與其快速發(fā)展步伐不相適應(yīng)。其中,在城市里的每一路公交車線路都有調(diào)度員,調(diào)度員的一個(gè)重要的職責(zé)的監(jiān)控每一班公交車在運(yùn)行過程中的到站情況,如到站時(shí)間、地點(diǎn)、公交車號和駕駛員等數(shù)據(jù)。目前,這些數(shù)據(jù)都是手工完成,在管理上存在極大漏洞,如夜間收班車,往往某些駕駛員未到終點(diǎn)站拋客調(diào)頭,造成極壞影響。但在此基礎(chǔ)上,本文介紹一種公交車線路微機(jī)監(jiān)控系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的方法。
本文介紹的公交車線路微機(jī)監(jiān)控系統(tǒng)利用了美國DALLAS公司生產(chǎn)的DS1900A型iButton鈕,其自帶一個(gè) 48位身份號碼(全世界唯一),用以鑒定公交車的身份。DS1900A與IC卡相比具有以下主要特點(diǎn):
(1)具有唯一的串行48位鈕號。
(2)金屬外殼,不易損壞(可用在較臟、潮濕、震動(dòng)環(huán)境下),壽命長。
(3)體積?。ㄖ睆?6mm),便于攜帶。
(4)兩線串行讀取數(shù)據(jù),功耗低。
DS1900A串行iButton用在自動(dòng)識(shí)別系統(tǒng)中,每個(gè)iButton鈕上存儲(chǔ)了64位鈕號,由3部分組成:一個(gè)48位串行數(shù)據(jù),一個(gè)8位CRC和一個(gè)8位類別號(01H)。數(shù)據(jù)可以通過一線制進(jìn)行串行讀取。該系統(tǒng)具有如下特征:能對公交車進(jìn)行自動(dòng)識(shí)別,自動(dòng)記錄到站時(shí)間、地點(diǎn),對線路運(yùn)行情況進(jìn)行自動(dòng)數(shù)據(jù)庫管理,提高工作效率和透明度。
系統(tǒng)工作原理
圖1 公交車線路微機(jī)監(jiān)控系統(tǒng)的工作原理
公交車線路微機(jī)監(jiān)控系統(tǒng)的工作原理見圖1。由PC機(jī)、iButton鈕和識(shí)別器組成。在每個(gè)公交車上都配有一個(gè)識(shí)別器,識(shí)別器為單片機(jī)應(yīng)用系統(tǒng),在其中存儲(chǔ)了公交車編號和三個(gè)駕駛員編號。在需要監(jiān)控的站臺(tái)上(如起點(diǎn)站、終點(diǎn)站)安裝了iButton鈕,其上面鈕號即代表了站臺(tái)編號。當(dāng)公交車駛到該站時(shí),將其攜帶的識(shí)別器與站臺(tái)上的iButton鈕接觸,識(shí)別器測出到站時(shí)間、地點(diǎn)、公交車號和駕駛員等數(shù)據(jù)并存儲(chǔ)。
當(dāng)駕駛員交班時(shí),在計(jì)算機(jī)中心將識(shí)別器中數(shù)據(jù)傳送。于是,該駕駛員上班時(shí)到站時(shí)間、地點(diǎn)、公交車號和駕駛員等數(shù)據(jù)自動(dòng)傳到管理中心的計(jì)算機(jī)上,進(jìn)行計(jì)算機(jī)綜合數(shù)據(jù)管理。PC機(jī)通過RS232總線與各識(shí)別器通信,主要完成如下功能:
(1) 識(shí)別器上傳來的數(shù)據(jù)處理。。
(2) 查看、校準(zhǔn)識(shí)別器上時(shí)間。
(3) 設(shè)置識(shí)別器的初始化參數(shù)。
(4) 查詢本日、月、年的駕駛員和公交車運(yùn)行數(shù)據(jù),生成打印報(bào)表。
識(shí)別器的組成
硬件組成
根據(jù)本系統(tǒng)實(shí)現(xiàn)的功能,同時(shí)考慮器件性價(jià)比,該系統(tǒng)CPU采用89C2051;其他器件采用:實(shí)時(shí)時(shí)鐘芯片DS1302,串行E2PROM 24LC64,MAX202以及其他附屬元件。電路見圖2。
圖2 識(shí)別器硬件組成電路圖
公交車線路微機(jī)監(jiān)控系統(tǒng)硬件主要由4個(gè)部分組成:第一部分是CPU,作為電路的控制核心,為了減小信號在電路上的傳輸,降低成本和提高系統(tǒng)的可靠性,CPU選用89C2051。89C2051內(nèi)部有1KB的FLASH和256字節(jié)RAM。同時(shí),在CPU與外部控制信號之間,采用了光電隔離器和繼電器隔離,從而避免了外部強(qiáng)脈沖信號對CPU產(chǎn)生的干擾。
第二部分是時(shí)鐘芯片DS1302和串行E2PROM 24LC64。當(dāng)?shù)竭_(dá)站臺(tái)時(shí),需要記錄此時(shí)時(shí)間。DS1302是一個(gè)低功耗時(shí)鐘芯片,可以工作于備用電池狀態(tài)。在正常時(shí)間讀和修改狀態(tài)下,DS1302的耗電為1.2mA,而工作在備用電池狀態(tài),耗電僅為1uA,從而保證DS1302的正常計(jì)時(shí)。
第三部分是iButton數(shù)據(jù)讀入單元。
第四部分是控制信號輸出單元。P3.2為低電平,表示iButton數(shù)據(jù)讀入正常;P1.4為低電平,表示與PC機(jī)通訊正常。
第五部分是串行通訊部分。采用芯片MAX202完成單片機(jī)(下微機(jī))輸出的TTL電平到PC機(jī)(上微機(jī))信號RS-232電平轉(zhuǎn)換。
軟件組成
為了使該程序條理清楚、便于維護(hù),程序采用模塊化編程方式。程序流程圖見圖3。識(shí)別器硬件上電后,程序首先初始化,然后進(jìn)入判斷是否在讀iButton按鈕或與PC機(jī)串行通訊;如果正在讀iButton鈕,則程序在此循環(huán),直到有iButton鈕后,程序往下執(zhí)行。
讀DS1302子程序主要功能是讀出到站時(shí)刻的年、月、日、分、秒數(shù)據(jù);然后,將得到數(shù)據(jù)保存在24LC64中。最后,將P3.2口置低電平,發(fā)光二極管D1亮,表示讀iButton按鈕結(jié)束。串行通訊子程序功能是:將讀出識(shí)別器中數(shù)據(jù),即時(shí)刻、地點(diǎn)、駕駛員編號和公交車編號等數(shù)據(jù)送入計(jì)算機(jī)管理中心,計(jì)算機(jī)收到數(shù)據(jù)后,放入數(shù)據(jù)庫中;通過管理軟件判斷該車運(yùn)行情況。
圖3 識(shí)別器軟件流程圖
該計(jì)算機(jī)管理系統(tǒng)軟件是用PowerBuilder數(shù)據(jù)庫開發(fā)軟件設(shè)計(jì)的,該軟件包括如下功能:下微機(jī)通訊、數(shù)據(jù)修改/查詢、數(shù)據(jù)庫維護(hù)和報(bào)表等;在這里不作詳細(xì)介紹。
結(jié)束語
公交車線路微機(jī)監(jiān)控系統(tǒng)是由自動(dòng)識(shí)別器和計(jì)算機(jī)管理中心組成。通過以上介紹,可以看出該系統(tǒng)成本十分低廉,使得生產(chǎn)線路監(jiān)控能實(shí)現(xiàn)自動(dòng)化,增加了管理的透明度;同時(shí),在此基礎(chǔ)上將每個(gè)的計(jì)算機(jī)中心構(gòu)成網(wǎng)絡(luò),可進(jìn)一步實(shí)現(xiàn)網(wǎng)絡(luò)管理,能使公交系統(tǒng)管理技術(shù)水平更上一個(gè)臺(tái)階。
評論