基于CAN總線的溫室測控系統(tǒng)的研究與設計
2011-08-13 17:02:18來源:21IC

  CAN(Controller Area Network)總線又稱為控制局域網(wǎng),是一種多主方式串行通信協(xié)議,能有效地支持具有很高安全等級的分布實時控制。由于CAN總線具有造價低、通信速度快、可靠性高、實時性強等突出優(yōu)點,在汽車行業(yè)、機械工業(yè)、家用電器及傳感器等領(lǐng)域應用廣泛。

  溫室控制技術(shù)是農(nóng)業(yè)現(xiàn)代化的重要內(nèi)容,在目前的溫室系統(tǒng)中主要是靠RS-485總線來組成控制網(wǎng)絡,將采集到的數(shù)據(jù)和信息傳送到主控機中。其通信速率、節(jié)點連接數(shù)目都受到一定的限制。

  本文提出了以CAN總線構(gòu)成現(xiàn)場控制網(wǎng)絡。CAN總線的通信速率最高可達1 Mbps/40 m,掛接的設備可達110個。另外信號的傳輸采用短幀結(jié)構(gòu),這樣傳輸時間短,受干擾的概率低。并且一旦網(wǎng)絡中某個節(jié)點故障時,該節(jié)點具有自動關(guān)閉輸出功能,以主動切斷該節(jié)點與總線的聯(lián)系,使網(wǎng)絡上其他節(jié)點及通信不受影響,具有較強的抗干擾能力,降低了惡劣環(huán)境對于溫室系統(tǒng)的影響,提高了系統(tǒng)的實時性、可靠性和擴充性。

  1 系統(tǒng)總體設計

  溫室測控系統(tǒng)采用分布式多主方式進行通信。系統(tǒng)主要由主控上位機、CAN總線和多個智能測控模塊組成(注意:各個智能測控模塊之間存在強烈的相互關(guān)系)。通過對溫室內(nèi)外,特別是溫室內(nèi)部各種影響作物生長的要素用相應智能傳感器進行測量,然后通過CAN總線傳送給主控上位機,上位機進行數(shù)據(jù)打印、分析和處理、參數(shù)設置并且控制有關(guān)設備等工作,從而實現(xiàn)對溫室要素的調(diào)控,保證了作物生長所需的環(huán)境。系統(tǒng)上任何節(jié)點均可在任意時刻主動向其他節(jié)點發(fā)出信息,支持點對點、一點對多點和全局廣播方式接受和發(fā)送數(shù)據(jù)。圖1是溫室測控系統(tǒng)總體設計圖。


  2 硬件平臺設計

  溫室測控系統(tǒng)的硬件平臺主要由多個CAN智能節(jié)點構(gòu)成,如圖2所示。本系統(tǒng)節(jié)點采用總線型拓撲結(jié)構(gòu),兩芯電纜(CANH和CANL)雙絞線連接。主要由微控制器MC68S08QG8,CAN通信控制器MCP2515和CAN收發(fā)器TJA1050組成。本文中微控制器MC68S08QQ8與控制器MCP2515是通過SPI口連接,測控節(jié)點通過微控制器MC68S08QG8的IIC口來連接的。智能節(jié)點的個數(shù)是由溫室內(nèi)外所測控的環(huán)境要素來決定的,但是任意智能節(jié)點均可以像以太網(wǎng)節(jié)點那樣直接掛接在CAN總線網(wǎng)絡上,即在不犧牲可靠性的前提下進一步擴展現(xiàn)場測控節(jié)點的數(shù)量。


  2.1 芯片介紹

  選擇一款合適的MCU是系統(tǒng)穩(wěn)定的重要保障。綜合功耗、性能和價格等各種因素的考慮,本系統(tǒng)采用Freescale公司的MC68S08QG8(以下簡稱為QG8)作為系統(tǒng)控制信號采集的芯片。MC68S08QG8單片機采用高性能、低功耗HCS08飛思卡爾8位微控制器為內(nèi)核,是一款集成度高、結(jié)構(gòu)緊湊、功能豐富、適用于各種場合的低價位單片機。MC68S08QG8除了提供Freescale豐富的外圍接口與HCS08內(nèi)核卓越性能的多功能組合外,還包括更長的電池壽命(即使工作電壓低至1.8 V,也能發(fā)揮最大效能)、業(yè)界領(lǐng)先的Flash技術(shù)、3個通信接口(SCI、SPI和IIC)以及創(chuàng)新的開發(fā)支持等其他系列單片機不可比擬的優(yōu)勢。

  智能節(jié)點中CAN控制器完成了CAN協(xié)議中數(shù)據(jù)鏈路層和物理層的所有功能,保證通信質(zhì)量。本系統(tǒng)選用了一種獨立的CAN協(xié)議控制器——Microchip公司的MCP2515。MCP2515完全支持CAN V2.0B技術(shù)規(guī)范,MCP2515還包含3個發(fā)送緩沖器和2個接受緩沖器,減少了單片機的管理負擔。與傳統(tǒng)上使用的CAN控制器SJA1000相比較,它與MCU的連接是通過行業(yè)標準串行外設接口(SPI)來實現(xiàn)的,這樣可以減少芯片使用的引腳,簡化CAN總線的電路的連接,提高了系統(tǒng)穩(wěn)定性。

  CAN總線收發(fā)器提供CAN控制器與物理總線之間的接口,是影響CAN總線網(wǎng)絡安全性、可靠性和電磁兼容性的主要因素。本系統(tǒng)采用Phlips公司的TJA1050作為總線收發(fā)器。TJA1050有兩種工作模式:高速和待機,其中待機模式可以防止由于CAN控制器失控而造成的網(wǎng)絡阻塞。并且在TJA1050中還設計了一個超時定時器,用以對TXD的低電壓(此時CAN總線上為顯性位)進行監(jiān)視。該功能可以避免由于系統(tǒng)硬件或者軟件故障而造成TXD端長時問為低電位時總線上所有其他節(jié)點也將無法通信的情況出現(xiàn)。

免責聲明:本文僅代表作者個人觀點,與自動化網(wǎng)無關(guān)。對本文及其中內(nèi)容、文字的真實性、完整性、及時性,本站不作任何保證或承諾。請讀者僅供參考。