




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于IntelSoCFPGA的光伏電力通信管理機系統設計0引言光伏發電站利用大量的光伏電池板完成從光能到直流電能的轉換,再將直流電能使用逆變器轉換為50Hz的交流電,輸送到電網中。整個光伏電站中電能控制及轉換設備需求量巨大。通信管理機作為電站中連接各個設備和電站中控臺的設備,通過控制平臺控制下行的Rtu設備,實現遙信、遙測、遙控等信息的采集,將消息反饋回調度中心,然后控制中心管理員通過對消息的處理分析,選擇將執行的命令,達到遠動輸出調度命令的目標。目前廣泛采用的通信管理機實現方案主要有3種:PowerPC處理器+串口擴展芯片架構、ARM處理器架構、ARM處理器+FPGA架構。其中:(1)PowerPC處理器+串口擴展芯片架構使用帶通信協處理器的PowerPC處理器作為系統的核心,使用串口通信擴展芯片為PowerPC擴展出最多16個串口。所有數據處理和運算全部由PowerPC處理器完成,在所有串口全部使用的情況下,整個系統運行較為緩慢,數據的實時性難以保證。(2)使用單獨ARM處理器作為核心實現的通信管理機結構簡單,但是能夠支持的串口數量受到ARM處理器本身集成的串口數量限制,一般都不超過6個,無法滿足光伏電站中海量設備的需求。(3)ARM處理器+FPGA架構利用FPGA完成串口擴展,基于ARM處理器完成數據的處理和網絡協議的實現,它本質上和基于PowerPC+串口擴展芯片的方案一致。該種方案增加了系統的復雜度,但單性能上提升并不明顯。以上3種方案都存在的問題是系統有且僅有一個核心單元,一旦系統宕機,就不得不重啟系統,在系統未恢復的情況下,整個系統與電站中心控制臺處于完全斷開的狀態,無法接收中心控制臺的控制指令。本文基于Intel全新的SoCFPGA芯片,將原本采用分立的FPGA和ARM處理器實現的系統使用單一的SoCFPGA芯片實現,并在FPGA上搭建了冗余監控系統。在提高系統性能的同時,保證了系統的在線可恢復性。1系統建模IntelCycloneVSoCFPGA芯片5CSEMA4U23C6芯片是一款在單一芯片上集成了高性能的雙核ARMCortex-A9CPU和FPGA的SoC芯片,它是本系統的核心單元。在本系統中,SoCFPGA芯片上的FPGA部分主要負責UART接口的擴展以及MODBUS協議的加速。在電力系統中,幾乎所有設備都支持標準的RS485接口,并使用MODBUS協議與其他設備進行通信。光伏電站中,因為設備多、數據量大,通信管理機的一個RS485端口在同一時刻只能和一臺設備通信,因此導致數據傳輸速度出現瓶頸。為了解決這個問題,往往采用多個MODBUS網絡端口來實現眾多設備的管理[2]。眾多電力設備的數據在被通信管理機采集之后最終需要通過以太網接口與電站的中控后臺進行數據交互,該數據交互主要通過IEC104協議實現,而IEC104協議的實現是通過SoCFPGA中的硬件處理系統(HardProcessSystem,HPS)運行成熟的Linux操作系統來完成的。2硬件電路方案設計2.1SoCFPGA配置電路設計為了使系統支持遠程在線升級,本系統設置SoCFPGA的FPGA部分接收HPS部分的配置數據。HPS部分可以接收串口或者網口傳輸的FPGA配置文件。運行時SoCFPGA的HPS部分先啟動并運行Linux操作系統,Linux操作系統啟動完畢之后進行FPGA部分的配置。如果需要遠程更新FPGA的配置數據,只需要通過網口將新的FPGA配置內容傳輸到操作系統所管理的磁盤上替換原來的配置文件,則系統下一次啟動時就可以使用新的配置文件來配置FPGA。2.2SoCFPGA啟動電路設計SoCFPGA中的HPS部分運行Linux操作系統,HPS支持從SD卡、QSPIFlash、NANDFlash存儲器中啟動。NANDFlash和QSPIFlash存儲器一般都采用焊接的方式安裝在電路板上,而SD卡則是可拆卸并單獨在PC上讀寫的。在工業現場,如果設備系統一旦損壞,需要重新燒錄系統時,QSPIFlash和NANDFlash由于焊接在PCB板上,只能使用PC在線燒寫,而SD卡則可以采用預先燒錄好系統的SD卡進行更換,因此節省了現場維修的工作量。2.3RS485接口電路設計通信管理機作為一個工業設備,其通信接口可能承受各種沖擊,包括強共模電壓、高壓靜電、雷擊等,因此通信接口的防護措施至關重要。在本系統中,使用RSM3485模塊完成TTL電平到RS485電平的雙向轉換。RSM3485模塊實現標準RS485接口,具有ESD保護、短路或斷路失效保護功能,內置120kΩ上下拉電阻,雙絞線輸出,提供接觸情況下±4kV和空氣放電情況下±8kV的ESD放電功能,同時設計防雷電路,預防在雷擊的情況下損壞通信接口,該接口電路圖如圖1所示。2.4以太網接口方案設計電力系統通信管理機都要求提供主備雙網口,以保證在其中一個網口出現故障時,另一個網口能夠繼續傳輸必要數據。5CSEMA4U23C6芯片默認提供了兩個千兆以太網MAC,但是這兩個MAC都是由HPS部分管理的,為了保證網口的可靠性,即使在ARM部分系統宕機的情況下,備用網口也能正常工作,設計時僅使用一個MAC層,并由HPS驅動,另一個網口使用NIOSII軟核控制集成的以太網通信芯片W5500實現。W5500芯片是一個全硬件實現的單芯片TCP/IP協議芯片,支持8個Socket端口,使用非常方便可靠。使用NIOSII控制W5500完成以太網傳輸,即使HPS工作異常,FPGA中的NIOSIICPU還可以繼續通過W5500進行數據的收發,保證備用網口的穩定運行。3SoCFPGA應用架構設計由于SoCFPGA作為一種創新的架構,集成了FPGA和高性能HPS,因此在設計時,可以充分利用HPS強大的數據處理能力、FPGA側靈活的定制特性以及HPS和FPGA之間高速通信橋,將各種工作根據其特性合理分配給FPGA或者HPS,通過兩者協作,以實現最高的性能。FPGA側主要實現UART通信接口的擴展和基于NIOSII處理器的備用系統。HPS端主要實現大量數據處理和通信規約之間的轉換。圖2為SoCFPGA上的功能劃分框圖。3.1FPGA邏輯設計FPGA側邏輯部分實現16個支持MODBUS幀自動識別的UART通信控制單元,如圖3所示。每個單元由CRC校驗邏輯、串口數據收發緩存、核心控制狀態機和MODBUS幀識別邏輯組成。各單元在核心控制狀態機的控制下自動完成MODBUS數據幀的收發和數據校驗碼的生成,并經由AvalonMMSlave接口與HPS傳輸MODBUS接收和需要發送的數據。圖4為支持MODBUS幀自動識別的增強型UART通信控制單元接收數據時的工作狀態轉移圖。整個狀態機由空閑狀態(IDLE)、接收數據狀態(GET_DATA)、接收超時狀態(TIMEOUT)、接收字節數據完成狀態(GET_BYTE)、幀傳輸完成狀態(FRAME_DONE)組成。當主機發出MODBUS請求幀后,本模塊進入接收數據狀態(GET_DATA),每接收到一個字節,就跳轉進入接收字節完成狀態(GET_BYTE),當幀結束判定信號有效時,表明一幀數據接收完成,此時進入幀接收完成狀態。通過比對接收到的數據幀中CRC數據字段和FPGA中CRC校驗單元對該幀產生的校驗數據,確定當前幀是否正確。然后通過FPGA與HPS互聯橋向HPS發出中斷請求,并報告當前幀的校驗結果,HPS側的Linux驅動程序則會根據校驗結果完成相應的處理,如果校驗正確,則讀取該幀數據并遞交給上層MODBUS協議層進行進一步解析處理,如果該幀錯誤,則丟棄該幀,并進入錯誤處理程序。3.2Linux軟件設計SoCFPGA芯片中的HPS運行Linux操作系統,在Linux系統上運行通信管理機的應用程序。該應用程序主要包括三大部分,分別為MODBUS協議主站、IEC104協議從站、MODBUS和IEC104協議間規約轉換程序。其中,MODBUS協議主站運行開源的Libmodbus協議棧,完成MODBUS指令和數據的收發。Libmodbus協議棧是一個免費開源的MODBUS協議棧,支持MODBUS協議主站和從站功能。由于本系統在FPGA側使用硬件邏輯電路已經實現了MODBUS協議的部分功能,如幀結束判定、CRC校驗等。因此,對Libmodbus協議棧進行了一定的刪減優化,去掉了底層數據幀接收和校驗的部分,僅使用其指令和數據解析部分,這也是本系統的優勢,通過FPGA側硬件實現MODBUS協議底層內容,降低了處理器的工作量,使得處理器能夠輕松完成對多達16個基于MODBUS協議的端口的支持。為了方便實現對FPGA側的16端口個MODBUS加速器的控制,在Linux側單獨開設一個進程用于16端口MODBUS加速器的控制,當該任務被調度并得到執行機會后,開始依次查詢當前端口的狀態,然后根據得到的端口狀態執行相應的處理代碼。該程序流程如圖5所示。空閑態:當查詢到一個端口的狀態為空閑時,表明此端口已經正確地完成了一輪數據收發,在新的通信命令到來之前,該端口將處于空閑狀態,即不需要發送數據,也不需要接收數據,MODBUS端口是處于空閑狀態的。接收成功:當查詢到某個端口成功接收到返回的數據后,則開始進行接收數據的處理工作,完成之后,進入下一個端口的狀態查詢工作。接收超時:當查詢到某個端口在設定的響應時間內無響應時,則返回接收超時狀態。若檢測到超時狀態,系統開始進行超時處理工作。接收超時處理完成后,進入下一個端口的狀態查詢工作。接收錯誤:當查詢到某個端口接收數據出錯時,則進行接收錯誤處理工作。當接收錯誤處理完成后,進入下一個端口的狀態查詢工作。該部分任務代碼框架如下所示:for(i=0;i《=15;i++){port_state=mdp_state_read(port_num);//讀取指定端口狀態switch(port_state){caseNO_STATE:break;//無就緒端口caseRX_DONE://接收數據成功…//接收到數據處理代碼模塊break;caseRX_TIMEOUT://接收超時…//接收超時端口處理代碼模塊break;caseRX_ERROR://接收錯誤…//接收錯誤端口處理代碼模塊break;default:printf(“default%d\n\n”,port_num);//默認為讀錯誤處理,將狀態寄存器設置為錯誤標志FPGA_WR16((port_num《《8|128),1);}//讀到第16個端口后,回到0號口讀取if(port_num==15)port_num=0;elseport_num++;//端口號自加1}usleep(30000);//釋放CPU權限3.3NIOSII備用系統軟件設計通常狀態下NIOSIICPU處于待機狀態,若NIOSIICPU在設定的時間內沒有接收到狀態消息,則表明HPS系統側軟件系統崩潰,NIOSIICPU再通過和HPS互聯的狀態指示信號確認當前是操作系統宕機或應用程序異常。如果是應用程序異常,則觸發Linux側安全監視軟件重啟應用程序;如果是操作系統異常,則啟動備用網口上報當前系統故障信息到電站中心控制臺,并通過硬件復位來重啟HPS。圖6為NIOSII備用系統的程序流程圖。4系統性能分析表1為以16個RS485端口,每個端口每500ms完成一次對總線上設備的數據讀取,每次通信數據幀長度平均為64B為例,分析1s內本系統方案(簡稱SoCFPGA方案)和PowerPC+串口擴展芯片ST16C2550方案(簡稱PowerPC方案)在串口芯片數量、CPU的CRC運算事務、CP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設備維修說明
- 青海省西寧市2025屆九年級下學期中考二模地理試卷(含答案)
- 自動控制原理第五版 胡壽松課后習題答案
- 貴州省黔東南州2023-2024學年八年級下學期期末考試語文試卷(含答案)
- 財務會計人員崗位職責
- 打造獨具特色的文旅商品品牌之路
- 道德與法治(河北卷)(考試版A3)
- 建筑施工特種作業-建筑電工真題庫-5
- 森林防火管護題目及答案
- 掃盲運動題目及答案高中
- 2023-2024學年四川省涼山州小學數學五年級下冊期末自測試卷
- 十小咒注音版
- 2021國開電大操作系統形考任務 實驗報告-進程管理實驗
- 中醫藥膳學全解共94張課件
- 重慶市各縣區鄉鎮行政村村莊村名居民村民委員會明細及行政區劃代碼
- 學生公寓維修改造工程施工組織設計
- 小學高段語文審題能力的培養
- 護理人文關懷質量評價標準
- 【北師大版】七年級上冊數學 第四章 圖形的全等 單元檢測(含答案)
- 《教育學原理》期末考試試卷試題A及答案
- 安全知識進校園宣傳課件——XX小學
評論
0/150
提交評論