本發(fā)明涉及新能源儲能電池管理系統(tǒng)通訊領(lǐng)域,尤其涉及用于bms從控模塊can地址分配的雙向io電路及其控制方法。
背景技術(shù):
1、儲能系統(tǒng)包含電池管理系統(tǒng),在儲能系統(tǒng)中,電池管理系統(tǒng)通常采用三級架構(gòu),從上往下依次為總控、主控、從控,從而實現(xiàn)電池模組的分級控制和管理。
2、通常一簇電池模組包含一個高壓箱、多個電池pack,高壓箱里邊含有一個主控,一個電池pack含有一個從控,高壓箱里邊的主控和多個pack里的從控之間一般采用can通訊,由主控通過can通訊獲取所有從控采集簇內(nèi)所有電芯電壓、溫度、均衡狀態(tài)等數(shù)據(jù),主控通過分析處理所有電芯數(shù)據(jù)通過can通訊對所有電芯進行均衡管理。
3、本領(lǐng)域技術(shù)人員均知can通訊網(wǎng)絡(luò)中每個節(jié)點都需要唯一的can?id地址,即主控、所有的從控都需要唯一的can?id,否則主控無法獲取所有從控采集的電芯電壓、溫度、均衡狀態(tài)等數(shù)據(jù);一般給從控分配can?id地址采用三種方法,第1種是采用硬件設(shè)計,比如在從控電路板上設(shè)計撥碼開關(guān),由從控mcu軟件程序獲取撥碼開關(guān)狀態(tài)確定本從控的can?id地址;第2種是采用對每個從控mcu燒寫含有固定can?id的固件,每個從控根據(jù)其在簇內(nèi)位置燒寫含有固定can?id的固件;第3種是通過can通訊設(shè)置,根據(jù)每個從控在簇內(nèi)位置使用上位機通過can通訊設(shè)置從控can?id。但是這3種方案都給從控的生產(chǎn)調(diào)試及pack成簇組裝帶來了問題,第1種硬件設(shè)計方案是需要設(shè)計額外的撥碼開關(guān)等硬件,在pack成簇裝機之前需要手動操作撥碼開關(guān),存在撥碼開關(guān)不到位或者撥錯導(dǎo)致簇內(nèi)多個pack上的從控含有相同的can?id,如果從控電路板是固定在從控殼體內(nèi)部,需要在從控組裝之前就設(shè)定can?id,需要給每個從控做標識,導(dǎo)致從控模塊存儲、轉(zhuǎn)運不方便;第2種燒寫含有固定can?id的mcu固件操作麻煩,需要在從控組裝之前燒寫完畢,同樣需要給每個從控做標識,導(dǎo)致從控模塊存儲、轉(zhuǎn)運不方便;第3種使用上位機通過can通訊配置從控can?id的方式,需要在簇內(nèi)給每個從控單獨分配can?id,工作量大。
技術(shù)實現(xiàn)思路
1、為解決從控can地址分配復(fù)雜、can地址分配出現(xiàn)錯誤、從控模塊存儲轉(zhuǎn)運困難、分配can地址工作量大的問題,在從控電路板上設(shè)計用于can地址分配的雙向io電路,且2個雙向io電路對外端口無方向性,即可以作為can地址分配輸入端口也可以作為can地址分配輸出端口。通過從控mcu程序中雙向io?can地址分配方法,可以方便快速的對簇內(nèi)所有從控實現(xiàn)can地址分配,并且可以保證所有簇內(nèi)每一個pack上的從控can?id唯一性。
2、針對上述問題,本發(fā)明提供一種用于bms從控模塊can地址分配的雙向io電路,每個從控模塊包括兩個電路拓撲結(jié)構(gòu)相同的雙向io電路即第一、第二雙向io電路;每個雙向io電路包括一個對外端口及兩個對內(nèi)端口;每個雙向io電路的對外端口用于接收電池管理系統(tǒng)高壓箱或者上一級從控發(fā)送的can地址分配指令或者用于向電池管理系統(tǒng)下一級從控發(fā)送can地址分配指令;每個雙向io電路的兩個對內(nèi)端口分別為輸入接口和輸出接口,?每個從控模塊的第一、第二雙向io電路的四個對內(nèi)端口分別連接到從控mcu兩個串口外設(shè)的輸入、輸出引腳;每個從控模塊的一個雙向io電路的輸入接口將其對外端口接收到的can地址分配指令發(fā)送至從控mcu,該從控模塊的另一個雙向io電路的輸出接口將經(jīng)從控mcu處理后的?can地址分配指令通過其對外端口發(fā)送至電池管理系統(tǒng)下一級從控。
3、進一步地,每個從控模塊的第一、第二雙向io電路的四個對內(nèi)端口分別連接到從控mcu兩個串口外設(shè)的輸入、輸出引腳,具體為:
4、第一雙向io電路的輸入接口連接到從控mcu第一個串口外設(shè)的輸入引腳;
5、第一雙向io電路的輸出接口連接到從控mcu第二個串口外設(shè)的輸出引腳;
6、第二雙向io電路的輸入接口連接到從控mcu第二個串口外設(shè)的輸入引腳;
7、第二雙向io電路的輸出接口連接到從控mcu第一個串口外設(shè)的輸出引腳。
8、進一步地,第一雙向io電路和第二雙向io電路的電路拓撲結(jié)構(gòu)相同,以第一雙向io電路為例,其拓撲結(jié)構(gòu)具體為:第一雙向io電路的輸出接口經(jīng)第一電阻r1連接第二電阻r2一端及pnp三極管q1的基極,第一電阻r1限制pnp三極管q1基極的電流,控制pnp三極管q1集電極輸出電流不要過大,pnp三極管q1反向輸出第一雙向io電路的輸出接口的電平。當?shù)谝浑p向io電路的輸出接口輸出高電平,即從控mcu第二個串口外設(shè)輸出引腳輸出高電平時,pnp三極管q1集電極輸出低電平,當?shù)谝浑p向io電路的輸出接口輸出低電平,即從控mcu第二個串口外設(shè)輸出引腳輸出低電平時,pnp三極管q1集電極輸出高電平;第二電阻r2另一端接電源及pnp三極管q1的發(fā)射極,第一電阻r1虛焊時第二電阻r2關(guān)閉pnp三極管q1輸出,防止pnp三極管q1的基射極電平未知導(dǎo)致pnp三極管q1誤導(dǎo)通,對外端口io1輸出不期望的信號指令;pnp三極管q1的集電極經(jīng)第三電阻r3接地并經(jīng)第四電阻r4接第一雙向io電路的對外端口io1,第四電阻r4防止pnp三極管q1的集電極直接接到對外端口io1,防止人手觸摸到對外端口io1時靜電直接進入到pnp三極管q1,第四電阻r4限制靜電電流,電路板斷電時第三電阻r3泄放pnp三極管q1的集電極電荷;第一雙向io電路的對外端口io1經(jīng)第七電阻r7連接至第六電阻r6一端及npn三極管q2的基極,第六電阻r6另一端接地,第七電阻r7限制npn三極管q2的基極電流,使npn三極管q2基極電流不要過大,保護npn三極管q2,第七電阻r7虛焊時第六電阻r6使npn三極管q2基射極保持低電平,防止npn三極管q2誤導(dǎo)通時從控mcu的第一個串口外設(shè)接收錯誤的信號指令;npn三極管q2的集電極接第一雙向io電路的輸入接口并經(jīng)第五電阻r5接電源,第五電阻r5限制npn三極管q2的發(fā)射極電流,對外端口io1接收到的高低電平信號經(jīng)npn三極管q2反向后輸入到從控mcu第一個串口外設(shè)的輸入引腳,?npn三極管q2的發(fā)射極接地。
9、用于bms從控模塊can地址分配的雙向io電路的控制方法,包括如下步驟:
10、步驟一、從控mcu的兩個串口外設(shè)的輸入輸出使能并配置通訊參數(shù);
11、步驟二、從控mcu的串口外設(shè)can地址分配指令接收,將該can地址+1操后向下一級從控發(fā)送can地址分配指令?。
12、進一步地,從控mcu第一個串口外設(shè)進行步驟二的具體過程為:
13、當從控mcu第一個串口外設(shè)接收引腳通過第一個雙向io電路的對外端口接收到高壓箱地址分配端口或者上一級從控雙向io?地址分配端口發(fā)送的can地址分配指令后從控mcu判斷該can地址分配指令有效性:如果無效,從控mcu舍棄該指令并不進行任何操作,繼續(xù)等待can地址分配指令;如果有效,從控mcu從can地址分配指令中提取can地址,將該can地址作為本從控的can地址并將can地址存儲到flash,然后將該can地址+1操作,并將操作后的can地址裝載到給下一個從控的can地址分配指令中;從控mcu禁止掉第二個串口外設(shè);
14、從控mcu第一個串口外設(shè)發(fā)射引腳經(jīng)第二個雙向io電路的對外端口將can地址+1操作后的can地址分配指令發(fā)送出去,發(fā)送完畢can地址分配指令后從控mcu使能第二個串口外設(shè),兩個串口外設(shè)都進入到等待接收can地址分配指令狀態(tài)。
15、進一步地,從控mcu第二個串口外設(shè)進行步驟二的具體過程為:
16、當從控mcu第二個串口外設(shè)接收引腳通過第二個雙向io電路的對外端口接收到高壓箱地址分配端口或者上一級從控雙向io?地址分配端口發(fā)送的can地址分配指令后從控mcu判斷該can地址分配指令有效性:如果無效,從控mcu舍棄該指令并不進行任何操作,繼續(xù)等待can地址分配指令;如果有效,從控mcu從can地址分配指令中提取can地址,將該can地址作為本從控的can地址并將can地址存儲到flash,然后將該can地址+1操作,并將操作后的can地址裝載到給下一個從控的can地址分配指令中;從控mcu禁止掉第一個串口外設(shè);
17、從控mcu第二個串口外設(shè)發(fā)射引腳經(jīng)第一個雙向io電路的對外端口將can地址+1操作后的can地址分配指令發(fā)送出去,發(fā)送完畢can地址分配指令后從控mcu使能第一個串口外設(shè),兩個串口外設(shè)都進入到等待接收can地址分配指令狀態(tài)。
18、進一步地,?can地址分配指令基于串口通訊協(xié)議,基于串口通訊協(xié)議上的通訊指令可自行規(guī)定。
19、本發(fā)明通過設(shè)計從控模塊雙向io?can地址分配電路以及該從控模塊mcu程序中雙向io?can地址分配方法,可以方便快速的對簇內(nèi)所有電池pack上從控模塊實現(xiàn)can地址分配,并且可以保證所有簇內(nèi)每一個pack上的從控模塊的can?id唯一性。通過該技術(shù)手段,從控模塊不需要設(shè)計用于通過硬件電路區(qū)分從控模塊can地址的電路,簡化了從控模塊can地址電路設(shè)計,省去了在從控模塊的生產(chǎn)階段需要通過硬件或者燒寫程序區(qū)分每個從控的can地址的步驟,通過該發(fā)明可使從控模塊在生產(chǎn)階段所有從控模塊的硬件、程序固件是一致的,提高了從控模塊的生產(chǎn)效率,同時為從控模塊的存儲、轉(zhuǎn)運帶來了便利,即不用在生產(chǎn)階段因從控模塊can地址的不同需要對每個從控模塊做特殊標記,方便存儲和轉(zhuǎn)運,也解決了從控模塊裝配到簇內(nèi)pack上之后由于裝配順序錯誤或者從控模塊can地址相同導(dǎo)致簇電池管理系統(tǒng)異常,提升了簇管理系統(tǒng)的調(diào)試效率,由于從控模塊can地址分配功能具有雙向性,兩個io口默認不區(qū)分方向性,可以使包含can地址分配線的簇內(nèi)通訊線束在電池倉內(nèi)電池pack前面板布線時根據(jù)電池倉的布局結(jié)構(gòu)選擇布線路徑,使簇內(nèi)通訊線束在整機布線時更加方便、美觀。