適用于變電站的CAN現(xiàn)場(chǎng)總線通信適配卡的設(shè)計(jì)
4、CAN通訊適配卡的軟件設(shè)計(jì)
適配卡主要承擔(dān)上位機(jī)和節(jié)點(diǎn)之間的報(bào)文轉(zhuǎn)發(fā)任務(wù)[8]。圖2給出了適配卡程序流程 。軟件設(shè)計(jì)包含兩部分:一部分是上位機(jī)的應(yīng)用程序設(shè)計(jì),該程序采用VB6.0開發(fā),用 于完成上位機(jī)和雙口RAM之間的通信,主要包括上位機(jī)向適配卡上的雙口RAM發(fā)送控 制命令、數(shù)據(jù)命令、請(qǐng)求數(shù)據(jù)命令、請(qǐng)求狀態(tài)命令和接收數(shù)據(jù)等。另一部分是適配卡上的微 處理器的程序設(shè)計(jì),使用KeilC編寫,下位機(jī)上的程序負(fù)責(zé)微處理器與雙口RAM以及 微處理器與SJA1000之間的通信。
其軟件設(shè)計(jì)的主要任務(wù)是向CAN控制器轉(zhuǎn)發(fā)來(lái)自PC機(jī)的命令,并由SJA1000進(jìn)一 步轉(zhuǎn)發(fā)到CAN節(jié)點(diǎn),并將由控制器接受的來(lái)自節(jié)點(diǎn)的數(shù)據(jù)和狀態(tài)信息送到雙口RAM[9]。
同時(shí)在程序開發(fā)中還包含對(duì)89C52的初始化,雙口RAM的初始化以及SJA1000的 初始化。SJA1000初始化主要是指設(shè)置模式、總線時(shí)序、中斷使能、屏蔽碼和ID信 號(hào),這些設(shè)置是通過(guò)對(duì)芯片的內(nèi)部寄存器賦值來(lái)實(shí)現(xiàn)的,如表中SJA1000寄存器初始化 參考值。
5、結(jié)語(yǔ)
本文中的CAN總線通訊適配卡,不僅可用于變電站測(cè)控系統(tǒng),而且適用于其它分布式現(xiàn) 場(chǎng)總線控制系統(tǒng)。它可以適應(yīng)不同的傳輸速率和距離,易于編寫接口程序。由于采用了EP LD技術(shù),可方便地設(shè)計(jì)適配卡的邏輯功能,且易于對(duì)適配卡進(jìn)行擴(kuò)展和升級(jí)。
參考文獻(xiàn)
[1]黃益莊(Huang Yizhuang).變電站綜合自動(dòng)化技術(shù)(Technology of Substati on Automation)[M].北京:中國(guó)電力出版社(Beijing:China Electric Power Press),200 0.
[2]饒運(yùn)濤,周繼軍,鄭勇蕓(Rao Yuntao,Zhou Jijun,Zheng Yongyun).現(xiàn)場(chǎng)總 線CAN原理與應(yīng)用技術(shù)(Principle of CAN Fieldbus and Application Technology)[M]. 北京:北京航空航天大學(xué)出版社(Beijing:BUAA Press),2003.
[3]陽(yáng)憲惠(Yang Xianhui).現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用(Fieldbus Technology and Its Application)[M].北京:清華大學(xué)出版社(Beijing:Tsinghua University Press),200 2.
[4]鄔寬明(Wu Kuanming).CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)(Principle of CAN Fie ldbus and Design of Application System)[M].北京:北京航空航天大學(xué)出版社(Beijin g:BUAA Press),1999.
評(píng)論