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

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

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

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