【文章內(nèi)容簡介】
己的優(yōu)勢。 CAN 局域控制網(wǎng)是目前運用最廣泛的現(xiàn)場總線之一,它是一種多主總線,網(wǎng)絡(luò)上任意一個節(jié)點均可以在任意時刻主動地向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息,而不分主從,節(jié)點之間有優(yōu)先級之分,因而通信方式靈活;CAN 可以點對點、一點對多點(成組)及全局廣播等幾種方式傳送和接收數(shù)據(jù);CAN 采用非破壞性位仲裁技術(shù),優(yōu)先級發(fā)送,可以大大節(jié)省總線沖突仲裁時間,在重負荷下表現(xiàn)出良好的性能。最早運用于汽車工業(yè),隨著 CAN 總線技術(shù)的不斷發(fā)展,其運用領(lǐng)域也得到不斷的擴展,如今,在機器人、數(shù)控技術(shù)、自動化儀表、航空工業(yè)等領(lǐng)域,都能看見 CAN 的影子。 課題的提出及意義自 1973 年世界上發(fā)生了第一次能源危機以來,國際上對照明節(jié)能的逐漸重視起來,并提出了“綠色照明”理念,在發(fā)展綠色照明工程的過程中照明控制起了非常重要的作用,這也在很大程度上促進了照明控制技術(shù)的發(fā)展。傳統(tǒng)的照明控制技術(shù)在照明的控制方式上以手動為主,僅能實現(xiàn)簡單的開關(guān)控制與調(diào)光控制。利用設(shè)置在燈具回路的電氣參數(shù)(電壓、電流、頻率等) ,實現(xiàn)調(diào)光控制。這種傳統(tǒng)的的照明控制方式,功能簡單,布線復(fù)雜遠不能滿足當(dāng)今社會發(fā)展的要求。隨著計算機技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、微電子技術(shù)、現(xiàn)場總線技術(shù)等的發(fā)展,利用現(xiàn)場總線智能節(jié)點將照明設(shè)備構(gòu)成局域控制網(wǎng)絡(luò),形成網(wǎng)絡(luò)化控制必將成為智能照明控制的發(fā)展趨勢。正因為這樣研究現(xiàn)場總線與照明控制相結(jié)合的技術(shù),必將是未來發(fā)展的需要,因此,有必要研究照明控制在現(xiàn)場總線上的應(yīng)用。然而,CAN 總線又是現(xiàn)場總線的杰出代表之一,因此研究 CAN 總線對照明的控制有其重大的意義。這不僅促進了智能照明控制技術(shù)的發(fā)展,也拓寬了現(xiàn)場總線的應(yīng)用領(lǐng)域。還能實現(xiàn)“綠色照明” ,節(jié)約能源。考慮到照明控制技術(shù)和現(xiàn)場總線技術(shù)的結(jié)合構(gòu)成智能網(wǎng)絡(luò)照明控制系統(tǒng)是未來的發(fā)展趨勢,因此我們有必要研究基于現(xiàn)場總線局域網(wǎng)絡(luò)的智能照明控制技術(shù),本課題正是基于此而提出的基于 CAN 總線的智能照明控制系統(tǒng)設(shè)計。本課題主要任務(wù)是研究 CAN 總線在智能照明設(shè)備控制系統(tǒng)中的應(yīng)用,并且開發(fā)出三個智能 CAN 總線節(jié)點,并利用這三個節(jié)點,搭建 CAN 總線局域網(wǎng)絡(luò),實現(xiàn)了遠距離多節(jié)點的照明控制方案,設(shè)計中采用一個主控節(jié)點,兩個從節(jié)點,通過主控節(jié)點,控制兩從節(jié)點上的兩盞照明燈,照明燈通過 AC220V 供電,并制作了繼電器控制模塊,實現(xiàn)強電弱電的隔離。并通過長距離(20 米左右) 、多節(jié)點聯(lián)網(wǎng)控制測試,幾乎滿足實際照明控制系統(tǒng)的所有要求,具有重大的實際應(yīng)用意義。2 系統(tǒng)設(shè)計 設(shè)計要求 本題目要求設(shè)計一個基于 CAN 總線的智能照明控制系統(tǒng)。設(shè)計中采用主從節(jié)點的網(wǎng)絡(luò)設(shè)計方案,通過主節(jié)點對各個從節(jié)點的照明燈進行實時監(jiān)控。系統(tǒng)要求設(shè)計一個主節(jié)點,多個從節(jié)點,并模擬應(yīng)用現(xiàn)場,進行試驗研究。主節(jié)點具有實時監(jiān)控各個從節(jié)點照明燈開關(guān)時間、狀態(tài)等的功能。在主節(jié)點上,主節(jié)點可以隨時設(shè)置所有從節(jié)點開關(guān)燈時間及狀態(tài),從節(jié)點也可以隨時設(shè)置本節(jié)點燈設(shè)備的開關(guān)情況。并且,無論是在哪里改變了照明燈設(shè)備的開關(guān)狀態(tài)或剩余時間,都能實時的更新主從節(jié)點上的顯示。此外,本系統(tǒng)還具有離線檢測,通訊指示,運行指示等功能。當(dāng)某從節(jié)點設(shè)備人為的從總線上卸下或由于總線局部斷開而造成的節(jié)點離線,都能在主節(jié)點監(jiān)控界面上實時顯示。另外,系統(tǒng)具有通信故障指示,當(dāng)與主節(jié)點相連的總線斷開時,主節(jié)點將作出相應(yīng)的通信異常指示。 總體設(shè)計方案 設(shè)計思路本設(shè)計是一個基于 CAN 總線的現(xiàn)場測控網(wǎng)絡(luò)。設(shè)計中采用主從式總線型網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)主從節(jié)點的信息交流。并且采用 CAN 總線的雙驗收濾波技術(shù),以保證同時支持 CAN總線的點對點通信和廣播通信方式,為節(jié)點間的正確通信打下良好基礎(chǔ)。系統(tǒng)工作流程如下:首先,在主節(jié)點利用觸摸屏輸入各從節(jié)點燈控制信息,點擊確定后,先依次將各個從節(jié)點的設(shè)置信息,以點對點的方式發(fā)送給各個從節(jié)點,緊接著用廣播方式將一個啟動燈信號發(fā)送給所有的從節(jié)點,以保證同時啟動所有從節(jié)點燈設(shè)備。當(dāng)從節(jié)點設(shè)備接收到燈設(shè)置信息和確定信號后,從節(jié)點將接收到的信息進行解包翻譯,并產(chǎn)生照明燈開關(guān)控制信號和定時器控制信號以控制燈設(shè)備。在正常運行模式(非設(shè)置模式)下,主節(jié)點通過不斷向各個從節(jié)點發(fā)送數(shù)據(jù)請求幀,從節(jié)點只有接收到目標(biāo)地址為自己節(jié)點號的數(shù)據(jù)請求幀,才會將本節(jié)點燈設(shè)備的開關(guān)狀態(tài)和剩余時間發(fā)送給主節(jié)點進行更新顯示,從而實現(xiàn)主節(jié)點對從節(jié)點的實時監(jiān)控。當(dāng)從節(jié)點將自身的燈控制信息更改后,由于主節(jié)點不斷的向從節(jié)點請求數(shù)據(jù),故,各從節(jié)點的燈信息也能在主節(jié)點上動態(tài)更新。對于離線檢測功能的實現(xiàn),主節(jié)點在規(guī)定的時間內(nèi),檢查各個從節(jié)點是否發(fā)送過數(shù)據(jù)給主節(jié)點,如果沒有發(fā)送過數(shù)據(jù),則認為該從節(jié)點已經(jīng)斷開了總線的連接即節(jié)點離線。否則,從節(jié)點在線。在運行指示功能中,當(dāng)主節(jié)點主程序停止運行則指示運行不正常。具體實現(xiàn)如下,首先定義一個全局變量 WorkCount,在主節(jié)點主程序的 while工作循環(huán)中自加,當(dāng) while 循環(huán)執(zhí)行一次,則該變量增加 1,當(dāng)該變量能達到某設(shè)定閾值則取反運行指示燈狀態(tài)并清零 WorkCount 后重新自加計數(shù),這樣當(dāng)主程序還在運行,則運行指示燈就一直在閃爍。 方案論證與比較考慮到實際因素的制約,所以不可能考慮高成本以及在實驗室難以制作的設(shè)備,由于照明設(shè)備所處的環(huán)境差異較大,有些環(huán)境較為惡劣,在降低成本的同時還要保證數(shù)據(jù)通信的可靠性,所以在選擇器件時就應(yīng)優(yōu)先考慮上述因素。 主控制器對于從節(jié)點單片機的選擇,我們采用比較常用的 STC89 系列單片機,如STC89C52。選用該型單片機的原因:(1)從節(jié)點的功能比較單一,程序量不大,采用該型單片機無須擴展程序存儲器。(2)起數(shù)據(jù)采集和輸出控制作用的智能從節(jié)點的數(shù)據(jù)都會及時發(fā)送出去,需要的本地存儲器容量也不大,采用該型單片機無須擴展數(shù)據(jù)存儲器;(3)選用該類型單片機,可以采用由德國的 Keil 公司生產(chǎn)的,在代碼生成方面處于世界領(lǐng)先地位 Keil 軟件開發(fā)工具,該開發(fā)工具比較容易獲得,具有友好的界面,我們也比較熟悉。它內(nèi)部具有兼容于 MCS51 的頭文件,編程方便,開發(fā)周期短,開發(fā)效率高。故,我們選用 STC89C52 單片機作為從節(jié)點主控制器。(4)STC89 系列單片機具有較豐富的中斷和計數(shù)器資源;指令與 MCS51 兼容,在軟件編寫上比較方便。比較后選擇 STC89C52 單片機作為智能從節(jié)點主控制器芯片。對于主節(jié)點,由于要保存和處理多個節(jié)點燈設(shè)備的數(shù)據(jù),需要較大的 RAM 容量,而為了建立友好的人機界面,還需要彩屏、觸摸屏、SD 卡、串口、蜂鳴器、CAN 接口電路等外設(shè),程序較為龐大,需要的 ROM 較大,另外,主節(jié)點需要處理大量的數(shù)據(jù),需要較快的運算速度,數(shù)據(jù)處理中常常要用到乘法運算,為了提高數(shù)據(jù)運算能力,需要硬件乘法器的支持。然而通常的 STC89C52 單片機運算速度較慢,RAM 和 ROM 都較小,內(nèi)部無集成硬件乘法器和 CAN 控制器等。因此,不選用 STC89C52 單片機作為主節(jié)點的主控制器。由于 LPC2119ARM 系列微處理器運行速度較快,內(nèi)部有 16KRAM 和 128K 的Flash 存儲器能滿足主節(jié)點的存儲器要求,并且 LPC2119 內(nèi)部集成有硬件乘法器和 CAN控制器,選用該處理器作為主節(jié)點的住控制器,可以提高可靠性并降低制作成本,此外,LPC2119 處理器功耗較低,采用 和 供電就可以了,耗電較少。故,主節(jié)點采用 NXP 公司生產(chǎn)的 LPC2119 微處理器作為主控制器。 CAN 控制器選擇選擇哪種 CAN 控制器將對整個系統(tǒng)的成本產(chǎn)生較大的影響。目前市場上 CAN 控制器分為單片機(或 DSP)內(nèi)嵌式和獨立式二大類。(1)主節(jié)點 CAN 控制器選擇由于主節(jié)點選用 LPC2119 處理器,其內(nèi)部集成有 CAN 控制器,故主節(jié)點無需再選有獨立 CAN 控制器。(2)從節(jié)點 CAN 控制器選擇考慮到從節(jié)點控制任務(wù)簡單,為降低成本選用常用的 STC89C52 作為主控制器,其內(nèi)部無集成的 CAN 控制器,故選用獨立的 CAN 控制器芯片。在這里我們采用 Philips公司的獨立式 CAN 控制器 SJA1000,目前在國內(nèi)市場上最熱門,它與單片機的接口簡單,訪問 SJA1000 就像訪問單片機的外部 RAM 一樣,操作簡單,方便。而且 SJA1000 還是一款支持 協(xié)議的 CAN 控制器芯片,并且其價格也不高,其可采用直列式封裝,制作簡單。因此,我們選擇 SJA1000 作為從節(jié)點的 CAN 控制器。 CAN 收發(fā)器對于 CAN 收發(fā)器,只有 PCA82C250 最為適合了,盡管有 TJA1050,PCA82C252,CF15,Si9200 但是 PCA82C250 在市場應(yīng)用多,相關(guān)的設(shè)計較多,因此選擇 PCA82C250 作為CAN 收發(fā)器。 CAN 通信電纜為了提高 CAN 總線通信可靠性和抗干擾能力,我們采用雙絞線作為 CAN 總線通信電纜,雙絞線通過雙絞,減少自身對外界的電磁波輻射,同時也提高了外部電磁波輻射的抗干擾能力,另外,當(dāng)平行對線傳輸高頻信號時由于兩線之間存在的電容作用,引起信號相位相對滯后,當(dāng)平行線對雙絞時,就會在線對形成電容的同時形成一個串聯(lián)的電感,以抵消電容的影響,從而提高通信可靠性。 系統(tǒng)結(jié)構(gòu)框圖本系統(tǒng)主要采用主從式總線型網(wǎng)絡(luò)結(jié)構(gòu)。該網(wǎng)絡(luò)結(jié)構(gòu)具有結(jié)構(gòu)簡單、布線容易、成本低、編程容易等優(yōu)點。系統(tǒng)中由 CAN 主節(jié)點、多個 CAN 從節(jié)點、執(zhí)行機構(gòu)和燈設(shè)備等構(gòu)成。在主節(jié)點上可以設(shè)置或監(jiān)視所有從節(jié)點的燈設(shè)備的開關(guān)燈狀態(tài)及剩余時間。從節(jié)點也可以自行設(shè)置本節(jié)點燈的狀態(tài)情況。網(wǎng)絡(luò)中可以實現(xiàn)點對點的通信方式以及廣播發(fā)送方式,以確保幀信息的正確達到。具體系統(tǒng)總體結(jié)構(gòu)框圖,如圖 所示:CAN_LCAN_H120220CAN1(從節(jié)點)CAN2(從節(jié)點)CANn(從節(jié)點)CAN0(主節(jié)點)照明燈 1 照明燈 2 照明燈 n圖 系統(tǒng)總體結(jié)構(gòu)框圖智能通信節(jié)點主要由單片機處理器、CAN 總線控制器和相應(yīng)的輸入輸出設(shè)備三部分組成。首先主節(jié)點將帶有照明控制信號的控制信息通過 CAN 總線網(wǎng)絡(luò)發(fā)送到特定的從節(jié)點,從節(jié)點接收到控制信息后,經(jīng)過適當(dāng)?shù)奶幚?,按主?jié)點控制要求產(chǎn)生特定的照明控制信號,以控制相應(yīng)的照明設(shè)備。從而實現(xiàn)對照明設(shè)備的定時開、關(guān)控制。以此同時,從節(jié)點不斷的對相應(yīng)照明燈的開關(guān)狀態(tài)、當(dāng)前剩余時間等數(shù)據(jù)進行采集,并通過 CAN 網(wǎng)絡(luò)發(fā)送給主節(jié)點顯示,以實現(xiàn)對各照明設(shè)備的實時監(jiān)控。另外,照明燈的控制信號可以在照明設(shè)備現(xiàn)場的從節(jié)點上設(shè)置,也可以在控制室里的主節(jié)點上設(shè)置。無論是在哪里改變了照明設(shè)備的控制信號,都能實時的刷新主、從節(jié)點上的顯示狀態(tài)。從而使系統(tǒng)控制靈活、方便。3 硬件設(shè)計 系統(tǒng)硬件結(jié)構(gòu)系統(tǒng)硬件結(jié)構(gòu)主要包括主節(jié)點硬件電路結(jié)構(gòu)和從節(jié)點硬件電路結(jié)構(gòu)以及繼電器模塊等。主節(jié)點由 LPC2119ARM7 處理器、TFT 彩色觸摸屏、串口、SD 卡、CAN 總線驅(qū)動電路、蜂鳴器、JTAG 接口、獨立式鍵盤、電源電路等模塊組成。主節(jié)點硬件結(jié)構(gòu)圖如圖 所示。L P C 2 1 1 9觸摸屏輸入T F T 彩色液晶屏電路C A N控制器P C A 8 2 C 2 5 0 C A N 總線驅(qū)動電路S D 卡接口電路U A R T 串口電路J T A G 調(diào)試接口電路C A N _ HC A N _ L圖 主節(jié)點硬件結(jié)構(gòu)從節(jié)點由 STC89C52 單片機、LCM1602 液晶模塊、串口、獨立式鍵盤、SJA1000CAN 控制器電路、CAN 總線驅(qū)動電路、繼電器控制電路等模塊組成。從節(jié)點硬件結(jié)構(gòu)圖如圖 所示。S T C 8 9 C 5 2S J A 1 0 0 0 C A N 控制器接口電路P C A 8 2 C 2 50 C A N 驅(qū)動電路鍵盤輸入電路L C D 1 6 0 2 液晶接口電路繼電器控制電路2 2 0 V 照明設(shè)備C A N _ HC A N _ LU A R T 串口電路圖 從節(jié)點硬件結(jié)構(gòu) 系統(tǒng)單元電路設(shè)計 主節(jié)點單元電路設(shè)計 ARM7 最小系統(tǒng)設(shè)計LPC2119 最小系統(tǒng)電路主要由 LPC2119ARM7 處理器、時鐘振蕩電路、復(fù)位電路組成。時鐘振蕩電路采用內(nèi)給定方式,外接 晶振與兩個 22pF 的起振電容,外接晶振與處理器內(nèi)部的反相器構(gòu)成振蕩電路產(chǎn)生振蕩時鐘,經(jīng) PLL 鎖相環(huán)鎖相倍頻(或旁路 PLL)后為 CPU 提供工作時鐘。復(fù)位電路采用阻容式復(fù)位電路,由于 LPC2119 微處理器的有效復(fù)位信號為低電平,故電容與地連接,電容另一端與復(fù)位端口相連,以保證復(fù)位端口為高電平,以處在正常工作模式。LPC2119 最小系統(tǒng)電路原理圖如圖 所示。圖 LPC2119 最小系統(tǒng)電路原理圖 TFT 彩屏電路設(shè)計TFT 彩屏電路包括彩屏模塊電路(可移動部分)和控制器與彩屏模塊之間的接口電路。其中,彩屏模塊電路主要由 TFT 液晶電路、觸摸屏電路、背光燈電路組成。觸摸屏采用 4 線電阻式觸摸屏,觸摸屏控制器采用的是具有 12 位 A/D 轉(zhuǎn)換精度的 XPT2046 芯片。TFT 液晶模塊電路原理圖如圖 所示 RST31C78W9D0B256VIGNLEAKX+圖 TFT 液晶模塊電路原理圖TFT 液晶模塊接口電路原理圖是處理器與 TFT 液晶模塊接口之間的部分電路。其主要由 34Pin 雙列直插插座和少量電阻電容組成,用于為 TFT 液晶模塊提供一個插接接口,以使 TFT 液晶模塊與處理器相連。TFT 液晶模塊接口電路原