基于CAN總線的溫室測控系統的研究與設計
摘要:測控系統性能的優劣是溫室作物優質、高產、高效栽培的關鍵。針對當前溫室測控系統中需要解決的各種問題——降低成本、降低功耗、提高抗干擾能力、提高實時性和通信速率,提出了CAN總線在基于微控制器MC68S08QG8的測控系統中的應用,詳細介紹了單個智能節點的硬件設計和軟件實現,設計了簡單的CAN總線應用層協議。運行結果表明該系統結構簡單、可靠性高、實時性強。
關鍵詞:CAN總線;MC68S08QG8;測控系統;應用層協議
CAN(Controller Area Network)總線又稱為控制局域網,是一種多主方式串行通信協議,能有效地支持具有很高安全等級的分布實時控制。由于CAN總線具有造價低、通信速度快、可靠性高、實時性強等突出優點,在汽車行業、機械工業、家用電器及傳感器等領域應用廣泛。
溫室控制技術是農業現代化的重要內容,在目前的溫室系統中主要是靠RS-485總線來組成控制網絡,將采集到的數據和信息傳送到主控機中。其通信速率、節點連接數目都受到一定的限制。
本文提出了以CAN總線構成現場控制網絡。CAN總線的通信速率最高可達1 Mbps/40 m,掛接的設備可達110個。另外信號的傳輸采用短幀結構,這樣傳輸時間短,受干擾的概率低。并且一旦網絡中某個節點故障時,該節點具有自動關閉輸出功能,以主動切斷該節點與總線的聯系,使網絡上其他節點及通信不受影響,具有較強的抗干擾能力,降低了惡劣環境對于溫室系統的影響,提高了系統的實時性、可靠性和擴充性。
1 系統總體設計
溫室測控系統采用分布式多主方式進行通信。系統主要由主控上位機、CAN總線和多個智能測控模塊組成(注意:各個智能測控模塊之間存在強烈的相互關系)。通過對溫室內外,特別是溫室內部各種影響作物生長的要素用相應智能傳感器進行測量,然后通過CAN總線傳送給主控上位機,上位機進行數據打印、分析和處理、參數設置并且控制有關設備等工作,從而實現對溫室要素的調控,保證了作物生長所需的環境。系統上任何節點均可在任意時刻主動向其他節點發出信息,支持點對點、一點對多點和全局廣播方式接受和發送數據。圖1是溫室測控系統總體設計圖。
2 硬件平臺設計
溫室測控系統的硬件平臺主要由多個CAN智能節點構成,如圖2所示。本系統節點采用總線型拓撲結構,兩芯電纜(CANH和CANL)雙絞線連接。主要由微控制器MC68S08QG8,CAN通信控制器MCP2515和CAN收發器TJA1050組成。本文中微控制器MC68S08QQ8與控制器MCP2515是通過SPI口連接,測控節點通過微控制器MC68S08QG8的IIC口來連接的。智能節點的個數是由溫室內外所測控的環境要素來決定的,但是任意智能節點均可以像以太網節點那樣直接掛接在CAN總線網絡上,即在不犧牲可靠性的前提下進一步擴展現場測控節點的數量。
評論