999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Zynq-7000的柔性直流輸電橋臂控制器設計

2014-07-02 09:34:38滕林陽胡四全吉攀攀
單片機與嵌入式系統應用 2014年12期

滕林陽,胡四全,吉攀攀

(許繼集團有限公司,許昌461000)

引 言

柔性直流輸電技術是基于電壓源換流器(VSC)的新一代直流輸電技術,通過控制IGBT的通斷來實現子模塊投切狀態的轉換。閥控系統的橋臂控制器根據接收到的子模塊16位電容電壓和32位狀態信息,生成子模塊控制指令,并下發到每個子模塊。由于子模塊的數量比較多(一個橋臂為576個子模塊),需要傳輸的數據量比較大(總共27.6 Kb),并且閥控系統對控制周期有嚴格的要求[1](控制過程嚴格控制在100μs內)。

目前的橋臂控制器普遍采用DSP+FPGA的設計架構,FPGA將接收到的數據處理后傳送給DSP,DSP對數據進行故障判斷生成控制指令,FPGA讀取控制指令并通過光纖發送到子模塊。兩者之間采用32位數據總線進行數據交互,數據傳輸速率低于1Gb/s,傳輸子模塊數據大概需要30μs,占用了控制周期較長的時間,降低了閥控系統的控制實時性。

Xilinx的Zynq-7000系列芯片將FPGA和ARM集成到一個芯片上,兩者之間可以通過64位的內存映射型AXI接口進行雙向數據傳輸,理論帶寬為9.6 Gb/s。ARM和FPGA直接通過AXI4數據總線進行通信,理論數據線寬度達到1 024位,對于突發長度,最多支持256位,能夠極大地提高FPGA和ARM的數據通信傳輸率,保證系統實時運行[2]。

本文設計的橋臂控制器采用Zynq-xc7z020芯片,使用AXI4總線取代了DSP+FPGA的數據總線,同時利用ARM雙核Cortex-A9處理子系統和豐富的外設資源,進一步提升了橋臂控制器的功能。

1 系統總體結構設計

本文所設計的橋臂控制器由集成在Zynq-xc7z020內的雙核ARM Cortex-A9 MPCore處理器(CPU0+CPU1)所控制,這兩個處理器可以同時運行各自獨立的操作系統和軟件程序,而且可以通過片內RAM進行通信。

為了保證ARM對FPGA中斷的實時響應,將CPU1配置為運行裸機程序,執行中斷服務函數,主要完成故障檢測和控制指令生成。而CPU0運行Linux操作系統,提供用戶控制圖形界面和網絡通信等功能。CPU0和CPU1通過片內256K的RAM進行數據通信,這種雙核架構稱為不對稱的多處理機系統(Asymmetric MultiProcessing,AMP)模式。

Zynq-xc7z020芯片的FPGA接收到子模塊的電容電壓數據后,進行排序及冗余處理,然后利用AXI_Master_Connector的AXI總線IP核將數據轉換為AXI4總線數據格式,通過ARM與FPGA的64位AXI HP(High Performance)高速接口傳輸到外部的DDR3中,數據傳輸完畢后,FPGA向ARM的CPU1發送一個中斷請求。

ARM的CPU1接收到中斷后,從DDR3內存讀取數據并進行故障判斷處理,同時通知CPU0的Linux操作系統,在圖形界面實時顯示數據變化并通過網口向后臺發送事件信息。

CPU1數據處理完畢后,生成子模塊控制指令并寫入DDR3指定內存區,FPGA通過AXI_Master_Connector總線IP核從DDR3讀取數據,并通過光纖發送到每個子模塊。

運行Linux的CPU0作為主節點,提供HDMI圖形界面,并負責系統上電硬件初始化、啟動CPU1、將位配置文件燒寫到FPGA中和升級系統軟件等工作。方案的整體框架如圖1所示。

圖1 橋臂控制器系統框架圖

2 硬件平臺設計

橋臂控制器的硬件平臺主要分為ARM和FPGA兩部分。使用Xilinx XPS硬件設計軟件,配置Zynq處理器中ARM部分的外設,如圖2所示。

程序代碼和FPGA的配置文件固化在外部Quad-SPI Flash中,Enet0用來與后臺進行網絡通信,SD0可以掛接SD卡,I2C0用來掛接RTC8564JE芯片,I2C1控制器配置HDMI輸出芯片Sil9134,系統使用UART1輸出調試信息。

圖2 橋臂控制器ARM側外設配置

FPGA部分的硬件平臺包括數據預處理的IP核、AXI總線控制IP核(IN_AXI_MASTER和OUT_AXI_MASTER),以及產生中斷的irq_gen_0 IP核,構建了FPGA、ARM和DDR3的數據流通道[3],如圖3所示。

圖3 橋臂控制器FPGA硬件設計

添加AXI總線控制IP核時,需指定AXI協議為AXI4,數據帶寬為64位(最高1 024位),并將ARM與FPGA的64位AXI HP接口映射到DDR3內存的高端1 MB地址(0x3FF0 0000~0x3FFF FFFF),用來存儲接收到的子模塊數據以及生成的控制指令[4]。

3 嵌入式軟件設計

Zynq-xc7z020芯片是以ARM作為核心的,上電后的運行流程如下:

①進入FSBL(First Stage Boot Loader),對電路板進行配置初始化;

②將位文件燒入FPGA,FPGA按照位中的方式運行;

③進入SSBL(Second Stage Boot Loader),u-boot初始化操作系統的運行環境,引導Linux內核,隨后將控制權交給雙核ARM中的CPU0,CPU0負責啟動響應FPGA中斷的CPU1。

3.1 FSBL軟件設計

FSBL主要完成Zynq-xc7z020芯片的啟動、內存的初始化、I/O的中斷初始化,以及HDMI的配置。其中,HDMI接口芯片Sil9134通過IIC1來配置。

FSBL中I2C的主要C程序如下:

通過配置Sil9134的0x72基址和0x7A基址兩個寄存器,初始化芯片硬件,進入正常工作模式。

3.2 啟動AMP工作模式

Zynq-xc7z020芯片的ARM雙核共享1G的DDR3內存、512K的L2 Cache和中斷控制器,為了避免雙核同時訪問這些資源導致沖突,系統采用了以下措施:

①在CPU0上運行的Linux使用DDR3內存的低端768 MB空間,CPU1使用隨后的255 MB內存空間,高端的1 MB空間用來存儲FPGA讀寫的數據。

②CPU1禁用L2 Cache,CPU0上的Linux完全占用L2 Cache。

③FPGA發送給CPU1的中斷使用私有中斷控制器,發送給CPU0的中斷使用共享中斷控制器,兩者互不干擾[5]。

Linux內核在CPU0啟動成功后,此時CPU1處于休眠狀態,會一直輪詢0x FFFF FFF0地址處的數值,非零就把讀取到的數值裝載到PC寄存器,跳轉到對應的地址執行指令。CPU0通過Linux的devmem命令把CPU1的DDR3內存起始地址0x3000 0000寫入0x FFFF FFF0,啟動CPU1:devmem 0x FFFF FFF0 0x3000 0000。

CPU1啟動后,在主函數注冊中斷服務函數,當FPGA的數據中斷發生時進入中斷函數,進行故障判斷并生成控制指令。因為CPU1運行的是裸機程序,其中斷響應時間要比運行Linux的CPU0響應時間短。

3.3 系統軟件升級

橋臂控制器在調試過程中經常需要對代碼進行升級,而程序代碼和FPGA的配置文件固化在外部Quad-SPI Flash中,通過開啟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 系統程序流程圖

4 FPGA通信傳輸率測試

ARM和FPGA通過AXI4數據總線進行通信,數據帶寬最高達到1 024位,本文主要測試了64位突發傳輸率。

對于64位突發傳輸,分別測試FPGA工作頻率為50 MHz、100 MHz和150 MHz時,FPGA發送256個64位數據的用時,如表1所列。

表1 FPGA發送64位數據時間

由表1可以計算得出不同FPGA工作頻率下,數據位寬為64位時的傳輸速率,如表2所列。由表2可見,使用Zynq-xc7z020芯片能夠極大提高FPGA和ARM的數據傳輸速率。

表2 FPGA數據傳輸速率

結 語

本文設計的橋臂控制器,采用Xilinx Zynq-xc7z020芯片,使用AXI總線取代了以前的DSP+FPGA數據總線方式,實測的最高數據傳輸率達到8.9 Gb/s,極大地改善了閥控系統數據通信的實時性,同時簡化了控制板卡的硬件設計,降低了板卡功耗,提升了系統的運行穩定性[6]。

利用芯片上集成的ARM Cortex-A9 MPCore雙核處理器,搭建了AMP多系統架構,在保證系統實時響應FPGA中斷的同時,移植了Linux操作系統,提供了人機交互界面,為橋臂控制器添加了新的控制功能,簡化了柔性直流輸電閥控系統的整體設計。

[1]周楊.基于模塊化多電平換流技術的柔性直流輸電系統研究[D].杭州:浙江大學,2013.

[2]王瑩.Xilinx可擴展處理平臺:ZYNQ嵌入式處理器與FPGA集成的獨特創舉[J].電子產品世界,2012(2).

[3]Zynq-7000:SOC 平 臺 [J].世 界 電 子 元 器 件,2012(12):24-24.

[4]楊定定.基于AXI總線的 MicroBlaze雙核SoPC系統設計[J].電子產品世界,2012,19(1):76-77.

[5]王可,黃曉華.基于ARM Cortex的視覺導航AGV雙核控制器設計[J].機電工程,2013,30(10):1284-1287.

[6]胥京宇.賽靈思推出可擴展處理平臺Zynq-7000系列[J].世界電子元器件,2011(4):59-59.

主站蜘蛛池模板: 91精品最新国内在线播放| 国产一级毛片在线| 国产精品白浆无码流出在线看| 国产香蕉在线视频| 国产精品福利尤物youwu| 国产精品一区二区久久精品无码| 999国产精品永久免费视频精品久久 | 九九九国产| 91丝袜美腿高跟国产极品老师| 亚洲一区二区在线无码| 福利在线一区| 91久久偷偷做嫩草影院电| 欧美午夜网| 丰满人妻一区二区三区视频| 91精品啪在线观看国产91九色| 亚洲一级毛片| 久久99精品国产麻豆宅宅| 国产综合精品一区二区| 99热这里只有精品免费| 亚洲浓毛av| 99er精品视频| 伊人久热这里只有精品视频99| 思思热精品在线8| 精品无码日韩国产不卡av| 色婷婷综合激情视频免费看 | 欧美日韩一区二区在线免费观看| 91免费国产高清观看| 亚洲三级色| 欧美综合激情| 国语少妇高潮| 精品国产福利在线| 欧美精品亚洲日韩a| 国产免费精彩视频| 激情综合网激情综合| 成人久久精品一区二区三区| 日韩精品亚洲一区中文字幕| 国产夜色视频| 在线观看av永久| 欧美一区二区丝袜高跟鞋| 亚洲欧美不卡| 日韩欧美国产成人| 无码日韩视频| 五月天天天色| 久久五月天综合| 欧美黑人欧美精品刺激| 97久久人人超碰国产精品| 老司国产精品视频91| 亚洲中文字幕97久久精品少妇| 欧美日韩激情| 亚亚洲乱码一二三四区| 亚洲日韩高清在线亚洲专区| 亚洲无线一二三四区男男| 亚洲A∨无码精品午夜在线观看| 亚洲男人的天堂久久精品| 玖玖免费视频在线观看| 国产杨幂丝袜av在线播放| 亚洲区视频在线观看| 亚洲综合九九| 亚洲不卡网| 91福利在线观看视频| 国产欧美日韩在线一区| 亚洲伊人天堂| 美女视频黄又黄又免费高清| 亚洲熟女偷拍| 呦女亚洲一区精品| 狠狠干欧美| 亚洲欧美日韩成人高清在线一区| 国产系列在线| 久操线在视频在线观看| 日本五区在线不卡精品| 亚洲—日韩aV在线| 亚洲水蜜桃久久综合网站| 亚洲清纯自偷自拍另类专区| 在线亚洲精品自拍| 韩国v欧美v亚洲v日本v| 亚洲不卡影院| 深夜福利视频一区二区| 国产一区二区免费播放| 久久国产免费观看| 伊人精品视频免费在线| 欧美一级片在线| 亚洲欧美另类中文字幕|