《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的小水電多功能自動(dòng)化裝置的研發(fā)
基于CAN總線的小水電多功能自動(dòng)化裝置的研發(fā)
EEworld
EEworld
摘要: 目前我國眾多小水電站的自動(dòng)化水平落后,機(jī)電設(shè)備陳舊老化,安全事故頻繁,自動(dòng)控制系統(tǒng)的運(yùn)行需要多...
Abstract:
Key words :

1引言
      目前我國眾多小水電站的自動(dòng)化水平落后,機(jī)電設(shè)備陳舊老化,安全事故頻繁,自動(dòng)控制系統(tǒng)的運(yùn)行需要多人值班,進(jìn)行設(shè)備的維護(hù)及事故處理,嚴(yán)重影響小水電的經(jīng)濟(jì)效益。近幾年,多數(shù)小水電站要求進(jìn)行自動(dòng)化設(shè)備的技術(shù)改造,提高測控技術(shù)水平,降低事故率,提出盡可能少人值班或無人值班的要求。
總線技術(shù)的發(fā)展及應(yīng)用,為解決以上問題帶來方便。采用高速現(xiàn)場總線技術(shù)——CAN總線,可將小水電站多種測控系統(tǒng)的功能要求進(jìn)行模塊化多功能集中設(shè)計(jì),構(gòu)成基于CAN總線的小水電多功能一體測控裝置。
2小水電站測控系統(tǒng)的特點(diǎn)及CAN總線的確定
2.1小水電站測控系統(tǒng)的特點(diǎn)

小水電站的測控系統(tǒng)主要有發(fā)電機(jī)組保護(hù)、轉(zhuǎn)速測控、溫度巡檢、綜合測控、同期控制、順序控制、人機(jī)對話、通訊等。小水電站自動(dòng)化與大水電站比較,其自動(dòng)測控要求相對簡單,如果直接套用大水電站自動(dòng)控制方案及設(shè)備配置,則會造成模式復(fù)雜、成本高、設(shè)備占用空間大、功能浪費(fèi)嚴(yán)重等問題。
針對小水電站自動(dòng)測控系統(tǒng)的特點(diǎn),將所需的多種不同測控系統(tǒng)進(jìn)行模塊式一體化設(shè)計(jì),功能模塊間采用總線技術(shù)連接,一體機(jī)獨(dú)立運(yùn)作,簡化安裝及操作,將是最佳方案。
2.2 CAN總線的特點(diǎn)和通信協(xié)議
目前應(yīng)用比較廣泛的幾種現(xiàn)場總線有CAN、HART、Profibus、Lonworks等。而在這些總線中, CAN總線以其極高的性能、可靠性及其獨(dú)特的設(shè)計(jì)越來越受到人們的重視,成為最有前途的現(xiàn)場總線之一。
CAN(Control Area Network)即控制局域網(wǎng)絡(luò),是一種具有高可靠性、有效支持分布式控制或?qū)崟r(shí)控制的現(xiàn)場總線網(wǎng)絡(luò),最初由德國Bosch公司推出,為解決汽車中傳感器與執(zhí)行裝置之間的數(shù)據(jù)交換而開發(fā)的,特別適合工業(yè)過程監(jiān)控設(shè)備的互聯(lián),其應(yīng)用范圍已遍及工業(yè)控制自動(dòng)化、汽車自動(dòng)化、機(jī)械工業(yè)、樓宇自動(dòng)化等領(lǐng)域。
(1) CAN總線的有關(guān)特點(diǎn)
與其他現(xiàn)場總線相比,針對多功能測控裝置的研發(fā)要求,CAN總線具有獨(dú)特的設(shè)計(jì)思想:【1】【2】
? 多主方式工作,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息,而不分主從,通信方式靈活。這一特點(diǎn)使裝置內(nèi)部的各模塊節(jié)點(diǎn)都可以主動(dòng)發(fā)送信息,并且沒有時(shí)間限制,通訊的實(shí)時(shí)性好。
? 采用非破壞性總線仲裁技術(shù),從而大大節(jié)省了總線沖突仲裁時(shí)間。這一特點(diǎn)使裝置內(nèi)部的各模塊節(jié)點(diǎn)的通訊快速可靠。
? 只需通過報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)及全局廣播等幾種方式傳送數(shù)據(jù)。根據(jù)這一特點(diǎn),裝置內(nèi)部的各模塊節(jié)點(diǎn)的通訊方式可以多樣化,比如,對時(shí)可以采用廣播的方式。
? CAN 網(wǎng)上的節(jié)點(diǎn)數(shù)目前可達(dá) 110 個(gè);報(bào)文標(biāo)識符可達(dá) 2032種(CAN2.0A),而擴(kuò)展標(biāo)準(zhǔn)(CAN2.0B)的報(bào)文標(biāo)識符幾乎不受限制。因此,采用CAN2.0B標(biāo)準(zhǔn)可以解決各模塊節(jié)點(diǎn)通訊時(shí)報(bào)文量大的問題。
? 采用短幀數(shù)據(jù)格式,傳輸時(shí)間短,抗干擾能力強(qiáng),檢錯(cuò)效果好。
? 每幀信息都有CRC校驗(yàn),數(shù)據(jù)通信的可靠性強(qiáng)。
? 通信節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下可以自動(dòng)關(guān)閉輸出功能,脫離網(wǎng)絡(luò),而不會影響其他節(jié)點(diǎn)的操作。
(2) CAN總線的通信協(xié)議
CAN總線的報(bào)文傳送由4種不同類型的幀表示和控制:【3】數(shù)據(jù)幀、遠(yuǎn)程幀、出錯(cuò)幀和超載幀。數(shù)據(jù)幀和遠(yuǎn)程幀可使用標(biāo)準(zhǔn)幀格式和擴(kuò)展幀格式。
數(shù)據(jù)幀自一個(gè)發(fā)送節(jié)點(diǎn)攜帶數(shù)據(jù)至一個(gè)或多個(gè)接收節(jié)點(diǎn),它由幀起始、仲裁場、控制場、數(shù)據(jù)場、校驗(yàn)場、應(yīng)答場和幀結(jié)束組成。標(biāo)準(zhǔn)幀的仲裁場由11位標(biāo)識符和遠(yuǎn)程發(fā)送請求位RTR組成。擴(kuò)展幀的仲裁場由29位標(biāo)識符和替代遠(yuǎn)程請求SRR位、標(biāo)志位IDE和遠(yuǎn)程發(fā)送請求位RTR組成。
遠(yuǎn)程幀沒有數(shù)據(jù)場,由幀起始、仲裁場、控制場、CRC 場、應(yīng)答場、幀結(jié)束組成。CAN 網(wǎng)絡(luò)上的一個(gè)接收節(jié)點(diǎn)可以通過向網(wǎng)絡(luò)上發(fā)一個(gè)遠(yuǎn)程幀來啟動(dòng)數(shù)據(jù)傳輸,用標(biāo)識符尋址數(shù)據(jù)發(fā)送源節(jié)點(diǎn),且置相應(yīng)幀的 RTR 位為“1”。
標(biāo)識符作為報(bào)文的名稱,在仲裁期間,它首先被送到總線。在接收器的驗(yàn)收判斷中和仲裁過程確定訪問優(yōu)先權(quán)中都要用到。遠(yuǎn)程發(fā)送請求位(RTR)用來確定是發(fā)送遠(yuǎn)程幀還是數(shù)據(jù)幀,當(dāng)RTR為高電平時(shí),CAN控制器發(fā)送遠(yuǎn)程幀,為低電平時(shí)則發(fā)送數(shù)據(jù)幀。
3 CAN總線在小水電多功能自動(dòng)化裝置中的應(yīng)用
采用CAN總線開發(fā)集多種功能于一體的自動(dòng)測控裝置,可提高我國小水電綜合自動(dòng)化的水平。
開發(fā)的測控裝置采用面向?qū)ο蟮脑O(shè)計(jì)思想和按功能模塊設(shè)計(jì)的方法,可以實(shí)現(xiàn)機(jī)組保護(hù)、轉(zhuǎn)速測控、溫度巡檢、電量采集、非電量采集、同期控制、順序控制、人機(jī)交互和通訊等功能。在裝置內(nèi)部設(shè)置七個(gè)CPU模塊,分別用于綜合測控、自動(dòng)準(zhǔn)同期、面板顯示、通訊管理、PLC順控、光字牌顯示與語音報(bào)警、發(fā)變組保護(hù)。各模塊采用高速現(xiàn)場總線CAN相連,完成生產(chǎn)過程控制、設(shè)備狀態(tài)監(jiān)測、設(shè)備參數(shù)整定、運(yùn)行參數(shù)監(jiān)視、裝置自診斷故障顯示等功能,各CPU模塊的CAN通訊結(jié)構(gòu)圖如圖1所示。


3.1 主控制器的硬件選型
主控制器選用MOTOROLA公司推出的高性價(jià)比DSP數(shù)字信號處理器DSP56F807,主控芯片的選擇取決于小水電測控裝置的功能要求。
小水電測控裝置采用多CPU的硬件模式,各主要功能模塊由獨(dú)立的控制芯片來完成。其中,很多功能的實(shí)現(xiàn)都要求有很高的實(shí)時(shí)性,例如其中準(zhǔn)同期功能的合閘時(shí)機(jī)捕捉、發(fā)電機(jī)保護(hù)的動(dòng)作出口等等,并且裝置中的電量采集等需要用到傅氏算法,運(yùn)算量非常大,所以主控制器需要選用運(yùn)算速度快、抗干擾性能好的CPU芯片,而DSP56F807正是一款具有上述優(yōu)點(diǎn)的主控芯片。DSP56F807【4】具有多總線和流水線結(jié)構(gòu),指令的執(zhí)行速率快,并且DSP內(nèi)部有硬件乘法器,可以在一個(gè)指令周期內(nèi)完成乘法,運(yùn)算速度快。
裝置內(nèi)部的各CPU模塊采用CAN總線通訊,而DSP芯片上就集成了控制器局域網(wǎng)模塊CAN2.0A/B,因此不需要另外配置專門的CAN總線芯片,降低成本,簡化硬件電路,這也是主控制器選用DSP56F807的另一原因。通過DSP芯片自帶的CAN控制模塊MSCAN,在硬件上可以很方便地將CAN總線上的各節(jié)點(diǎn)互連,實(shí)現(xiàn)總線不出芯片。由于CAN控制器必須通過CAN驅(qū)動(dòng)芯片才能與CAN總線相連,所以選用PHILIPS公司生產(chǎn)的CAN總線收發(fā)器82C250作為CAN驅(qū)動(dòng)芯片,DSP與82C250的連線圖如圖2所示。

3.2 CAN通訊的軟件實(shí)現(xiàn)
本設(shè)計(jì)中,主要采用C語言編寫程序,而在少數(shù)需要直接和硬件打交道的地方采用匯編語言編寫程序。在編寫CAN的通訊程序時(shí),有三個(gè)環(huán)節(jié)非常重要,即CAN模塊初始化、CAN接收數(shù)據(jù)和CAN發(fā)送數(shù)據(jù)。

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

 


(3) CAN模塊的數(shù)據(jù)發(fā)送
CAN發(fā)送數(shù)據(jù)幀時(shí)也采用中斷機(jī)制,但與接收中斷不同的是,由于MSCAN初始化時(shí)設(shè)置發(fā)送器控制寄存器CANTCR,不允許發(fā)送緩沖區(qū)空中斷,所以在發(fā)送數(shù)據(jù)幀時(shí)需要通過設(shè)置CANTCR允許發(fā)送緩沖區(qū)空中斷,從而啟動(dòng)發(fā)送中斷,進(jìn)入發(fā)送中斷服務(wù)程序, CAN發(fā)送中斷流程圖如圖5所示。在中斷服務(wù)程序中,設(shè)置CANTCR不允許發(fā)送緩沖區(qū)空中斷,直到下一次啟動(dòng)發(fā)送中斷。確定發(fā)送緩沖區(qū)為空時(shí)填寫發(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ò)展模式,報(bào)文標(biāo)識符幾乎不受限制,此時(shí)仲裁場的標(biāo)識符有29位。
在CAN的規(guī)范中,只定義了數(shù)據(jù)幀的結(jié)構(gòu),而沒有定義有關(guān)發(fā)送和接收的結(jié)構(gòu)信息,所以在編寫通訊程序時(shí),首先需要給數(shù)據(jù)幀的不同位賦以特定的含義,其中包含數(shù)據(jù)傳輸所需要的所有信息,包括傳輸源地址、目標(biāo)地址、幀類型、傳輸字節(jié)數(shù)、傳輸信息體等等。由于CAN協(xié)議規(guī)定,每幀最多傳送8個(gè)字節(jié)的數(shù)據(jù),所以,為了盡可能使8個(gè)字節(jié)中的數(shù)據(jù)都為傳輸信息體,較好的解決辦法就是將其他的信息包含在29位標(biāo)識符中。本設(shè)計(jì)中,CAN通訊的數(shù)據(jù)幀格式定義如表1所示。

 


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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。