基于CAN總線的雙容水箱控制系統(tǒng)
3 系統(tǒng)的硬件設計
由系統(tǒng)總體結構圖(圖1)可見,系統(tǒng)硬件主要包括3個CAN智能站:CAN通信適配器(#3 CAN智能站)、智能傳感器節(jié)點(#1 CAN智能站)和智能執(zhí)行器節(jié)點(#2 CAN智能站)。各個智能站的設計相似,下面以智能傳感器節(jié)點為例進行介紹。其硬件結構圖如圖2所示。
圖2 智能傳感器節(jié)點的硬件結構圖
這里要重點介紹的是CAN通信電路。這部分電路主要由CAN的協(xié)議芯片SJA1000、CAN的收發(fā)芯片82C250和光電隔離電路構成。
(1) CAN控制器
CAN控制器是CAN通信的核心芯片,主要功能是實現(xiàn)CAN總線協(xié)議和與微處理器接口。本文的CAN控制器采用PHILIPS的SJA1000,它是一個獨立的CAN控制器,支持CAN2.0B協(xié)議,可以實現(xiàn)CAN總線物理層和數據鏈路層的所有功能。SJA1000有兩種工作模式可以選擇,BasicCAN 模式和PeliCAN模式。本次設計中采用PeliCAN模式,它在BasicCAN 模式的基礎有如下的擴展:可讀/寫訪問的錯誤計數器,可編程的錯誤報警限制,最近一次錯誤代碼寄存器,對每一個CAN 總線錯誤的中斷,支持熱插拔,具有只聽模式,可單次發(fā)送等。這些增加的功能對系統(tǒng)優(yōu)化和錯誤診斷非常重要。
(2) CAN收發(fā)器
CAN收發(fā)器采用PCA82C250,它是CAN控制器和物理總線的接口,可以提高總線驅動干擾能力,增加通信抗干擾能力,并可保護SJA1000免遭破壞。它可以支持多達110個節(jié)點,并能在1Mbps的傳輸速率下工作于惡劣的工作條件下。82C250提供對總線的差動發(fā)送能力和對CAN控制器的差動接收能力,其差分接收器共模抑制比寬,抗電磁干擾能力強。它內部有總線保護電路和限流電路,并具有低電流待機工作方式和降低射頻干擾的斜率控制。
(3) 光電耦合器
光電耦合器是為了將網絡和系統(tǒng)內部隔離起來,以提高其抗干擾性能。
CAN通信部分的硬件電路圖如圖3所示。
圖3CAN通信電路原理圖
4 系統(tǒng)的軟件設計
基于CAN總線的測控系統(tǒng)的軟件分為下位機部分和上位機部分,下位機軟件完成采集、控制、數據傳輸等功能,采用模塊化設計方法,主要包括以下幾個模塊:通用CAN通信模塊、控制算法模塊、RS232通信模塊、數據采集和輸出模塊、自檢和故障處理模塊。上位機軟件主要是完成監(jiān)控畫面的組態(tài)和與適配卡的通信。
軟件的編寫根據不同的情況采用不同的語言。單片機部分采用C51語言編寫,使用Keil C51集成開發(fā)環(huán)境。組態(tài)軟件采用"組態(tài)王6.5",它是目前比較流行的一種用于建立工控對象人機接口的智能軟件包,支持Microsoft Windows95/98/NT中文操作系統(tǒng),可以很方便的開發(fā)出功能完善、界面友好的組態(tài)軟件。上位機的通信和調度軟件采用高級語言Visual Basic 6.0編寫,它支持面向對象的程序設計,有豐富的控件資源,可以大量節(jié)約開發(fā)的時間。
下面詳細介紹CAN通信模塊和上位機通信程序的設計。
4.1 通用CAN通信模塊的設計
通用CAN通信模塊的功能是完成CAN控制器的初始化設置;控制各節(jié)點之間的數據交換;檢測各個節(jié)點和總線的狀態(tài);進行故障處理。其程序流程圖如圖4所示。
評論