久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于CAN總線的小水電多功能自動化裝置的研發

基于CAN總線的小水電多功能自動化裝置的研發

作者: 時間:2009-11-09 來源:網絡 收藏

(1) 模塊的初始化
控制器運行時,首先必須對MS模塊初始化,對它的一些內部寄存器進行設置,CAN模塊的初始化流程圖如圖3所示。

首先使MSCAN進入軟件復位狀態,因為只有這樣才可以對MSCAN設置有關的寄存器進行寫入,此時,MSCAN會退出所有的發送和接收操作,并失去同步。所以當MSCAN設置完相關寄存器并退出軟件復位狀態后,要判斷MSCAN與是否同步,只有完成同步,MSCAN才能正常的接收發送數據幀。
(2) CAN模塊的數據接收
CAN接收數據幀時采用中斷機制,由于MSCAN初始化時設置接收中斷允許寄存器,允許接收緩沖區滿中斷,即在接收緩沖區滿時會觸發一個MSCAN接收中斷請求,CAN接收中斷流程圖如圖4所示。在接收中斷服務程序中,為了避免此時再發生中斷,在接收數據幀之前設置中斷允許寄存器,不允許接收緩沖區滿中斷,在接收數據幀之后,清除接收緩沖區滿標志,并允許接收緩沖區滿中斷,便于下一次接收中斷的處理。

本文引用地址:http://cqxgywz.com/article/163498.htm


(3) CAN模塊的數據發送
CAN發送數據幀時也采用中斷機制,但與接收中斷不同的是,由于MSCAN初始化時設置發送器控制寄存器CANTCR,不允許發送緩沖區空中斷,所以在發送數據幀時需要通過設置CANTCR允許發送緩沖區空中斷,從而啟動發送中斷,進入發送中斷服務程序, CAN發送中斷流程圖如圖5所示。在中斷服務程序中,設置CANTCR不允許發送緩沖區空中斷,直到下一次啟動發送中斷。確定發送緩沖區為空時填寫發送緩沖數據寄存器并清除發送緩沖區空標志,這樣MSCAN才能開始發送數據。


3.3 內部各CPU模塊的CAN通訊
內部各CPU模塊CAN通訊的信息量很大,所以通訊協議使用CAN 2.0B擴展模式,報文標識符幾乎不受限制,此時仲裁場的標識符有29位。
在CAN的規范中,只定義了數據幀的結構,而沒有定義有關發送和接收的結構信息,所以在編寫通訊程序時,首先需要給數據幀的不同位賦以特定的含義,其中包含數據傳輸所需要的所有信息,包括傳輸源地址、目標地址、幀類型、傳輸字節數、傳輸信息體等等。由于CAN協議規定,每幀最多傳送8個字節的數據,所以,為了盡可能使8個字節中的數據都為傳輸信息體,較好的解決辦法就是將其他的信息包含在29位標識符中。本設計中,CAN通訊的數據幀格式定義如表1所示。


其中,前4個字節是擴展數據幀的仲裁場和控制場,后8個字節是數據場。
表1在設計中:
PRI:優先級。1為低優先級,0為高優先級,剩余的優先級由源地址決定,低地址優先級高,該功能可有效支持緊急信息傳送如報警等。
Source Address:發送數據的源地址。
Type:幀類型,包括單幀、多幀、點對點傳送、廣播傳送。
SRR:在數據幀中,SRR必須為“顯性”電平,而在遠程幀中,SRR必須為“隱性”電平。
IDE:屬于仲裁場,為“隱性”電平。
DLC:表示要發送的字節數,等于字節數減1。由于每幀最多發送8個字節的數據,故DLC最大為7。
Data index:索引字節。單幀沒有索引字節,所以該字節為空;多幀數據時Data index表示發送數據幀的幀序號。
Destination Address:發送數據的目標地址。
RTR:定義本幀信息為數據幀還是遠程數據幀請求位。
Data length (L), Data length (H):多幀信息包的長度,只有在傳輸多幀數據的第一幀時填充,其他幀不填充,而可以填充要傳輸的信息體。
6 bytes data:要傳輸的信息體。
遵循上述約定的CAN協議,各CPU模塊之間的通訊快速可靠,抗干擾性強,傳輸波特率達到500kbps,達到了的性能指標要求。
4 小結
為了實現小型水電站提出的少人值班、無人值班的要求,提高水電站的水平,集發電機測控保護、勵磁調節、同期并列、順控、遠程通訊、人機交互等于一體的組合智能是一個經濟可行的技術方案,必將成為綜合未來發展的趨勢。此測控裝置采用面向對象的分層分布式結構,各CPU模塊采用CAN相連,各模塊之間的數據交互快速可靠、抗干擾性強,在外觀上這些功能模塊都在一個機箱內,結構緊湊,便于安裝使用。實際應用中,既可以在現場獨立運行和操作,又可以在多機系統聯合運行時根據需要配置上位機,構成水電站監控系統,具有非常廣泛的應用前景。


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉