基于CAN總線的溫度監(jiān)測系統(tǒng).doc
《基于CAN總線的溫度監(jiān)測系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《基于CAN總線的溫度監(jiān)測系統(tǒng).doc(37頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、湖南工業(yè)大學(xué)專科畢業(yè)設(shè)計(jì)(論文)基于CAN總線的溫度監(jiān)測系統(tǒng)摘 要控制器局部網(wǎng)(CANC0NTROLLER AREA NET的RK)是BOSCH公司為現(xiàn)代汽車應(yīng)用領(lǐng)先推出的一種多主機(jī)局部網(wǎng),由于其卓越性能現(xiàn)已廣泛應(yīng)用于工業(yè)自動化、多種控制設(shè)備、交通工具、醫(yī)療儀器以及建筑、環(huán)境控制等眾多部門。其總線規(guī)范已成為國際標(biāo)準(zhǔn),被公認(rèn)為幾種最有前途的總線之一。本文綜述了CAN總線產(chǎn)生和發(fā)過程,概括了CAN總線優(yōu)于其它現(xiàn)場總線的特點(diǎn),結(jié)合生產(chǎn)中溫度監(jiān)控的實(shí)際需求,提出了將CAN總線應(yīng)用于生產(chǎn)實(shí)踐的設(shè)想。給出了基于CAN總線的溫度監(jiān)控系統(tǒng)的設(shè)計(jì)方案,設(shè)計(jì)了一種基于CAN總線的智能樓宇溫度測控系統(tǒng)。以STC89
2、C52RD單片機(jī)為核心,利用CAN總線技術(shù)和數(shù)字溫度傳感器DS18B20,組建了智能樓宇溫度測控系統(tǒng)的節(jié)點(diǎn)及網(wǎng)絡(luò)架構(gòu),給出了系統(tǒng)總體結(jié)構(gòu)和關(guān)鍵的軟件流程。測試結(jié)果表明,房間溫度控制能滿足設(shè)計(jì)要求,具有結(jié)構(gòu)簡潔、節(jié)能、實(shí)時(shí)性好及可靠性高等優(yōu)點(diǎn)。關(guān)鍵詞:現(xiàn)場總線,溫度傳感器,節(jié)點(diǎn),網(wǎng)絡(luò)架構(gòu)A CAN network based temperature monitoring systemABSTRACTController area network (CAN-C0NTROLLER AREA NETs RK) is a BOSCH company is the leading modern autom
3、otive applications, launched a multi-host the local network, because of its superior performance has been widely used in industrial automation, variety of control equipment, transport, medical equipment and construction, environmental control and many other sectors. The bus specification has become
4、the international standard, recognized as some of the most promising of the bus. This paper reviews the production and development process of CAN bus, CAN bus, summarizes the characteristics superior to other field bus, temperature monitoring with the production of the actual demand, put forward a C
5、AN bus used in the production practice of the idea. CAN bus is presented based on temperature monitoring system design, design of a CAN bus based temperature measurement and control system of intelligent buildings. The STC89C52RD microcontroller as the core, the use of CAN bus technology and the dig
6、ital temperature sensor DS18B20, set up a temperature measurement and control system intelligent building node and network architecture, gives the overall system architecture and key software processes. The results show that the room temperature control to meet the design requirements, with a simple
7、 structure, energy, real good, and reliability.Keywords: field bus, temperature sensors, nodes, network architectureIII目 錄摘 要IABSTRACTII第1章 緒論1第2章 現(xiàn)場總線CAN原理概述22.1 CAN總線產(chǎn)生和發(fā)展32.2 CAN總線的概述42.3 CAN總線的特點(diǎn)42.4 CAN總線組織的基本規(guī)則6第3章 溫度監(jiān)控系統(tǒng)的總體設(shè)計(jì)方案83.1 系統(tǒng)要求83.1.1 系統(tǒng)功能要求83.2 系統(tǒng)總體設(shè)計(jì)方案83.3 關(guān)鍵器件的選擇93.3.1 SJA1000芯片簡介1
8、03.3.1.1 SJA1000芯片特性103.3.1.2 SJA1000內(nèi)部結(jié)構(gòu)103.3.2 AT89C52單片機(jī)簡介123.3.3 CAN總線收發(fā)器82C250芯片簡介133.3.4 6N137光電耦合器14第4章 系統(tǒng)的硬件設(shè)計(jì)164.1 CAN通信電路設(shè)計(jì)164.2 智能溫度節(jié)點(diǎn)設(shè)計(jì)184.3 外圍電路硬件設(shè)計(jì)194.3.1 數(shù)字溫度傳感器DS18B20194.3.1.1 DS18B20的特點(diǎn)194.3.1.2 DS18B20使用注意事項(xiàng)20第5章 系統(tǒng)的軟件設(shè)計(jì)215.1 系統(tǒng)的軟件設(shè)計(jì)215.2 上位機(jī)的軟件設(shè)計(jì)215.2.1 CAN信息的接收225.3 下位機(jī)的軟件設(shè)計(jì)235.
9、3.1 溫度測控軟件設(shè)計(jì)235.3.2 調(diào)溫設(shè)備控制軟件設(shè)計(jì)245.4 CAN的初始化程序設(shè)計(jì)255.5 數(shù)字溫度傳感器的軟件設(shè)計(jì)26結(jié)論27參考文獻(xiàn)28致謝30IV第1章 緒論近年來,現(xiàn)場總線以其全開放、全分散、全數(shù)字化,集計(jì)算機(jī)、通信、控制技術(shù)于一體而已成為當(dāng)今自動化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn),在各種工業(yè)生產(chǎn)過程中得到了越來越廣泛的應(yīng)用。它能對工業(yè)生產(chǎn)過程中的各個(gè)參數(shù)進(jìn)行測量、信號轉(zhuǎn)換、控制和顯示,把多個(gè)測量控制儀表或計(jì)算機(jī)作為網(wǎng)絡(luò)節(jié)點(diǎn),并通過雙絞線、通訊電纜等傳輸媒介進(jìn)行信息的高速雙向傳輸,構(gòu)成一個(gè)全數(shù)字化、全開放、多點(diǎn)測試和可靠通信的智能化工業(yè)控制網(wǎng)絡(luò)。CAN總線作為有效支持分布式控制的多主串
10、行現(xiàn)場總線之一,以其檢錯(cuò)能力強(qiáng)、通訊硬件接口簡單、通訊介質(zhì)選擇靈活、可靠性高、實(shí)時(shí)性強(qiáng)、價(jià)格低等特點(diǎn)而被受現(xiàn)場設(shè)備互連的青睞,廣泛應(yīng)用于汽車自動化、樓宇自控、工業(yè)控制等領(lǐng)域。針對工業(yè)現(xiàn)場被控對象地域分布廣、實(shí)時(shí)性、快速性要求較高的需求,為提高多點(diǎn)溫度控制系統(tǒng)的效率、性能和智能化水平,因此,提出了基于CAN總線的一種結(jié)構(gòu)簡單、可靠性高、實(shí)時(shí)性好的分布式溫度檢測系統(tǒng)設(shè)計(jì)。本文應(yīng)用CAN總線技術(shù)和單總線數(shù)字溫度傳感器DS18B20,設(shè)計(jì)了智能樓宇溫度測控系統(tǒng)。第2章 現(xiàn)場總線CAN原理概述現(xiàn)場總線是應(yīng)用于工業(yè)自動化最底層的一種總線型拓?fù)涞木W(wǎng)絡(luò)。它實(shí)現(xiàn)現(xiàn)場儀表或現(xiàn)場設(shè)備的互連,是現(xiàn)場通信網(wǎng)絡(luò)與控制系統(tǒng)
11、的集成。早期的自動控制系統(tǒng)是基于模擬信號和一對一的物理連接。模擬信號不僅精度低,而且抗干擾能力差:一對一結(jié)構(gòu)造成了系統(tǒng)接線復(fù)雜、工程周期長、安裝和維護(hù)費(fèi)用高且困難:隨著微處理器技術(shù)、通信技術(shù)和集成電路技術(shù)的發(fā)展,自動控制系統(tǒng)逐漸地采用了數(shù)字化的現(xiàn)場儀表和現(xiàn)場設(shè)備。同時(shí),數(shù)字設(shè)備的成本也越來越低。因此,就對現(xiàn)場儀表和現(xiàn)場設(shè)備的互連方式提出了更高的要求?,F(xiàn)場總線就在這種內(nèi)外因素的作用下應(yīng)運(yùn)而生?,F(xiàn)場總線是一種實(shí)現(xiàn)和維護(hù)成本低廉而又能經(jīng)受工業(yè)現(xiàn)場環(huán)境的通信系統(tǒng)。從20世紀(jì)80年代中期至今的短短20多年中,現(xiàn)場總線經(jīng)歷了概念提出、標(biāo)準(zhǔn)制定和軟硬件產(chǎn)品的研制,已經(jīng)出現(xiàn)了好幾種現(xiàn)場總線技術(shù)走向成熟并且得到
12、了推廣和廣泛地應(yīng)用。下面是幾種具有代表性現(xiàn)場總線:1基金會現(xiàn)場總線(FF)1994年,由ISPF和World FIP北美分會聯(lián)合成立了現(xiàn)場總線基金會。該基金會集眾家之長,致力于開發(fā)出國際上統(tǒng)一的現(xiàn)場總線協(xié)議,即基金會現(xiàn)場總線(Foundation Field bus,縮寫FF)。該總線主要用于過程自動化。2PROFIBUS1986年,德國開始制定PROFIBUS標(biāo)準(zhǔn)。1990年完成了PROFIBUS-F湖S和PROFIBUS-DP協(xié)議的制定工作,1994年又制定了用于過程自動化的PROFIBUS-PA通信協(xié)議,可實(shí)現(xiàn)總線供電與本質(zhì)安全防爆。3Lon WorksLon Works 是由美國Ech
13、elon公司推出并由它與摩托羅拉、東芝公司共同倡導(dǎo),于1990年正式公布而形成的。Lon Works技術(shù)采用的Lon Talk協(xié)議被封裝在稱之為Neuron的神經(jīng)元芯片中得以實(shí)現(xiàn)。該總線主要用于智能和家庭自動化。4HARTHART是Highway Addressable Remote Transducer的縮寫。是由Rosemount公司開發(fā)并得到80多家著名儀表公司的支持,于1993年成立了HART通信基金會。它是一種模擬信號與數(shù)字信號混合的通信協(xié)議。能利用總線供電,可滿足本質(zhì)安全防爆要求,并可組成由手持編程器與管理系統(tǒng)主機(jī)作為設(shè)備的雙主設(shè)備系統(tǒng)。此外還有本文所要研究和應(yīng)用的CAN(Cont
14、rol Area Network)總線。在本次課題設(shè)計(jì)中,我們對CAN總線協(xié)議進(jìn)行了深入的學(xué)習(xí)和研究,并且設(shè)計(jì)了一個(gè)驗(yàn)證性的實(shí)驗(yàn)系統(tǒng),即基于CAN總線的溫度監(jiān)控系統(tǒng)。2.1 CAN總線產(chǎn)生和發(fā)展控制器局部網(wǎng)(CANCONTROLLER AREA NETWORK)是BOSCH公司為現(xiàn)代汽車應(yīng)用領(lǐng)先推出的一種多主機(jī)局部網(wǎng),由于其卓越性能,現(xiàn)已廣泛應(yīng)用于工業(yè)自動化、多種控制設(shè)備、交通工具、醫(yī)療儀器以及建筑、環(huán)境控制等眾多部門。隨著計(jì)算機(jī)硬件、軟件技術(shù)及集成電路技術(shù)的迅速發(fā)展,工業(yè)控制系統(tǒng)已成為計(jì)算機(jī)技術(shù)應(yīng)用領(lǐng)域中最具活力的一個(gè)分支,并取得了巨大進(jìn)步。由于對系統(tǒng)可靠性和靈活性的高要求,工業(yè)控制系統(tǒng)的發(fā)
15、展主要表現(xiàn)為:控制面向多元化,系統(tǒng)面向分散化,即負(fù)載分散、功能分散、危險(xiǎn)分散和地域分散。分布式工業(yè)控制系統(tǒng)就是為適應(yīng)這種需要而發(fā)展起來的。這類系統(tǒng)是以微型機(jī)為核心,將5c技術(shù)-COMPUTER(計(jì)算機(jī)技術(shù))、CONTROL(自動控制技術(shù))、COMMUNICATION(通信技術(shù))、CRT(顯示技術(shù))和CHANGE(轉(zhuǎn)換技術(shù))緊密結(jié)合的產(chǎn)物。它在適應(yīng)范圍、可擴(kuò)展性、可維護(hù)性以及抗故障能力等方面,較之分散型儀表控制系統(tǒng)和集中型計(jì)算機(jī)控制系統(tǒng)都具有明顯的優(yōu)越性。典型的分布式控制系統(tǒng)由現(xiàn)場設(shè)備、接口與計(jì)算設(shè)備以及通信設(shè)備組成?,F(xiàn)場總線(FIELDBUS)能同時(shí)滿足過程控制和制造業(yè)自動化的需要,因而現(xiàn)場總
16、線已成為工業(yè)數(shù)據(jù)總線領(lǐng)域中最為活躍的一個(gè)領(lǐng)域?,F(xiàn)場總線的研究與應(yīng)用已成為工業(yè)數(shù)據(jù)總線領(lǐng)域的熱點(diǎn)。盡管目前對現(xiàn)場總線的研究尚未能提出一個(gè)完善的標(biāo)準(zhǔn),但現(xiàn)場總線的高性能價(jià)格比將吸引眾多工業(yè)控制系統(tǒng)采用。同時(shí),正由于現(xiàn)場總線的標(biāo)準(zhǔn)尚未統(tǒng)一,也使得現(xiàn)場總線的應(yīng)用得以不拘一格地發(fā)揮,并將為現(xiàn)場總線的完善提供更加豐富的依據(jù)。控制器局部網(wǎng)CAN(00NTROLLER AERANETWORK)正是在這種背景下應(yīng)運(yùn)而生的。由于CAN在愈來愈多不同領(lǐng)域采用和推廣,導(dǎo)致要求各種應(yīng)用領(lǐng)域通信報(bào)文的標(biāo)準(zhǔn)化。為此,1991年9月PHILIPS SEMICONDUCTORS制訂并發(fā)布了CAN技術(shù)規(guī)范(vERSl0N2O)。
17、該技術(shù)規(guī)范包括A和B兩部分。2.OA給出了曾在CAN技術(shù)規(guī)范版本12中定義的CAN報(bào)文格式,而2.OB給出了標(biāo)準(zhǔn)的和擴(kuò)展的兩種報(bào)文格式。此后,1993年11月ISO正式頒布了道路交通運(yùn)載工具-數(shù)字信息交換-高速通信控制器局部網(wǎng)(CAN)國際標(biāo)準(zhǔn)20021262(IS011898),為控制器局部網(wǎng)標(biāo)準(zhǔn)化、規(guī)范化推廣鋪平了道路。2.2 CAN總線的概述CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network,CAN)的簡稱,是德國BOSCH公司為解決現(xiàn)代汽車中電子監(jiān)控設(shè)備之間的數(shù)據(jù)交換于1958年推出的高級串行數(shù)據(jù)通信協(xié)議。此后,CAN通過ISO11898及ISO11519標(biāo)準(zhǔn)化,得
18、到國際上許多大公司的支持?,F(xiàn)在在歐洲已是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。CAN通信接口游硬件實(shí)現(xiàn),完成物理層和數(shù)據(jù)鏈層功能,其獨(dú)特的設(shè)計(jì)和高度的可靠性,非常適用于分布式實(shí)時(shí)控制,因此越來越受到工業(yè)界的重視。CAN屬于總線式串行通訊網(wǎng)絡(luò),由于采用了許多新技術(shù)及獨(dú)特的設(shè)計(jì),CAN總線數(shù)據(jù)通訊具有突出的可靠性、實(shí)用性和靈活性。其特點(diǎn)如下:1CAN總線為多主工作方式,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動地向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息,而不是傳統(tǒng)的主從方式。2在報(bào)文標(biāo)識符上,CAN上的節(jié)點(diǎn)分成不同的優(yōu)先級,可滿足不同的實(shí)時(shí)要求,優(yōu)先級高的數(shù)據(jù)最多可在134us內(nèi)得到傳輸。3CAN采用非破壞總線仲裁技術(shù)。當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線
19、發(fā)送信息出現(xiàn)沖突時(shí),優(yōu)先級低的節(jié)點(diǎn)會主動地退出發(fā)送,而高優(yōu)先級的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線沖突仲裁時(shí)間。尤其是在網(wǎng)絡(luò)負(fù)載很重的情況下,也不會出現(xiàn)網(wǎng)絡(luò)癱瘓情況。4CAN節(jié)點(diǎn)只需要通過對報(bào)文的標(biāo)識符濾波即可實(shí)現(xiàn)點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)及全局廣播等幾種方式傳送接收數(shù)據(jù)。5CAN報(bào)文采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾概率低,保證了數(shù)據(jù)出錯(cuò)率極低。并且CAN的每幀信息都有CRC校驗(yàn)及其它檢錯(cuò)措施,具有極好地檢錯(cuò)效果。6CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動關(guān)閉輸出功能,以使總線上其它節(jié)點(diǎn)的操作不受影響。7CAN協(xié)議廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進(jìn)行編碼。使得網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理
20、論上是不受限制的。但是,實(shí)際應(yīng)用中CAN總線的節(jié)點(diǎn)個(gè)數(shù)主要取決于總線驅(qū)動電路,目前節(jié)點(diǎn)數(shù)可達(dá)110個(gè)。這個(gè)問題將在下文中有詳細(xì)地討論。8CAN的通信介質(zhì)可為雙絞線、同軸電纜和光纖,選擇靈活。而且CAN總線結(jié)構(gòu)簡單,開發(fā)技術(shù)容易掌握。因此CAN總線具有很高的性價(jià)比。2.3 CAN總線的特點(diǎn)(1)全數(shù)字化通信現(xiàn)場總線系統(tǒng)是一個(gè)“純數(shù)字”系統(tǒng),而數(shù)字信號具有很強(qiáng)的抗干擾能力,所以,現(xiàn)場的噪聲及其他干擾信號很難扭曲現(xiàn)場總線控制系統(tǒng)里的數(shù)字信號,數(shù)字先后的完整性使得過程控制的準(zhǔn)確性和可靠性更高。(2)一對N結(jié)構(gòu)一對傳輸線,N臺儀表,雙向傳輸多個(gè)信號。這種一對N結(jié)構(gòu)使得連接簡單,工程周期短。安裝費(fèi)用低,維
21、護(hù)容易。如果增加現(xiàn)場設(shè)備或現(xiàn)場儀表,只需要并行掛接到電纜上,無需架設(shè)新的電纜。(3)可靠性高數(shù)字信號傳輸抗干擾能力強(qiáng),精確度高,無需采用抗干擾和提高精度的措施,從而降低成本。(4)可控狀態(tài)操作員在控制室即可了解現(xiàn)場設(shè)備或現(xiàn)場儀表的工作情況,也能對其進(jìn)行參數(shù)調(diào)整,還可以預(yù)測或者尋找故障。整個(gè)系統(tǒng)始終處于操作員的遠(yuǎn)程監(jiān)控狀態(tài),提高了系統(tǒng)的可靠性,可控性和可維護(hù)性。(5)可換性用戶可以自由選擇不同控制商所提供的性能價(jià)格比最優(yōu)的現(xiàn)場設(shè)備或者現(xiàn)場儀表,并將不同品牌的儀表互聯(lián)。即使某臺儀表發(fā)生故障,換上其他品牌的同類儀表也能照常工作,實(shí)現(xiàn)了“即接即用”。(6)互操作性用戶把不同的制造商的各種品牌的儀表集成
22、在一起,進(jìn)行統(tǒng)一組態(tài),構(gòu)成其所需的控制回路,而不必絞盡腦汁,為集成不同品牌的產(chǎn)品在硬件或者軟件上花費(fèi)力氣或增加額外投資。(7)綜合功能現(xiàn)場儀表既有檢測、變換和補(bǔ)償功能,又有控制和運(yùn)算功能,實(shí)現(xiàn)了一表多用,不僅方便了用戶也降低了成本。(8)分散控制控制站功能分散在現(xiàn)場儀表中,通過現(xiàn)場既可以構(gòu)成控制回路,實(shí)現(xiàn)了徹底分散控制,提高了系統(tǒng)的可靠性、自治性和靈活性。(9)統(tǒng)一組態(tài)由于現(xiàn)場設(shè)備或者現(xiàn)場儀表都引入了功能塊的概念,所有制造商都使用相同的功能塊,并統(tǒng)一組態(tài)方法,使組態(tài)變得非常簡單,用戶不需要因?yàn)楝F(xiàn)場設(shè)備或者現(xiàn)場儀表種類不同而帶來組態(tài)方法不同,再去學(xué)習(xí)和培訓(xùn)。(10)開放式系統(tǒng)現(xiàn)場總線為開放互聯(lián)網(wǎng)
23、絡(luò),所有技術(shù)和標(biāo)準(zhǔn)是公開的,所有制造商必須遵循。這樣,用戶可以自由集成不同制造商的通信網(wǎng)絡(luò),既可以與同層的網(wǎng)絡(luò)互聯(lián),也可以與不同層網(wǎng)絡(luò)互聯(lián),還可以極其方便地共享網(wǎng)絡(luò)數(shù)據(jù)庫。2.4 CAN總線組織的基本規(guī)則CAN總線基于以下5條基本規(guī)則進(jìn)行組織:(1)總線訪問CAN控制器只能在總線空閑狀態(tài)期間開始發(fā)送,所有CAN控制器同步于短幀起始的前沿。(2)仲裁在CAN總線的發(fā)送期間,發(fā)送數(shù)據(jù)幀或遠(yuǎn)程幀的每一節(jié)點(diǎn)均為總線主節(jié)點(diǎn)。當(dāng)許多節(jié)點(diǎn)一起開始發(fā)送時(shí),此時(shí)只有發(fā)送具有最高優(yōu)先權(quán)節(jié)的點(diǎn)變成總線主節(jié)點(diǎn),具有不同標(biāo)識符的兩幀中,優(yōu)先權(quán)被標(biāo)注于幀中,較高優(yōu)先權(quán)的標(biāo)識符具有較低的二進(jìn)制數(shù)值。若具有相同標(biāo)識符的數(shù)據(jù)幀
24、和遠(yuǎn)程幀同時(shí)被初始化,數(shù)據(jù)幀較遠(yuǎn)程幀具有更高優(yōu)先權(quán)。(3)編碼/解碼對于幀起始、仲裁域、控制域、數(shù)據(jù)域和CRC序列實(shí)用位填充技術(shù)進(jìn)行編碼。當(dāng)正在發(fā)送的CAN控制器檢測到5個(gè)連續(xù)的相同極性的位被發(fā)送,一個(gè)互補(bǔ)(填充)位被插入到該發(fā)送位流中。當(dāng)一個(gè)正在接收的CAN控制器檢測到接收的上述5種位域的位流中,具有5個(gè)相同極性的連續(xù)位,它將自動刪除下一個(gè)接收(填充)位,刪除填充位的電平必須與先前位相反,否則一個(gè)填充錯(cuò)誤將被檢測,并被標(biāo)注。其余的位域和幀具有固定的形式,因此不使用填充方法進(jìn)行編碼和解碼。報(bào)文中的位流按照NRZ(Non Return Zero)方法進(jìn)行編碼,即位周期期間位電平維持恒定,要么是顯
25、性電平,要么是隱性電平。(4)出錯(cuò)標(biāo)注當(dāng)檢測到發(fā)送位錯(cuò)誤、填充錯(cuò)誤,形式錯(cuò)誤或應(yīng)答錯(cuò)誤時(shí),檢測出錯(cuò)條件的CAN控制器將發(fā)出1個(gè)出錯(cuò)標(biāo)志,出錯(cuò)標(biāo)志在下一位開始發(fā)送。當(dāng)檢測到CRC錯(cuò)誤時(shí),出錯(cuò)標(biāo)識在緊跟應(yīng)答界定符后的一位開始發(fā)送,除非其它一些出錯(cuò)的錯(cuò)誤標(biāo)識已經(jīng)開始發(fā)送,出錯(cuò)標(biāo)識將破壞位填充或損壞固定形式的位場。發(fā)出錯(cuò)誤標(biāo)識后,每個(gè)CAN控制器都在監(jiān)控總線直至檢測到一個(gè)顯性電平到隱性電平的跳變,此時(shí),每個(gè)CAN控制器完成了其出錯(cuò)標(biāo)注,并且所有CAN控制器開始發(fā)送7個(gè)附加的隱性位。所有可以檢測的錯(cuò)誤均可在報(bào)文發(fā)送時(shí)間內(nèi)被標(biāo)注,因而使CAN控制器能很容易的做出對應(yīng)報(bào)文的出錯(cuò)幀,并初始化已經(jīng)損壞報(bào)文的重新
26、發(fā)送,如果CAN控制器檢測到出錯(cuò)幀固定格式的任何偏離,它將發(fā)送一個(gè)新的出錯(cuò)幀。(5)超載標(biāo)注由一些CAN控制器要求借助于發(fā)送一個(gè)或者更多的超載幀來延遲下一個(gè)數(shù)據(jù)幀或遠(yuǎn)程幀的發(fā)送。雖然超載幀和出錯(cuò)幀具有相同的格式,但對它們的處理卻不同,在間歇域期間進(jìn)行的發(fā)送超載幀不能初始化如何先前的數(shù)據(jù)幀和遠(yuǎn)程幀的重新發(fā)送。超載幀的發(fā)送必須起始于所期望間歇域的第一位,在期望的間歇域期間,重新激活為顯性位的超載幀的發(fā)送在該事件后開始。30第3章 溫度監(jiān)控系統(tǒng)的總體設(shè)計(jì)方案3.1 系統(tǒng)要求在了解熟悉CAN總線協(xié)議的基礎(chǔ)上,設(shè)計(jì)一個(gè)簡單的CAN網(wǎng)絡(luò),要求網(wǎng)絡(luò)至少要包括三個(gè)節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)配備一個(gè)或以上溫度傳感芯片,該傳
27、感芯片可對室溫進(jìn)行監(jiān)測并把數(shù)據(jù)通過節(jié)點(diǎn)傳輸?shù)娇偪刂泼姘?,同時(shí),通過數(shù)據(jù)通訊測試,驗(yàn)證網(wǎng)絡(luò)數(shù)據(jù)通訊的正確和安全。主要要求實(shí)現(xiàn)基于單片機(jī)的系統(tǒng)硬件設(shè)計(jì)及其輔助外圍電路設(shè)計(jì)、和實(shí)現(xiàn)單片機(jī)系統(tǒng)程序設(shè)計(jì)及基于LabVIEW的用戶界面程序設(shè)計(jì)。3.1.1 系統(tǒng)功能要求設(shè)計(jì)出溫度監(jiān)控系統(tǒng)的其中一個(gè)智能節(jié)點(diǎn)的硬件結(jié)構(gòu),選用合適的主控芯片和傳感器,完成硬件框圖和硬件之間的連接圖。3.2 系統(tǒng)總體設(shè)計(jì)方案圖3.1為系統(tǒng)總體結(jié)構(gòu)圖,此網(wǎng)絡(luò)結(jié)構(gòu)為管理計(jì)算機(jī)和智能節(jié)點(diǎn)組成的兩層網(wǎng)絡(luò)結(jié)構(gòu)。整個(gè)系統(tǒng)由上位監(jiān)控機(jī)、CAN通信適配卡和多個(gè)智能節(jié)點(diǎn)組成,節(jié)點(diǎn)的數(shù)量可以根據(jù)建筑物的規(guī)模增加和減少。采用CAN總線作為通訊網(wǎng)絡(luò)將各節(jié)點(diǎn)
28、連接成一個(gè)分布式智能樓宇監(jiān)控系統(tǒng)。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為總線方式,上位監(jiān)控機(jī)是抗干擾能力很強(qiáng)的工業(yè)PC機(jī),以SJA1000芯片作為CAN總線控制器,STC89C52RD單片機(jī)作為節(jié)點(diǎn)控制器,將其與數(shù)字溫度傳感器相連,82C250芯片作為CAN收發(fā)器。由于CAN總線固有的電氣特性,在一個(gè)CAN總線網(wǎng)絡(luò)中最多只能配置110個(gè)節(jié)點(diǎn),為了滿足智能大廈的要求,可利用中繼器對CAN總線進(jìn)行擴(kuò)展,這樣不僅增加了系統(tǒng)的節(jié)點(diǎn),還可以起到信號放大作用,增大通信距離。本設(shè)計(jì)中,節(jié)點(diǎn)包括擴(kuò)展芯片、傳感器、控制設(shè)備、收發(fā)器和電源等。節(jié)點(diǎn)之間的通信支持雙絞線、電力線、光纖和紅外線等多種介質(zhì),按照規(guī)范的協(xié)議進(jìn)行通信,其通信速率范圍
29、在300kbps1.5Mbps之間。上位監(jiān)控機(jī)通過通信適配卡與總線相連,用于整個(gè)系統(tǒng)的集中監(jiān)控、管理、分析及網(wǎng)絡(luò)通信檢測等。圖3.1 系統(tǒng)總體結(jié)構(gòu)框圖3.3 關(guān)鍵器件的選擇根據(jù)系統(tǒng)的功能要求和實(shí)現(xiàn)系統(tǒng)的可行性要求,我們在關(guān)鍵器件CAN總線控制器和驅(qū)動器上,分別選擇了菲利普半導(dǎo)體生產(chǎn)的SJAl000和82C250。它們不僅使用方便、性能可靠,而且價(jià)格便宜易于購買。同時(shí)SJAl000也適合于工業(yè)產(chǎn)品的量產(chǎn)。溫度測量采用使用方便,性價(jià)比高的單線數(shù)字溫度傳感器DSl8B20。3.3.1 SJA1000芯片簡介SJA1000是一種獨(dú)立的CAN控制器,主要用于移動目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制。它是P
30、hilips半導(dǎo)體公司PCA82C200 CAN控制器(Basic CAN)的替代品,而且它增加了一種新的操作模式PELICAN,這種模式支持具有很多新特征的CAN2.0B協(xié)議。3.3.1.1 SJA1000芯片特性(1)和PCA82C200獨(dú)立CAN控制器引腳兼容(2)和PCA82C200獨(dú)立CAN控制器電氣兼容(3)擴(kuò)展接收緩沖器(64字節(jié)、先進(jìn)先出FIFO)(4)和CAN2.0B協(xié)議兼容(5)同時(shí)支持11位和29位識別碼(6)位速率可以達(dá)到1Mbits/s(7)PELICAN模式擴(kuò)展功能:可讀/寫訪問錯(cuò)誤的計(jì)數(shù)器可編程的錯(cuò)誤報(bào)警限制最近一次錯(cuò)誤代碼寄存對每個(gè)CAN總線錯(cuò)誤的中斷具體控制位
31、控制的仲裁中斷單次發(fā)送只聽模式(無確認(rèn)、活動的出錯(cuò)標(biāo)志)支持熱插拔(軟件速率檢測)驗(yàn)收濾波器擴(kuò)展(4字節(jié)代碼,4字節(jié)屏蔽)自身信息接收(自接收請求)(8)24MHZ時(shí)鐘頻率(9)對不同微處理器的接口(10)可編程的CAN輸出驅(qū)動器配置(11)增強(qiáng)的溫度適應(yīng)(-40到1250C)3.3.1.2 SJA1000內(nèi)部結(jié)構(gòu)SJA1000的硬件結(jié)構(gòu)及內(nèi)部結(jié)構(gòu)圖如圖3.2、3.3所示圖3.2 硬件結(jié)構(gòu)框圖 圖3.3 SJA1000內(nèi)部結(jié)構(gòu)圖從上面的圖可以看出,SJA1000主要由接口管理邏輯IML、信息緩沖器(含發(fā)送緩沖器TXB和接收緩沖器TXFIFO)、位流處理器BSP、接收過濾器ASP、位時(shí)序處理邏輯
32、BTL、錯(cuò)誤管理邏輯EML、內(nèi)部及復(fù)位電路等構(gòu)成。IML接收來自CPU的命令,控制CAN寄存器的尋址并向主控器提供中斷信息及狀態(tài)信息。CPU的控制經(jīng)IML把要發(fā)送的數(shù)據(jù)寫入TXB,TXB中的數(shù)據(jù)由BSP處理后經(jīng)BTL輸出到CAN總線。BTL始終監(jiān)視CAN總線,當(dāng)檢測到有效的信息頭“隱性電平-控制電平”的轉(zhuǎn)換時(shí)啟動接收過程,接收的信息首先要由位流處理器BPS處理,由ASP過濾。只有當(dāng)接收的信息識別碼與ASP檢測相符時(shí),接收信息才最終被寫入RXB或RXFIFO中。RXFIFO最多可以緩存64字節(jié)的數(shù)據(jù),該數(shù)據(jù)可以被CPU讀取。EML負(fù)責(zé)傳輸層中調(diào)制器的錯(cuò)誤管制,它接收BSP的出錯(cuò)報(bào)告,促使BSP和
33、IML進(jìn)行錯(cuò)誤統(tǒng)計(jì)。CAN控制器工作模式的設(shè)定、數(shù)據(jù)的發(fā)送和接收等都是通過這些寄存器來實(shí)現(xiàn)的,時(shí)鐘分頻寄存器OCR用于設(shè)定SJA1000工作于BASIC CAN模式還是PELICAN模式,還用于CLKOUT引腳輸出時(shí)鐘頻率的設(shè)定,在上電初始化控制器時(shí)必須首先設(shè)定:在工作模式下,控制寄存器CR用于控制CAN控制器的行為,可讀可寫;命令寄存器CMR只能寫;狀態(tài)寄存器SR只能讀;而IR、ACR、AMR、BTRO、BTRI、OCR在工作模式下讀寫無意義。通常,在系統(tǒng)初始化時(shí)CR.0=1,SJA1000進(jìn)入復(fù)位模式。在此模式下IR、ACR、AMR、BTRO、BTRI及OCR均可讀可寫,此時(shí)設(shè)置相應(yīng)的初值
34、。當(dāng)退出復(fù)位模式時(shí),SJA1000即按復(fù)位時(shí)設(shè)定的相應(yīng)情況工作于工作模式,除非再次使芯片復(fù)位,否則上次設(shè)定的值不變。當(dāng)需要發(fā)送信息時(shí),若發(fā)送緩沖器空閑,由CPU控制信息寫入TXB,再由CMR控制發(fā)送;當(dāng)接收緩沖器RXFIFO未滿且接收信息通過了ASP,則接收到的信息被寫入到RXFIFO??赏ㄟ^兩種方法讀取接收的信息。一種方法是,在中斷被使能的情況下,由SJA1000向CPU發(fā)送中斷信號,CPU通過SR及IR可以識別該中斷,并讀取數(shù)據(jù)釋放接收緩沖器;另一種方法是直接讀取SR,查詢RXFIFO的狀態(tài),當(dāng)前的信息被讀取后,接收緩沖器有效信號會再次有效,通過中斷方式或查詢方式可以再次讀取信息,直到RX
35、FIFO中的信息被全部讀出為止。當(dāng)RXFIFO已滿,如還有信息被接收,此接收信息不被保存,且發(fā)出相應(yīng)的緩沖器溢出信號供CPU處理。3.3.2 AT89C52單片機(jī)簡介AT89C52是51系列單片機(jī)的一個(gè)型號,它是ATMAL公司生產(chǎn)的。AT89C52是一個(gè)低電壓,高性能的CMOS 8位單片機(jī),片內(nèi)含8k bytes的可以反復(fù)擦寫的Flash只讀存儲器和256 bytes的隨機(jī)數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可以提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。AT8
36、9C52單片機(jī)的主要性能:(1)與MCS-51產(chǎn)品完全(2)32個(gè)雙向I/O口(3)8K可以反復(fù)擦寫(1000次)Flash ROM(4)256K 8bit 內(nèi)部RAM(5)3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷,兩個(gè)串行中斷,兩個(gè)外部中斷源(6)可編程UART串行通道(7)具有3級加密存儲器(8)低功耗空閑掉電模式,軟件設(shè)置睡眠和喚醒功能3.3.3 CAN總線收發(fā)器82C250芯片簡介82C250是PHILIPS公司的CAN控制器和物理總線之間的接口,提供對總線的差動發(fā)送和接受能力。它與ISO/DIS11898標(biāo)準(zhǔn)完全兼容,抗干擾能力強(qiáng),提供了過熱保護(hù)、總線與電源及地之間的電路保護(hù)及低電流的待機(jī)模
37、式,它的功能框圖如圖3.4所示。圖3.4 82C250功能框圖RS引腳用于選擇不同的工作狀態(tài):高速狀態(tài)、斜率控制狀態(tài)和待機(jī)狀態(tài)。該引腳直接接地,82C250處于高速狀態(tài);通過一個(gè)電阻接地,用于控制I/O引腳線上信號的上升和下降沿斜率,這個(gè)斜率同該引腳上流過的電流成正比;比如直接接高電平,82C250則處于等待狀態(tài),此時(shí)發(fā)送器關(guān)閉,接收器處于低電流狀態(tài),當(dāng)CAN總線上有顯性位出現(xiàn)時(shí)RXD是低電平輸出。對于采用非屏蔽雙絞線的系統(tǒng),為了降低射頻干擾,應(yīng)選擇斜率控制狀態(tài)。若82C250處于CAN總線網(wǎng)絡(luò)的終端,需加一個(gè)124的匹配電阻,降低反射干擾波。3.3.4 6N137光電耦合器6N137光電耦合
38、器是一款用于單通道的高速光耦合器,其內(nèi)部有一個(gè)850nm波長AlGaAs LED和一個(gè)集成檢測器組成,其檢測器由一個(gè)光敏二極管、高增益線性運(yùn)放及一個(gè)肖特基鉗位的集電極開路的三極管組成。具有溫度、電流和電壓補(bǔ)償功能,高的輸入輸出隔離,LSTTL/TTL兼容,高速(典型為10MBd),5mA的極小輸入電流。6N137光耦合器的特性:(1)轉(zhuǎn)換速率高達(dá)10MBit/s(2)擺率高達(dá)10kV/us(3)扇出系數(shù)為8(4)邏輯電平輸出(5)集電極開路輸出6N137光耦合器的內(nèi)部結(jié)構(gòu)、管腳圖如圖3.5所示。圖3.5 6N137內(nèi)部結(jié)構(gòu)及管腳圖6N137光電耦合器的電源管腳旁應(yīng)有一個(gè)0.1uF的去耦電容。在
39、選擇電容類型的時(shí)候,應(yīng)盡量選擇高頻特性好的電容,如陶瓷電容,并且盡量靠近6N137光電耦合器的電源管腳。第4章 系統(tǒng)的硬件設(shè)計(jì)4.1 CAN通信電路設(shè)計(jì)通信電路主要由電源、微控制芯片AT89C52、CAN總線控制器SJA1000、CAN總線驅(qū)動器82C250、光電耦合器6N137以及一些必要的外圍電路組成。CAN數(shù)據(jù)通過82C250傳輸?shù)絊JA1000,AT89C52處理后再傳出去。CAN電源采用高性能的DC/AC變換器,能起到穩(wěn)定電壓和隔離防干擾的作用。CAN通信的框圖及硬件電路設(shè)計(jì)圖如圖4.1和4.2所示。圖4.1 CAN結(jié)構(gòu)通信框圖圖4.2 CAN通信硬件電路設(shè)計(jì)圖對于主節(jié)點(diǎn)和從節(jié)點(diǎn)的微
40、控制器來說,復(fù)位十分重要,這直接決定其是否能夠正常工作。本電路采用簡單的復(fù)位方式,在正常工作狀態(tài)下,RSR腳與地的電位相等為低電平,故復(fù)位不起作用。當(dāng)SW按下時(shí),電容放電,RST腳為高電平,從而使單片機(jī)復(fù)位。送客SW時(shí),VCC給電容充電,從而使RST腳慢慢變?yōu)榈碗娖?,脫離復(fù)位狀態(tài)。SJA1000作為單片機(jī)89C52的外部擴(kuò)展器件,通過并行擴(kuò)展與89C52連接。這樣,只需要一般的單片機(jī)仿真器就可以進(jìn)行硬件調(diào)試。82C250和SJA1000可完成物理層和數(shù)據(jù)鏈路層的工作,應(yīng)用層由89C52運(yùn)行應(yīng)用程序來實(shí)現(xiàn)。89C52的外部晶振頻率由SJA1000的CLKOUT引腳提供,保證了89C52和SJA1
41、000時(shí)序同步。SJA1000所接的晶振頻率為24MHz,經(jīng)過時(shí)鐘分頻器寄存器二分頻后,CLKOUT引腳輸出12MHz時(shí)鐘頻率。89C52的P2.7引腳是SJA1000的片選信號。相應(yīng)的SJA1000片內(nèi)模式寄存器MOD的地址為07F00H,命令寄存器CMR的地址為07F01H,依此類推。設(shè)計(jì)時(shí)為了預(yù)防現(xiàn)場噪聲干擾,切斷89C52與輸出總線上直接電信號聯(lián)系,使用的光電隔離電路。光電耦合器件是通過光媒介進(jìn)行間接耦合,因而輸入端和輸出端沒有公共信號接地,也就隔離了干擾信號的直接傳導(dǎo)。另外,光電耦合也是一種能量傳遞器件。一般干擾噪聲源的內(nèi)阻很大,雖然也能提供較大的干擾電壓,但是可以提供的能量卻很小,
42、只能形成很微弱的電流。因此,即使電壓幅值很高的干擾,由于沒有足夠的能量,也不能使發(fā)光器件發(fā)光,從而濾掉了干擾信號。本電路使用的是6N137光電耦合器。4.2 智能溫度節(jié)點(diǎn)設(shè)計(jì)智能節(jié)點(diǎn)可以分為:溫度采集模塊、通信接口模塊、報(bào)警模塊、CAN總線接口模塊和執(zhí)行器控制模塊。智能節(jié)點(diǎn)的系統(tǒng)框圖如圖4.3所示。圖4.3 智能節(jié)點(diǎn)電路系統(tǒng)框圖智能節(jié)點(diǎn)主要功能是測量現(xiàn)場溫度并顯示,同時(shí)通過CAN總線向測控PC發(fā)送測試數(shù)據(jù),響應(yīng)測控PC的操作指令;當(dāng)溫度超過限值時(shí),主動向測控PC發(fā)報(bào)警信息并通過LED報(bào)警提示。其硬件電路如圖4.4所示。圖4.4 智能溫度節(jié)點(diǎn)硬件原理圖智能節(jié)點(diǎn)由89C52、CAN控制器SJAl0
43、00、CAN總線收發(fā)器82C250及高速光電隔離數(shù)字10單元等構(gòu)成。為提高節(jié)點(diǎn)的可靠性,在CANH、CANL引腳與總線之間串聯(lián)512電阻;在CANH、CANL引腳與地之間并聯(lián)30pF的電容,以濾除總線上高頻干擾。SJAl000是PHILIPS公司生產(chǎn)符合CAN20B協(xié)議的協(xié)議轉(zhuǎn)換器。它與82C250總線收發(fā)器組成通信接口,實(shí)現(xiàn)基于CAN總線的分布式網(wǎng)絡(luò)數(shù)據(jù)傳輸。為提高CPU的效率,本設(shè)計(jì)中CAN控制器工作在中斷模式,通過中斷引腳向CPU發(fā)出中斷請求,以完成對命令的解釋與執(zhí)行。數(shù)字溫度傳感器DSl8B20用于組網(wǎng)測溫;它是一線接口通信協(xié)議數(shù)字式溫度傳感器,其測溫范圍為-55+125。分辨率為91
44、2位H1。它支持多點(diǎn)組網(wǎng)功能,連接時(shí)不需任何外圍元件,電路結(jié)構(gòu)簡單。4.3 外圍電路硬件設(shè)計(jì)4.3.1 數(shù)字溫度傳感器DS18B20DS18B20是美國Dallas公司繼DS1820之后推出的增強(qiáng)型單總線數(shù)字溫度傳感器。它在測溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn)。4.3.1.1 DS18B20的特點(diǎn)溫度傳感器DS18B20具有獨(dú)特的一線接口,只需一條口線通信即可實(shí)現(xiàn)多點(diǎn)能力,簡化了分布式溫度傳感器的應(yīng)用。可以用數(shù)據(jù)總線供電,電壓范圍為3.0V5.5V,無需備用電源。測量溫度范圍為-55+125,在-10+85范圍的精度為0.5。DS18B20可編程器的分辨率為9
45、12位,溫度轉(zhuǎn)換為12位,最大值為750毫秒。它的電路設(shè)計(jì)原理圖如4.5所示。圖4.5 DS18B20電路設(shè)計(jì)圖a.單線制接口方式,僅需要一根信號線與CPU連接,傳送串行數(shù)據(jù),不需要外部元件。b.每個(gè)芯片有惟一的地址編碼,多個(gè)DS18B20可以掛接在一根總線上,實(shí)現(xiàn)多點(diǎn)測溫。c.測溫范圍為-55+125,分辨率為912位,可通過編程選擇,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625的默認(rèn)值12位,可實(shí)現(xiàn)高精度測溫。d.既可用數(shù)據(jù)線供電,也可用外部的電源(3.05.5V)供電。4.3.1.2 DS18B20使用注意事項(xiàng)a.根據(jù)DS18B20的通信協(xié)議,主機(jī)控制DS18B20完
46、成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM(只讀存儲器)指令,最后發(fā)送RAM(隨機(jī)存儲器)指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS18B20進(jìn)行讀寫編程時(shí),必須嚴(yán)格地保證讀寫時(shí)序,否則,將無法正確讀取測溫結(jié)果。b.在DS18B20的單總線上所掛DS18B20數(shù)量超過8個(gè)時(shí),需要解決微處理器的總線驅(qū)動問題,因此,在進(jìn)行多點(diǎn)測溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。c.連接DS18B20的總線電纜是有長度限制的。試驗(yàn)中,當(dāng)采用普通信號電纜傳輸長度超過50m時(shí),讀取的測溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤;當(dāng)將
47、總線電纜改為屏蔽雙絞線時(shí),正常通信距離可達(dá)150m;當(dāng)采用帶屏蔽層且每米絞合次數(shù)更多的雙絞線電纜時(shí),正常通信距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的,因此,在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計(jì)時(shí),要充分考慮總線分布電容和阻抗匹配問題。d.在DS18B20測溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個(gè)DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時(shí),將沒有返回信號,程序進(jìn)入死循環(huán)。在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)應(yīng)予以重視。第5章 系統(tǒng)的軟件設(shè)計(jì)5.1 系統(tǒng)的軟件設(shè)計(jì)本系統(tǒng)軟件包括3個(gè)部分:第1部
48、分是以主機(jī)節(jié)點(diǎn)為管理中心的上位機(jī)的軟件設(shè)計(jì), 采用VB6.0開發(fā),既可使系統(tǒng)與智能溫度節(jié)點(diǎn)進(jìn)行鏈接,又實(shí)現(xiàn)了友好的人機(jī)操作界面,用戶可以在主控室設(shè)置大樓各房間的運(yùn)行參數(shù),查詢各房間的溫度及控制設(shè)備的運(yùn)行情況,查看歷史運(yùn)行記錄和實(shí)時(shí)運(yùn)行費(fèi)用等;第2部分是以AT89C52為控制核心的下位機(jī)的軟件設(shè)計(jì),采用匯編語言開發(fā),主要完成鍵盤掃描與輸出顯示、現(xiàn)場溫度數(shù)據(jù)的采集、超限聲光報(bào)警、配置8155芯片的工作模式、AT89C52與8155芯片進(jìn)行通信、溫度控制算法及對調(diào)溫設(shè)備的控制等;第3部分是與SJA1000為核心的通信程序設(shè)計(jì),采用C51開發(fā),完成與網(wǎng)絡(luò)其他節(jié)點(diǎn)及上位機(jī)的信息交互,以及與AT89C52
49、進(jìn)行通信。5.2 上位機(jī)的軟件設(shè)計(jì)主節(jié)點(diǎn)的整體軟件流程圖如圖5.1所示。圖5.1 主節(jié)點(diǎn)整體軟件流程圖5.2.1 CAN信息的接收CAN信息的接收也是由CAN控制器自動完成,接收程序只須從接收緩存器中讀取接收的數(shù)據(jù),再進(jìn)行相應(yīng)的處理即可。軟件流程如圖5.2所示。圖5.2 上位機(jī)接收子程序5.3 下位機(jī)的軟件設(shè)計(jì)5.3.1 溫度測控軟件設(shè)計(jì)圖5.3 溫度測控流程圖5.3.2 調(diào)溫設(shè)備控制軟件設(shè)計(jì)圖5.4 調(diào)溫設(shè)備控制軟件流程圖圖5.3、圖5.4分別給出了溫度測控軟件、調(diào)溫設(shè)備控制軟件的流程圖。為了節(jié)能而在溫度控制算法模塊中采用了增量型PID(比例-積分-微分)控制算法與模糊控制算法相結(jié)合:當(dāng)偏差
50、較大時(shí)執(zhí)行前者,使溫度快速回到設(shè)定值附近;而當(dāng)偏差較小時(shí)執(zhí)行后者,以避免控制裝置對被控溫度過于敏感而頻繁動作或振蕩。此外,還采取了變新/回風(fēng)比例自動控制、變頻調(diào)速變風(fēng)量空調(diào)控制、舒適性空調(diào)溫度上限設(shè)定值提高等節(jié)能措施,以達(dá)到節(jié)能目的。5.4 CAN的初始化程序設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)的關(guān)鍵在CAN總線通信的設(shè)計(jì)上,CAN的每一次啟動都要進(jìn)行初始化。微處理器AT89C52負(fù)責(zé)SJAl000初始化,通過控制SJAl000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。單片機(jī)對SJAl000進(jìn)行正確的初始化后,通過訪問其內(nèi)部寄存器實(shí)現(xiàn)對CAN的操作。初始化程序主要是在程序運(yùn)行前通過對CAN控制器SJAl000的控制寄存器寫
51、入控制字,從而確定CAN控制器的工作方式等,使其能夠按照用戶要求的工作方式進(jìn)行CAN通信工作。圖5.5 CAN初始化子程序5.5 數(shù)字溫度傳感器的軟件設(shè)計(jì)數(shù)字溫度傳感器DSl8B20的溫度采集程序如圖5.6所示。圖5.6 DSl8B20溫度采集子程序流程圖結(jié) 論本設(shè)計(jì)將CAN總線技術(shù)、DS18B20及AT89C52等應(yīng)用于智能樓宇溫度測控系統(tǒng)中,能方便地獲取并解析現(xiàn)場控制或通信數(shù)據(jù),及時(shí)響應(yīng)現(xiàn)場操作,實(shí)現(xiàn)了溫度數(shù)據(jù)采集和通信功能,具有結(jié)構(gòu)簡潔、擴(kuò)容方便及可靠性高等優(yōu)點(diǎn),為工程設(shè)計(jì)、施工布線提供了極大的方便,提高了系統(tǒng)信息傳輸?shù)陌踩浴?shí)時(shí)性。在畢業(yè)論文設(shè)計(jì)整個(gè)過程中,主要完成下面幾個(gè)方面工作:
52、1閱讀文獻(xiàn),分析溫控系統(tǒng)的功能要求:給出基于CAN總線溫控系統(tǒng)詳細(xì)功能要求報(bào)告。2根據(jù)詳細(xì)的功能要求報(bào)告提出系統(tǒng)的總體設(shè)計(jì)方案。并論證方案的可行性。選用了菲利普半導(dǎo)體公司生產(chǎn)的CAN總線控制器SJAl000和CAN總線驅(qū)動器PCA82C250實(shí)現(xiàn)CAN總線接口。3設(shè)計(jì)溫度監(jiān)控系統(tǒng)的硬件。4設(shè)計(jì)溫度監(jiān)控系統(tǒng)的軟件。5繪制電路原理圖。參考文獻(xiàn)1 楊憲惠.現(xiàn)場總線應(yīng)用技術(shù)及應(yīng)用M.北京:清華大學(xué)出版社,19992 鄔寬名.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)J.北京:北京航天航空大學(xué)出版社,1996.3 鄔寬名.CAN總線系統(tǒng)設(shè)計(jì)中的幾個(gè)問題J.北京:北京航天航空大學(xué)出版社,2003.4 鄔寬名.現(xiàn)場總線技
53、術(shù)及其應(yīng)用M.北京:北京航天航空大學(xué)出版社,2003.5 饒運(yùn)濤,鄒繼軍.鄭勇蕓現(xiàn)場總線CAN原理與應(yīng)用技術(shù),20036 陳楊,劉曙生,龍志強(qiáng)基于CAN總線的數(shù)據(jù)通信系統(tǒng)研究J測控技術(shù),2000,19(10):53557 SJA1000 Stand-alone CAN controller. Philips Data SheetS.8 金偉正.單線數(shù)字溫度傳感器的原理與應(yīng)用J.電子技術(shù)應(yīng)用,2000(6):66689 沙占友.智能化集成溫度傳感器原理與應(yīng)用M.北京:機(jī)械工業(yè)出版社,2002:173810 建鋒.電子數(shù)字溫度傳感器DS18B20J.2008.2.2711 陳慶官,薛武.高精度數(shù)字
54、式溫度傳感器18B20的使用J.傳感器技術(shù),1998(4):394312 張迎新 等.單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,2009.113 周鳳余,魯守銀,李貽斌 等.CAN總線系統(tǒng)智能節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)J.微計(jì)算機(jī)信息.1999(6):252714 老虎工作室.電路設(shè)計(jì)與制版Protel99入門與提高.人民郵電出版社.200115 趙輝.Protel99 電子線路 CAD.北京:北京郵電大學(xué)出版社,200716 戴明.基于CAN總線的溫度監(jiān)控系統(tǒng):碩士學(xué)位論文 南京理工大學(xué),200617 穆立君.基于CAN總線的樓宇自動化系統(tǒng)設(shè)計(jì):碩士學(xué)位論文 湖南大學(xué),200618 陶良民,俞紹安.基于C
55、AN總線的智能樓宇溫度測控系統(tǒng)的設(shè)計(jì).建筑電氣.2009(6):374019 潘國峰,何平,田豐,孫以材.基于現(xiàn)場總線的分布式測溫報(bào)警系統(tǒng).河北工業(yè)大學(xué)學(xué)報(bào).2010,39(1):667120 葉露林,吳秋芹.基于CAN總線的溫度測控系統(tǒng).期刊論文-電子科技2005(8)致 謝大學(xué)三年學(xué)習(xí)時(shí)光已經(jīng)接近尾聲,時(shí)至今日,幾個(gè)月的畢業(yè)設(shè)計(jì)終于可以畫上一個(gè)句號了,現(xiàn)在回想起做畢業(yè)設(shè)計(jì)的整個(gè)過程,頗有心得,受益匪淺,苦盡甘來。本次畢業(yè)設(shè)計(jì)不僅讓我對CAN總線和溫度監(jiān)控系統(tǒng)有了更深一步的了解,同時(shí)也增加了自己自學(xué)和閱讀的能力,為以后的工作打下了基礎(chǔ)。可以說畢業(yè)設(shè)計(jì)不僅是對前面所學(xué)知識的一種檢驗(yàn),而且也是對
56、自己能力的一種提高。但由于時(shí)間的倉促和主客觀條件的限制,設(shè)計(jì)方案的不足,望老師們提出寶貴的意見,我將虛心接受老師們的教誨。本次畢業(yè)設(shè)計(jì)是在廖鎮(zhèn)勛老師悉心的指導(dǎo)下完成的。從論文的選題到資料的收集再到論文的完成,無不傾注著廖老師辛勤的汗水和心血。廖老師的嚴(yán)謹(jǐn)治學(xué)態(tài)度、淵博的知識、無私的奉獻(xiàn)精神使我受益匪淺,從廖老師的身上,我不僅學(xué)到了扎實(shí)、寬廣的專業(yè)知識,也學(xué)到了做人的道理。在此我要向我的指導(dǎo)老師致以最衷心的感謝和深深的敬意!同時(shí)我在這里還要感謝我們組的成員,他們也在畢業(yè)設(shè)計(jì)方面給予了我很多幫助和關(guān)心。最后祝愿廖老師工作順利,身體健康!祝愿同學(xué)們前程似錦,一帆風(fēng)順。 學(xué)生簽名: 日 期:2011年5月
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。