基于CAN總線的溫室測(cè)控系統(tǒng)的研究與設(shè)計(jì)
CAN(Controller Area Network)總線又稱為控制局域網(wǎng),是一種多主方式串行通信協(xié)議,能有效地支持具有很高安全等級(jí)的分布實(shí)時(shí)控制。由于CAN總線具有造價(jià)低、通信速度快、可靠性高、實(shí)時(shí)性強(qiáng)等突出優(yōu)點(diǎn),在汽車行業(yè)、機(jī)械工業(yè)、家用電器及傳感器等領(lǐng)域應(yīng)用廣泛。
溫室控制技術(shù)是農(nóng)業(yè)現(xiàn)代化的重要內(nèi)容,在目前的溫室系統(tǒng)中主要是靠RS-485總線來組成控制網(wǎng)絡(luò),將采集到的數(shù)據(jù)和信息傳送到主控機(jī)中。其通信速率、節(jié)點(diǎn)連接數(shù)目都受到一定的限制。
本文提出了以CAN總線構(gòu)成現(xiàn)場(chǎng)控制網(wǎng)絡(luò)。CAN總線的通信速率最高可達(dá)1 Mbps/40 m,掛接的設(shè)備可達(dá)110個(gè)。另外信號(hào)的傳輸采用短幀結(jié)構(gòu),這樣傳輸時(shí)間短,受干擾的概率低。并且一旦網(wǎng)絡(luò)中某個(gè)節(jié)點(diǎn)故障時(shí),該節(jié)點(diǎn)具有自動(dòng)關(guān)閉輸出功能,以主動(dòng)切斷該節(jié)點(diǎn)與總線的聯(lián)系,使網(wǎng)絡(luò)上其他節(jié)點(diǎn)及通信不受影響,具有較強(qiáng)的抗干擾能力,降低了惡劣環(huán)境對(duì)于溫室系統(tǒng)的影響,提高了系統(tǒng)的實(shí)時(shí)性、可靠性和擴(kuò)充性。
1 系統(tǒng)總體設(shè)計(jì)
溫室測(cè)控系統(tǒng)采用分布式多主方式進(jìn)行通信。系統(tǒng)主要由主控上位機(jī)、CAN總線和多個(gè)智能測(cè)控模塊組成(注意:各個(gè)智能測(cè)控模塊之間存在強(qiáng)烈的相互關(guān)系)。通過對(duì)溫室內(nèi)外,特別是溫室內(nèi)部各種影響作物生長的要素用相應(yīng)智能傳感器進(jìn)行測(cè)量,然后通過CAN總線傳送給主控上位機(jī),上位機(jī)進(jìn)行數(shù)據(jù)打印、分析和處理、參數(shù)設(shè)置并且控制有關(guān)設(shè)備等工作,從而實(shí)現(xiàn)對(duì)溫室要素的調(diào)控,保證了作物生長所需的環(huán)境。系統(tǒng)上任何節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)向其他節(jié)點(diǎn)發(fā)出信息,支持點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)和全局廣播方式接受和發(fā)送數(shù)據(jù)。圖1是溫室測(cè)控系統(tǒng)總體設(shè)計(jì)圖。
2 硬件平臺(tái)設(shè)計(jì)
溫室測(cè)控系統(tǒng)的硬件平臺(tái)主要由多個(gè)CAN智能節(jié)點(diǎn)構(gòu)成,如圖2所示。本系統(tǒng)節(jié)點(diǎn)采用總線型拓?fù)浣Y(jié)構(gòu),兩芯電纜(CANH和CANL)雙絞線連接。主要由微控制器MC68S08QG8,CAN通信控制器MCP2515和CAN收發(fā)器TJA1050組成。本文中微控制器MC68S08QQ8與控制器MCP2515是通過SPI口連接,測(cè)控節(jié)點(diǎn)通過微控制器MC68S08QG8的IIC口來連接的。智能節(jié)點(diǎn)的個(gè)數(shù)是由溫室內(nèi)外所測(cè)控的環(huán)境要素來決定的,但是任意智能節(jié)點(diǎn)均可以像以太網(wǎng)節(jié)點(diǎn)那樣直接掛接在CAN總線網(wǎng)絡(luò)上,即在不犧牲可靠性的前提下進(jìn)一步擴(kuò)展現(xiàn)場(chǎng)測(cè)控節(jié)點(diǎn)的數(shù)量。
2.1 芯片介紹
選擇一款合適的MCU是系統(tǒng)穩(wěn)定的重要保障。綜合功耗、性能和價(jià)格等各種因素的考慮,本系統(tǒng)采用Freescale公司的MC68S08QG8(以下簡(jiǎn)稱為QG8)作為系統(tǒng)控制信號(hào)采集的芯片。MC68S08QG8單片機(jī)采用高性能、低功耗HCS08飛思卡爾8位微控制器為內(nèi)核,是一款集成度高、結(jié)構(gòu)緊湊、功能豐富、適用于各種場(chǎng)合的低價(jià)位單片機(jī)。MC68S08QG8除了提供Freescale豐富的外圍接口與HCS08內(nèi)核卓越性能的多功能組合外,還包括更長的電池壽命(即使工作電壓低至1.8 V,也能發(fā)揮最大效能)、業(yè)界領(lǐng)先的Flash技術(shù)、3個(gè)通信接口(SCI、SPI和IIC)以及創(chuàng)新的開發(fā)支持等其他系列單片機(jī)不可比擬的優(yōu)勢(shì)。
智能節(jié)點(diǎn)中CAN控制器完成了CAN協(xié)議中數(shù)據(jù)鏈路層和物理層的所有功能,保證通信質(zhì)量。本系統(tǒng)選用了一種獨(dú)立的CAN協(xié)議控制器——Microchip公司的MCP2515。MCP2515完全支持CAN V2.0B技術(shù)規(guī)范,MCP2515還包含3個(gè)發(fā)送緩沖器和2個(gè)接受緩沖器,減少了單片機(jī)的管理負(fù)擔(dān)。與傳統(tǒng)上使用的CAN控制器SJA1000相比較,它與MCU的連接是通過行業(yè)標(biāo)準(zhǔn)串行外設(shè)接口(SPI)來實(shí)現(xiàn)的,這樣可以減少芯片使用的引腳,簡(jiǎn)化CAN總線的電路的連接,提高了系統(tǒng)穩(wěn)定性。
CAN總線收發(fā)器提供CAN控制器與物理總線之間的接口,是影響CAN總線網(wǎng)絡(luò)安全性、可靠性和電磁兼容性的主要因素。本系統(tǒng)采用Phlips公司的TJA1050作為總線收發(fā)器。TJA1050有兩種工作模式:高速和待機(jī),其中待機(jī)模式可以防止由于CAN控制器失控而造成的網(wǎng)絡(luò)阻塞。并且在TJA1050中還設(shè)計(jì)了一個(gè)超時(shí)定時(shí)器,用以對(duì)TXD的低電壓(此時(shí)CAN總線上為顯性位)進(jìn)行監(jiān)視。該功能可以避免由于系統(tǒng)硬件或者軟件故障而造成TXD端長時(shí)問為低電位時(shí)總線上所有其他節(jié)點(diǎn)也將無法通信的情況出現(xiàn)。
免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與自動(dòng)化網(wǎng)無關(guān)。對(duì)本文及其中內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性,本站不作任何保證或承諾。請(qǐng)讀者僅供參考。
評(píng)論排行