Zynq-7000的柔性直流輸電橋臂控制器設計
Linux內核在CPU0啟動成功后,此時CPU1處于休眠狀態,會一直輪詢0xFFFF FFF0地址處的數值,非零就把讀取到的數值裝載到PC寄存器,跳轉到對應的地址執行指令。CPU0通過Linux的devmem命令把CPU1的DDR3內存起始地址0x3000 0000寫入0xFFFF FFF0,啟動CPU1:devmem 0xFFFF FFF0 0x3000 0000。
CPU1啟動后,在主函數注冊中斷服務函數,當FPGA的數據中斷發生時進入中斷函數,進行故障判斷并生成控制指令。因為CPU1運行的是裸機程序,其中斷響應時間要比運行Linux的CPU0響應時間短。
3. 3 系統軟件升級
橋臂控制器在調試過程中經常需要對代碼進行升級,而程序代碼和FPGA的配置文件固化在外部Quad-SPIFlash中,通過開啟CPU0上Linux的SSH和FTP服務,使用網口可以重新燒寫Flash中的文件,步驟如下:
①PC電腦通過FileZilla Client(Windows下的ftp工具)登錄Linux的ftp服務器,將新的燒寫文件上傳到Linux的文件系統下;
②PC電腦通過putty(Windows下的ssh工具)登錄Linux的root賬號;
③在putty界面下,使用Linux自帶的flashcp命令將上傳的文件燒寫到外部Quad—SPI Flash。
橋臂控制器重啟后,系統軟件得到更新。
3.4 應用程序流程
系統程序流程如圖4所示。

4 FPGA通信傳輸率測試
ARM和FPGA通過AXI4數據總線進行通信,數據帶寬最高達到1 024位,本文主要測試了64位突發傳輸率。
對于64位突發傳輸,分別測試FPGA工作頻率為50 MHz、100 MHz和150 MHz時,FPGA發送256個64位數據的用時,如表1所列。

由表1可以計算得出不同FPGA工作頻率下,數據位寬為64位時的傳輸速率,如表2所列。

由表2可見,使用zynq—xc7z020芯片能夠極大提高FPGA和ARM的數據傳輸速率。
結語
本文設計的橋臂控制器,采用Xilinx Zynq—xc7z020芯片,使用AXI總線取代了以前的DSP+FPGA數據總線方式,實測的最高數據傳輸率達到8.9 Gb/s,極大地改善了閥控系統數據通信的實時性,同時簡化了控制板卡的硬件設計,降低了板卡功耗,提升了系統的運行穩定性。
利用芯片上集成的ARM Cortex-A9 MPCore雙核處理器,搭建了AMP多系統架構,在保證系統實時響應FPGA中斷的同時,移植了Linux操作系統,提供了人機交互界面,為橋臂控制器添加了新的控制功能,簡化了柔性直流輸電閥控系統的整體設計。
評論