版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于IntelSoCFPGA的光伏電力通信管理機(jī)系統(tǒng)設(shè)計(jì)0引言光伏發(fā)電站利用大量的光伏電池板完成從光能到直流電能的轉(zhuǎn)換,再將直流電能使用逆變器轉(zhuǎn)換為50Hz的交流電,輸送到電網(wǎng)中。整個(gè)光伏電站中電能控制及轉(zhuǎn)換設(shè)備需求量巨大。通信管理機(jī)作為電站中連接各個(gè)設(shè)備和電站中控臺(tái)的設(shè)備,通過(guò)控制平臺(tái)控制下行的Rtu設(shè)備,實(shí)現(xiàn)遙信、遙測(cè)、遙控等信息的采集,將消息反饋回調(diào)度中心,然后控制中心管理員通過(guò)對(duì)消息的處理分析,選擇將執(zhí)行的命令,達(dá)到遠(yuǎn)動(dòng)輸出調(diào)度命令的目標(biāo)。目前廣泛采用的通信管理機(jī)實(shí)現(xiàn)方案主要有3種:PowerPC處理器+串口擴(kuò)展芯片架構(gòu)、ARM處理器架構(gòu)、ARM處理器+FPGA架構(gòu)。其中:(1)PowerPC處理器+串口擴(kuò)展芯片架構(gòu)使用帶通信協(xié)處理器的PowerPC處理器作為系統(tǒng)的核心,使用串口通信擴(kuò)展芯片為PowerPC擴(kuò)展出最多16個(gè)串口。所有數(shù)據(jù)處理和運(yùn)算全部由PowerPC處理器完成,在所有串口全部使用的情況下,整個(gè)系統(tǒng)運(yùn)行較為緩慢,數(shù)據(jù)的實(shí)時(shí)性難以保證。(2)使用單獨(dú)ARM處理器作為核心實(shí)現(xiàn)的通信管理機(jī)結(jié)構(gòu)簡(jiǎn)單,但是能夠支持的串口數(shù)量受到ARM處理器本身集成的串口數(shù)量限制,一般都不超過(guò)6個(gè),無(wú)法滿足光伏電站中海量設(shè)備的需求。(3)ARM處理器+FPGA架構(gòu)利用FPGA完成串口擴(kuò)展,基于ARM處理器完成數(shù)據(jù)的處理和網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn),它本質(zhì)上和基于PowerPC+串口擴(kuò)展芯片的方案一致。該種方案增加了系統(tǒng)的復(fù)雜度,但單性能上提升并不明顯。以上3種方案都存在的問(wèn)題是系統(tǒng)有且僅有一個(gè)核心單元,一旦系統(tǒng)宕機(jī),就不得不重啟系統(tǒng),在系統(tǒng)未恢復(fù)的情況下,整個(gè)系統(tǒng)與電站中心控制臺(tái)處于完全斷開(kāi)的狀態(tài),無(wú)法接收中心控制臺(tái)的控制指令。本文基于Intel全新的SoCFPGA芯片,將原本采用分立的FPGA和ARM處理器實(shí)現(xiàn)的系統(tǒng)使用單一的SoCFPGA芯片實(shí)現(xiàn),并在FPGA上搭建了冗余監(jiān)控系統(tǒng)。在提高系統(tǒng)性能的同時(shí),保證了系統(tǒng)的在線可恢復(fù)性。1系統(tǒng)建模IntelCycloneVSoCFPGA芯片5CSEMA4U23C6芯片是一款在單一芯片上集成了高性能的雙核ARMCortex-A9CPU和FPGA的SoC芯片,它是本系統(tǒng)的核心單元。在本系統(tǒng)中,SoCFPGA芯片上的FPGA部分主要負(fù)責(zé)UART接口的擴(kuò)展以及MODBUS協(xié)議的加速。在電力系統(tǒng)中,幾乎所有設(shè)備都支持標(biāo)準(zhǔn)的RS485接口,并使用MODBUS協(xié)議與其他設(shè)備進(jìn)行通信。光伏電站中,因?yàn)樵O(shè)備多、數(shù)據(jù)量大,通信管理機(jī)的一個(gè)RS485端口在同一時(shí)刻只能和一臺(tái)設(shè)備通信,因此導(dǎo)致數(shù)據(jù)傳輸速度出現(xiàn)瓶頸。為了解決這個(gè)問(wèn)題,往往采用多個(gè)MODBUS網(wǎng)絡(luò)端口來(lái)實(shí)現(xiàn)眾多設(shè)備的管理[2]。眾多電力設(shè)備的數(shù)據(jù)在被通信管理機(jī)采集之后最終需要通過(guò)以太網(wǎng)接口與電站的中控后臺(tái)進(jìn)行數(shù)據(jù)交互,該數(shù)據(jù)交互主要通過(guò)IEC104協(xié)議實(shí)現(xiàn),而IEC104協(xié)議的實(shí)現(xiàn)是通過(guò)SoCFPGA中的硬件處理系統(tǒng)(HardProcessSystem,HPS)運(yùn)行成熟的Linux操作系統(tǒng)來(lái)完成的。2硬件電路方案設(shè)計(jì)2.1SoCFPGA配置電路設(shè)計(jì)為了使系統(tǒng)支持遠(yuǎn)程在線升級(jí),本系統(tǒng)設(shè)置SoCFPGA的FPGA部分接收HPS部分的配置數(shù)據(jù)。HPS部分可以接收串口或者網(wǎng)口傳輸?shù)腇PGA配置文件。運(yùn)行時(shí)SoCFPGA的HPS部分先啟動(dòng)并運(yùn)行Linux操作系統(tǒng),Linux操作系統(tǒng)啟動(dòng)完畢之后進(jìn)行FPGA部分的配置。如果需要遠(yuǎn)程更新FPGA的配置數(shù)據(jù),只需要通過(guò)網(wǎng)口將新的FPGA配置內(nèi)容傳輸?shù)讲僮飨到y(tǒng)所管理的磁盤(pán)上替換原來(lái)的配置文件,則系統(tǒng)下一次啟動(dòng)時(shí)就可以使用新的配置文件來(lái)配置FPGA。2.2SoCFPGA啟動(dòng)電路設(shè)計(jì)SoCFPGA中的HPS部分運(yùn)行Linux操作系統(tǒng),HPS支持從SD卡、QSPIFlash、NANDFlash存儲(chǔ)器中啟動(dòng)。NANDFlash和QSPIFlash存儲(chǔ)器一般都采用焊接的方式安裝在電路板上,而SD卡則是可拆卸并單獨(dú)在PC上讀寫(xiě)的。在工業(yè)現(xiàn)場(chǎng),如果設(shè)備系統(tǒng)一旦損壞,需要重新燒錄系統(tǒng)時(shí),QSPIFlash和NANDFlash由于焊接在PCB板上,只能使用PC在線燒寫(xiě),而SD卡則可以采用預(yù)先燒錄好系統(tǒng)的SD卡進(jìn)行更換,因此節(jié)省了現(xiàn)場(chǎng)維修的工作量。2.3RS485接口電路設(shè)計(jì)通信管理機(jī)作為一個(gè)工業(yè)設(shè)備,其通信接口可能承受各種沖擊,包括強(qiáng)共模電壓、高壓靜電、雷擊等,因此通信接口的防護(hù)措施至關(guān)重要。在本系統(tǒng)中,使用RSM3485模塊完成TTL電平到RS485電平的雙向轉(zhuǎn)換。RSM3485模塊實(shí)現(xiàn)標(biāo)準(zhǔn)RS485接口,具有ESD保護(hù)、短路或斷路失效保護(hù)功能,內(nèi)置120kΩ上下拉電阻,雙絞線輸出,提供接觸情況下±4kV和空氣放電情況下±8kV的ESD放電功能,同時(shí)設(shè)計(jì)防雷電路,預(yù)防在雷擊的情況下?lián)p壞通信接口,該接口電路圖如圖1所示。2.4以太網(wǎng)接口方案設(shè)計(jì)電力系統(tǒng)通信管理機(jī)都要求提供主備雙網(wǎng)口,以保證在其中一個(gè)網(wǎng)口出現(xiàn)故障時(shí),另一個(gè)網(wǎng)口能夠繼續(xù)傳輸必要數(shù)據(jù)。5CSEMA4U23C6芯片默認(rèn)提供了兩個(gè)千兆以太網(wǎng)MAC,但是這兩個(gè)MAC都是由HPS部分管理的,為了保證網(wǎng)口的可靠性,即使在ARM部分系統(tǒng)宕機(jī)的情況下,備用網(wǎng)口也能正常工作,設(shè)計(jì)時(shí)僅使用一個(gè)MAC層,并由HPS驅(qū)動(dòng),另一個(gè)網(wǎng)口使用NIOSII軟核控制集成的以太網(wǎng)通信芯片W5500實(shí)現(xiàn)。W5500芯片是一個(gè)全硬件實(shí)現(xiàn)的單芯片TCP/IP協(xié)議芯片,支持8個(gè)Socket端口,使用非常方便可靠。使用NIOSII控制W5500完成以太網(wǎng)傳輸,即使HPS工作異常,F(xiàn)PGA中的NIOSIICPU還可以繼續(xù)通過(guò)W5500進(jìn)行數(shù)據(jù)的收發(fā),保證備用網(wǎng)口的穩(wěn)定運(yùn)行。3SoCFPGA應(yīng)用架構(gòu)設(shè)計(jì)由于SoCFPGA作為一種創(chuàng)新的架構(gòu),集成了FPGA和高性能HPS,因此在設(shè)計(jì)時(shí),可以充分利用HPS強(qiáng)大的數(shù)據(jù)處理能力、FPGA側(cè)靈活的定制特性以及HPS和FPGA之間高速通信橋,將各種工作根據(jù)其特性合理分配給FPGA或者HPS,通過(guò)兩者協(xié)作,以實(shí)現(xiàn)最高的性能。FPGA側(cè)主要實(shí)現(xiàn)UART通信接口的擴(kuò)展和基于NIOSII處理器的備用系統(tǒng)。HPS端主要實(shí)現(xiàn)大量數(shù)據(jù)處理和通信規(guī)約之間的轉(zhuǎn)換。圖2為SoCFPGA上的功能劃分框圖。3.1FPGA邏輯設(shè)計(jì)FPGA側(cè)邏輯部分實(shí)現(xiàn)16個(gè)支持MODBUS幀自動(dòng)識(shí)別的UART通信控制單元,如圖3所示。每個(gè)單元由CRC校驗(yàn)邏輯、串口數(shù)據(jù)收發(fā)緩存、核心控制狀態(tài)機(jī)和MODBUS幀識(shí)別邏輯組成。各單元在核心控制狀態(tài)機(jī)的控制下自動(dòng)完成MODBUS數(shù)據(jù)幀的收發(fā)和數(shù)據(jù)校驗(yàn)碼的生成,并經(jīng)由AvalonMMSlave接口與HPS傳輸MODBUS接收和需要發(fā)送的數(shù)據(jù)。圖4為支持MODBUS幀自動(dòng)識(shí)別的增強(qiáng)型UART通信控制單元接收數(shù)據(jù)時(shí)的工作狀態(tài)轉(zhuǎn)移圖。整個(gè)狀態(tài)機(jī)由空閑狀態(tài)(IDLE)、接收數(shù)據(jù)狀態(tài)(GET_DATA)、接收超時(shí)狀態(tài)(TIMEOUT)、接收字節(jié)數(shù)據(jù)完成狀態(tài)(GET_BYTE)、幀傳輸完成狀態(tài)(FRAME_DONE)組成。當(dāng)主機(jī)發(fā)出MODBUS請(qǐng)求幀后,本模塊進(jìn)入接收數(shù)據(jù)狀態(tài)(GET_DATA),每接收到一個(gè)字節(jié),就跳轉(zhuǎn)進(jìn)入接收字節(jié)完成狀態(tài)(GET_BYTE),當(dāng)幀結(jié)束判定信號(hào)有效時(shí),表明一幀數(shù)據(jù)接收完成,此時(shí)進(jìn)入幀接收完成狀態(tài)。通過(guò)比對(duì)接收到的數(shù)據(jù)幀中CRC數(shù)據(jù)字段和FPGA中CRC校驗(yàn)單元對(duì)該幀產(chǎn)生的校驗(yàn)數(shù)據(jù),確定當(dāng)前幀是否正確。然后通過(guò)FPGA與HPS互聯(lián)橋向HPS發(fā)出中斷請(qǐng)求,并報(bào)告當(dāng)前幀的校驗(yàn)結(jié)果,HPS側(cè)的Linux驅(qū)動(dòng)程序則會(huì)根據(jù)校驗(yàn)結(jié)果完成相應(yīng)的處理,如果校驗(yàn)正確,則讀取該幀數(shù)據(jù)并遞交給上層MODBUS協(xié)議層進(jìn)行進(jìn)一步解析處理,如果該幀錯(cuò)誤,則丟棄該幀,并進(jìn)入錯(cuò)誤處理程序。3.2Linux軟件設(shè)計(jì)SoCFPGA芯片中的HPS運(yùn)行Linux操作系統(tǒng),在Linux系統(tǒng)上運(yùn)行通信管理機(jī)的應(yīng)用程序。該應(yīng)用程序主要包括三大部分,分別為MODBUS協(xié)議主站、IEC104協(xié)議從站、MODBUS和IEC104協(xié)議間規(guī)約轉(zhuǎn)換程序。其中,MODBUS協(xié)議主站運(yùn)行開(kāi)源的Libmodbus協(xié)議棧,完成MODBUS指令和數(shù)據(jù)的收發(fā)。Libmodbus協(xié)議棧是一個(gè)免費(fèi)開(kāi)源的MODBUS協(xié)議棧,支持MODBUS協(xié)議主站和從站功能。由于本系統(tǒng)在FPGA側(cè)使用硬件邏輯電路已經(jīng)實(shí)現(xiàn)了MODBUS協(xié)議的部分功能,如幀結(jié)束判定、CRC校驗(yàn)等。因此,對(duì)Libmodbus協(xié)議棧進(jìn)行了一定的刪減優(yōu)化,去掉了底層數(shù)據(jù)幀接收和校驗(yàn)的部分,僅使用其指令和數(shù)據(jù)解析部分,這也是本系統(tǒng)的優(yōu)勢(shì),通過(guò)FPGA側(cè)硬件實(shí)現(xiàn)MODBUS協(xié)議底層內(nèi)容,降低了處理器的工作量,使得處理器能夠輕松完成對(duì)多達(dá)16個(gè)基于MODBUS協(xié)議的端口的支持。為了方便實(shí)現(xiàn)對(duì)FPGA側(cè)的16端口個(gè)MODBUS加速器的控制,在Linux側(cè)單獨(dú)開(kāi)設(shè)一個(gè)進(jìn)程用于16端口MODBUS加速器的控制,當(dāng)該任務(wù)被調(diào)度并得到執(zhí)行機(jī)會(huì)后,開(kāi)始依次查詢(xún)當(dāng)前端口的狀態(tài),然后根據(jù)得到的端口狀態(tài)執(zhí)行相應(yīng)的處理代碼。該程序流程如圖5所示??臻e態(tài):當(dāng)查詢(xún)到一個(gè)端口的狀態(tài)為空閑時(shí),表明此端口已經(jīng)正確地完成了一輪數(shù)據(jù)收發(fā),在新的通信命令到來(lái)之前,該端口將處于空閑狀態(tài),即不需要發(fā)送數(shù)據(jù),也不需要接收數(shù)據(jù),MODBUS端口是處于空閑狀態(tài)的。接收成功:當(dāng)查詢(xún)到某個(gè)端口成功接收到返回的數(shù)據(jù)后,則開(kāi)始進(jìn)行接收數(shù)據(jù)的處理工作,完成之后,進(jìn)入下一個(gè)端口的狀態(tài)查詢(xún)工作。接收超時(shí):當(dāng)查詢(xún)到某個(gè)端口在設(shè)定的響應(yīng)時(shí)間內(nèi)無(wú)響應(yīng)時(shí),則返回接收超時(shí)狀態(tài)。若檢測(cè)到超時(shí)狀態(tài),系統(tǒng)開(kāi)始進(jìn)行超時(shí)處理工作。接收超時(shí)處理完成后,進(jìn)入下一個(gè)端口的狀態(tài)查詢(xún)工作。接收錯(cuò)誤:當(dāng)查詢(xún)到某個(gè)端口接收數(shù)據(jù)出錯(cuò)時(shí),則進(jìn)行接收錯(cuò)誤處理工作。當(dāng)接收錯(cuò)誤處理完成后,進(jìn)入下一個(gè)端口的狀態(tài)查詢(xún)工作。該部分任務(wù)代碼框架如下所示:for(i=0;i《=15;i++){port_state=mdp_state_read(port_num);//讀取指定端口狀態(tài)switch(port_state){caseNO_STATE:break;//無(wú)就緒端口caseRX_DONE://接收數(shù)據(jù)成功…//接收到數(shù)據(jù)處理代碼模塊break;caseRX_TIMEOUT://接收超時(shí)…//接收超時(shí)端口處理代碼模塊break;caseRX_ERROR://接收錯(cuò)誤…//接收錯(cuò)誤端口處理代碼模塊break;default:printf(“default%d\n\n”,port_num);//默認(rèn)為讀錯(cuò)誤處理,將狀態(tài)寄存器設(shè)置為錯(cuò)誤標(biāo)志FPGA_WR16((port_num《《8|128),1);}//讀到第16個(gè)端口后,回到0號(hào)口讀取if(port_num==15)port_num=0;elseport_num++;//端口號(hào)自加1}usleep(30000);//釋放CPU權(quán)限3.3NIOSII備用系統(tǒng)軟件設(shè)計(jì)通常狀態(tài)下NIOSIICPU處于待機(jī)狀態(tài),若NIOSIICPU在設(shè)定的時(shí)間內(nèi)沒(méi)有接收到狀態(tài)消息,則表明HPS系統(tǒng)側(cè)軟件系統(tǒng)崩潰,NIOSIICPU再通過(guò)和HPS互聯(lián)的狀態(tài)指示信號(hào)確認(rèn)當(dāng)前是操作系統(tǒng)宕機(jī)或應(yīng)用程序異常。如果是應(yīng)用程序異常,則觸發(fā)Linux側(cè)安全監(jiān)視軟件重啟應(yīng)用程序;如果是操作系統(tǒng)異常,則啟動(dòng)備用網(wǎng)口上報(bào)當(dāng)前系統(tǒng)故障信息到電站中心控制臺(tái),并通過(guò)硬件復(fù)位來(lái)重啟HPS。圖6為NIOSII備用系統(tǒng)的程序流程圖。4系統(tǒng)性能分析表1為以16個(gè)RS485端口,每個(gè)端口每500ms完成一次對(duì)總線上設(shè)備的數(shù)據(jù)讀取,每次通信數(shù)據(jù)幀長(zhǎng)度平均為64B為例,分析1s內(nèi)本系統(tǒng)方案(簡(jiǎn)稱(chēng)SoCFPGA方案)和PowerPC+串口擴(kuò)展芯片ST16C2550方案(簡(jiǎn)稱(chēng)PowerPC方案)在串口芯片數(shù)量、CPU的CRC運(yùn)算事務(wù)、CP
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商平臺(tái)銷(xiāo)售工作總結(jié)
- 二零二五年度金融機(jī)構(gòu)信貸資產(chǎn)托管經(jīng)營(yíng)協(xié)議書(shū)3篇
- 二零二五年度城市綜合體商鋪?zhàn)赓U合同書(shū)
- 某某省某某市規(guī)?;锾烊粴馐痉俄?xiàng)目一期工程PPP項(xiàng)目實(shí)施方案
- 水果蔬菜銷(xiāo)售業(yè)績(jī)總結(jié)
- 二零二五年度農(nóng)村學(xué)校教育信息化工程采購(gòu)合同3篇
- 2025版深圳二手房買(mǎi)賣(mài)合同交易標(biāo)的物權(quán)屬爭(zhēng)議解決合同3篇
- 2025版綠色生態(tài)住宅小區(qū)物業(yè)服務(wù)與綠色生活推廣合同3篇
- 2025版豪華私人轎車(chē)采購(gòu)及售后服務(wù)全面合同3篇
- 二零二五年度山地旅游道路建設(shè)及景觀合同3篇
- 2025年礦山開(kāi)采承包合同實(shí)施細(xì)則4篇
- 2025-2030年中國(guó)雪茄市場(chǎng)運(yùn)行現(xiàn)狀及投資發(fā)展前景預(yù)測(cè)報(bào)告
- 《水利工程安全管理》課件
- 科技論文圖表等規(guī)范表達(dá)
- 高考寫(xiě)作指導(dǎo)議論文標(biāo)準(zhǔn)語(yǔ)段寫(xiě)作課件32張
- 2021年普通高等學(xué)校招生全國(guó)英語(yǔ)統(tǒng)一考試模擬演練八省聯(lián)考解析
- 紅色研學(xué)旅行課程的設(shè)計(jì)與實(shí)踐
- 企業(yè)易制毒化學(xué)品管理培訓(xùn)
- 幼兒園保育教育質(zhì)量指南評(píng)估指標(biāo)考核試題及答案
- T∕AOPA 0018-2021 直升機(jī)臨時(shí)起降場(chǎng)選址與建設(shè)規(guī)范
- 高三物理二輪實(shí)驗(yàn)復(fù)習(xí)(吳躍文)
評(píng)論
0/150
提交評(píng)論