基于CAN總線(xiàn)的數字式傳感器群管理系統

CAN控制器與物理總線(xiàn)之間的接口由CAN總線(xiàn)收發(fā)器82C250完成,它最初是為汽車(chē)高速通信的應用而設計的,該器件提供對總線(xiàn)的差動(dòng)發(fā)送和接收的功能,它可以增強總線(xiàn)的驅動(dòng)能力,同時(shí)起到保護總線(xiàn)的作用。
由于作為下位機的節點(diǎn)比較多,單片機的選擇主要從成本考慮,如果選擇帶CAN和I2C總線(xiàn)(數字式傳感器需要用I2C總線(xiàn)驅動(dòng))接口功能的高級單片機,則系統成本太高,故選擇AT89C51單片機,它片內含有4 K字節閃電存儲器,數據可保存10年,且編程速度快(全4 K字節編程只要3 s),還可以實(shí)現在線(xiàn)編程,也可以借助電話(huà)線(xiàn)進(jìn)行遠距離編程。雖然AT89C51沒(méi)有I2C總線(xiàn)接口功能,但在系統中,AT89C51和數字式傳感器是屬于單主機結構,在單主機結構中I2C總線(xiàn)數據傳送狀態(tài)非常簡(jiǎn)單,沒(méi)有總線(xiàn)競爭與同步,只有單片機對I2C總線(xiàn)器件的讀寫(xiě)操作,這就使通過(guò)I/O口用軟件來(lái)模擬I2C總線(xiàn)成為了可能。
5 系統軟件設計
上位機軟件采用基于Windows2000平臺的VC6.0編寫(xiě),具有系統參數設置、監控狀態(tài)設置、數據發(fā)送和接收、本機狀態(tài)查詢(xún)、節點(diǎn)狀態(tài)查詢(xún)、中斷接收數據管理等功能。上位機首先對CAN總線(xiàn)適配卡及其自身初始化,然后發(fā)送命令通知特定的節點(diǎn)向CAN總線(xiàn)上發(fā)送數據,通過(guò)CAN總線(xiàn)適配卡轉換后,再由上位機處理。上位機采用定時(shí)輪循方式向各個(gè)節點(diǎn)發(fā)命令,采用中斷方式接收數據。
下位機部分采用匯編語(yǔ)言,主程序流程如圖3所示。程序首先初始化AT89C51和CAN控制器,然 后通過(guò)用I/O口軟件模擬I2C總線(xiàn),初始化各個(gè)傳感器,設置它們的地址代碼(器件標識)、報警上下限、傳感器狀態(tài)等參數,接著(zhù)程序進(jìn)入等待上位機命令,同時(shí)也在監聽(tīng)I2C總線(xiàn),以中斷的方式響應I2C總線(xiàn)上的請求,對特定傳感器進(jìn)行讀寫(xiě)、啟動(dòng)轉換、設置報警閾值等操作,接收各個(gè)傳感器發(fā)送的數據并進(jìn)行處理,解決總線(xiàn)沖突,進(jìn)行總線(xiàn)仲裁。
在下位機軟件設計中,用普通I/O線(xiàn)模擬I2C總線(xiàn)數據傳送時(shí),必須遵守I2C總線(xiàn)的時(shí)序,否則將造成混亂導致系統工作不正常。
6 結束語(yǔ)
系統采用分層管理的方法實(shí)現了對多數字式傳感器的集中管理,在控制現場(chǎng)底層,由于采用了數字化傳感器并且掛接在I2C總線(xiàn)上,傳感器數目變化后,系統軟件只要稍加改動(dòng)就能適應,所以添加和更換傳感器非常方便。同時(shí)在上層管理中,系統使用CAN總線(xiàn)技術(shù),它以其獨特的設計思想、優(yōu)良的性能和極高的可靠性提高了系統內部的通信速率、實(shí)時(shí)性,降低了誤碼傳送率。上位機使用PC,以圖形的方式方便直觀(guān)的對各個(gè)節點(diǎn)進(jìn)行監控,保證了系統的可靠運行。該系統已經(jīng)在汽車(chē)行駛發(fā)電恒速驅動(dòng)檢測系統中投入運行,實(shí)際應用證明該系統具有控制效果好、可靠性高、控制靈活等優(yōu)點(diǎn)。
[2]劉 輝,姚勝興,宋樹(shù)祥.CAN總線(xiàn)在智能建筑溫濕度自控系統中的應用[J].現代電子技術(shù),2001(11).
[3]陽(yáng)憲惠.現場(chǎng)總線(xiàn)技術(shù)及其應用[M].北京:清華大學(xué)出版社,1999.
[4]林繼建,吳明光.PC機和單片機串行通信程序設計[J].計算機應用研究,2001(5).
[5]王廣志,吳 穎,黃志光.數字式溫度傳感器與分布式溫度測量系統[J].傳感技術(shù)學(xué)報,2001(3).
[6]王朝陽(yáng),管保安,劉滌塵,等.基于CAN總線(xiàn)的變電站綜合操作系統[J].現代電子技術(shù),2001(12).
評論