版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)</p><p><b> 摘要</b></p><p> 樓宇自動(dòng)化控制系統(tǒng)是采用現(xiàn)代化的傳感技術(shù)、計(jì)算機(jī)通信技術(shù)對(duì)建筑物內(nèi)所有機(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總線上
2、其他設(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)絡(luò)協(xié)議的數(shù)據(jù)鏈路層,沒(méi)有相應(yīng)的高層通信協(xié)議。CANopen協(xié)議是一種基于CAN現(xiàn)場(chǎng)總線的開(kāi)放的、標(biāo)準(zhǔn)化的高層協(xié)議。它是一種具有
3、實(shí)時(shí)性的高速串行總線系統(tǒng),它被廣泛應(yīng)用在嵌入式系統(tǒng)中。CANopen協(xié)議允許不同設(shè)備以標(biāo)準(zhǔn)化方式進(jìn)行通信,使其具有互操性。</p><p> 關(guān)鍵詞:樓宇控制;CAN總線;控制節(jié)點(diǎn);CANopen協(xié)議</p><p><b> 目 錄</b></p><p><b> 摘要2</b></p>&
4、lt;p><b> 1.引言3</b></p><p> 2現(xiàn)存的樓宇控制系統(tǒng)相關(guān)技術(shù)4</p><p> 3.CANopen協(xié)議概述4</p><p><b> 3.1總述5</b></p><p> 3.2 設(shè)備模型5</p><p> 3.3
5、 對(duì)象字典(Object Dictionary)6</p><p> 3.4 CANopen要點(diǎn)6</p><p><b> 4.方案設(shè)計(jì)7</b></p><p> 4.1總體設(shè)計(jì)方案7</p><p> 4.2系統(tǒng)軟件設(shè)計(jì)7</p><p> 4.2.1選擇CANopen原
6、因7</p><p> 4.2.2CANopen協(xié)議系統(tǒng)軟件設(shè)計(jì)8</p><p> 4.2.3軟件設(shè)計(jì)系統(tǒng)流程9</p><p> 5.調(diào)試結(jié)果及分析13</p><p><b> 6.結(jié)束語(yǔ)13</b></p><p><b> 致 謝14</b>
7、;</p><p><b> 參考文獻(xiàn)15</b></p><p><b> 1.引言</b></p><p> 隨著微電子技術(shù)與通訊技術(shù)的迅速發(fā)展,以及光纖通信(Fiber Communication)、衛(wèi)星通信(Satellite Communication)、區(qū)域網(wǎng)絡(luò)(Local Area Network)與
8、廣域網(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)總線的概念一般為一種用于智能化現(xiàn)場(chǎng)設(shè)備,自動(dòng)化系統(tǒng)的開(kāi)放式、數(shù)字化、雙向串行、多節(jié)點(diǎn)的底層通信總線?,F(xiàn)場(chǎng)總線有:基金會(huì)現(xiàn)場(chǎng)總線(Foundation Fieldbus,F(xiàn)F)、控制局域網(wǎng)絡(luò)(
9、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)上共存。</p><p> CAN總線是一種有效支持分布控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。在各種工業(yè)現(xiàn)
10、場(chǎng)總線中CAN總線以成本較低、速度快、實(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)一體化管理提供了有效的方案。</p><p> CANopen協(xié)議是基于CAN串行總線系統(tǒng)和應(yīng)用層CAL的高層協(xié)議。CAL提供了網(wǎng)絡(luò)管理服務(wù)和報(bào)文的傳送協(xié)議。C
11、ANopen在CAL基礎(chǔ)上使用了CAL通訊和服務(wù)協(xié)議子集的一種實(shí)現(xiàn)方案,在保證網(wǎng)絡(luò)節(jié)點(diǎn)互用性的同時(shí),允許節(jié)點(diǎn)的功能隨意擴(kuò)展。在嵌入式系統(tǒng)用用的發(fā)展,許多總線已經(jīng)不能滿(mǎn)足高性能、高實(shí)時(shí)性系統(tǒng)的要求,CAN總線是當(dāng)前比較有希望成功的。</p><p> 2 現(xiàn)存的樓宇控制相關(guān)技術(shù)</p><p> 1在.基本型建筑物自動(dòng)化控制系統(tǒng)中,基于窗口式的基本型建筑物自動(dòng)化控制系統(tǒng)的工作站可以配置成
12、文本顯示中央操作系統(tǒng),也可以配置成全具功能化的圖形終端。它在Windows NT環(huán)境下操作,局域網(wǎng)可以是以太網(wǎng)或者令牌環(huán)網(wǎng),在一個(gè)多建筑物的區(qū)域,可以配置多個(gè)分布式工作從站。</p><p> 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,以此提供與其它分支維
13、護(hù)管理的接口。</p><p> 3.開(kāi)放型建筑物自動(dòng)化監(jiān)控系統(tǒng)開(kāi)放型建筑物自動(dòng)化系統(tǒng),它監(jiān)控多種分布式子系統(tǒng),如空調(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)。</p><p> 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)控管理。主要
14、應(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)等。</p><p> 3.CANopen協(xié)議概述</p><p><b> 3.1總述</b></p><p> CANopen是一種構(gòu)架在控制局域網(wǎng)絡(luò)上
15、的高層通訊協(xié)定,其中包括通訊子協(xié)定和設(shè)備子協(xié)定是工業(yè)控制中常用的一種現(xiàn)場(chǎng)總線,常在嵌入式系統(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í)工作。</p><p><b&g
16、t; 3.2 設(shè)備模型</b></p><p> 一個(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)用程序之間,為應(yīng)用程序提供借口,CANopen通信通過(guò)應(yīng)用程序?qū)?duì)
17、象字典進(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。</p><p> 圖3-1 CANopen設(shè)備</p><p><b> 對(duì)象字典結(jié)構(gòu)</b></p><p><b> 表3-1</b><
18、;/p><p> 3.3 對(duì)象字典(Object Dictionary)</p><p> CANopen網(wǎng)絡(luò)的通信和管理都是通過(guò)不同的通信對(duì)象來(lái)完成的。對(duì)象字典(Object Dictionary)是一個(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ò)的通信和管理都
19、是通過(guò)不同的通信對(duì)象來(lái)完成的。</p><p><b> 通訊對(duì)象分類(lèi):</b></p><p> 數(shù)據(jù)對(duì)象(PDO):PDO被映射到單一的CAN幀中,用8個(gè)字節(jié)的數(shù)據(jù)字段把過(guò)程數(shù)據(jù)對(duì)象PDO映像到一單一的CAN幀傳輸應(yīng)用對(duì)象。每一個(gè)PDO都有一個(gè)惟一的標(biāo)識(shí)符,并且可以通過(guò)一個(gè)節(jié)點(diǎn)發(fā)送,但是可以有多個(gè)接受者。</p><p> 數(shù)據(jù)服務(wù)對(duì)
20、象(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è)備中被支持。</p><p> 網(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
21、主要提供了以下功能:模塊控制服務(wù);配置控制服務(wù)和錯(cuò)誤控制服務(wù)。</p><p> 特殊功能對(duì)象:CANopen還為同步,緊急狀態(tài)表示以及時(shí)間標(biāo)記傳送三個(gè)特定對(duì)象。同步對(duì)象是同步制造者對(duì)網(wǎng)絡(luò)進(jìn)行周期性廣播,為該對(duì)象提供基本網(wǎng)絡(luò)時(shí)鐘。緊急對(duì)象則是當(dāng)設(shè)備發(fā)生嚴(yán)重的內(nèi)部錯(cuò)誤時(shí),緊急客戶(hù)機(jī)發(fā)送一個(gè)緊急狀態(tài)對(duì)象。時(shí)間標(biāo)記對(duì)象是將應(yīng)用設(shè)備提供公共的時(shí)間幀作參考。</p><p> 3.4 CANpo
22、en要點(diǎn)</p><p> 對(duì)用戶(hù)來(lái)說(shuō)了解CANopen協(xié)議的一些要點(diǎn)是很重要的。</p><p> 標(biāo)識(shí)符:CANopen協(xié)議采用11位標(biāo)識(shí)符,數(shù)據(jù)鏈路層與CAN2.0一致。</p><p> 網(wǎng)絡(luò)中的主從節(jié)點(diǎn):在CANopen系統(tǒng)中需要有一個(gè)而且只有一個(gè)主節(jié)點(diǎn),但是可以有多個(gè)從節(jié)點(diǎn)(0~126)。主節(jié)點(diǎn)用于啟動(dòng)和停止網(wǎng)絡(luò);節(jié)點(diǎn)檢查;網(wǎng)絡(luò)引導(dǎo)。如圖3-2&l
23、t;/p><p><b> 圖3-2 主從節(jié)點(diǎn)</b></p><p> PDO協(xié)議:在ZANopen協(xié)議中,CAN的數(shù)據(jù)信息是一種過(guò)程數(shù)據(jù)對(duì)象PDO,它是設(shè)備用來(lái)傳送處理信息的標(biāo)準(zhǔn)方式。這種通訊方式為一對(duì)多。見(jiàn)圖3-3.</p><p> 圖3-3 PDO協(xié)議</p><p> SDO服務(wù):SDO提供了一種獲得
24、指定節(jié)點(diǎn)相關(guān)狀態(tài)的數(shù)據(jù),服務(wù)端發(fā)送相應(yīng)的數(shù)據(jù)回應(yīng)。如圖3-4.</p><p> 圖3-4 SDO服務(wù)</p><p> 預(yù)定義連接集:其簡(jiǎn)化了網(wǎng)絡(luò)的配置和使用。</p><p> 發(fā)送和接收PDO:CANopen規(guī)定了相應(yīng)的內(nèi)存區(qū)域和接受網(wǎng)絡(luò)上的數(shù)據(jù),可認(rèn)同為C語(yǔ)言中不轉(zhuǎn)彎的對(duì)地址進(jìn)行操作處理,從而實(shí)現(xiàn)了PDO數(shù)據(jù)能夠完全透明地傳送,為程序的編程簡(jiǎn)單化。 &
25、lt;/p><p><b> 4.方案設(shè)計(jì)</b></p><p><b> 4.1總體設(shè)計(jì)方案</b></p><p> 采用主流單片機(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
26、總線通信以及輸出控制等功能。本系統(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。</p><p> 圖4-1方案設(shè)計(jì)框圖</p><p><b> 4.2系統(tǒng)軟件設(shè)計(jì)</b></p><p> 系統(tǒng)軟件設(shè)計(jì)關(guān)鍵是通信程序的設(shè)計(jì)。本設(shè)
27、計(jì)采用C語(yǔ)言完成AT89S52的控制程序,主要由初始化、發(fā)送、接收三部分組成。由于系統(tǒng)中一個(gè)點(diǎn)在任意時(shí)刻均可以主動(dòng)與其他節(jié)點(diǎn)通信,所以各節(jié)點(diǎn)的通信程序相同。PC軟件采用VB或者VC實(shí)現(xiàn)。</p><p> 4.2.1 選擇CANopen的原因</p><p> 基金會(huì)現(xiàn)場(chǎng)總線以ISO/OSI開(kāi)放系統(tǒng)互連模型為基礎(chǔ),取其物理層、數(shù)據(jù)鏈路層、應(yīng)用層為FF通信模型的相應(yīng)層次,并在應(yīng)用層上增加
28、了用戶(hù)層。用戶(hù)層主要主站對(duì)總線具有控制權(quán),主站間通過(guò)傳遞令牌來(lái)傳遞對(duì)總線的控制權(quán)。取得控制權(quán)的主站,可向從站發(fā)送、獲取信息。泛應(yīng)用于加工制造、過(guò)程和樓宇自動(dòng)化等行業(yè)。其中PROFIBUS DP可以提供最大12Mbps的傳輸速率。由于優(yōu)越的傳輸特性和高的傳輸速率,在可編程邏輯控制器PLC中被廣泛采用。</p><p> CAN 是Controller Area Network 的縮寫(xiě),是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信
29、協(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)之
30、一,被譽(yù)為自動(dòng)化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)。CAN總線是屬于現(xiàn)場(chǎng)總線的范疇,它可一對(duì)串行通信網(wǎng)絡(luò)進(jìn)行分布控制或者實(shí)時(shí)控制。對(duì)于目前叫的的RS-XXX基于R線構(gòu)建的分布控制來(lái)說(shuō)。CAN總線具有下面優(yōu)勢(shì):</p><p> (1)CAN總線開(kāi)發(fā)系統(tǒng)具有實(shí)時(shí)性強(qiáng)、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)。</p><p> (2)CAN是到目前為止唯一具有國(guó)際認(rèn)證標(biāo)準(zhǔn)且成本低的現(xiàn)場(chǎng)總線;</p>&l
31、t;p> (3)CAN總線廢除傳統(tǒng)的站地址編碼,它以對(duì)通信數(shù)據(jù)塊進(jìn)行編碼,可以不分主從,多主方式工作。</p><p> (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ù)是不受影響,避免了總線沖突。</p><p> (5)CAN采用短幀結(jié)構(gòu),每一幀只有8個(gè)有效字節(jié),數(shù)據(jù)傳輸時(shí)間短,重新發(fā)送的時(shí)間短,受干擾的概率低
32、。</p><p> (6)CAN可以點(diǎn)對(duì)點(diǎn),一對(duì)多及廣播集中方式傳送和接收數(shù)據(jù)。傳輸距離可長(zhǎng)達(dá)10km。</p><p> (7)CAN的每幀信息都有通過(guò)CRC校驗(yàn)及檢錯(cuò)措施,具有極好的檢錯(cuò)效果</p><p> (8)CAN的通信介質(zhì)的選擇上十分靈活,可選用雙絞線、同軸電纜或光纖。</p><p> (9)CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情
33、況下,能夠自動(dòng)關(guān)閉總線,切斷它與總線的關(guān)聯(lián),使總線上其他操作不受影響; </p><p> 基于上總線概述,又從成本以及工程上考慮,本次設(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ù)。</p><p>
34、 過(guò)程現(xiàn)場(chǎng)總線(PROFIBUS),PROFIBUS支持主從方式和多主通信方式。</p><p> 4.2.2CANopen協(xié)議系統(tǒng)軟件設(shè)計(jì)</p><p> 在基于CANopen的智能協(xié)議,從物理上分為:底層驅(qū)動(dòng)程序借口和上層CANopen客戶(hù)程序;從邏輯上可分為:底層動(dòng)態(tài)連接庫(kù)支持程序、收發(fā)報(bào)文高速緩存邏輯,報(bào)文分析、分析結(jié)果記錄和GUI展示層。</p><p&
35、gt; CANopen客戶(hù)程序根據(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í)處理功能,逃避了線程的可重入性??蛻?hù)程序既可以文本方式結(jié)合相應(yīng)的參數(shù)顯示CANopen的報(bào)文類(lèi)型。也可以根據(jù)CANopen協(xié)議已對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試和分析。</p><p> 本次設(shè)計(jì)是CANopen設(shè)備節(jié)點(diǎn),具有即用即插的功能,
36、所以可以非常自如地用主站或者從站的身份收發(fā)報(bào)文。其傳遞的數(shù)據(jù)格式是自定義結(jié)構(gòu)體,為本次設(shè)計(jì)顯示報(bào)文內(nèi)容提供了方便。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è)定具有明顯效果。</p><p> 除此之外,CANopen協(xié)議還提供一些基本功能,其總線通信量,單次或循環(huán)發(fā)送報(bào)文,及整個(gè)報(bào)文隊(duì)列的在線
37、觀測(cè),并對(duì)各類(lèi)可變條件獲得報(bào)文的記錄以及在線監(jiān)測(cè)總線負(fù)載。</p><p> 4.2.3軟件設(shè)計(jì)系統(tǒng)流程</p><p> CAN總線模塊將在AT89S52的控制下采集的數(shù)據(jù)發(fā)送給CAN總線的上位機(jī)上,接收CAN總線上發(fā)給各個(gè)控制節(jié)點(diǎn)數(shù)據(jù),并且將它存如緩沖區(qū)。AT89S52向SJA1000發(fā)送數(shù)據(jù)時(shí),采用查詢(xún)的方式,當(dāng)SJA1000里有接受到的新報(bào)文時(shí),AT89S52采用中斷方式。系統(tǒng)
38、主程序如圖4-2。</p><p> 圖4-2 系統(tǒng)主程序</p><p> 程序初始化:AT89S52將SJA1000、沖區(qū)和變量、定時(shí)器、串口、CAN總線初始化。初始化程序主要是在運(yùn)行前,對(duì)SJA1000的控制寄存器寫(xiě)入控制而確定的。如圖4-3。</p><p> 圖4-3 SJA1000初始化流程</p><p> 發(fā)送程序:S
39、JA1000的初始化程序設(shè)計(jì)主要是通過(guò)對(duì)SJA1000的寄存器寫(xiě)入相應(yīng)的控制字,從而確定SJA1000的工作方式。軟件復(fù)位即在運(yùn)行期間給SJA1000發(fā)一個(gè)做一個(gè)復(fù)位識(shí)別。SJA1000需要初始化的寄存器有:控制寄存器CR或模式寄存器MOD、時(shí)鐘分頻寄存器CDR、接受代碼寄存器ACR、屏蔽寄存器AMR、中斷使能寄存器IER、總線定時(shí)寄存器BTR、輸出控制寄存器OCR等。因?yàn)檫@些寄存器僅能在SJA1000復(fù)位期間進(jìn)行訪問(wèn),因此在這些寄存器
40、初始化之前,必須要確保系統(tǒng)進(jìn)入復(fù)位狀態(tài)。發(fā)送程序如圖4-4。</p><p> 圖4-4 發(fā)送程序</p><p> 接收程序:數(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-5。</
41、p><p> 圖4-5 接收程序流程</p><p> 圖4-6為小區(qū)安全監(jiān)控系統(tǒng)窗口,其接收和發(fā)送均以16進(jìn)制(HEX),按鍵和LED的發(fā)送和接收的命令如下:</p><p> 打開(kāi)空調(diào)與通風(fēng)監(jiān)控系統(tǒng) LED1亮</p><p> 關(guān)閉空調(diào)與通風(fēng)監(jiān)控系統(tǒng) LED1滅</p><p> 打開(kāi)照明
42、監(jiān)控系統(tǒng)系統(tǒng) LED2亮 </p><p> 關(guān)閉照明監(jiān)控系統(tǒng)系統(tǒng) LED2滅</p><p> 打開(kāi)給排水監(jiān)控系統(tǒng) LED3亮</p><p> 關(guān)閉給排水監(jiān)控系統(tǒng) LED3滅</p><p> 打開(kāi)電力供應(yīng)監(jiān)控系統(tǒng) LED4亮</p><p
43、> 關(guān)閉電力供應(yīng)監(jiān)控系統(tǒng) LED4滅</p><p><b> 5.調(diào)試結(jié)果及分析</b></p><p> 在硬件調(diào)試處理過(guò)程中,發(fā)現(xiàn)過(guò)芯片6N137的模擬輸入和輸出沒(méi)有隔離開(kāi)。以至于電路出現(xiàn)異常。后經(jīng)過(guò)修改,硬件電騾工作正常.</p><p> 軟件調(diào)試由一臺(tái)PC機(jī)、系統(tǒng)硬件電路和VB軟件組成。調(diào)試單片機(jī)和串口通信
44、硬件部分都為正常。在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)地址中的內(nèi)容,確定節(jié)點(diǎn)的輸入通道為正常。</p><p><
45、b> 6.結(jié)束語(yǔ)</b></p><p> 通過(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ì)。
46、它能夠創(chuàng)造很好的經(jīng)濟(jì)效益,具有廣闊的應(yīng)用前景。</p><p><b> 致 謝</b></p><p> 經(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)度,開(kāi)拓
47、進(jìn)取的精神和高度的責(zé)任心使我受益匪淺!</p><p> 在此還要感謝和我一同做此設(shè)計(jì)的同學(xué)。在平時(shí)設(shè)計(jì)中,我們一起共同探討問(wèn)題,并指出判斷我們?cè)O(shè)計(jì)上的誤區(qū),使本次設(shè)計(jì)能及時(shí)的發(fā)現(xiàn)問(wèn)題。把設(shè)計(jì)順利的進(jìn)行下去,在我們的互補(bǔ)下才能順利的結(jié)稿,在此表示深深的謝意。 </p><p><b> 參考文獻(xiàn)</b></p><p> [1]王俊波.C
48、AN open協(xié)議分析與實(shí)現(xiàn).中文核心期刊,2005年第22卷第5-2期.</p><p> [2]任瑋蒙,陶維青.基于CAN總線的高層協(xié)議CANopen.自動(dòng)化技術(shù)應(yīng)用2007年第26卷第4期.</p><p> [3]楊春杰,亢紅波.基于CAN總線的分布控制系統(tǒng)設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置.2007年第4期,62-64.</p><p> [4]葉愛(ài)兵
49、,鄭華耀,陳巨濤.基于CANopen的協(xié)議分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).揚(yáng)州大學(xué)報(bào).2009年8月第12卷第3期.</p><p> [5]蘇健,張慧慧.基于以CAN總線的監(jiān)控系統(tǒng)的設(shè)計(jì)[J].制造業(yè)自動(dòng)化.2002年第2期,24-26.</p><p> [6]孔祥力.基于CAN總線的分布式網(wǎng)絡(luò)測(cè)控系統(tǒng)研究.[碩士學(xué)位論文].哈爾濱工程大學(xué).2007年.</p><p>
50、; [7]王俊波,胥布工.CANopen協(xié)議分析與實(shí)現(xiàn).中文核心期刊.2006年第22卷第6-2期.</p><p> [8]李冰,戚建,劉國(guó)良,賀尚紅.CANopen總線協(xié)議在攤鋪機(jī)上的應(yīng)用.三一重工股份有限公司研究院,上海201206</p><p> [9]謝嶸.基于CAN總線的分布式控制系統(tǒng)的研究與實(shí)現(xiàn).[碩士學(xué)位論文].上海交通大學(xué).2003年.</p>&l
51、t;p> [10]武金山.基于CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì).[碩士學(xué)位論文].合肥工業(yè)大學(xué).2008年.</p><p> [11]唐俊杰.基于樓于自動(dòng)化系統(tǒng)的嵌入式網(wǎng)關(guān)設(shè)計(jì)與開(kāi)發(fā).[碩士學(xué)位論文].上海交通大學(xué).2009年.</p><p> [12]李朝春.單片機(jī)原理及串行外設(shè)接口技術(shù)[M].北京:北京航空航天大學(xué),2008,16-18.</p><p
52、> [13]張?jiān)?集散控制系統(tǒng)及現(xiàn)場(chǎng)總線.機(jī)械工業(yè)出版社,2006.5</p><p> [14]沈衛(wèi)紅.基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2005.</p><p> [15]范瑞霞.針對(duì)CAN總線傳輸距離問(wèn)題的兩種解決方案[J].微計(jì)算機(jī)信息,2006,8-1:161-162.</p><p> [16]穆立君.基于CAN
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于CAN總線的水廠自動(dòng)化監(jiān)控系統(tǒng).pdf
- 基于CAN總線的油庫(kù)自動(dòng)化系統(tǒng)下位機(jī)設(shè)計(jì).pdf
- 基于LON總線的樓宇自動(dòng)化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于INTERBUS現(xiàn)場(chǎng)總線的樓宇自動(dòng)化系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)180自動(dòng)化樓宇自動(dòng)化系統(tǒng)(bas)
- 畢業(yè)設(shè)計(jì)180自動(dòng)化樓宇自動(dòng)化系統(tǒng)(bas)
- 基于can總線的溫度測(cè)控系統(tǒng)的設(shè)計(jì) 畢業(yè)論文
- 畢業(yè)設(shè)計(jì)180自動(dòng)化樓宇自動(dòng)化系統(tǒng)(BAS).doc
- 畢業(yè)設(shè)計(jì)180自動(dòng)化樓宇自動(dòng)化系統(tǒng)(BAS).doc
- 電氣工程自動(dòng)化畢業(yè)論文--會(huì)展中心樓宇自控系統(tǒng)設(shè)計(jì)
- 基于LonWorks現(xiàn)場(chǎng)總線技術(shù)的樓宇自動(dòng)化系統(tǒng)的研究.pdf
- 基于現(xiàn)場(chǎng)總線的樓宇自動(dòng)化系統(tǒng)的節(jié)能設(shè)計(jì)與集成研究.pdf
- 樓宇自動(dòng)化恒壓供水控制系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)探討
- 基于雙can總線的自動(dòng)化流水線控制系統(tǒng)的設(shè)計(jì)
- 基于CAN總線的樓宇火災(zāi)監(jiān)控系統(tǒng)設(shè)計(jì).pdf
- 基于CAN總線的自動(dòng)化模塊及其應(yīng)用.pdf
- 自動(dòng)化立體倉(cāng)庫(kù)輸送系統(tǒng)設(shè)計(jì)【自動(dòng)化畢業(yè)論文】
- 電氣自動(dòng)化畢業(yè)設(shè)計(jì)--樓宇智能系統(tǒng)設(shè)計(jì)
- 智能樓宇自動(dòng)化系統(tǒng)的設(shè)計(jì)的畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論