CAN總線(xiàn)在排水控制系統中的應用
我國大多數城市較早建立了排污系統,但每個(gè)污水池旁邊必須投入大量資金建立值班室和安排3個(gè)員工值班,管理也比較落后原始,每個(gè)泵站還由人工管理,人員的工作比較辛苦,一刻不能離開(kāi)。隨著(zhù)城市的不斷擴大,污水池、人員編制也相應增加。由于污水池零星分布在整個(gè)市區,若按原先管理模式,管理和控制非常麻煩,效率低下,不能適應現代城市發(fā)展的需要。
為了提高自動(dòng)化水平,提高企業(yè)效益,有必要把人工管理改造為自動(dòng)化管理。為此,設計了基于 CAN總線(xiàn)的排水控制系統。
2 CAN總線(xiàn)簡(jiǎn)介
CAN即控制器局域網(wǎng)絡(luò ),屬于現場(chǎng)總線(xiàn)范疇。它是由德國B(niǎo)osch公司于20世紀80年代開(kāi)發(fā)的一種串行數據通信協(xié)議,有效支持分布式控制或實(shí)時(shí)控制。它的應用范圍遍及高速網(wǎng)絡(luò )和低成本的多線(xiàn)路網(wǎng)絡(luò )。CAN具有以下特點(diǎn):
(1)多主站點(diǎn)依據優(yōu)先級進(jìn)行總線(xiàn)訪(fǎng)問(wèn)
(2)無(wú)破壞的依據優(yōu)先權的仲裁
(3)借助接收濾波的多地址幀傳送
(4)遠程數據請求
(5)嚴格的錯誤檢測和界定
(6)通信介質(zhì)多樣,組合方式靈活
(7)最遠傳輸距離為10Km,最大傳輸速率為1M bps。
3 硬件設計
3.1 總體結構
排水控制系統硬件的總體結構如圖1所示。

3. 2 CAN總線(xiàn)通信接口設計

CAN總線(xiàn)通信接口如圖2所示,電路由單片機AT89C52、CAN控制器SJAl000、CAN收發(fā)器82C250、高速光電耦合器6N137組成。單片機 AT89C52主要完成SJAl000的初始化,及CAN總線(xiàn)和RS-232總線(xiàn)之間的數據通信任務(wù)。 SJAl000是CAN控制器82C200的替代產(chǎn)品。它主要由下列功能模塊構成:接口管理邏輯、發(fā)送緩沖器、接收緩沖器、接收過(guò)濾器、位流處理器、位時(shí)序邏輯和錯誤管理邏輯。除了與82C200兼容之外,它增加了許多新功能:Peli CAN工作模式、讀/寫(xiě)訪(fǎng)問(wèn)的錯誤計數器、標準和擴展結構信息的接收和發(fā)送、可編程的錯誤限制報警、只聽(tīng)模式和仲裁丟失中斷。單片機對SJAl000內部寄存器的控制是以訪(fǎng)問(wèn)外部寄存器的方式進(jìn)行的。CAN收發(fā)器82C250是CAN總線(xiàn)控制器和物理總線(xiàn)之間的接口,主要負責提供對總線(xiàn)的差分發(fā)送能力和對 CAN控制器的差分接收能力。它的引腳8(RS)控制三種不同的工作方式的選擇:待機、斜率控制和高速。其中,給RS接上高電平,則82C250以低電流待機方式工作;若RS通過(guò)連接電阻接地,則進(jìn)入斜率控制方式,該方式可以通過(guò)改變電阻的阻值來(lái)調節斜率,適用于低速和較短的總線(xiàn)長(cháng)度的應用場(chǎng)合;如果RS接地,就選擇了高速工作方式。高速光電耦合器6N137實(shí)現了CAN控制器和收發(fā)器之間的電氣隔離,增強了系統的穩定性和抗干擾能力。
4 軟件設計
軟件設計主要包括監控主程序、報文發(fā)送和接收程序、中斷服務(wù)程序和錯誤處理程序等。其中,SJAl000的初始化程序是軟件設計中的難點(diǎn),需要完成各種工作參數的設置。其中,控制寄存器用來(lái)改變CAN控制器的行為。驗收代碼寄存器和驗收屏蔽寄存器共同作用定義了能被節點(diǎn)所接收報文的條件。驗收屏蔽寄存器的作用是確定驗收碼的哪些位對于驗收濾波是相關(guān)的或不相關(guān)的??偩€(xiàn)時(shí)序寄存器O定義了波特率的預設值及同步跳轉寬度;總線(xiàn)時(shí)序寄存器1則定義了位周期的長(cháng)度、采樣點(diǎn)的位置和采樣數目。輸出控制寄存器可以設置不同的輸出模式。時(shí)鐘分頻寄存器不僅可以控制SJAl000的輸出頻率及屏蔽CLKOU7引腳,而且還能夠對Basic CAN和Peli CAN模式進(jìn)行選擇。
監控主程序流程如圖3所示。具體的 SJAl000初始化程序流程如圖4所示。CAN總線(xiàn)發(fā)送子程序如圖5所示。
評論