CAN總線在家庭智能化控制系統(tǒng)中的應(yīng)用研究

發(fā)布時(shí)間:2024-03-27
家庭智能控制系統(tǒng)的主要功能集中在家庭安全報(bào)警、電話或電腦遠(yuǎn)程控制、紅外遙控、自動(dòng)抄表控制、燈光和濕度控制等方面。根據(jù)智能終端設(shè)備傳輸數(shù)據(jù)和功能的不同可以把它分成兩類子網(wǎng),一類是傳輸數(shù)據(jù)以數(shù)據(jù)量小、速率低的家庭自動(dòng)化控制設(shè)備;另一類是傳輸多媒體信息、(視頻、音頻信號(hào)),信號(hào)量大、速率快,如視頻會(huì)議、音頻點(diǎn)播等。家庭智能終端設(shè)備可以采用總線結(jié)構(gòu)組建成有線子網(wǎng)和無(wú)線子網(wǎng),因各設(shè)備分布在家中不同的地方,對(duì)于組建成有線子網(wǎng)布線比較復(fù)雜,但是如果采用plc與can總線構(gòu)建成網(wǎng)絡(luò),將降低成本。
can(controllerareanetwork,控制器局域網(wǎng))是德國(guó)bosch公司在20世紀(jì)80年代初為汽車檢測(cè)控制而開發(fā)的一種串行數(shù)據(jù)通訊協(xié)議,它是一種多主機(jī)總線,通訊介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,通訊速率為1mb/s。can總線具有卓越的性能,極高的可靠性和獨(dú)特的設(shè)計(jì),廣泛應(yīng)用于工業(yè)自動(dòng)化、交通工具、醫(yī)療儀器以及建筑、環(huán)境控制等眾多部門。
1家庭智能化控制系統(tǒng)的組成
家庭智能化控制系統(tǒng)是電視、洗衣機(jī)、空調(diào)及水表、電表、燃?xì)獗淼仍O(shè)備的指揮通信和信息管理的核心,主要功能是與遠(yuǎn)程控制系統(tǒng)進(jìn)行數(shù)傳通信,接收各種控制口令,完成對(duì)相應(yīng)設(shè)備的實(shí)時(shí)控制。
控制系統(tǒng)中凡具有嵌入式微處理器或微計(jì)算機(jī)的單體均通過(guò)can總線相互連接。組成分布式局部網(wǎng),實(shí)現(xiàn)數(shù)據(jù)交換和信息資源共享。這種設(shè)計(jì)具有以下優(yōu)點(diǎn):減少了通信端口、連接電纜;抗干擾能力強(qiáng);配置靈活、系統(tǒng)擴(kuò)展和升級(jí)方便;調(diào)試簡(jiǎn)單,檢修方便。
由can總線組成的家庭智能化控制系統(tǒng)原理如圖1所示。
2.plc與can總線的連接
現(xiàn)以gefanuc系列90plc為例,給出一個(gè)plc與can總線的連接方案。
ge系列90plc都帶有經(jīng)轉(zhuǎn)換的rs232串行通訊口,編程計(jì)算機(jī)通過(guò)此串口與plc進(jìn)行通訊和編程。rs232標(biāo)準(zhǔn)電平采用負(fù)邏輯,規(guī)定+3~+15v之間的任意電平為邏輯“0”電平,-3~-15v之間的任意電平為邏輯“1”電平。而can信號(hào)則使用差分電壓傳送,兩條信號(hào)線稱為“can_h”和“cam_l”,靜態(tài)時(shí)均為2.5v左右,此時(shí)的狀態(tài)表示為邏輯“1”,也可以叫做“隱性”;用can_h比can_l高表示邏輯“0”,稱為“顯性”。顯性時(shí),通常電壓值為:can_h=3.5v,can_l=1.5v。
rs232串口的幀格式為:1位起始位,8位數(shù)據(jù)位,1位可編程的第9位(此位為發(fā)送和接收的地址/數(shù)據(jù)位),1位停止位。而can的數(shù)據(jù)幀格式為:幀信息+id+數(shù)據(jù)(可分為標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種格式)。因此,設(shè)計(jì)時(shí)就需要有一個(gè)微控制器來(lái)實(shí)現(xiàn)電平和幀格式等的轉(zhuǎn)換,其轉(zhuǎn)換方式如圖2所示。
用單片機(jī)at89c52作為微處理器;用sjal000作為can微控制器,sjal000中集成了can協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可被動(dòng)局面對(duì)通信數(shù)據(jù)的幀處理;高速光電隔離用6n137實(shí)現(xiàn),其作用是防止串入信號(hào)干擾;max232用來(lái)完成rs232電平到微控制器接口芯片ttl電平的轉(zhuǎn)換。具體的硬件接口電路參見(jiàn)sjal000的資料,但有以下幾點(diǎn)需要注意:
(1)can總線兩端接有一個(gè)120ω的電阻,其作用是匹配總線阻抗,提高數(shù)據(jù)通信的抗干擾性及可靠性。但實(shí)際上只需保證can網(wǎng)絡(luò)中“can_h”和“can_l”之間的跨接電阻為60ω即可。
(2)sjal000的20引腳rxl在不使用時(shí)可接地,配合cdr.6的置位可使總線長(zhǎng)度大大增加。
(3)引腳tx0,txl的接法決定了串行輸出的電平。具體關(guān)系可參考輸出控制寄存器ocr的設(shè)置。
(4)at82c250的rs引腳與地間接有1個(gè)斜率電阻。電阻大小可根據(jù)總線通信速度作適當(dāng)調(diào)整,一般在16~140kω之間。
(5)max232外圍需要4個(gè)電解電容c1,c2,c3,c4,這些電容也是內(nèi)部電源轉(zhuǎn)換所需電容,其取值均為1μf/25v,宜選用鉭電容并且位置應(yīng)用量靠近芯片,電源vcc和地之間要接1個(gè)0.1μf的去耦電容。
在微處理控制下,rs232和can進(jìn)行數(shù)據(jù)交換時(shí),采用串口接收和can中斷方式可提高工作效率。sjal000的初始化在復(fù)位模式下才可以進(jìn)行,主要包括工作方式的設(shè)置、時(shí)鐘分頻和驗(yàn)收濾波寄存器的設(shè)置、波特率參數(shù)的設(shè)置以及中斷允許寄存器的設(shè)置等。其主程序流程圖如圖3所示。
數(shù)據(jù)能否準(zhǔn)確傳遞還取決于波特率和流量控制,這也是軟件設(shè)計(jì)時(shí)不可忽略的地方。因此接下來(lái)主要介紹can波特率的設(shè)置、串口波特率的自動(dòng)檢測(cè)、串口數(shù)據(jù)流量控制。
can協(xié)議中的要素之一是波特率??梢栽O(shè)置位周期中的位采樣點(diǎn)位置和采樣次數(shù),以使可以自由地優(yōu)化應(yīng)用網(wǎng)絡(luò)性能,但在優(yōu)化過(guò)程中,要注意位定時(shí)參數(shù)基準(zhǔn)參考振蕩器的容差和系統(tǒng)中不同信號(hào)傳播延遲之間的關(guān)系。
系統(tǒng)的位速率fbit表示每單位時(shí)間傳輸數(shù)據(jù)位的量,即波特率fbit=1/tbit。額定的位定時(shí)由3個(gè)互不重疊的段sync_seg,tsegl和tseg2組成,這3個(gè)時(shí)間段分別是tsync_seg,ttsegl和ttseg2。所以,額定位周期tbit是3個(gè)時(shí)間段的和:tbit=tsync_seg+ttsegl+ttseg2。位周期中這些段都用整數(shù)個(gè)基本時(shí)間單位來(lái)表示。該時(shí)間單位叫時(shí)間份額tq,時(shí)間份額的持續(xù)時(shí)間是can系統(tǒng)時(shí)鐘的一個(gè)周期tscl,可從振蕩器時(shí)鐘周期tclk取得。通過(guò)編程預(yù)分頻因數(shù)(波特率預(yù)設(shè)值brp)可以調(diào)整can系統(tǒng)時(shí)鐘,即tscl=brp×2tclk=2bpr/clk。
對(duì)can位定時(shí)計(jì)算的另一個(gè)很重要的時(shí)間段是同步跳轉(zhuǎn)寬度(sjw),持續(xù)時(shí)間是tsjw。sjw段并不是位周期的一段,只是定義了在重同步事件中被增長(zhǎng)或縮短的位周期的最大tq數(shù)量。此外,can協(xié)議還允許用戶指定位采樣模式(sam),分別是單次采樣和三次采樣模式(在3個(gè)采樣結(jié)果中選出1個(gè))。在單次采樣模式中,采樣點(diǎn)在tesg1段的末端。而三次采樣模式比單次采樣多取兩個(gè)采樣點(diǎn),它們?cè)趖segl段末端的前面,之間相差一個(gè)tq。上面所提到的bpr,sjw,sam,tesgl,tesg2都可由用戶通過(guò)can控制器的內(nèi)裝中寄存器btr0和btrl來(lái)定義。設(shè)置好btr0和btrl后,實(shí)際傳輸?shù)牟ㄌ芈史秶鸀椋鹤畲?1/(tbit-tsjw),最小=1/(tbit+tsjw)。
檢測(cè)轉(zhuǎn)換裝置的串口波特率,首先可對(duì)主機(jī)的接收波特率(以9600b/s為例)進(jìn)行設(shè)定,并在終端發(fā)送一個(gè)特定的字符(以回車符為例),這樣,主機(jī)根據(jù)接收到的字符信息就可以確定轉(zhuǎn)換裝置的通信波特率?;剀嚪腶scii值是0dh,在不同波特率下接收到的值如表1所列。
數(shù)據(jù)在兩個(gè)串口之間的傳輸時(shí),常常會(huì)出現(xiàn)丟失數(shù)據(jù)的現(xiàn)象。由于單片機(jī)緩沖區(qū)有限,如接收數(shù)據(jù)時(shí)緩沖區(qū)已滿,那么此時(shí)繼續(xù)發(fā)送來(lái)的數(shù)據(jù)就會(huì)丟失。而流控制能有效地解決該問(wèn)題,當(dāng)接收端數(shù)據(jù)處理不過(guò)來(lái)時(shí),流控制系統(tǒng)就會(huì)發(fā)出“不再接收”的信號(hào),而使發(fā)送端停止發(fā)送,直到收到“可以繼續(xù)發(fā)送”的信號(hào)再發(fā)送數(shù)據(jù)。因此流控制可以控制數(shù)據(jù)傳輸?shù)倪M(jìn)程,防止數(shù)據(jù)丟失。常用的兩種流控制是硬件流控制(包括rts/cts,dtr/cts等)和軟件流控制xon/xoff(繼續(xù)/停止),下面僅就硬件流控制rts/cts加以說(shuō)明。
采用硬件進(jìn)行流控制時(shí),串口終端rts,cts接到單片機(jī)的i/o口,通過(guò)置i/o口為1或0來(lái)接收和發(fā)出起停信號(hào)。數(shù)據(jù)終端設(shè)備(如計(jì)算機(jī))使用rts來(lái)起始單片機(jī)發(fā)出的數(shù)據(jù)流,而單片機(jī)則用cts來(lái)起動(dòng)和暫停來(lái)自計(jì)算機(jī)的數(shù)據(jù)流。實(shí)現(xiàn)這種硬件握手方式時(shí),在編程時(shí)根據(jù)接收端緩沖區(qū)的大小設(shè)置一個(gè)高位標(biāo)志和一個(gè)低位標(biāo)志,當(dāng)緩沖區(qū)內(nèi)數(shù)據(jù)量達(dá)到高位時(shí),就在接收端將cts線置低(送邏輯0),而當(dāng)發(fā)送端的程序檢測(cè)到cts為低后,就停止發(fā)送數(shù)據(jù),直到接收端緩沖區(qū)的數(shù)據(jù)量低于低位而將cts置高為止。rts則用來(lái)標(biāo)明接收設(shè)備有沒(méi)有準(zhǔn)備好接收數(shù)據(jù)。
以下是can接收子程序:
3.結(jié)語(yǔ)
通過(guò)對(duì)家庭智能控制系統(tǒng)的分析,采用plc與can總線構(gòu)建成控制性局域網(wǎng),通過(guò)仿真系統(tǒng)的測(cè)試,該總線完全能完成對(duì)家庭智能終端設(shè)備實(shí)行控制,但要使它控制的穩(wěn)定性和實(shí)時(shí)性得到進(jìn)一步提高,還需在此基礎(chǔ)上作更加深入的研究。
上一個(gè):機(jī)床風(fēng)琴護(hù)板的技術(shù)數(shù)據(jù)和應(yīng)用范圍
下一個(gè):WIKA A-10壓力變送器技術(shù)參數(shù)解讀---湖北福貴

快速檢測(cè)五軸機(jī)床的動(dòng)態(tài)精度
ipad錄屏之后為什么沒(méi)有了(為什么我的ipad沒(méi)有錄屏功能)
不銹鋼管道泵運(yùn)行效率的提高方法
蘋果手機(jī)有鎖和無(wú)鎖有什么區(qū)別在哪(蘋果機(jī)有鎖跟無(wú)鎖的區(qū)別)
美國(guó)PARKER液壓泵影響壽命的五大因素
伊朗計(jì)劃投資34億美元建汽油生產(chǎn)裝置-羽通資訊
外墻硅質(zhì)聚合聚苯板設(shè)備生產(chǎn)線
電纜層間設(shè)置防火隔板有用嗎
鋼結(jié)構(gòu)的檢測(cè)包括哪些內(nèi)容,檢測(cè)范圍
NIST SRM3074鄰苯二甲酸酯標(biāo)準(zhǔn)物質(zhì)簡(jiǎn)介
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos