基于CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)論文_第1頁(yè)
基于CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)論文_第2頁(yè)
基于CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)論文_第3頁(yè)
基于CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)論文_第4頁(yè)
基于CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)摘要樓宇自動(dòng)化控制系統(tǒng)是采用現(xiàn)代化的傳感技術(shù)、計(jì)算機(jī)通信技術(shù)對(duì)建筑物所有機(jī)電設(shè)施進(jìn)行信號(hào)采集、控制,提供有效安全的物業(yè)管理,使其設(shè)備應(yīng)用在最良好的狀態(tài)。本次設(shè)計(jì)是基于一套CAN總線的遠(yuǎn)程控制裝置,通過(guò)CAN總線完成對(duì)現(xiàn)場(chǎng)設(shè)備的控制操作,并與CAN總線上其他設(shè)備完成數(shù)據(jù)的傳輸。系統(tǒng)硬件部分主要由AT89S52單片機(jī)、SJA1000 CAN控制器等組成,系統(tǒng)在硬件和軟件上進(jìn)行模塊化設(shè)計(jì),具體實(shí)現(xiàn)了以單片機(jī)為控制核心,設(shè)計(jì)了4路數(shù)字量輸入,4路模擬量輸出模塊,以與CAN接口電路模塊。CAN總線的應(yīng)用,提高了樓宇智能化水平并降低了設(shè)備的管理成本。CAN總線提供了標(biāo)準(zhǔn)網(wǎng)

2、絡(luò)協(xié)議的數(shù)據(jù)鏈路層,沒(méi)有相應(yīng)的高層通信協(xié)議。CANopen協(xié)議是一種基于CAN現(xiàn)場(chǎng)總線的開(kāi)放的、標(biāo)準(zhǔn)化的高層協(xié)議。它是一種具有實(shí)時(shí)性的高速串行總線系統(tǒng),它被廣泛應(yīng)用在嵌入式系統(tǒng)中。CANopen協(xié)議允許不同設(shè)備以標(biāo)準(zhǔn)化方式進(jìn)行通信,使其具有互操性。關(guān)鍵詞:樓宇控制;CAN總線;控制節(jié)點(diǎn);CANopen協(xié)議目 錄摘要21.引言32現(xiàn)存的樓宇控制系統(tǒng)相關(guān)技術(shù)43.CANopen協(xié)議概述43.1總述53.2設(shè)備模型53.3 對(duì)象字典(Object Dictionary)63.4 CANopen要點(diǎn)64.方案設(shè)計(jì)74.1總體設(shè)計(jì)方案74.2系統(tǒng)軟件設(shè)計(jì)74.2.1選擇CANopen原因74.2.2CA

3、Nopen協(xié)議系統(tǒng)軟件設(shè)計(jì)84.2.3軟件設(shè)計(jì)系統(tǒng)流程95.調(diào)試結(jié)果與分析136.結(jié)束語(yǔ)13致14參考文獻(xiàn)1515 / 151.引言隨著微電子技術(shù)與通訊技術(shù)的迅速發(fā)展,以與光纖通信(Fiber Communication)、衛(wèi)星通信(Satellite Communication)、區(qū)域網(wǎng)絡(luò)(Local Area Network)與廣域網(wǎng)(Wide Area Network)等取得長(zhǎng)足發(fā)展。根據(jù)國(guó)際電工委員會(huì)(international Electrotechnical Commision,IEC)標(biāo)準(zhǔn)和現(xiàn)場(chǎng)總線基金會(huì)(fieldbus foundation,F(xiàn)F)的定義,現(xiàn)場(chǎng)總線的概念一般為

4、一種用于智能化現(xiàn)場(chǎng)設(shè)備,自動(dòng)化系統(tǒng)的開(kāi)放式、數(shù)字化、雙向串行、多節(jié)點(diǎn)的底層通信總線。現(xiàn)場(chǎng)總線有:基金會(huì)現(xiàn)場(chǎng)總線(Foundation Fieldbus,F(xiàn)F)、控制局域網(wǎng)絡(luò)(Controller Area Network,CAN)、局域操作網(wǎng)絡(luò)(Local Operating Fieldbus ,LonWorks)、過(guò)程現(xiàn)場(chǎng)總線(Process Fieldbus ,PROFIBUS)等。但是由于各個(gè)行業(yè)的發(fā)展歷史以與各個(gè)公司、企業(yè)的經(jīng)濟(jì)利益,導(dǎo)致一些總線逐漸被遺忘,一些總線在當(dāng)今的市場(chǎng)上共存。CAN總線是一種有效支持分布控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。在各種工業(yè)現(xiàn)場(chǎng)總線中CAN總線以成本較低、速

5、度快、實(shí)時(shí)性、可靠性較高的特點(diǎn)適應(yīng)于現(xiàn)代汽車(chē)電子、醫(yī)療、軍事等領(lǐng)域的產(chǎn)業(yè)。CANopen協(xié)議定義了應(yīng)用層和通訊子協(xié)議,為可編程系數(shù)、不同器件、借口與應(yīng)用子協(xié)議定義了幀狀態(tài)。為現(xiàn)場(chǎng)總線的全數(shù)字分布控制系統(tǒng)的廣泛應(yīng)用以與把系統(tǒng)一體化管理提供了有效的方案。CANopen協(xié)議是基于CAN串行總線系統(tǒng)和應(yīng)用層CAL的高層協(xié)議。CAL提供了網(wǎng)絡(luò)管理服務(wù)和報(bào)文的傳送協(xié)議。CANopen在CAL基礎(chǔ)上使用了CAL通訊和服務(wù)協(xié)議子集的一種實(shí)現(xiàn)方案,在保證網(wǎng)絡(luò)節(jié)點(diǎn)互用性的同時(shí),允許節(jié)點(diǎn)的功能隨意擴(kuò)展。在嵌入式系統(tǒng)用用的發(fā)展,許多總線已經(jīng)不能滿足高性能、高實(shí)時(shí)性系統(tǒng)的要求,CAN總線是當(dāng)前比較有希望成功的。2 現(xiàn)存

6、的樓宇控制相關(guān)技術(shù)1在.基本型建筑物自動(dòng)化控制系統(tǒng)中,基于窗口式的基本型建筑物自動(dòng)化控制系統(tǒng)的工作站可以配置成文本顯示中央操作系統(tǒng),也可以配置成全具功能化的圖形終端。它在Windows NT環(huán)境下操作,局域網(wǎng)可以是以太網(wǎng)或者令牌環(huán)網(wǎng),在一個(gè)多建筑物的區(qū)域,可以配置多個(gè)分布式工作從站。2.綜合型建筑物自動(dòng)化系統(tǒng):它是在基本型建筑物自動(dòng)化控制系統(tǒng)的基礎(chǔ)上建立一個(gè)自動(dòng)化控制系統(tǒng)。通過(guò)監(jiān)控來(lái)自系統(tǒng)的數(shù)據(jù),同層總線、防火與保安總線、S總線設(shè)備等,可以將多個(gè)工作站連接至Novell LAN,以此提供與其它分支維護(hù)管理的接口。3.開(kāi)放型建筑物自動(dòng)化監(jiān)控系統(tǒng)開(kāi)放型建筑物自動(dòng)化系統(tǒng),它監(jiān)控多種分布式子系統(tǒng),如空

7、調(diào)自控、防火與保安,可以把其它子系統(tǒng)綜合在一個(gè)網(wǎng)絡(luò)系統(tǒng)中。采用符合工業(yè)標(biāo)準(zhǔn)的操作系統(tǒng)、LAN通信、相關(guān)數(shù)據(jù)庫(kù)和圖形系統(tǒng)。4.樓宇自動(dòng)化系統(tǒng)的主要組成樓宇自動(dòng)化系統(tǒng)負(fù)責(zé)完成大廈中的空調(diào)制冷系統(tǒng)、變配電系統(tǒng)、照明系統(tǒng)、供熱系統(tǒng)與電梯等的計(jì)算機(jī)監(jiān)控管理。主要應(yīng)用于(1)空調(diào)監(jiān)控系統(tǒng) (2)冷凍站監(jiān)控系統(tǒng) (3)給排水監(jiān)控系統(tǒng) (4)變配電監(jiān)控系統(tǒng)(5)熱力站監(jiān)控系統(tǒng) (6)照明監(jiān)控系統(tǒng) (7)安全防監(jiān)控系統(tǒng) (8)背景音樂(lè)、消防廣播系統(tǒng)等。3.CANopen協(xié)議概述3.1總述CANopen是一種構(gòu)架在控制局域網(wǎng)絡(luò)上的高層通訊協(xié)定,其中包括通訊子協(xié)定和設(shè)備子協(xié)定是工業(yè)控制中常用的一種現(xiàn)場(chǎng)總線,常在嵌入

8、式系統(tǒng)中被應(yīng)用。CANopen協(xié)議是Cia協(xié)會(huì)針對(duì)CAN協(xié)議不完整性開(kāi)發(fā)出來(lái)的一個(gè)更高層次的協(xié)議。CANopen標(biāo)準(zhǔn)包括尋址方案、通訊子協(xié)定和其他由設(shè)備協(xié)定所定義的應(yīng)用層。其能支援網(wǎng)絡(luò)管理、設(shè)備監(jiān)控和節(jié)點(diǎn)之間的通訊,包括一個(gè)簡(jiǎn)易傳輸層處理資料的分段傳輸和組合。資料連接層和實(shí)體層用CAN來(lái)實(shí)時(shí)工作。3.2設(shè)備模型 一個(gè)CANopen設(shè)備模塊可以有三部分。如圖3-1,通信接口和協(xié)議軟件提供在總線上收發(fā)通信對(duì)象的服務(wù)。不同的CANopen設(shè)備都是通過(guò)交換通信對(duì)象完成之間的通信的,它直接面向CAN控制器進(jìn)行實(shí)時(shí)操作的。對(duì)象字典用來(lái)描述設(shè)備是哦那個(gè)的所有數(shù)據(jù)類(lèi)型、通信對(duì)象和應(yīng)用對(duì)象。它位于通信程序和應(yīng)用

9、程序之間,為應(yīng)用程序提供借口,CANopen通信通過(guò)應(yīng)用程序?qū)?duì)象字典進(jìn)行操作實(shí)現(xiàn)的。應(yīng)用程序包括通信部分和功能不分,通信部分通過(guò)對(duì)對(duì)象字典進(jìn)行操作實(shí)現(xiàn)CANopen的通信;功能部分則是根據(jù)應(yīng)用要求來(lái)實(shí)現(xiàn)的。其對(duì)象字典結(jié)構(gòu)如表3-1。 圖3-1 CANopen設(shè)備對(duì)象字典結(jié)構(gòu)索引 對(duì)象 000 Not used001001F 靜態(tài)數(shù)據(jù)類(lèi)型002003F 復(fù)雜數(shù)據(jù)類(lèi)型040005F 規(guī)定的復(fù)雜數(shù)據(jù)類(lèi)型060007F 設(shè)備子協(xié)議規(guī)定靜態(tài)數(shù)據(jù)類(lèi)型080009F 設(shè)備子協(xié)議規(guī)定的復(fù)雜數(shù)據(jù)類(lèi)型00A00FFF reserved10001FFF 通訊子協(xié)議局域20005FFF 特定子協(xié)議區(qū)域60009FF

10、F 標(biāo)準(zhǔn)設(shè)備子協(xié)議區(qū)域A000FFF Reserved表3-13.3對(duì)象字典(ObjectDictionary)CANopen網(wǎng)絡(luò)的通信和管理都是通過(guò)不同的通信對(duì)象來(lái)完成的。對(duì)象字典(ObjectDictionary)是一個(gè)有序的對(duì)象組,每個(gè)對(duì)象用一個(gè)16位的索引值來(lái)尋址,定義了一個(gè)8位的子引索來(lái)允許訪問(wèn)數(shù)據(jù)中的單個(gè)元素。在CANopen網(wǎng)絡(luò)系統(tǒng)中每個(gè)節(jié)點(diǎn)都有唯一的對(duì)象字典。CANopen網(wǎng)絡(luò)的通信和管理都是通過(guò)不同的通信對(duì)象來(lái)完成的。通訊對(duì)象分類(lèi):數(shù)據(jù)對(duì)象(PDO):PDO被映射到單一的CAN幀中,用8個(gè)字節(jié)的數(shù)據(jù)字段把過(guò)程數(shù)據(jù)對(duì)象PDO映像到一單一的CAN幀傳輸應(yīng)用對(duì)象。每一個(gè)PDO都有一

11、個(gè)惟一的標(biāo)識(shí)符,并且可以通過(guò)一個(gè)節(jié)點(diǎn)發(fā)送,但是可以有多個(gè)接受者。數(shù)據(jù)服務(wù)對(duì)象(SDO):用來(lái)對(duì)對(duì)象字典進(jìn)行讀寫(xiě)操作。該對(duì)象可以傳輸大于8個(gè)字節(jié)的配置信息。接收者將確認(rèn)收到的每個(gè)段信息,發(fā)送和接受者間將建立點(diǎn)對(duì)點(diǎn)之間的通信,被訪問(wèn)對(duì)象字典的設(shè)備是SDO通訊的服務(wù)器,一個(gè)設(shè)備可以支持多的SDO對(duì)象,但是至少有一個(gè)SDO會(huì)在一個(gè)設(shè)備中被支持。網(wǎng)絡(luò)管理對(duì)象(NMT):網(wǎng)絡(luò)管理對(duì)象包括節(jié)點(diǎn)警戒對(duì)象。網(wǎng)絡(luò)管理協(xié)議(NMT)提供了特定應(yīng)用,網(wǎng)絡(luò)同步,時(shí)間戳和緊急報(bào)文傳輸。NMT主要提供了以下功能:模塊控制服務(wù);配置控制服務(wù)和錯(cuò)誤控制服務(wù)。特殊功能對(duì)象:CANopen還為同步,緊急狀態(tài)表示以與時(shí)間標(biāo)記傳送三個(gè)

12、特定對(duì)象。同步對(duì)象是同步制造者對(duì)網(wǎng)絡(luò)進(jìn)行周期性廣播,為該對(duì)象提供基本網(wǎng)絡(luò)時(shí)鐘。緊急對(duì)象則是當(dāng)設(shè)備發(fā)生嚴(yán)重的部錯(cuò)誤時(shí),緊急客戶機(jī)發(fā)送一個(gè)緊急狀態(tài)對(duì)象。時(shí)間標(biāo)記對(duì)象是將應(yīng)用設(shè)備提供公共的時(shí)間幀作參考。3.4 CANpoen要點(diǎn) 對(duì)用戶來(lái)說(shuō)了解CANopen協(xié)議的一些要點(diǎn)是很重要的。標(biāo)識(shí)符:CANopen協(xié)議采用11位標(biāo)識(shí)符,數(shù)據(jù)鏈路層與CAN2.0一致。CAN從節(jié)點(diǎn)CAN從節(jié)點(diǎn)CAN從節(jié)點(diǎn)CAN從節(jié)點(diǎn)CANopen網(wǎng)絡(luò)中的主從節(jié)點(diǎn):在CANopen系統(tǒng)中需要有一個(gè)而且只有一個(gè)主節(jié)點(diǎn),但是可以有多個(gè)從節(jié)點(diǎn)(0126)。主節(jié)點(diǎn)用于啟動(dòng)和停止網(wǎng)絡(luò);節(jié)點(diǎn)檢查;網(wǎng)絡(luò)引導(dǎo)。如圖3-2CAN從節(jié)點(diǎn)CAN從節(jié)點(diǎn)C

13、AN從節(jié)點(diǎn)CAN從節(jié)點(diǎn)CANopen 圖3-2 主從節(jié)點(diǎn)PDO協(xié)議:在ZANopen協(xié)議中,CAN的數(shù)據(jù)信息是一種過(guò)程數(shù)據(jù)對(duì)象PDO,它是設(shè)備用來(lái)傳送處理信息的標(biāo)準(zhǔn)方式。這種通訊方式為一對(duì)多。見(jiàn)圖3-3.PDOPDOPDOPDO圖3-3 PDO協(xié)議SDO服務(wù):SDO提供了一種獲得指定節(jié)點(diǎn)相關(guān)狀態(tài)的數(shù)據(jù),服務(wù)端發(fā)送相應(yīng)的數(shù)據(jù)回應(yīng)。如圖3-4.PDO服務(wù)端PDO客戶端SD請(qǐng)求SD回應(yīng)圖3-4 SDO服務(wù)預(yù)定義連接集:其簡(jiǎn)化了網(wǎng)絡(luò)的配置和使用。發(fā)送和接收PDO:CANopen規(guī)定了相應(yīng)的存區(qū)域和接受網(wǎng)絡(luò)上的數(shù)據(jù),可認(rèn)同為C語(yǔ)言中不轉(zhuǎn)彎的對(duì)地址進(jìn)行操作處理,從而實(shí)現(xiàn)了PDO數(shù)據(jù)能夠完全透明地傳送,為程

14、序的編程簡(jiǎn)單化。 4.方案設(shè)計(jì)4.1總體設(shè)計(jì)方案采用主流單片機(jī)AT89S52為微控制器,結(jié)合獨(dú)立CAN控制器SJA1000設(shè)計(jì)的硬件電路,該系統(tǒng)包括智能節(jié)點(diǎn)和具有CAN-RS232轉(zhuǎn)換功能的主節(jié)點(diǎn)兩部分。智能節(jié)點(diǎn)實(shí)現(xiàn)了數(shù)據(jù)采集、LED顯示、CAN總線通信以與輸出控制等功能。本系統(tǒng)由上位PC機(jī)、CAN總線借口通信適配卡和多個(gè)監(jiān)控節(jié)點(diǎn)組成。監(jiān)控點(diǎn)主要監(jiān)控空調(diào)與通風(fēng)監(jiān)控系統(tǒng),照明監(jiān)控系統(tǒng)系統(tǒng),供電系統(tǒng),供水系統(tǒng)。方案設(shè)計(jì)圖如下圖3-1。圖4-1方案設(shè)計(jì)框圖4.2系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)關(guān)鍵是通信程序的設(shè)計(jì)。本設(shè)計(jì)采用C語(yǔ)言完成AT89S52的控制程序,主要由初始化、發(fā)送、接收三部分組成。由于系統(tǒng)中一

15、個(gè)點(diǎn)在任意時(shí)刻均可以主動(dòng)與其他節(jié)點(diǎn)通信,所以各節(jié)點(diǎn)的通信程序一樣。PC軟件采用VB或者VC實(shí)現(xiàn)。4.2.1 選擇CANopen的原因基金會(huì)現(xiàn)場(chǎng)總線以ISO/OSI開(kāi)放系統(tǒng)互連模型為基礎(chǔ),取其物理層、數(shù)據(jù)鏈路層、應(yīng)用層為FF通信模型的相應(yīng)層次,并在應(yīng)用層上增加了用戶層。用戶層主要主站對(duì)總線具有控制權(quán),主站間通過(guò)傳遞令牌來(lái)傳遞對(duì)總線的控制權(quán)。取得控制權(quán)的主站,可向從站發(fā)送、獲取信息。泛應(yīng)用于加工制造、過(guò)程和樓宇自動(dòng)化等行業(yè)。其中PROFIBUS DP可以提供最大12Mbps的傳輸速率。由于優(yōu)越的傳輸特性和高的傳輸速率,在可編程邏輯控制器PLC中被廣泛采用。CAN 是Controller Area

16、Network 的縮寫(xiě),是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議。在當(dāng)今各產(chǎn)業(yè)中,為了給人和社會(huì)帶來(lái)利益,各種各樣的電子控制系統(tǒng)被開(kāi)發(fā)了出來(lái)。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類(lèi)型與對(duì)可靠性的要求不盡一樣,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)“減少線束的數(shù)量”、“通過(guò)多個(gè)LAN,進(jìn)行大量數(shù)據(jù)的高速通信”的需要,因此有了CAN的通信協(xié)議。 現(xiàn)在,CAN 的高性能和可靠性已被認(rèn)同,并被廣泛地應(yīng)用于工業(yè)自動(dòng)化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等方面?,F(xiàn)場(chǎng)總線是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動(dòng)化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)。CAN總線是屬于現(xiàn)場(chǎng)總線的疇,它可一對(duì)串行通信網(wǎng)絡(luò)進(jìn)行分布控制或者實(shí)時(shí)控制。對(duì)

17、于目前叫的的RS-XXX基于R線構(gòu)建的分布控制來(lái)說(shuō)。CAN總線具有下面優(yōu)勢(shì):(1)CAN總線開(kāi)發(fā)系統(tǒng)具有實(shí)時(shí)性強(qiáng)、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)。(2)CAN是到目前為止唯一具有國(guó)際認(rèn)證標(biāo)準(zhǔn)且成本低的現(xiàn)場(chǎng)總線;(3)CAN總線廢除傳統(tǒng)的站地址編碼,它以對(duì)通信數(shù)據(jù)塊進(jìn)行編碼,可以不分主從,多主方式工作。(4)CAN采用非破壞性仲裁技術(shù)兩個(gè)節(jié)點(diǎn)同時(shí)向網(wǎng)絡(luò)上傳送數(shù)據(jù)時(shí),可判斷優(yōu)先級(jí),先高后低使優(yōu)先級(jí)高的節(jié)點(diǎn)在傳輸數(shù)據(jù)是不受影響,避免了總線沖突。(5)CAN采用短幀結(jié)構(gòu),每一幀只有8個(gè)有效字節(jié),數(shù)據(jù)傳輸時(shí)間短,重新發(fā)送的時(shí)間短,受干擾的概率低。(6)CAN可以點(diǎn)對(duì)點(diǎn),一對(duì)多與廣播集中方式傳送和接收數(shù)據(jù)。傳輸

18、距離可長(zhǎng)達(dá)10km。(7)CAN的每幀信息都有通過(guò)CRC校驗(yàn)與檢錯(cuò)措施,具有極好的檢錯(cuò)效果(8)CAN的通信介質(zhì)的選擇上十分靈活,可選用雙絞線、同軸電纜或光纖。(9)CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下,能夠自動(dòng)關(guān)閉總線,切斷它與總線的關(guān)聯(lián),使總線上其他操作不受影響; 基于上總線概述,又從成本以與工程上考慮,本次設(shè)計(jì)選擇CAN總線。針對(duì)自動(dòng)化測(cè)控應(yīng)用的需要,定義了信息存取的統(tǒng)一規(guī)則,采用設(shè)備描述語(yǔ)言規(guī)定了通用的功能塊集。用于實(shí)現(xiàn)測(cè)量、控制、工程量轉(zhuǎn)換的應(yīng)用模塊,實(shí)現(xiàn)系統(tǒng)組態(tài)管理功能的系統(tǒng)軟件技術(shù)以與構(gòu)筑集成自動(dòng)化系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的系統(tǒng)集成技術(shù)。過(guò)程現(xiàn)場(chǎng)總線(PROFIBUS),PROFIBUS支持主從方

19、式和多主通信方式。4.2.2CANopen協(xié)議系統(tǒng)軟件設(shè)計(jì)在基于CANopen的智能協(xié)議,從物理上分為:底層驅(qū)動(dòng)程序借口和上層CANopen客戶程序;從邏輯上可分為:底層動(dòng)態(tài)連接庫(kù)支持程序、收發(fā)報(bào)文高速緩存邏輯,報(bào)文分析、分析結(jié)果記錄和GUI展示層。CANopen客戶程序根據(jù)協(xié)議標(biāo)準(zhǔn)解釋獲得CAN報(bào)文,并根據(jù)報(bào)文類(lèi)型,按HASH算法分類(lèi)排序。在報(bào)文收發(fā)緩存處理上采用多線編程方法,解決多線程同步和互斥問(wèn)題,從而達(dá)到較好的報(bào)文實(shí)時(shí)處理功能,逃避了線程的可重入性??蛻舫绦蚣瓤梢晕谋痉绞浇Y(jié)合相應(yīng)的參數(shù)顯示CANopen的報(bào)文類(lèi)型。也可以根據(jù)CANopen協(xié)議已對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試和分析。本次設(shè)計(jì)是CANop

20、en設(shè)備節(jié)點(diǎn),具有即用即插的功能,所以可以非常自如地用主站或者從站的身份收發(fā)報(bào)文。其傳遞的數(shù)據(jù)格式是自定義結(jié)構(gòu)體,為本次設(shè)計(jì)顯示報(bào)文容提供了方便。CANopen協(xié)議軟件是基于高級(jí)語(yǔ)言開(kāi)發(fā)環(huán)境編寫(xiě)的上位機(jī)軟件,它的界面實(shí)現(xiàn)協(xié)議分析結(jié)果直觀性非常強(qiáng)。對(duì)本次設(shè)計(jì)的可視化配置,比特率設(shè)置,樣本數(shù)設(shè)定,MASK掩碼設(shè)定具有明顯效果。除此之外,CANopen協(xié)議還提供一些基本功能,其總線通信量,單次或循環(huán)發(fā)送報(bào)文,與整個(gè)報(bào)文隊(duì)列的在線觀測(cè),并對(duì)各類(lèi)可變條件獲得報(bào)文的記錄以與在線監(jiān)測(cè)總線負(fù)載。4.2.3軟件設(shè)計(jì)系統(tǒng)流程CAN總線模塊將在AT89S52的控制下采集的數(shù)據(jù)發(fā)送給CAN總線的上位機(jī)上,接收CAN總

21、線上發(fā)給各個(gè)控制節(jié)點(diǎn)數(shù)據(jù),并且將它存如緩沖區(qū)。AT89S52向SJA1000發(fā)送數(shù)據(jù)時(shí),采用查詢的方式,當(dāng)SJA1000里有接受到的新報(bào)文時(shí),AT89S52采用中斷方式。系統(tǒng)主程序如圖4-2。圖4-2 系統(tǒng)主程序程序初始化:AT89S52將SJA1000、沖區(qū)和變量、定時(shí)器、串口、CAN總線初始化。初始化程序主要是在運(yùn)行前,對(duì)SJA1000的控制寄存器寫(xiě)入控制而確定的。如圖4-3。 圖4-3 SJA1000初始化流程發(fā)送程序:SJA1000的初始化程序設(shè)計(jì)主要是通過(guò)對(duì)SJA1000的寄存器寫(xiě)入相應(yīng)的控制字,從而確定SJA1000的工作方式。軟件復(fù)位即在運(yùn)行期間給SJA1000發(fā)一個(gè)做一個(gè)復(fù)位識(shí)

22、別。SJA1000需要初始化的寄存器有:控制寄存器CR或模式寄存器MOD、時(shí)鐘分頻寄存器CDR、接受代碼寄存器ACR、屏蔽寄存器AMR、中斷使能寄存器IER、總線定時(shí)寄存器BTR、輸出控制寄存器OCR等。因?yàn)檫@些寄存器僅能在SJA1000復(fù)位期間進(jìn)行訪問(wèn),因此在這些寄存器初始化之前,必須要確保系統(tǒng)進(jìn)入復(fù)位狀態(tài)。發(fā)送程序如圖4-4。圖4-4 發(fā)送程序接收程序:數(shù)據(jù)從CAN總線到CAN接收緩沖區(qū)由CAN的控制器自動(dòng)完成。接收程序?qū)⒏鱾€(gè)節(jié)點(diǎn)的報(bào)文接收以與其它方面的處理。從接收緩沖器中讀取接收到的數(shù)據(jù)進(jìn)行處理,并且在處理過(guò)程中對(duì)CAN總線出現(xiàn)的異常情況進(jìn)行處理。系統(tǒng)設(shè)計(jì)中采用中斷的方式接受數(shù)據(jù)。如圖3

23、-5。圖4-5 接收程序流程圖4-6為小區(qū)安全監(jiān)控系統(tǒng)窗口,其接收和發(fā)送均以16進(jìn)制(HEX),按鍵和LED的發(fā)送和接收的命令如下:打開(kāi)空調(diào)與通風(fēng)監(jiān)控系統(tǒng) LED1亮關(guān)閉空調(diào)與通風(fēng)監(jiān)控系統(tǒng) LED1滅打開(kāi)照明監(jiān)控系統(tǒng)系統(tǒng) LED2亮 關(guān)閉照明監(jiān)控系統(tǒng)系統(tǒng) LED2滅打開(kāi)給排水監(jiān)控系統(tǒng) LED3亮關(guān)閉給排水監(jiān)控系統(tǒng) LED3滅打開(kāi)電力供應(yīng)監(jiān)控系統(tǒng) LED4亮關(guān)閉電力供應(yīng)監(jiān)控系統(tǒng) LED4滅5.調(diào)試結(jié)果與分析在硬件調(diào)試處理過(guò)程中,發(fā)現(xiàn)過(guò)芯片6N137的模擬輸入和輸出沒(méi)有隔離開(kāi)。以至于電路出現(xiàn)異常。后經(jīng)過(guò)修改,硬件電騾工作正常.軟件調(diào)試由一臺(tái)PC機(jī)、系統(tǒng)硬件電路和VB軟件組成。調(diào)試單片機(jī)和串口通信硬

24、件部分都為正常。在VB窗口運(yùn)行基本收發(fā)程序。通過(guò)按鍵模擬數(shù)據(jù)采集驅(qū)動(dòng),LED模擬繼電器動(dòng)作。通過(guò)兩個(gè)仿真器可以了解串口通信部分的狀態(tài),另外還可以間接了解CAN總線的實(shí)際狀態(tài),在調(diào)試中間向SJA1000的測(cè)試寄存器寫(xiě)入0DBH,再讀SJA1000的測(cè)試寄存器,結(jié)果與寫(xiě)入的一致。說(shuō)明SJA1000與控制器連接正常。輸入通道編寫(xiě)程序,通過(guò)觀察仿真器對(duì)應(yīng)地址中的容,確定節(jié)點(diǎn)的輸入通道為正常。6.結(jié)束語(yǔ)通過(guò)對(duì)系統(tǒng)的硬件、軟件的反復(fù)調(diào)試和充分利用C語(yǔ)言編程的模塊性、可修改性和可移植性的特點(diǎn)。調(diào)試結(jié)果說(shuō)明該基于CAN總線的樓宇自動(dòng)化系統(tǒng)的設(shè)計(jì)方案是可行的。在充分考慮到實(shí)際環(huán)境下,通過(guò)控制器能高速、有效的采集和處理現(xiàn)場(chǎng)數(shù)據(jù),并能進(jìn)行現(xiàn)場(chǎng)實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)了信息通信處理。體現(xiàn)出CAN總線的高性能,高可靠性。樓宇自動(dòng)化系統(tǒng)能夠改善人的生活環(huán)境,適用于當(dāng)今社會(huì)。它能夠創(chuàng)造很好的經(jīng)濟(jì)效益,具有廣闊的應(yīng)用前景。致 經(jīng)過(guò)努力,本次樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)工作基本完成。設(shè)計(jì)能夠順利地完成是在我們的指導(dǎo)老師老師的細(xì)心指導(dǎo)下進(jìn)行的。指導(dǎo)老師花費(fèi)了很多寶貴的時(shí)間和精力為我設(shè)計(jì)的選題和資料的搜集直至最后設(shè)計(jì)的修改調(diào)試,在此向我的指導(dǎo)老師表示最真摯的感!指導(dǎo)老師嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論