專利名稱:風(fēng)力發(fā)電機(jī)組的通信裝置及其通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,更確切地說涉及一種風(fēng)力發(fā)電機(jī)組的通信裝置及其通信方法。
背景技術(shù):
風(fēng)力發(fā)電機(jī)組的控制系統(tǒng)是風(fēng)力發(fā)電機(jī)組的核心部件,它最終決定機(jī)組能否正??煽扛咝У剡\(yùn)行。風(fēng)力發(fā)電機(jī)組包括主控制器、并網(wǎng)逆變器和發(fā)電機(jī)控制器。這些裝置之間以及這些裝置與監(jiān)控系統(tǒng)之間都需要實(shí)時(shí)交換大量控制命令和運(yùn)行參數(shù)等數(shù)據(jù)。在通信領(lǐng)域,由于RS-485總線和CAN總線具有布線簡(jiǎn)單、穩(wěn)定可靠等優(yōu)點(diǎn),廣泛地應(yīng)用于風(fēng)力發(fā)電機(jī)組各裝置之間的通信。采用RS-485通信的設(shè)備通過轉(zhuǎn)換器與擁有CAN 口的通信設(shè)備進(jìn)行數(shù)據(jù)傳輸。采用RS-485通信的設(shè)備之間一般采用總線方式進(jìn)行數(shù)據(jù)傳送。 采用CAN通信的設(shè)備之間同樣采用總線方式進(jìn)行數(shù)據(jù)傳輸。由于采用總線通信方式,任何時(shí)刻總線上只能在兩個(gè)設(shè)備之間進(jìn)行數(shù)據(jù)通信,數(shù)據(jù)傳輸速度慢,穩(wěn)定性差、安全性差。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是,提供一種能為各個(gè)通信終端提供獨(dú)享的電信號(hào)通路,使各個(gè)設(shè)備之間能夠快速、穩(wěn)定和安全地傳輸數(shù)據(jù)的風(fēng)力發(fā)電機(jī)組的通信裝置。本發(fā)明的技術(shù)解決方案是,提供一種具有以下結(jié)構(gòu)的風(fēng)力發(fā)電機(jī)組的通信裝置, 包括至少一個(gè)數(shù)字信號(hào)處理器,每個(gè)數(shù)字信號(hào)處理器均連接有至少一個(gè)可與發(fā)電機(jī)控制器或/和主控制器或/和逆變器或/和監(jiān)控系統(tǒng)或/和人機(jī)界面連接的隔離轉(zhuǎn)換器,兩個(gè)數(shù)字信號(hào)處理器之間通信連接;每個(gè)數(shù)字信號(hào)處理器均與CAN 口通信驅(qū)動(dòng)電路連接,所述的CAN 口通信驅(qū)動(dòng)電路與數(shù)字信號(hào)處理器的CAN 口連接;每個(gè)數(shù)字信號(hào)處理器設(shè)有發(fā)電機(jī)控制器數(shù)據(jù)儲(chǔ)存區(qū)、主控制器數(shù)據(jù)儲(chǔ)存區(qū)、逆變器數(shù)據(jù)儲(chǔ)存區(qū)、監(jiān)控系統(tǒng)數(shù)據(jù)儲(chǔ)存區(qū)及人機(jī)界面數(shù)據(jù)儲(chǔ)存區(qū);每個(gè)數(shù)據(jù)儲(chǔ)存區(qū)均包括數(shù)據(jù)接收區(qū)和數(shù)據(jù)發(fā)送區(qū),每個(gè)數(shù)據(jù)發(fā)送區(qū)均存放有指針;所有的數(shù)字信號(hào)處理器的變量地址均相同。采用以上結(jié)構(gòu)后,本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信裝置與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)
由于本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信裝置通過數(shù)字信號(hào)處理器、隔離轉(zhuǎn)換器,數(shù)字信號(hào)處理器的每個(gè)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū)用于保存對(duì)應(yīng)設(shè)備發(fā)送給數(shù)字信號(hào)處理器的數(shù)據(jù),數(shù)據(jù)發(fā)送區(qū)里面存放的指針指向其他設(shè)備的數(shù)據(jù)接收區(qū)的某些變量,數(shù)據(jù)發(fā)送區(qū)的所有指針指向的變量集合則為數(shù)字信號(hào)處理器要發(fā)送給該設(shè)備的數(shù)據(jù)。數(shù)字信號(hào)處理器通過每個(gè)設(shè)備的數(shù)據(jù)發(fā)送區(qū)和數(shù)據(jù)接收區(qū),實(shí)現(xiàn)各個(gè)設(shè)備之間的數(shù)據(jù)傳輸,并為各設(shè)備之間提供獨(dú)享的電信號(hào)通路,使各個(gè)設(shè)備之間能夠快速、穩(wěn)定和安全地傳輸數(shù)據(jù)。作為本發(fā)明的一種改進(jìn),兩個(gè)數(shù)字信號(hào)處理器之間采用SPI通信連接。作為本發(fā)明的另一種改進(jìn),所述的數(shù)字信號(hào)處理器為兩個(gè),每個(gè)數(shù)字信號(hào)處理器均連接有兩個(gè)隔離轉(zhuǎn)換器,兩個(gè)隔離轉(zhuǎn)換器分別與對(duì)應(yīng)的數(shù)字信號(hào)處理器的SCIA 口和
4SCIB 口連接。作為本發(fā)明的還有一種改進(jìn),所述的隔離轉(zhuǎn)換器為RS-485隔離轉(zhuǎn)換器。本發(fā)明還提供一種能為各個(gè)通信終端提供獨(dú)享的電信號(hào)通路,使各個(gè)設(shè)備之間能夠快速、穩(wěn)定和安全地傳輸數(shù)據(jù)的風(fēng)力發(fā)電機(jī)組的通信方法。本發(fā)明的另一種技術(shù)解決方案是,提供一種風(fēng)力發(fā)電機(jī)組的通信方法,包括以下步驟
每個(gè)儲(chǔ)存區(qū)的數(shù)據(jù)接收區(qū)用于保存對(duì)應(yīng)設(shè)備發(fā)送給數(shù)字信號(hào)處理器的數(shù)據(jù),每個(gè)儲(chǔ)存區(qū)的數(shù)據(jù)發(fā)送區(qū)存放的指針指向其他設(shè)備的數(shù)據(jù)接收區(qū)的某些變量,每個(gè)儲(chǔ)存區(qū)的數(shù)據(jù)發(fā)送區(qū)的所有指針指向的變量集合為數(shù)字信號(hào)處理器發(fā)送給對(duì)應(yīng)設(shè)備的數(shù)據(jù);
設(shè)變量 SCIA_FLAG、SCIB_FLAG、CAN_FLAG 分別用于標(biāo)記 SCIA 口、SCIB 口、CAN 口是否通信成功;SCIA_AD、SCIB_AD、CAN_AD分別用于標(biāo)記SCIA 口、SCIB 口、CAN 口接收到信息幀的地址,這些地址表示了信息幀屬于發(fā)電機(jī)控制器、主控制器、逆變器、監(jiān)控系統(tǒng)和人機(jī)界面中的設(shè)備;
(一)、程序開始;
(二)、判斷SCIA_FLAG是否等于1;具體判斷步驟如下
(1)、SCIA中斷入口 ;
(2)、讀取數(shù)據(jù)中的地址并保存在SCIA_AD中;
(3)、接收數(shù)據(jù);
(4)、判斷接收數(shù)據(jù)長度是否等于信息幀數(shù)據(jù)指示長度;
(5)、接收數(shù)據(jù)長度等于信息幀數(shù)據(jù)指示長度,判斷CRC校驗(yàn)是否通過;接收數(shù)據(jù)長度不等于信息幀數(shù)據(jù)指示長度,中斷結(jié)束;
(6)、CRC校驗(yàn)通過,根據(jù)SCIA_AD將數(shù)據(jù)儲(chǔ)存到對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū),SCIA_FLAG 等于1 ;CRC校驗(yàn)不通過,清空所有接收數(shù)據(jù),等待下一信息幀;
(7)、中斷結(jié)束;
(三)、SCIA_FLAG等于1,將SCIA_AD對(duì)應(yīng)存儲(chǔ)區(qū)數(shù)據(jù)發(fā)送區(qū)指向的數(shù)據(jù)通過SCIA口發(fā)送出去;數(shù)據(jù)接收區(qū)的數(shù)據(jù)通過SPI 口發(fā)送出去給其他數(shù)字信號(hào)處理器,使每個(gè)數(shù)字信號(hào)處理器內(nèi)存儲(chǔ)的數(shù)據(jù)相同,復(fù)位SCIA_FLAG,使SCIA_FLAG=0 ;SCIA_FLAG不等于1,跳到 SCIB Π ;
(四)、判斷SCIB_FLAG是否等于1;具體判斷步驟如下
(1)、SCIB中斷入口 ;
(2)、讀取數(shù)據(jù)中的地址并保存在SCIB_AD中;
(3)、接收數(shù)據(jù);
(4)、判斷接收數(shù)據(jù)長度是否等于信息幀數(shù)據(jù)指示長度;
(5)、接收數(shù)據(jù)長度等于信息幀數(shù)據(jù)指示長度,判斷CRC校驗(yàn)是否通過;接收數(shù)據(jù)長度不等于信息幀數(shù)據(jù)指示長度,中斷結(jié)束;
(6)、CRC校驗(yàn)通過,根據(jù)SCIB_AD將數(shù)據(jù)儲(chǔ)存到對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū),SCIB_FLAG 等于1 ;CRC校驗(yàn)不通過,清空所有接收數(shù)據(jù),等待下一信息幀;
(7)、中斷結(jié)束;
(五)、SCIB_FLAG等于1,將SCIB_AD對(duì)應(yīng)存儲(chǔ)區(qū)數(shù)據(jù)發(fā)送區(qū)指向的數(shù)據(jù)通過SCIB口發(fā)送出去;數(shù)據(jù)接收區(qū)的數(shù)據(jù)通過SPI 口發(fā)送出去給其他數(shù)字信號(hào)處理器,使每個(gè)數(shù)字信號(hào)處理器內(nèi)存儲(chǔ)的數(shù)據(jù)相同,復(fù)位SCIB_FLAG,使SCIB_FLAG=0 ;SCIB_FLAG不等于1,跳到CAN Π ;
(六)、判斷CAN_FLAG是否等于1;具體判斷步驟如下
(1)、CAN中斷入口;
(2)、讀取數(shù)據(jù)中的地址并保存在CAN_AD中;
(3)、接收數(shù)據(jù);
(4)、判斷接收數(shù)據(jù)長度是否等于信息幀數(shù)據(jù)指示長度;
(5)、接收數(shù)據(jù)長度等于信息幀數(shù)據(jù)指示長度,判斷CRC校驗(yàn)是否通過;接收數(shù)據(jù)長度不等于信息幀數(shù)據(jù)指示長度,中斷結(jié)束;
(6)、CRC校驗(yàn)通過,根據(jù)CAN_AD將數(shù)據(jù)儲(chǔ)存到對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū),CAN_FLAG等于1 ;CRC校驗(yàn)不通過,清空所有接收數(shù)據(jù),等待下一信息幀;
(7)、中斷結(jié)束;
(七)、CAN_FLAG等于1,將CAN_AD對(duì)應(yīng)存儲(chǔ)區(qū)數(shù)據(jù)發(fā)送區(qū)指向的數(shù)據(jù)通過CAN口發(fā)送出去;數(shù)據(jù)接收區(qū)的數(shù)據(jù)通過SPI 口發(fā)送出去給其他數(shù)字信號(hào)處理器,使每個(gè)數(shù)字信號(hào)處理器內(nèi)存儲(chǔ)的數(shù)據(jù)相同,復(fù)位CAN_FLAG,使CAN_FLAG=0 ;然后返回步驟(二);CAN_FLAG不等于1,返回步驟(二 )。本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信方法與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)
各個(gè)設(shè)備將要上傳的數(shù)據(jù)放到信息幀的數(shù)據(jù)段,按照信息幀的格式通過RS-485或CAN 口發(fā)送給數(shù)字信號(hào)處理器。數(shù)字信號(hào)處理器通過中斷信息來判斷SCIA 口、SCIB 口或CAN 口是否有外設(shè)連接并實(shí)現(xiàn)數(shù)據(jù)通信。當(dāng)數(shù)字信號(hào)處理器進(jìn)入中斷后,通過判斷接收到信息幀的地址碼,自動(dòng)識(shí)別設(shè)備的類型,即通過地址碼來識(shí)別是電機(jī)控制器、主控制器、逆變器、監(jiān)控系統(tǒng)和人機(jī)界面中的哪個(gè)設(shè)備。當(dāng)接收到的數(shù)據(jù)長度等于信息幀中幀長度段對(duì)應(yīng)的長度時(shí),進(jìn)行CRC校驗(yàn)。如果數(shù)據(jù)通過校驗(yàn),將數(shù)據(jù)段中的數(shù)據(jù)存放到對(duì)應(yīng)設(shè)備的數(shù)據(jù)存儲(chǔ)區(qū), 并將這部分?jǐn)?shù)據(jù)通過SPI 口傳輸給另外一個(gè)數(shù)字信號(hào)處理器。當(dāng)數(shù)字信號(hào)處理器完成數(shù)據(jù)接收后,數(shù)字信號(hào)處理器會(huì)通過該設(shè)備數(shù)據(jù)發(fā)送區(qū)的指針讀取其他設(shè)備的數(shù)據(jù)接收區(qū)對(duì)應(yīng)的數(shù)據(jù),并將這些數(shù)據(jù)放到信息幀的數(shù)據(jù)區(qū)段,按照信息幀的格式發(fā)送給設(shè)備,因此,本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信方法能為各個(gè)通信終端提供獨(dú)享的電信號(hào)通路,使各個(gè)設(shè)備之間能夠快速、穩(wěn)定和安全地傳輸數(shù)據(jù)。
圖1是本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信裝置及其通信方法的電路原理圖。圖2是本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信裝置及其通信方法的數(shù)字信號(hào)處理器的結(jié)構(gòu)示意圖。圖3是本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信方法的流程圖。圖4是本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信方法的判斷SCIA_FLAG是否等于1的流程圖。圖5是本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信方法的判斷SCIB_FLAG是否等于1的流程圖。
圖6是本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信方法的判斷CAN_FLAG是否等于1的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。請(qǐng)參閱圖1和圖2所示,本發(fā)明的風(fēng)力發(fā)電機(jī)組的通信裝置包括至少一個(gè)數(shù)字信號(hào)處理器,每個(gè)數(shù)字信號(hào)處理器均連接有至少一個(gè)可與發(fā)電機(jī)控制器或/和主控制器或/ 和逆變器或/和監(jiān)控系統(tǒng)或/和人機(jī)界面連接的隔離轉(zhuǎn)換器,兩個(gè)數(shù)字信號(hào)處理器之間通信連接。每個(gè)數(shù)字信號(hào)處理器均與CAN 口通信驅(qū)動(dòng)電路連接,所述的CAN 口通信驅(qū)動(dòng)電路與數(shù)字信號(hào)處理器的CAN 口連接。每個(gè)數(shù)字信號(hào)處理器設(shè)有發(fā)電機(jī)控制器數(shù)據(jù)儲(chǔ)存區(qū)、主控制器數(shù)據(jù)儲(chǔ)存區(qū)、逆變器數(shù)據(jù)儲(chǔ)存區(qū)、監(jiān)控系統(tǒng)數(shù)據(jù)儲(chǔ)存區(qū)及人機(jī)界面數(shù)據(jù)儲(chǔ)存區(qū)。每個(gè)數(shù)據(jù)儲(chǔ)存區(qū)均包括數(shù)據(jù)接收區(qū)和數(shù)據(jù)發(fā)送區(qū),每個(gè)數(shù)據(jù)發(fā)送區(qū)均存放有指針。所有的數(shù)字信號(hào)處理器的變量地址均相同。兩個(gè)數(shù)字信號(hào)處理器之間采用SPI通信連接。所述的隔離轉(zhuǎn)換器為RS-485隔離轉(zhuǎn)換器。本具體實(shí)施例中,所述的數(shù)字信號(hào)處理器為兩個(gè),為數(shù)字信號(hào)處理器I和數(shù)字信號(hào)處理器II。每個(gè)數(shù)字信號(hào)處理器均連接有兩個(gè)隔離轉(zhuǎn)換器,為隔離轉(zhuǎn)換器I、隔離轉(zhuǎn)換器 II、隔離轉(zhuǎn)換器III、隔離轉(zhuǎn)換器IV。兩個(gè)隔離轉(zhuǎn)換器分別與對(duì)應(yīng)的數(shù)字信號(hào)處理器的SCIA 口和SCIB 口連接,隔離轉(zhuǎn)換器I連接數(shù)字信號(hào)處理器I的SCIA 口,隔離轉(zhuǎn)換器II連接數(shù)字信號(hào)處理器I的SCIB 口,隔離轉(zhuǎn)換器III連接數(shù)字信號(hào)處理器II的SCIA 口,隔離轉(zhuǎn)換器IV連接數(shù)字信號(hào)處理器II的SCIB 口。所述的CAN 口通信驅(qū)動(dòng)包括CAN 口通信驅(qū)動(dòng)I和CAN 口通信驅(qū)動(dòng)II,所述的CAN 口通信驅(qū)動(dòng)I與數(shù)字信號(hào)處理器I連接,所述的CAN 口通信驅(qū)動(dòng)II 與數(shù)字信號(hào)處理器II連接。請(qǐng)參閱圖3、圖4、圖5及圖6所示,風(fēng)力發(fā)電機(jī)組的通信方法,包括以下步驟
每個(gè)儲(chǔ)存區(qū)的數(shù)據(jù)接收區(qū)用于保存對(duì)應(yīng)設(shè)備發(fā)送給數(shù)字信號(hào)處理器的數(shù)據(jù),每個(gè)儲(chǔ)存區(qū)的數(shù)據(jù)發(fā)送區(qū)存放的指針指向其他設(shè)備的數(shù)據(jù)接收區(qū)的某些變量,每個(gè)儲(chǔ)存區(qū)的數(shù)據(jù)發(fā)送區(qū)的所有指針指向的變量集合為數(shù)字信號(hào)處理器發(fā)送給對(duì)應(yīng)設(shè)備的數(shù)據(jù)。設(shè)變量SCIA_FLAG、SCIB_FLAG、CAN_FLAG 分別用于標(biāo)記 SCIA 口、SCIB 口、CAN 口是否通信成功;SCIA_AD、SCIB_AD、CAN_AD分別用于標(biāo)記SCIA 口、SCIB 口、CAN 口接收到信息幀的地址,這些地址表示了信息幀屬于發(fā)電機(jī)控制器、主控制器、逆變器、監(jiān)控系統(tǒng)和人機(jī)界面中的設(shè)備。(一)、程序開始;
(二)、判斷SCIA_FLAG是否等于1 ;具體判斷步驟如下
(1)、SCIA中斷入口 ;
(2)、讀取數(shù)據(jù)中的地址并保存在SCIA_AD中;
(3)、接收數(shù)據(jù);
(4)、判斷接收數(shù)據(jù)長度是否等于信息幀數(shù)據(jù)指示長度;
(5)、接收數(shù)據(jù)長度等于信息幀數(shù)據(jù)指示長度,判斷CRC校驗(yàn)是否通過;接收數(shù)據(jù)長度不等于信息幀數(shù)據(jù)指示長度,中斷結(jié)束;
(6)、CRC校驗(yàn)通過,根據(jù)SCIA_AD將數(shù)據(jù)儲(chǔ)存到對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū),SCIA_FLAG 等于1 ;CRC校驗(yàn)不通過,清空所有接收數(shù)據(jù),等待下一信息幀;
(7)、中斷結(jié)束;(三)、SCIA_FLAG等于1,將SCIA_AD對(duì)應(yīng)存儲(chǔ)區(qū)數(shù)據(jù)發(fā)送區(qū)指向的數(shù)據(jù)通過SCIAロ發(fā)送出去;數(shù)據(jù)接收區(qū)的數(shù)據(jù)通過SPI ロ發(fā)送出去給其他數(shù)字信號(hào)處理器,使每個(gè)數(shù)字信號(hào)處理器內(nèi)存儲(chǔ)的數(shù)據(jù)相同,復(fù)位SCIA_FLAG,使SCIA_FLAG=0 ; ;SCIA_FLAG不等于1,跳到 SCIB Π ;
(四)、判斷SCIB_FLAG是否等于1;具體判斷步驟如下
(1)、SCIB中斷入口 ;
(2)、讀取數(shù)據(jù)中的地址并保存在SCIB_AD中;
(3)、接收數(shù)據(jù);
(4)、判斷接收數(shù)據(jù)長度是否等于信息幀數(shù)據(jù)指示長度;
(5)、接收數(shù)據(jù)長度等于信息幀數(shù)據(jù)指示長度,判斷CRC校驗(yàn)是否通過;接收數(shù)據(jù)長度不等于信息幀數(shù)據(jù)指示長度,中斷結(jié)束;
(6)、CRC校驗(yàn)通過,根據(jù)SCIB_AD將數(shù)據(jù)儲(chǔ)存到對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū),SCIB_FLAG 等于1 ;CRC校驗(yàn)不通過,清空所有接收數(shù)據(jù),等待下一信息幀;
(7)、中斷結(jié)束;
(五)、SCIB_FLAG等于1,將SCIB_AD對(duì)應(yīng)存儲(chǔ)區(qū)數(shù)據(jù)發(fā)送區(qū)指向的數(shù)據(jù)通過SCIBロ發(fā)送出去;數(shù)據(jù)接收區(qū)的數(shù)據(jù)通過SPI ロ發(fā)送出去給其他數(shù)字信號(hào)處理器,使每個(gè)數(shù)字信號(hào)處理器內(nèi)存儲(chǔ)的數(shù)據(jù)相同,復(fù)位SCIB_FLAG,使SCIB_FLAG=0 ; ;SCIB_FLAG不等于1,跳到 CAN ロ ;
(六)、判斷CAN_FLAG是否等于1;具體判斷步驟如下
(1)、CAN中斷入口;
(2)、讀取數(shù)據(jù)中的地址并保存在CAN_AD中;
(3)、接收數(shù)據(jù);
(4)、判斷接收數(shù)據(jù)長度是否等于信息幀數(shù)據(jù)指示長度;
(5)、接收數(shù)據(jù)長度等于信息幀數(shù)據(jù)指示長度,判斷CRC校驗(yàn)是否通過;接收數(shù)據(jù)長度不等于信息幀數(shù)據(jù)指示長度,中斷結(jié)束;
(6)、CRC校驗(yàn)通過,根據(jù)CAN_AD將數(shù)據(jù)儲(chǔ)存到對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū),CAN_FLAG等于1 ;CRC校驗(yàn)不通過,清空所有接收數(shù)據(jù),等待下一信息幀;
(7)、中斷結(jié)束;
(七)、CAN_FLAG等于1,將CAN_AD對(duì)應(yīng)存儲(chǔ)區(qū)數(shù)據(jù)發(fā)送區(qū)指向的數(shù)據(jù)通過CANロ發(fā)送出去;數(shù)據(jù)接收區(qū)的數(shù)據(jù)通過SPI ロ發(fā)送出去給其他數(shù)字信號(hào)處理器,使每個(gè)數(shù)字信號(hào)處理器內(nèi)存儲(chǔ)的數(shù)據(jù)相同,復(fù)位CAN_FLAG,使CAN_FLAG=0,然后返回步驟(ニ);CAN_FLAG不等于1,返回步驟(ニ)。
權(quán)利要求
1.一種風(fēng)力發(fā)電機(jī)組的通信裝置,其特征在于包括至少一個(gè)數(shù)字信號(hào)處理器,每個(gè)數(shù)字信號(hào)處理器均連接有至少一個(gè)可與發(fā)電機(jī)控制器或/和主控制器或/和逆變器或/和監(jiān)控系統(tǒng)或/和人機(jī)界面連接的隔離轉(zhuǎn)換器,兩個(gè)數(shù)字信號(hào)處理器之間通信連接;每個(gè)數(shù)字信號(hào)處理器均與CAN 口通信驅(qū)動(dòng)電路連接,所述的CAN 口通信驅(qū)動(dòng)電路與數(shù)字信號(hào)處理器的CAN 口連接;每個(gè)數(shù)字信號(hào)處理器設(shè)有發(fā)電機(jī)控制器數(shù)據(jù)儲(chǔ)存區(qū)、主控制器數(shù)據(jù)儲(chǔ)存區(qū)、逆變器數(shù)據(jù)儲(chǔ)存區(qū)、監(jiān)控系統(tǒng)數(shù)據(jù)儲(chǔ)存區(qū)及人機(jī)界面數(shù)據(jù)儲(chǔ)存區(qū);每個(gè)數(shù)據(jù)儲(chǔ)存區(qū)均包括數(shù)據(jù)接收區(qū)和數(shù)據(jù)發(fā)送區(qū),每個(gè)數(shù)據(jù)發(fā)送區(qū)均存放有指針;所有的數(shù)字信號(hào)處理器的變量地址均相同。
2.根據(jù)權(quán)利要求1所述的風(fēng)力發(fā)電機(jī)組的通信裝置,其特征在于兩個(gè)數(shù)字信號(hào)處理器之間采用SPI通信連接。
3.根據(jù)權(quán)利要求2所述的風(fēng)力發(fā)電機(jī)組的通信裝置,其特征在于所述的數(shù)字信號(hào)處理器為兩個(gè),每個(gè)數(shù)字信號(hào)處理器均連接有兩個(gè)隔離轉(zhuǎn)換器,兩個(gè)隔離轉(zhuǎn)換器分別與對(duì)應(yīng)的數(shù)字信號(hào)處理器的SCIA 口和SCIB 口連接。
4.根據(jù)權(quán)利要求3所述的風(fēng)力發(fā)電機(jī)組的通信裝置,其特征在于所述的隔離轉(zhuǎn)換器為RS-485隔離轉(zhuǎn)換器。
5.一種風(fēng)力發(fā)電機(jī)組的通信方法,包括以下步驟每個(gè)儲(chǔ)存區(qū)的數(shù)據(jù)接收區(qū)用于保存對(duì)應(yīng)設(shè)備發(fā)送給數(shù)字信號(hào)處理器的數(shù)據(jù),每個(gè)儲(chǔ)存區(qū)的數(shù)據(jù)發(fā)送區(qū)存放的指針指向其他設(shè)備的數(shù)據(jù)接收區(qū)的某些變量,每個(gè)儲(chǔ)存區(qū)的數(shù)據(jù)發(fā)送區(qū)的所有指針指向的變量集合為數(shù)字信號(hào)處理器發(fā)送給對(duì)應(yīng)設(shè)備的數(shù)據(jù);設(shè)變量 SCIA_FLAG、SCIB_FLAG、CAN_FLAG 分別用于標(biāo)記 SCIA 口、SCIB 口、CAN 口是否通信成功;SCIA_AD、SCIB_AD、CAN_AD分別用于標(biāo)記SCIA 口、SCIB 口、CAN 口接收到信息幀的地址,這些地址表示了信息幀屬于發(fā)電機(jī)控制器、主控制器、逆變器、監(jiān)控系統(tǒng)和人機(jī)界面中的設(shè)備;(一)、程序開始;(二)、判斷SCIA_FLAG是否等于1;具體判斷步驟如下(1)、SCIA中斷入口 ;(2)、讀取數(shù)據(jù)中的地址并保存在SCIA_AD中;(3)、接收數(shù)據(jù);(4)、判斷接收數(shù)據(jù)長度是否等于信息幀數(shù)據(jù)指示長度;(5)、接收數(shù)據(jù)長度等于信息幀數(shù)據(jù)指示長度,判斷CRC校驗(yàn)是否通過;接收數(shù)據(jù)長度不等于信息幀數(shù)據(jù)指示長度,中斷結(jié)束;(6)、CRC校驗(yàn)通過,根據(jù)SCIA_AD將數(shù)據(jù)儲(chǔ)存到對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū),SCIA_FLAG 等于1 ;CRC校驗(yàn)不通過,清空所有接收數(shù)據(jù),等待下一信息幀;(7)、中斷結(jié)束;(三)、SCIA_FLAG等于1,將SCIA_AD對(duì)應(yīng)存儲(chǔ)區(qū)數(shù)據(jù)發(fā)送區(qū)指向的數(shù)據(jù)通過SCIA口發(fā)送出去;數(shù)據(jù)接收區(qū)的數(shù)據(jù)通過SPI 口發(fā)送出去給其他數(shù)字信號(hào)處理器,使每個(gè)數(shù)字信號(hào)處理器內(nèi)存儲(chǔ)的數(shù)據(jù)相同,復(fù)位SCIA_FLAG,使SCIA_FLAG=0 ;SCIA_FLAG不等于1,跳到 SCIB Π ;(四)、判斷SCIB_FLAG是否等于1;具體判斷步驟如下(1)、SCIB中斷入口 ;(2)、讀取數(shù)據(jù)中的地址并保存在SCIB_AD中;(3)、接收數(shù)據(jù);(4)、判斷接收數(shù)據(jù)長度是否等于信息幀數(shù)據(jù)指示長度;(5)、接收數(shù)據(jù)長度等于信息幀數(shù)據(jù)指示長度,判斷CRC校驗(yàn)是否通過;接收數(shù)據(jù)長度不等于信息幀數(shù)據(jù)指示長度,中斷結(jié)束;(6)、CRC校驗(yàn)通過,根據(jù)SCIB_AD將數(shù)據(jù)儲(chǔ)存到對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū),SCIB_FLAG 等于1 ;CRC校驗(yàn)不通過,清空所有接收數(shù)據(jù),等待下一信息幀;(7)、中斷結(jié)束;(五)、SCIB_FLAG等于1,將SCIB_AD對(duì)應(yīng)存儲(chǔ)區(qū)數(shù)據(jù)發(fā)送區(qū)指向的數(shù)據(jù)通過SCIB口發(fā)送出去;數(shù)據(jù)接收區(qū)的數(shù)據(jù)通過SPI 口發(fā)送出去給其他數(shù)字信號(hào)處理器,使每個(gè)數(shù)字信號(hào)處理器內(nèi)存儲(chǔ)的數(shù)據(jù)相同,復(fù)位SCIB_FLAG,使SCIB_FLAG=0 ;SCIB_FLAG不等于1,跳到CAN Π ;(六)、判斷CAN_FLAG是否等于1;具體判斷步驟如下(1)、CAN中斷入口;(2)、讀取數(shù)據(jù)中的地址并保存在CAN_AD中;(3)、接收數(shù)據(jù);(4)、判斷接收數(shù)據(jù)長度是否等于信息幀數(shù)據(jù)指示長度;(5)、接收數(shù)據(jù)長度等于信息幀數(shù)據(jù)指示長度,判斷CRC校驗(yàn)是否通過;接收數(shù)據(jù)長度不等于信息幀數(shù)據(jù)指示長度,中斷結(jié)束;(6)、CRC校驗(yàn)通過,根據(jù)CAN_AD將數(shù)據(jù)儲(chǔ)存到對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)接收區(qū),CAN_FLAG等于1 ;CRC校驗(yàn)不通過,清空所有接收數(shù)據(jù),等待下一信息幀;(7)、中斷結(jié)束;(七)、CAN_FLAG等于1,將CAN_AD對(duì)應(yīng)存儲(chǔ)區(qū)數(shù)據(jù)發(fā)送區(qū)指向的數(shù)據(jù)通過CAN口發(fā)送出去;數(shù)據(jù)接收區(qū)的數(shù)據(jù)通過SPI 口發(fā)送出去給其他數(shù)字信號(hào)處理器,使每個(gè)數(shù)字信號(hào)處理器內(nèi)存儲(chǔ)的數(shù)據(jù)相同復(fù)位CAN_FLAG,使CAN_FLAG=0 ;然后返回步驟(二);CAN_FLAG不等于1,返回步驟(二)。
全文摘要
本發(fā)明公開了一種風(fēng)力發(fā)電機(jī)組的通信裝置及其通信方法,包括至少一個(gè)數(shù)字信號(hào)處理器,每個(gè)數(shù)字信號(hào)處理器均連接有至少一個(gè)可與發(fā)電機(jī)控制器或/和主控制器或/和逆變器或/和監(jiān)控系統(tǒng)或/和人機(jī)界面連接的隔離轉(zhuǎn)換器,兩個(gè)數(shù)字信號(hào)處理器之間通信連接;每個(gè)數(shù)字信號(hào)處理器均與CAN口通信驅(qū)動(dòng)電路連接,CAN口通信驅(qū)動(dòng)電路與數(shù)字信號(hào)處理器的CAN口連接;每個(gè)數(shù)字信號(hào)處理器設(shè)有發(fā)電機(jī)控制器數(shù)據(jù)儲(chǔ)存區(qū)、主控制器數(shù)據(jù)儲(chǔ)存區(qū)、逆變器數(shù)據(jù)儲(chǔ)存區(qū)、監(jiān)控系統(tǒng)數(shù)據(jù)儲(chǔ)存區(qū)及人機(jī)界面數(shù)據(jù)儲(chǔ)存區(qū)。該通信裝置及其通信方法能為各個(gè)通信終端提供獨(dú)享的電信號(hào)通路,使各個(gè)設(shè)備之間能夠快速、穩(wěn)定和安全地傳輸數(shù)據(jù)。
文檔編號(hào)G05B19/418GK102566538SQ20111044942
公開日2012年7月11日 申請(qǐng)日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者左彬, 胡慶波 申請(qǐng)人:欣達(dá)重工股份有限公司