摘要:隨著經(jīng)濟(jì)的發(fā)展和科技的進(jìn)步,人們對照明燈具的節(jié)能和科學(xué)管理提出了更高的要求,智能照明控制在校園中的應(yīng)用越來越廣泛。本文介紹了LIN總線技術(shù)及其在51系列單片機(jī)中的實(shí)現(xiàn),并以此為基礎(chǔ)設(shè)計(jì)了一種基于普通單片機(jī)組成的LIN網(wǎng)絡(luò)實(shí)現(xiàn)智能教學(xué)樓照明控制系統(tǒng),實(shí)現(xiàn)對整個(gè)系統(tǒng)的集中管理,降低系統(tǒng)的管理費(fèi)用。
關(guān)鍵詞:智能照明;LIN總線;51單片機(jī);傳感器
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A
[align=center]Application of LIN field bus in the illumination system of teaching building
ZHANG Jun-Li, CHEN Xing, HOU Dian-Hua
(School of Mechanical Engineering , Dalian University of Technology, Dalian, Liaoning, 116024, China)[/align]
Abstract: With the development and progress of economy and technology, people set a higher request to the energy conservation of illumination lamps and scientific management. Intelligent illumination control is getting more and more widespread in the campus application. The LIN bus technique and it’s realization in 51 series SCM was introduced in this article, take this as the foundation , an intelligent illumination control system was designed based on the LIN network consist of General SCM, which can realize the centralized management of the whole system, and reduce management costs.
Keywords: Intelligent illumination; LIN bus; 51 SCM; sensor
1 引言
據(jù)調(diào)查,目前大多高校教學(xué)樓照明用電的管理基本是處于一種粗放式的管理狀態(tài)。其管理有三種模式:1)無專人管理,由學(xué)生自行控制開啟,再由值日學(xué)生在中午、下午和晚自習(xí)后關(guān)閉燈具;2)利用定時(shí)開關(guān),根據(jù)作息時(shí)間開啟和關(guān)閉整個(gè)教學(xué)樓的照明電源;3)由專人負(fù)責(zé),即管理人員根據(jù)作息時(shí)間和天氣情況分樓或分層送電。這三種管理模式都不同程度地存在著布線復(fù)雜、浪費(fèi)電能、無法及時(shí)地保證各個(gè)教室的照度以及控制的準(zhǔn)確程度低等缺陷[1]。在教學(xué)樓中引入智能照明系統(tǒng)可以有效地提高管理水平,改善工作和學(xué)習(xí)環(huán)境,達(dá)到良好的節(jié)能效果。
目前,智能照明控制系統(tǒng)按網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)主要分為總線式和以星形結(jié)構(gòu)為主的混合式[2]。本文設(shè)計(jì)的教學(xué)樓智能照明系統(tǒng)采用CAN/LIN混合網(wǎng)絡(luò)體系結(jié)構(gòu),即干線采用CAN(Controller Area Network)總線,支線采用LIN(Local Interconnect Network)總線。CAN網(wǎng)絡(luò)是一種架構(gòu)開放、廣播式的新一代網(wǎng)絡(luò)通信協(xié)議,具有很高的可靠性,高速、長距離傳輸,開發(fā)系統(tǒng)廉價(jià)。LIN總線最初用于實(shí)現(xiàn)汽車內(nèi)部諸多電子控制單元之間的通信,作為子網(wǎng)絡(luò),用于一些不需要諸如CAN總線的帶寬和多功能場合。但是LIN的應(yīng)用并不局限于汽車領(lǐng)域,在諸如工業(yè)控制領(lǐng)域也占有廣闊的應(yīng)用地位和前景。
由于LIN總線基于通用UART接口,幾乎所有微控制器都具備LIN必需的硬件,網(wǎng)絡(luò)采用極少的信號線(一根12V信號總線和一個(gè)無固定時(shí)間基準(zhǔn)的節(jié)點(diǎn)同步時(shí)鐘線),設(shè)備硬件成本低。使用LIN總線作為總線型樓宇智能照明控制系統(tǒng)的子網(wǎng)絡(luò),可以兼顧通訊可靠,節(jié)省成本。
2 LIN總線通信規(guī)則
LIN的工作原理是基于單主/多從概念。如圖1所示,在一個(gè)LIN網(wǎng)絡(luò)中,由一個(gè)主節(jié)點(diǎn)以及多個(gè)從節(jié)點(diǎn)構(gòu)成,主節(jié)點(diǎn)由主機(jī)任務(wù)和從機(jī)任務(wù)組成。而所有從機(jī)節(jié)點(diǎn)只包含從機(jī)任務(wù)。主節(jié)點(diǎn)用于控制LIN總線,它通過對從節(jié)點(diǎn)進(jìn)行查詢,將數(shù)據(jù)發(fā)布到總線上。從節(jié)點(diǎn)僅在主節(jié)點(diǎn)的命令下發(fā)送數(shù)據(jù),從而在無需仲裁的情況下實(shí)現(xiàn)雙向通訊。
LIN協(xié)議的發(fā)送是由報(bào)文實(shí)現(xiàn)的,每個(gè)報(bào)文由主機(jī)節(jié)點(diǎn)發(fā)出的報(bào)文頭和主機(jī)或從機(jī)節(jié)點(diǎn)發(fā)出的報(bào)文響應(yīng)組成。如圖2所示。報(bào)文的傳送是在主節(jié)點(diǎn)發(fā)出一個(gè)同步間隔場后開始的,然后跟隨的是同步場和標(biāo)識符字節(jié)。主節(jié)點(diǎn)通過在發(fā)送同步場可設(shè)定整個(gè)總線時(shí)鐘。標(biāo)識符字節(jié)告訴LIN總線隨后將發(fā)送的是什么數(shù)據(jù),并指明哪個(gè)節(jié)點(diǎn)應(yīng)該應(yīng)答及應(yīng)答的長度是多少。對于給定的命令,只有一個(gè)從節(jié)點(diǎn)可以應(yīng)答。從機(jī)任務(wù)接收標(biāo)識符后對標(biāo)識符進(jìn)行濾波確認(rèn),當(dāng)標(biāo)識符表明節(jié)點(diǎn)與本次通信有關(guān)時(shí),發(fā)送由數(shù)據(jù)和校驗(yàn)組成的響應(yīng)。從節(jié)點(diǎn)僅在主節(jié)點(diǎn)的控制下在LIN總線上發(fā)送數(shù)據(jù)。一旦數(shù)據(jù)發(fā)布到總線上,任何節(jié)點(diǎn)都可以接收該數(shù)據(jù)。因此,一個(gè)從節(jié)點(diǎn)向其它從節(jié)點(diǎn)發(fā)送數(shù)據(jù)無需主節(jié)點(diǎn)干預(yù)。由于LIN協(xié)議使用低成本RC振蕩器,因此從節(jié)點(diǎn)必須檢測主節(jié)點(diǎn)每次發(fā)送的波特率,并調(diào)整為當(dāng)前速率[3]。
[align=center]
圖1 單主多從原理圖
圖2 LIN報(bào)文幀結(jié)構(gòu)[/align]
LIN總線可以用軟件編程實(shí)現(xiàn)各種特性,也可以通過軟/硬件功能增添新的特性,這樣不同的模塊就都可以用一個(gè)硬件或一個(gè)軟件平臺實(shí)現(xiàn)。LIN總線的靈活性有利于降低生產(chǎn)和軟/硬件維護(hù)方面的成本。因?yàn)長IN總線協(xié)議非常簡單,所以用質(zhì)優(yōu)價(jià)廉的8位單片機(jī)就可以實(shí)現(xiàn),從而降低系統(tǒng)總成本。
3 系統(tǒng)實(shí)現(xiàn)
3.1系統(tǒng)組成
教學(xué)樓照明控制系統(tǒng)的基本組成包括主控中心、照明控制器、動態(tài)傳感器和照度傳感器等,系統(tǒng)使用通用計(jì)算機(jī)作為主控中心,通過通訊裝置與網(wǎng)絡(luò)實(shí)現(xiàn)通訊。計(jì)算機(jī)上可直接實(shí)現(xiàn)編程、監(jiān)控、故障報(bào)警等功能。照明控制器是智能照明控制系統(tǒng)的核心部分,既可獨(dú)立工作,也可以由計(jì)算機(jī)中心控制。動態(tài)傳感器利用紅外線或超聲波的原理,自動識別房間內(nèi)是否有人存在,從而給控制器發(fā)送信號,實(shí)現(xiàn)“人來燈亮,人走燈滅”的動態(tài)控制功能。照度傳感器核心部件是光電耦合器,照度傳感器通過感應(yīng)外部自然光源的照度來調(diào)節(jié)室內(nèi)照明的亮度,實(shí)現(xiàn)智能探測和智能調(diào)節(jié)的功能。
3.2 系統(tǒng)結(jié)構(gòu)原理
系統(tǒng)總體結(jié)構(gòu)如圖3 所示。每個(gè)教學(xué)樓的燈光控制系統(tǒng)干線采用CAN總線,支線采用LIN總線。每個(gè)教室內(nèi)組成一個(gè)LIN網(wǎng)絡(luò),根據(jù)需要設(shè)置LIN從節(jié)點(diǎn)的個(gè)數(shù)。
主機(jī)節(jié)點(diǎn)采集本地各控制開關(guān)的狀態(tài),并接受上層網(wǎng)絡(luò)CAN總線上的遠(yuǎn)程信息,據(jù)此產(chǎn)生控制指令,并將指令轉(zhuǎn)換為LIN報(bào)文幀,通過LIN網(wǎng)絡(luò)發(fā)送給相應(yīng)從機(jī)節(jié)點(diǎn)。從機(jī)節(jié)點(diǎn)通過收發(fā)器TJA1020接收到與自己相關(guān)的報(bào)文幀后,對報(bào)文幀進(jìn)行拆封、解讀,然后根據(jù)獲得的指令控制相應(yīng)的執(zhí)行器動作,從而實(shí)現(xiàn)對各個(gè)照明燈狀態(tài)的控制。同時(shí),在需要時(shí)從機(jī)節(jié)點(diǎn)分別將其控制部件所處狀態(tài)反饋給主機(jī)節(jié)點(diǎn),主機(jī)節(jié)點(diǎn)再將該狀態(tài)信息通過指示燈等形式通過CAN總線發(fā)給其他控制單元。
從節(jié)點(diǎn)的設(shè)計(jì)分為兩個(gè)模塊,即傳感器模塊和執(zhí)行器模塊。傳感器用于檢測室內(nèi)光線度等信息,當(dāng)傳感器檢測到有人時(shí),立刻判斷此時(shí)教室內(nèi)的光線是否適合學(xué)習(xí),并將此信息通過LIN總線傳給主節(jié)點(diǎn),主節(jié)點(diǎn)收到消息后,判斷該情況對應(yīng)的燈光控制模式,然后向LIN總線發(fā)送帶相應(yīng)標(biāo)識符場的報(bào)文頭,啟動一次主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送數(shù)據(jù)的LIN總線通信。等待LIN總線處理該報(bào)文幀之后,主節(jié)點(diǎn)啟動一次從節(jié)點(diǎn)向主節(jié)點(diǎn)發(fā)送數(shù)據(jù)的LIN總線通信,該從節(jié)點(diǎn)即為前一次LIN總線通信中,接收到主節(jié)點(diǎn)命令的從節(jié)點(diǎn)。如果主節(jié)點(diǎn)接收到的從節(jié)點(diǎn)數(shù)據(jù)與理論上應(yīng)該收到的數(shù)據(jù)不符,主節(jié)點(diǎn)上的報(bào)錯(cuò)指示燈點(diǎn)亮,并可以顯示發(fā)生故障的從節(jié)點(diǎn)號碼。
[align=center]
圖3 系統(tǒng)總體結(jié)構(gòu)[/align]
3.3 LIN節(jié)點(diǎn)實(shí)現(xiàn)
LIN網(wǎng)絡(luò)的主機(jī)節(jié)點(diǎn)和從機(jī)節(jié)點(diǎn)采用MCS-51系列單片機(jī)AT89C51和PHLIP的TJA1020收發(fā)器組成,LIN協(xié)議控制器AT89C51是低功耗/低電壓、高性能CMOS 8位單片機(jī)。空閑方式停止CPU工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。TJA1020是LIN主/從協(xié)議控制器和LIN物理總線之間的接口。它使用的波特率可從2.4到20Kbits/s??刂破髟赥XD管腳輸入的發(fā)送數(shù)據(jù)流通過LIN收發(fā)器轉(zhuǎn)換成LIN總線信號,并由收發(fā)器控制轉(zhuǎn)換速率和波形,減少EME。
3.3.1 LIN主節(jié)點(diǎn)設(shè)計(jì)
LIN主節(jié)點(diǎn)硬件原理如圖2所示。由LIN協(xié)議的分析可知,在一次幀通信過程中,主從節(jié)點(diǎn)在大部分時(shí)間里是以標(biāo)準(zhǔn)的串行通信數(shù)據(jù)幀的形式交換數(shù)據(jù)的,通信的關(guān)鍵是要實(shí)現(xiàn)主節(jié)點(diǎn)和從節(jié)點(diǎn)的同步。在同步過程中,主、從節(jié)點(diǎn)所執(zhí)行的操作是不同的:主機(jī)節(jié)點(diǎn)的任務(wù)是要發(fā)送報(bào)文頭,從節(jié)點(diǎn)的任務(wù)是接收和判斷報(bào)文頭,實(shí)現(xiàn)與主節(jié)點(diǎn)的同步。
報(bào)文頭的間隔場是一個(gè)基于主機(jī)節(jié)點(diǎn)時(shí)鐘頻率的13個(gè)以上位時(shí)(bit time)和至少1個(gè)位時(shí)的間隔界定符。對主節(jié)點(diǎn)來講,這一部分是實(shí)現(xiàn)主節(jié)點(diǎn)功能的關(guān)鍵。一般情況下,串行口和I/O口(TXD,RXD)都是復(fù)用的,本系統(tǒng)中首先利用TXD管腳,將其作為I/O口使用,在程序中利用定時(shí)器在TXD/P3.1管腳上延時(shí)一個(gè)13個(gè)bit位定時(shí)的時(shí)間的低電平。也就是相當(dāng)于在發(fā)送之前,控制TXD為高電平,在發(fā)送開始的時(shí)候,首先在該管腳輸出一個(gè)低電平,利用定時(shí)器延時(shí)13bit位的時(shí)間,然后再拉高。
[align=center]
圖4 LIN主節(jié)點(diǎn)硬件原理圖[/align]
同步場的作用是使LIN從機(jī)和主機(jī)位速率同步,從而正確接收報(bào)文。當(dāng)利用中斷和定時(shí)器進(jìn)行判別同步間隔后,就可以接收同步場。當(dāng)主從節(jié)點(diǎn)的位速率相同時(shí),同步場的數(shù)據(jù)可當(dāng)串行數(shù)據(jù)發(fā)送和接收,沒有特殊的意義。
3.3.2 LIN從節(jié)點(diǎn)設(shè)計(jì)
LIN從節(jié)點(diǎn)硬件原理如圖3所示,從節(jié)點(diǎn)實(shí)現(xiàn)的關(guān)鍵是能夠正確實(shí)時(shí)地接收報(bào)文頭,達(dá)到與主節(jié)點(diǎn)的同步,為下一步的數(shù)據(jù)交換做好準(zhǔn)備。
從節(jié)點(diǎn)對間隔場和同步字節(jié)場的接收完全采用中斷方式進(jìn)行。為了能及時(shí)感受到主節(jié)點(diǎn)報(bào)文頭的起始階段,將串口接收數(shù)據(jù)端RXD端與單片機(jī)的一個(gè)外部中斷觸發(fā)端口(INT1或INT0)相連,這樣,當(dāng)主節(jié)點(diǎn)發(fā)送過來的間隔場的下降沿到來時(shí),就可以實(shí)時(shí)地觸發(fā)從節(jié)點(diǎn)進(jìn)入對報(bào)文頭的接收程序段。從節(jié)點(diǎn)自總線電平下降沿到來之際,就對總線顯性電平(低電平)持續(xù)的時(shí)間進(jìn)行累積計(jì)算,直到發(fā)現(xiàn)總線恢復(fù)為隱性電平(高電平)為止。如果此段持續(xù)時(shí)間大于11個(gè)主節(jié)點(diǎn)工作位時(shí)時(shí)間,那么從節(jié)點(diǎn)就斷定是一次幀通信的開始。接著從節(jié)點(diǎn)對同步字節(jié)場的接收作好準(zhǔn)備,在同步字節(jié)場開始位的第一個(gè)下降沿起,連續(xù)對同步字節(jié)場的后4個(gè)下降沿進(jìn)行計(jì)時(shí)累加,最后將得到的計(jì)時(shí)時(shí)間除以8,得到主節(jié)點(diǎn)發(fā)送數(shù)據(jù)的位時(shí)時(shí)間,即主節(jié)點(diǎn)下一步將要進(jìn)行數(shù)據(jù)通信的波特率。從節(jié)點(diǎn)以此作為串口波特率設(shè)定值,通過串口與主節(jié)點(diǎn)交換數(shù)據(jù)。
間隔場和同步字節(jié)場的計(jì)時(shí)方法是將定時(shí)器T0設(shè)定成定時(shí)一個(gè)位時(shí)時(shí)間后中斷,在各個(gè)階段查詢定時(shí)器T0中斷次數(shù),通過計(jì)算T0中斷次數(shù)的差值,可以間接算出各個(gè)階段的持續(xù)時(shí)間長度。
由于普通單片機(jī)的外部中斷觸發(fā)端只有下降沿和低電平兩種觸發(fā)方式,所以報(bào)文頭間隔場開始階段和同步字節(jié)場的下降沿可以觸發(fā)從節(jié)點(diǎn),但報(bào)文信號的上升沿卻無法讓從節(jié)點(diǎn)感知。讓接收數(shù)據(jù)流分別經(jīng)過1個(gè)三態(tài)門和1個(gè)三態(tài)非門再進(jìn)入單片機(jī)的串口,2個(gè)三態(tài)門由單片機(jī)的兩個(gè)端口來控制,就可以解決這個(gè)問題。一般情況下,三態(tài)門導(dǎo)通,三態(tài)非門截止,數(shù)據(jù)流正常進(jìn)入單片機(jī)串口。當(dāng)間隔場的下降沿觸發(fā)單片機(jī)后,程序控制三態(tài)門截止,三態(tài)非門導(dǎo)通,數(shù)據(jù)流反相進(jìn)入單片機(jī),間隔場的上升沿經(jīng)過三態(tài)非門后變成下降沿,同樣也可以觸發(fā)單片機(jī)中斷。在隨后的同步字節(jié)場的接收中,可以按照正常中斷方式進(jìn)行,即可由同步字節(jié)場的5個(gè)下降沿觸發(fā)單片機(jī)中斷5次接收。
[align=center]
圖5 LIN從節(jié)點(diǎn)硬件原理圖[/align]
4 總結(jié)
本文所設(shè)計(jì)的教學(xué)樓照明控制系統(tǒng)是應(yīng)用LIN總線技術(shù)構(gòu)成的控制子網(wǎng)。這種利用LIN總線技術(shù)實(shí)現(xiàn)的照明控制系統(tǒng)通信實(shí)現(xiàn)簡單易行,成本低,便于網(wǎng)絡(luò)化管理,便于設(shè)備擴(kuò)充,信號傳輸可靠性高,有一定先進(jìn)性。該系統(tǒng)經(jīng)擴(kuò)展后有著非常廣闊的應(yīng)用前景,不僅可以擴(kuò)展到辦公大樓、商業(yè)中心等公共場所理想的智能照明控制系統(tǒng),且在節(jié)能方面也有著重大的經(jīng)濟(jì)價(jià)值。
參考文獻(xiàn)
[1] 李明.談高校教學(xué)樓照明管理中的節(jié)能措施,山西建筑,第33卷第31期,2007年11月
[2] 胡興軍.發(fā)展中的智能照明系統(tǒng)[J].光源與照明,2004,(3): 44~46.
[3] 廣州周立功單片機(jī)發(fā)展有限公司. LIN的規(guī)范(V1.2)
[4] 解小華,李浩,陳紅. LIN協(xié)議在MCS-51單片機(jī)中的實(shí)現(xiàn).控制工程,第11卷增刊,2004年7月
作者簡介:
張俊麗(1984-),女,碩士研究生,研究方向:嵌入式開發(fā)
陳星(1963-),男,副教授,研究方向:嵌入式系統(tǒng)與現(xiàn)場總線
侯典華(1982-),男,碩士研究生,研究方向:嵌入式開發(fā)
Author brief introduction:
Zhang Jun-Li(1984-)female, Master, Research: Exploiture of Embedded system.
Chen Xing (1963-), male, Associate Professor, Research: Embedded System. And Field Bus
Hou Dian-Hua (1982- ), male, Master, Research: Exploiture of Embedded system.
通信地址:大連理工大學(xué)機(jī)械工程學(xué)院微電子中心 郵編:116023
E-mail:sharly1984@163.com