關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于CAN總線的小水電多功能自動化裝置的研發(fā)

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

        作者: 時間:2009-11-09 來源:網(wǎng)絡(luò) 收藏

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

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

        本文引用地址:http://www.104case.com/article/163498.htm


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


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


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


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 侯马市| 乌拉特前旗| 常德市| 元氏县| 丁青县| 大石桥市| 弥勒县| 乌鲁木齐市| 来宾市| 海阳市| 桂平市| 眉山市| 双流县| 阿坝县| 巴塘县| 罗山县| 吴川市| 冕宁县| 巢湖市| 庆元县| 木兰县| 唐山市| 比如县| 四会市| 交城县| 凤庆县| 宿州市| 洛南县| 永嘉县| 始兴县| 专栏| 隆回县| 洛川县| 徐水县| 定陶县| 康定县| 眉山市| 吉隆县| 象州县| 凤凰县| 阜康市|