當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1. 引言隨著生活水平的不斷提高,人們對居住環(huán)境的要求也大大提高,對信息服務(wù)和安全防范的要求尤為突出.如何利用計(jì)算機(jī)和通信技術(shù)在智能化小區(qū)家庭智能管理系統(tǒng)中,對住戶家庭水表、電表、煤氣表的自動計(jì)量以及火

1. 引言

隨著生活水平的不斷提高,人們對居住環(huán)境的要求也大大提高,對信息服務(wù)和安全防范的要求尤為突出.如何利用計(jì)算機(jī)和通信技術(shù)在智能化小區(qū)家庭智能管理系統(tǒng)中,對住戶家庭水表、電表、煤氣表的自動計(jì)量以及火災(zāi)、煤氣泄漏、入室盜竊等警情的實(shí)時(shí)監(jiān)控已經(jīng)成為信息產(chǎn)業(yè)的熱點(diǎn)技術(shù).利用CAN總線技術(shù)雖然有其開放式、數(shù)字化、多點(diǎn)通信等諸多優(yōu)點(diǎn),但將其用于智能住宅小區(qū),卻因其成本偏高,目前在我國還難以推廣.為此,作者開發(fā)出一種設(shè)備簡單,成本低廉,便于維護(hù)經(jīng)濟(jì)型智能小區(qū)家庭管理系統(tǒng),能有效地實(shí)現(xiàn)三表自動采集計(jì)費(fèi),防盜、防災(zāi)、自動報(bào)警和遠(yuǎn)程監(jiān)控等功能.利用單片機(jī)進(jìn)行實(shí)時(shí)采集,并將采集的數(shù)據(jù)通過串行口傳給PC機(jī),PC機(jī)完成數(shù)據(jù)的運(yùn)算、存儲、和打印。硬件通過PIC16FXX單片機(jī)實(shí)現(xiàn),軟件由VC++6.0實(shí)現(xiàn).

2. 系統(tǒng)結(jié)構(gòu)

系統(tǒng)是由一臺PC機(jī)(上位機(jī))和多臺PIC單片機(jī)(下位機(jī),作為終端控制器)構(gòu)成分布式控制系統(tǒng),PC機(jī)COM口帶多個(gè)終端控制器,終端控制器地址設(shè)為 1-N。PC機(jī)采用巡查工作方式自動查詢小區(qū)內(nèi)所有終端控制器的報(bào)警狀態(tài),及時(shí)對各種報(bào)警信號做出響應(yīng),并通過有效手段(語音提示、電子地圖標(biāo)識等)向監(jiān)控中心工作人員提供報(bào)警業(yè)主家庭有關(guān)地址、電話等詳細(xì)信息,以便及時(shí)處理;同時(shí)通過抄表工作方式完成自動抄表以及報(bào)表輸出等任務(wù).終端控制器采集用戶煤氣表、電表、水表脈沖數(shù)據(jù),實(shí)現(xiàn)3表自動計(jì)數(shù);同時(shí)采集現(xiàn)場的防盜、防災(zāi)等信息,有意外事件發(fā)生時(shí)可自動啟動報(bào)警器報(bào)警.PC機(jī)與終端控制器采用總線式網(wǎng)絡(luò)結(jié)構(gòu)相連,采用RS—485接口總線通信;RS485接口總線利用平衡發(fā)送和差分接收方式實(shí)現(xiàn)通信.,以半雙工工作方式工作,最大傳輸距離可達(dá) 1200m,波特率在1200和38400b/s間可設(shè)置,RS485網(wǎng)絡(luò)采用一對有補(bǔ)償?shù)碾p絞線。終端控制器采用PIC16FXX單片機(jī),片中串行口加 MAX487轉(zhuǎn)換器,選用在多點(diǎn)總線傳輸線中雙向數(shù)據(jù)通信應(yīng)用網(wǎng)絡(luò)廣泛使用的MAX487收發(fā)器,其特點(diǎn)是具有限斜率的驅(qū)動器,即驅(qū)動器發(fā)送數(shù)字信號,其沿邊斜率是受限制的,這使電磁干擾(EMI)減至最小,并減少因電纜終端不匹配而產(chǎn)生的影響.接口接線簡單,維護(hù)方便,保證了抄表的可靠性和監(jiān)控的實(shí)時(shí)性.

3. 終端控制器硬件設(shè)計(jì)

為了簡化硬件結(jié)構(gòu),將三表設(shè)計(jì)成脈沖表,報(bào)警探頭為脈沖輸出,從而避免了在控制器主板上使用A/D轉(zhuǎn)換接口.本系統(tǒng)對表脈沖安排4路輸入通道,利用單片機(jī) PIC16FXX的PORTA端口輸入,表脈沖和報(bào)警脈沖信號分別通過斯密特觸發(fā)器波形整形和74LS244緩沖器進(jìn)入CPU,在一定的采樣周期內(nèi),CPU輪流查詢用戶表和報(bào)警的輸入端口狀態(tài),并進(jìn)行數(shù)據(jù)分析處理,存到EEPROM 24C16相應(yīng)的存儲區(qū),等待中央計(jì)算機(jī)的查詢和抄寫.再安排4路輸入通道用于對設(shè)防、撤防、解警和求助操作的遙控處理.串行接口器件LCD液晶顯示器可顯示表數(shù)據(jù)和有關(guān)報(bào)警狀態(tài)等信息,所采用的液晶顯示模塊,內(nèi)置顯示RAM和驅(qū)動控制器,通過4線與單片機(jī)相連. 8KB串行EEPROM 24C16,用以存儲用戶各表的數(shù)據(jù)信息、報(bào)警狀態(tài)信息和采集監(jiān)控終端地址以及有關(guān)初始化信息.每個(gè)用戶的采集監(jiān)控終端設(shè)置不同的地址,從而保證采集數(shù)據(jù)的正確無誤.

終端控制器工作過程如下:上電復(fù)位自檢后,開始運(yùn)行,指示燈閃爍表示程序開始正常工作,初始化LCD,脈沖表,密碼,報(bào)警狀態(tài),鍵盤,串口。然后進(jìn)入主程序循環(huán),首先記錄報(bào)警狀態(tài),脈沖表數(shù)據(jù),然后將上述兩種數(shù)據(jù)存入24C16中,查詢鍵盤,通過串口響應(yīng)PC機(jī)通信命令與PC機(jī)之間進(jìn)行數(shù)據(jù)傳輸。

4. 系統(tǒng)通信

通信的發(fā)起方總是主機(jī)開始,由PC機(jī)控制通訊的主動性,單片機(jī)在通訊過程中處于被動地位。由于各分機(jī)共享同一頻率,為避免沖突,PC機(jī)通過巡查分機(jī)的工作方式查詢各單片機(jī)是否有信息要上報(bào)給PC機(jī)。

為了保證PC機(jī)與多臺單片機(jī)之間能夠準(zhǔn)確、可靠的通信,確定一個(gè)明確而合理的通訊協(xié)議是關(guān)鍵。包括對數(shù)據(jù)格式、通訊方式、傳送速度、傳送步驟、檢糾錯(cuò)方式以及控制字符定義等問題做出統(tǒng)一規(guī)定。

為區(qū)分不同的分機(jī),必須為每一個(gè)分機(jī)分配一個(gè)唯一的地址,此地址唯一區(qū)別各單片機(jī)。數(shù)據(jù)格式采用數(shù)據(jù)包的形式,一次傳輸一組數(shù)據(jù),數(shù)據(jù)包格式如下所示:


  
    起始標(biāo)志位:1個(gè)字節(jié)  數(shù)據(jù)長度:1個(gè)字節(jié)
    分機(jī)地址:1個(gè)字節(jié)  數(shù)據(jù)內(nèi)容:n個(gè)字節(jié)
    和檢驗(yàn):2個(gè)字節(jié)   命令/數(shù)據(jù):1個(gè)字節(jié)
    結(jié)束標(biāo)志位:1個(gè)字節(jié)


    主機(jī)向單個(gè)單片機(jī)傳數(shù)據(jù)時(shí),首先,上位機(jī)順次發(fā)送起始標(biāo)志位,目的地址位,數(shù)據(jù),生成檢驗(yàn)位,結(jié)束標(biāo)志位,上位機(jī)發(fā)送后每個(gè)下位機(jī)都產(chǎn)生中斷把上位機(jī)數(shù)據(jù)包都接收下來,當(dāng)接收到結(jié)束標(biāo)志字符時(shí),表示接受到一幀完整的數(shù)據(jù)包,然后對數(shù)據(jù)解包,把接收到的目的地和本機(jī)地址進(jìn)行比較,如果不是則馬上跳出中斷服務(wù)程序,相同的話則表示要和本下位機(jī)進(jìn)行通訊。主機(jī)發(fā)完信息后便等待該分機(jī)的接收應(yīng)答。當(dāng)接收數(shù)據(jù)包完成后,接受方也生成相應(yīng)的檢驗(yàn)和,如果接受方生成的檢驗(yàn)和與接收到的檢驗(yàn)和一致,則表明這次通訊成功,下位機(jī)根據(jù)接收到的內(nèi)容給上位機(jī)發(fā)送相應(yīng)的反饋信息。如果不一致,則表明此次通訊失敗,下位機(jī)給上位機(jī)發(fā)送失敗信息,要求上位機(jī)重新發(fā)送。
    由于系統(tǒng)采用上位機(jī)巡查下位機(jī)的工作方式,單片機(jī)在通信過程中處于被動地位,只能其被輪詢到的時(shí)候才能給上位機(jī)發(fā)送數(shù)據(jù),否則即使信息要上報(bào)主機(jī)時(shí),也必須處于等待。上位機(jī)從第一分機(jī)依次查詢下位機(jī),給巡查到的下位機(jī)發(fā)送查詢命令,詢問該單片機(jī)是否有信息要上報(bào)給上位機(jī)。被輪詢的單片機(jī)如果沒有信息要上報(bào)給上位機(jī)的話就給上位機(jī)發(fā)送無上報(bào)要求的指令,上位機(jī)接受到此指令后便輪詢下一地址的分機(jī);若分機(jī)有數(shù)據(jù)需上報(bào)便回發(fā)一個(gè)有上報(bào)要求給主機(jī),主機(jī)收到后便等待分機(jī)上報(bào)數(shù)據(jù),有上報(bào)數(shù)據(jù)的分機(jī)組織好數(shù)據(jù)后上報(bào)給主機(jī),然后等待主機(jī)的接收應(yīng)答。主機(jī)收到分機(jī)上報(bào)的數(shù)據(jù)后進(jìn)行檢查,若正確接收發(fā)正確接收應(yīng)答,否則發(fā)錯(cuò)誤接收應(yīng)答。當(dāng)接收錯(cuò)誤后,主機(jī)等待分機(jī)再次上報(bào)數(shù)據(jù),分機(jī)收到接收錯(cuò)誤應(yīng)答后再次發(fā)送數(shù)據(jù)。
    信號傳輸中接受與發(fā)送都采用中斷方式,多機(jī)通信從機(jī)中斷服務(wù)程序如圖3所示。

5.PC機(jī)通信程序設(shè)計(jì)

上位機(jī)的軟件是基于VC++6.0實(shí)現(xiàn)的,其中的重點(diǎn)和難點(diǎn)是進(jìn)行實(shí)時(shí)的串行通訊。應(yīng)用VC++編寫串行通信程序,通??蓺w納為如下四種方法:一是利用 Windows API通信函數(shù);二是使用Microsoft提供的Microsoft Communications Control控件(簡稱MSComm);三是利用第三方編寫的通信類(如MuMega Technologies公司提供的Cserial類);四是在VC++中用端口操作指令直接對串行端口編程,實(shí)現(xiàn)串行通信。本系統(tǒng)中采用的是 MSComm控件,它是通過串行端口發(fā)送和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能,使用非常方便。

6.小結(jié)

本系統(tǒng)提出的通訊硬件和通訊協(xié)議已經(jīng)在實(shí)際中使用,截止目前運(yùn)行正常。這說明這種通訊方案在PC機(jī)和多臺單片機(jī)的數(shù)據(jù)通訊中快速、準(zhǔn)確、可靠的。
 
參考文獻(xiàn):
[1] 李朝青,PC機(jī)及單片機(jī)數(shù)據(jù)通訊技術(shù)[M],北京:北京航空航天大學(xué)出版社,2000
[2] 陽憲惠,現(xiàn)場總線技術(shù)及其應(yīng)用[M],北京:清華大學(xué)出版社,1999
[3] 王仲文,精通串行口通訊[M],北京:電子工業(yè)出版社,1995
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉