新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CAN總線的雙容水箱控制系統(tǒng)

基于CAN總線的雙容水箱控制系統(tǒng)

作者: 時間:2013-01-06 來源:網(wǎng)絡(luò) 收藏

  3 系統(tǒng)的硬件設(shè)計

  由系統(tǒng)總體結(jié)構(gòu)圖(圖1)可見,系統(tǒng)硬件主要包括3個CAN智能站:CAN通信適配器(#3 CAN智能站)、智能傳感器節(jié)點(#1 CAN智能站)和智能執(zhí)行器節(jié)點(#2 CAN智能站)。各個智能站的設(shè)計相似,下面以智能傳感器節(jié)點為例進行介紹。其硬件結(jié)構(gòu)圖如圖2所示。

圖2 智能傳感器節(jié)點的硬件結(jié)構(gòu)圖

  這里要重點介紹的是CAN通信電路。這部分電路主要由CAN的協(xié)議芯片SJA1000、CAN的收發(fā)芯片82C250和光電隔離電路構(gòu)成。

  (1) CAN控制器

  CAN控制器是CAN通信的核心芯片,主要功能是實現(xiàn)協(xié)議和與微處理器接口。本文的CAN控制器采用PHILIPS的SJA1000,它是一個獨立的CAN控制器,支持CAN2.0B協(xié)議,可以實現(xiàn)物理層和數(shù)據(jù)鏈路層的所有功能。SJA1000有兩種工作模式可以選擇,BasicCAN 模式和PeliCAN模式。本次設(shè)計中采用PeliCAN模式,它在BasicCAN 模式的基礎(chǔ)有如下的擴展:可讀/寫訪問的錯誤計數(shù)器,可編程的錯誤報警限制,最近一次錯誤代碼寄存器,對每一個CAN 總線錯誤的中斷,支持熱插拔,具有只聽模式,可單次發(fā)送等。這些增加的功能對系統(tǒng)優(yōu)化和錯誤診斷非常重要。

  (2) CAN收發(fā)器

  CAN收發(fā)器采用PCA82C250,它是CAN控制器和物理總線的接口,可以提高總線驅(qū)動干擾能力,增加通信抗干擾能力,并可保護SJA1000免遭破壞。它可以支持多達110個節(jié)點,并能在1Mbps的傳輸速率下工作于惡劣的工作條件下。82C250提供對總線的差動發(fā)送能力和對CAN控制器的差動接收能力,其差分接收器共模抑制比寬,抗電磁干擾能力強。它內(nèi)部有總線保護電路和限流電路,并具有低電流待機工作方式和降低射頻干擾的斜率控制。

  (3) 光電耦合器

  光電耦合器是為了將網(wǎng)絡(luò)和系統(tǒng)內(nèi)部隔離起來,以提高其抗干擾性能。

  CAN通信部分的硬件電路圖如圖3所示。

圖3CAN通信電路原理圖

  4 系統(tǒng)的軟件設(shè)計

  基于的測控系統(tǒng)的軟件分為下位機部分和上位機部分,下位機軟件完成采集、控制、數(shù)據(jù)傳輸?shù)裙δ?,采用模塊化設(shè)計方法,主要包括以下幾個模塊:通用CAN通信模塊、控制算法模塊、RS232通信模塊、數(shù)據(jù)采集和輸出模塊、自檢和故障處理模塊。上位機軟件主要是完成監(jiān)控畫面的組態(tài)和與適配卡的通信。

  軟件的編寫根據(jù)不同的情況采用不同的語言。單片機部分采用C51語言編寫,使用Keil C51集成開發(fā)環(huán)境。組態(tài)軟件采用"組態(tài)王6.5",它是目前比較流行的一種用于建立工控對象人機接口的智能軟件包,支持Microsoft Windows95/98/NT中文操作系統(tǒng),可以很方便的開發(fā)出功能完善、界面友好的組態(tài)軟件。上位機的通信和調(diào)度軟件采用高級語言Visual Basic 6.0編寫,它支持面向?qū)ο蟮某绦蛟O(shè)計,有豐富的控件資源,可以大量節(jié)約開發(fā)的時間。

  下面詳細介紹CAN通信模塊和上位機通信程序的設(shè)計。

  4.1 通用CAN通信模塊的設(shè)計

  通用CAN通信模塊的功能是完成CAN控制器的初始化設(shè)置;控制各節(jié)點之間的數(shù)據(jù)交換;檢測各個節(jié)點和總線的狀態(tài);進行故障處理。其程序流程圖如圖4所示。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉