本發(fā)明涉及電池板監(jiān)控通信領(lǐng)域,尤其涉及的是一種用于電池板監(jiān)控系統(tǒng)的16種頻率數(shù)據(jù)傳輸方法。
背景技術(shù):
在這個(gè)高度信息化的社會(huì),信息和通信已然成為現(xiàn)代化社會(huì)的命脈;廣泛的信息交流促進(jìn)了社會(huì)成員之間的相互合作,推動(dòng)社會(huì)生產(chǎn)力的發(fā)展,創(chuàng)造了巨大的經(jīng)濟(jì)效益。
直流載波通信是通過(guò)直流載波傳送裝置將載波信號(hào)耦合到電力線(xiàn)上,再通過(guò)直流載波接收裝置在電力線(xiàn)上提取上述載波信號(hào),實(shí)現(xiàn)了電力線(xiàn)直流載波通信。電力線(xiàn)載波通信憑借著通道建設(shè)費(fèi)用低,可靠性高,設(shè)備簡(jiǎn)單等優(yōu)勢(shì),在光伏系統(tǒng)的安全性能引起大家廣泛重視,并對(duì)信息能被準(zhǔn)確地采集,數(shù)據(jù)傳輸量大提出了苛刻的要求。
目前現(xiàn)有的技術(shù)能實(shí)現(xiàn)直流載波通信的數(shù)據(jù)傳輸過(guò)程(見(jiàn)圖1),由光伏組件背部的接線(xiàn)盒中的數(shù)據(jù)采集及發(fā)送模塊,將脈沖載波信號(hào)耦合到直流電力線(xiàn)中,在遠(yuǎn)端安裝一個(gè)數(shù)據(jù)接收模塊,提取直流電力線(xiàn)上的直流載波信號(hào),按照沖突概率計(jì)算,上傳數(shù)據(jù)。
一般傳統(tǒng)的數(shù)據(jù)傳輸方法采用2種頻率傳輸數(shù)據(jù)的方法;由于在4種頻率傳輸模式下,每種頻率分別代表1位數(shù)據(jù)位:0,1;每傳輸一個(gè)字節(jié)的數(shù)據(jù),發(fā)送模塊需要移動(dòng)數(shù)據(jù)8次,需要啟動(dòng)8次發(fā)送中斷將脈沖載波信號(hào)發(fā)送出去;接收模塊也需要啟動(dòng)8次接收中斷接收數(shù)據(jù),將接收的數(shù)據(jù)進(jìn)行8次移動(dòng)操作組裝成一個(gè)字節(jié)數(shù)據(jù);上述操作過(guò)程中,控制器中斷啟動(dòng)十分頻繁,移位操作也十分繁瑣;明顯的,用2種頻率來(lái)表示一個(gè)字節(jié)8位數(shù)據(jù),每一種頻率代表兩位數(shù)據(jù)位,數(shù)據(jù)傳輸量較?。恍枰褂?個(gè)周期時(shí)間來(lái)代表一個(gè)字節(jié)的數(shù)據(jù)時(shí)間,數(shù)據(jù)的傳輸時(shí)間較長(zhǎng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在公開(kāi)的一種電池板監(jiān)控系統(tǒng)的數(shù)據(jù)上傳方法及該電池板監(jiān)控系統(tǒng)的基礎(chǔ)之上,針對(duì)數(shù)據(jù)傳輸處理過(guò)程,提出了一種用于電池板監(jiān)控系統(tǒng)的16種頻率數(shù)據(jù)傳輸方法。主要用于解決傳輸數(shù)據(jù)量小,幀傳輸時(shí)間長(zhǎng)以及處理過(guò)程復(fù)雜的問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下具體技術(shù)方案:
一種用于電池板監(jiān)控系統(tǒng)的16種頻率數(shù)據(jù)傳輸方法,其特征在于:在電池板監(jiān)控系統(tǒng)中每一塊電池板的發(fā)送模塊的發(fā)送的直流載波信號(hào)通過(guò)調(diào)制電路傳輸?shù)街绷麟娏€(xiàn)上,在直流電力線(xiàn)的遠(yuǎn)端的接收模塊,通過(guò)信號(hào)耦合器調(diào)制出直流載波信號(hào);所述直流載波信號(hào)的傳輸過(guò)程包括:發(fā)送模塊的數(shù)據(jù)處理過(guò)程、發(fā)送模塊的發(fā)送數(shù)據(jù)過(guò)程、接收模塊對(duì)數(shù)據(jù)接收過(guò)程、接收數(shù)據(jù)進(jìn)行處理過(guò)程;
a、發(fā)送模塊的數(shù)據(jù)處理過(guò)程;控制器獲取由關(guān)鍵參數(shù)組成的數(shù)據(jù)幀,并計(jì)算出數(shù)據(jù)幀的長(zhǎng)度,以字節(jié)為一個(gè)處理單位,然后以先處理第一個(gè)字節(jié)的低半字節(jié),再處理字節(jié)的高半字節(jié)的順序處理;處理過(guò)程如下:假定數(shù)據(jù)幀的長(zhǎng)度為n字節(jié),實(shí)現(xiàn)需要將直流載波通訊所需求的16種頻率確定下來(lái),根據(jù)16種頻率計(jì)算出每一個(gè)頻率對(duì)應(yīng)的周期值,最后將周期值建立一個(gè)周期值查找表,并且建立一個(gè)2n的整數(shù)類(lèi)型的數(shù)組,用于存放每4位數(shù)據(jù)對(duì)應(yīng)的周期值;接下來(lái)先判斷數(shù)據(jù)長(zhǎng)度是否大于0,如果大于0,說(shuō)明還有需要待處理的數(shù)據(jù),將讀取字節(jié)的低4位通過(guò)建立好的頻率對(duì)應(yīng)好的數(shù)據(jù)周期值的查找表,找到相應(yīng)的周期值,并將該周期值填入2n大小的數(shù)組中,將數(shù)據(jù)長(zhǎng)度減1,再次進(jìn)入判斷流程,直到數(shù)據(jù)長(zhǎng)度為0;如果判斷數(shù)據(jù)長(zhǎng)度不大于0,說(shuō)明數(shù)據(jù)到周期值對(duì)應(yīng)過(guò)程處理結(jié)束,可以啟動(dòng)PWM功能來(lái)調(diào)制直流載波信號(hào);
b、發(fā)送模塊的發(fā)送數(shù)據(jù)過(guò)程;控制器先讀取數(shù)據(jù)通過(guò)高低4位處理后對(duì)應(yīng)的數(shù)組長(zhǎng)度,進(jìn)入PWM中斷,先判斷數(shù)組的長(zhǎng)度是否大于0,如果是大于0,說(shuō)明還有需要調(diào)制發(fā)送的數(shù)據(jù),將周期值加載給周期寄存器值,并設(shè)置比較寄存器的值,然后將數(shù)組長(zhǎng)度減1,退出本次中斷,等待下次PWM中斷;如果判斷數(shù)組長(zhǎng)度不大于0,說(shuō)明數(shù)據(jù)已經(jīng)調(diào)制完畢,等待下一幀數(shù)據(jù)發(fā)送。
c、接收模塊對(duì)數(shù)據(jù)接收過(guò)程;從直流電力線(xiàn)上傳輸過(guò)來(lái)的直流載波信號(hào)通過(guò)專(zhuān)有調(diào)制電路調(diào)制出來(lái)后,將信號(hào)送入控制器捕獲模塊,控制器啟動(dòng)捕獲中斷進(jìn)行處理,控制器通過(guò)讀取捕獲值,計(jì)算出頻率的周期值,然后由計(jì)算的周期值,通過(guò)值查找表查得周期值所對(duì)應(yīng)的4位數(shù)據(jù),將4位數(shù)據(jù)存放在2n的數(shù)組中。接著判斷數(shù)據(jù)幀是否接收結(jié)束,如果沒(méi)有接收結(jié)束,將繼續(xù)等待下次中斷;如果已經(jīng)接收結(jié)束,將指示一幀數(shù)據(jù)完成接收的標(biāo)志位置1,退出數(shù)據(jù)捕獲中斷;
d、接收數(shù)據(jù)進(jìn)行處理過(guò)程;控制器通過(guò)查詢(xún)數(shù)據(jù)完成的標(biāo)志位是否為1,如果是為1,將進(jìn)入組幀處理,組幀的處理過(guò)程如下:判斷數(shù)組長(zhǎng)度是否大于0,如果是大于0,說(shuō)明還有數(shù)據(jù)需要處理,控制器將從低4位所在字節(jié)讀取數(shù)據(jù),從高4位所在字節(jié)讀取數(shù)據(jù)并向左移動(dòng),然后將兩個(gè)字節(jié)進(jìn)行按位或操作,將所得結(jié)果字節(jié)數(shù)據(jù)存放在n大小的幀數(shù)組中,2n的數(shù)組長(zhǎng)度減2,進(jìn)入下一個(gè)數(shù)據(jù)處理,知道2n的數(shù)組里的數(shù)據(jù)處理完成為止;如果2n的數(shù)組的長(zhǎng)度位不大于0,說(shuō)明一幀數(shù)據(jù)組幀完成,將數(shù)據(jù)完成的標(biāo)志位標(biāo)志位清零并且將幀處理標(biāo)志位置1,用于應(yīng)用程序?qū)?shù)據(jù)是否組幀完成的判斷,最后結(jié)束幀處理組幀過(guò)程。
優(yōu)選的,采用16種頻率來(lái)傳輸數(shù)據(jù),用16種頻率來(lái)表示一個(gè)字節(jié)8位數(shù)據(jù),每一種頻率代表四位數(shù)據(jù)位,在16種頻率模式下,每種頻率分別代表數(shù)據(jù)0000(0),0001(1),0010(2),0011(3),0100(4),0101(5),0110(6),0111(7),1000(8),1001(9),1010(A),1011(B),1100(C),1101(D),1110(E),1111(F);一個(gè)字節(jié)8位數(shù)據(jù)需要2個(gè)獨(dú)立的頻率傳輸,發(fā)送模塊對(duì)一個(gè)字節(jié)的數(shù)據(jù)進(jìn)行2次移位操作,將一個(gè)字節(jié)的數(shù)據(jù)通過(guò)啟動(dòng)2次中斷將數(shù)據(jù)耦合到直流電力線(xiàn)上;接收模塊啟動(dòng)2次接收中斷,將接收的一個(gè)字的數(shù)據(jù)進(jìn)行2次移位操作組裝成一個(gè)字節(jié)數(shù)據(jù)。
優(yōu)選的,所述數(shù)據(jù)由在電池板監(jiān)控系統(tǒng)中所述控制器啟動(dòng)采集電池板電壓、電流和溫度等關(guān)鍵參數(shù)數(shù)據(jù)組合成,形成數(shù)據(jù)幀。
本發(fā)明相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):
(1)傳輸量大;16種頻率傳輸模式下,1個(gè)頻率可以代表4位數(shù)據(jù),數(shù)據(jù)量是2種頻率傳輸模式下的4倍;
(2)傳輸時(shí)間短;16種頻率傳輸模式下,2個(gè)周期可以代表4位數(shù)據(jù),傳輸時(shí)間是2種頻率傳輸模式下的四分之一;
(3)控制器操作量少;16種頻率傳輸模式下,控制器在發(fā)送數(shù)據(jù)和接收數(shù)據(jù)對(duì)中斷的啟動(dòng)次數(shù),以及數(shù)據(jù)在發(fā)送數(shù)據(jù)時(shí)的拆分操作和接收數(shù)據(jù)時(shí)數(shù)據(jù)的組裝操作次數(shù)是2種頻率傳輸模式下的四分之一。
附圖說(shuō)明
為了更清楚的說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做簡(jiǎn)單的介紹,顯而易見(jiàn)的,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1 電池板監(jiān)控直流載波通信裝置的系統(tǒng)示意圖;
圖2 2種頻率傳輸模式下單字節(jié)操作次數(shù);
圖3 16種頻率傳輸模式下單字節(jié)操作次數(shù);
圖4 2種傳輸模式下傳輸單個(gè)字節(jié)所需時(shí)間的對(duì)比圖;
圖5 發(fā)送模塊數(shù)據(jù)轉(zhuǎn)換成對(duì)應(yīng)頻率的周期值處理過(guò)程;
圖6 發(fā)送模塊對(duì)一幀數(shù)據(jù)的周期值發(fā)送PWM流程圖;
圖7 接收模塊對(duì)直流電力線(xiàn)上傳輸?shù)臄?shù)據(jù)通過(guò)捕獲接收數(shù)據(jù)的過(guò)程;
圖8 接收模塊將接收的數(shù)據(jù)組裝成一幀標(biāo)準(zhǔn)的數(shù)據(jù)幀;
表1 頻率,周期值與數(shù)據(jù)之間的一一對(duì)應(yīng)關(guān)系。
具體實(shí)施方式
下面對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明,本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
本實(shí)施例提供用16種頻率來(lái)表示一個(gè)字節(jié)8位數(shù)據(jù)的方法,每一種頻率代表四位數(shù)據(jù)位(見(jiàn)表1),傳輸量約是在2種頻率下的傳輸模式下的4倍;需要使用2個(gè)周期時(shí)間代表一個(gè)字的數(shù)據(jù)時(shí)間,數(shù)據(jù)傳輸量只是2種頻率下傳輸模式的四分之一(見(jiàn)圖4);控制器中斷啟動(dòng)次數(shù)與數(shù)據(jù)移位操作次數(shù)也是2種頻率模式下的四分之一,可以減輕控制器處理數(shù)據(jù)的開(kāi)銷(xiāo)。
在16種頻率模式下,每種頻率分別代表數(shù)據(jù):0000(0),0001(1),0010(2),0011(3),0100(4),0101(5),0110(6),0111(7),1000(8),1001(9),1010(A),1011(B),1100(C),1101(D),1110(E),1111(F)。一個(gè)字節(jié)8位數(shù)據(jù)需要2個(gè)獨(dú)立的頻率傳輸。發(fā)送模塊對(duì)一個(gè)字節(jié)的數(shù)據(jù)進(jìn)行2次移位操作(見(jiàn)圖3),將一個(gè)字節(jié)的數(shù)據(jù)通過(guò)啟動(dòng)2次中斷將數(shù)據(jù)耦合到直流電力線(xiàn)上;接收模塊啟動(dòng)2次接收中斷,將接收的一個(gè)字的數(shù)據(jù)進(jìn)行2次移位操作組裝成一個(gè)字節(jié)數(shù)據(jù)。
本實(shí)施例在電池板監(jiān)控系統(tǒng)中的應(yīng)用,在電池板監(jiān)控系統(tǒng)中每一塊電池板的發(fā)送模塊與接收模塊之間連接如圖1所示;每一塊電池板的發(fā)送模塊的發(fā)送的直流載波信號(hào)通過(guò)調(diào)制電路傳輸?shù)街绷麟娏€(xiàn)上,在直流電力線(xiàn)的遠(yuǎn)端的接收模塊,通過(guò)信號(hào)耦合器調(diào)制出直流載波信號(hào)。
在電池板監(jiān)控系統(tǒng)中,控制器啟動(dòng)采集電池板電壓,電流和溫度等關(guān)鍵參數(shù)??刂破鲗⑦@些關(guān)鍵數(shù)據(jù)組合成一幀數(shù)據(jù)幀,本申請(qǐng)并不對(duì)數(shù)據(jù)幀格式做進(jìn)一步限定。
如圖5所示為發(fā)送模塊的數(shù)據(jù)處理過(guò)程,控制器獲取由關(guān)鍵參數(shù)組成的數(shù)據(jù)幀,并計(jì)算出數(shù)據(jù)幀的長(zhǎng)度,以字節(jié)為一個(gè)處理單位。然后以先處理第一個(gè)字節(jié)的低半字節(jié),再處理字節(jié)的高半字節(jié)的順序處理,處理過(guò)程如下:
現(xiàn)在假定數(shù)據(jù)幀的長(zhǎng)度為n字節(jié),實(shí)現(xiàn)需要將直流載波通訊所需求的16種頻率確定下來(lái),根據(jù)16種頻率計(jì)算出每一個(gè)頻率對(duì)應(yīng)的周期值,最后將周期值建立一個(gè)周期值查找表,并且建立一個(gè)2n的整數(shù)類(lèi)型的數(shù)組,用于存放每4位數(shù)據(jù)對(duì)應(yīng)的周期值;接下來(lái)先判斷數(shù)據(jù)長(zhǎng)度是否大于0,如果大于0,說(shuō)明還有需要待處理的數(shù)據(jù),將讀取字節(jié)的低4位通過(guò)建立好的頻率對(duì)應(yīng)好的數(shù)據(jù)周期值的查找表,找到相應(yīng)的周期值,并將該周期值填入2n大小的數(shù)組中,將數(shù)據(jù)長(zhǎng)度減1,再次進(jìn)入判斷流程,直到數(shù)據(jù)長(zhǎng)度為0;如果判斷數(shù)據(jù)長(zhǎng)度不大于0,說(shuō)明數(shù)據(jù)到周期值對(duì)應(yīng)過(guò)程處理結(jié)束,可以啟動(dòng)PWM功能來(lái)調(diào)制直流載波信號(hào)。
發(fā)送模塊發(fā)送數(shù)據(jù)的過(guò)程如圖6所示。
控制器先讀取數(shù)據(jù)通過(guò)高低4位處理后對(duì)應(yīng)的數(shù)組長(zhǎng)度;進(jìn)入PWM中斷,先判斷數(shù)組的長(zhǎng)度是否大于0,如果是大于0,說(shuō)明還有需要調(diào)制發(fā)送的數(shù)據(jù),將周期值加載給周期寄存器值,并設(shè)置比較寄存器的值,然后將數(shù)組長(zhǎng)度減1,退出本次中斷,等待下次PWM中斷;如果判斷數(shù)組長(zhǎng)度不大于0,說(shuō)明數(shù)據(jù)已經(jīng)調(diào)制完畢,等待下一幀數(shù)據(jù)發(fā)送。
接收模塊對(duì)數(shù)據(jù)接收過(guò)程如圖7所示。
從直流電力線(xiàn)上傳輸過(guò)來(lái)的直流載波信號(hào)通過(guò)專(zhuān)有調(diào)制電路調(diào)制出來(lái)后,將信號(hào)送入控制器捕獲模塊。控制器啟動(dòng)捕獲中斷進(jìn)行處理,控制器通過(guò)讀取捕獲值,計(jì)算出頻率的周期值,然后由計(jì)算的周期值,通過(guò)值查找表查得周期值所對(duì)應(yīng)的4位數(shù)據(jù),將4位數(shù)據(jù)存放在2n的數(shù)組中。接著判斷數(shù)據(jù)幀是否接收結(jié)束,如果沒(méi)有接收結(jié)束,將繼續(xù)等待下次中斷;如果已經(jīng)接收結(jié)束,將指示一幀數(shù)據(jù)完成接收的標(biāo)志位置1,退出數(shù)據(jù)捕獲中斷。
一幀數(shù)據(jù)接收完成后,控制器需要對(duì)接收的2n的數(shù)組數(shù)據(jù)進(jìn)行組幀,其處理過(guò)程如圖8所示。
控制器通過(guò)查詢(xún)數(shù)據(jù)完成的標(biāo)志位是否為1,如果是為1,將進(jìn)入組幀處理,組幀的處理過(guò)程如下:判斷數(shù)組長(zhǎng)度是否大于0,如果是大于0,說(shuō)明還有數(shù)據(jù)需要處理,控制器將從低4位所在字節(jié)讀取數(shù)據(jù),從高4位所在字節(jié)讀取數(shù)據(jù)并向左移動(dòng),然后將兩個(gè)字節(jié)進(jìn)行按位或操作,將所得結(jié)果字節(jié)數(shù)據(jù)存放在n大小的幀數(shù)組中,2n的數(shù)組長(zhǎng)度減2,進(jìn)入下一個(gè)數(shù)據(jù)處理,知道2n的數(shù)組里的數(shù)據(jù)處理完成為止;如果2n的數(shù)組的長(zhǎng)度位不大于0,說(shuō)明一幀數(shù)據(jù)組幀完成,將數(shù)據(jù)完成的標(biāo)志位標(biāo)志位清零并且將幀處理標(biāo)志位置1,用于應(yīng)用程序?qū)?shù)據(jù)是否組幀完成的判斷,最后結(jié)束幀處理組幀過(guò)程。
以上所述僅為本發(fā)明的較佳實(shí)施案例而已,并不用于限制本發(fā)明,凡在本發(fā)明精神和原則之內(nèi)所做的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。