《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種基于TMS320C6A8168的FPGA動態(tài)配置方法
一種基于TMS320C6A8168的FPGA動態(tài)配置方法
2016年電子技術應用第9期
張德民,童 慶,劉貽靜,主父文剛
重慶郵電大學 重慶市移動通信技術重點實驗室,重慶400065
摘要: 針對基帶處理系統(tǒng)中FPGA傳統(tǒng)上電配置中存在的速度和靈活性等問題,提出一種基于TMS320C6A8168 的SD卡和網口動態(tài)加載FPGA配置文件的方案。該方案以含有4片F(xiàn)PGA和1片C6A8168 ARM處理器所組成的嵌入式系統(tǒng)作為平臺,通過修改U-boot中的代碼使得基帶系統(tǒng)上電運行U-boot時能夠選擇性地加載PC中FPGA的配置文件,從而使FPGA完成相應的物理層算法及硬件加速。有效實現(xiàn)了對FPGA的配置,提高了FPGA系統(tǒng)配置的靈活性,在基帶處理系統(tǒng)中有很好的應用前景。
中圖分類號: TP273+.5
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.014
中文引用格式: 張德民,童慶,劉貽靜,等. 一種基于TMS320C6A8168的FPGA動態(tài)配置方法[J].電子技術應用,2016,42(9):55-57,61.
英文引用格式: Zhang Demin,Tong Qing,Liu Yijing,et al. A method of FPGA dynamic configuration based on TMS320C6A8168[J].Application of Electronic Technique,2016,42(9):55-57,61q.
A method of FPGA dynamic configuration based on TMS320C6A8168
Zhang Demin,Tong Qing,Liu Yijing,Zhufu Wengang
Key Laboratory of Mobile Communication Technology of Chongqing, Chongqing University of Posts and Telecommunications, Chongqing 400065,China
Abstract: Aiming at the problem of speed and flexibility in traditional FPGA booting allocation in baseband processing system, this paper presents a method of dynamic loading FPGA configuration file through SD card and network based on TMS320C6A8168. The program has embedded system platform composed of four pieces of FPGA and an ARM C6A8168 processor, by modifying the U-boot code makes the baseband system selectively load FPGA configuration file in PC when running the U-boot, so that the FPGA can complete the corresponding physical layer algorithms and hardware acceleration. It effectively achieves the configuration of the FPGA, improves the flexibility of the FPGA system configuration, and has a good application prospects in the base band processing system.
Key words : TMS320C6A8168;FPGA;SD card;baseband processing system

0 引言

  基帶處理系統(tǒng)中由于FPGA容量、速度、資源等方面的局限性,在完成某些復雜嵌入式系統(tǒng)的設計中存在很大困難。然而將復雜的系統(tǒng)設計分割為若干獨立模塊[1],每個模塊由單個FPGA實現(xiàn),并輔以多FPGA間的有效接口,則能很好地解決FPGA規(guī)模的局限性問題。另一方面,同一套硬件設備可加載不同的配置文件到多FPGA系統(tǒng)[2]中,以實現(xiàn)設備功能多變的應用需求。例如:在移動通信信令分析儀中,為了兼容全球移動通信系統(tǒng)(Global System for Mobile communication,GSM)、時分同步碼分多址(Time Division-Synchronous Code Division Multiple Access,TD-SCDMA)、分時長期演進(Time Division Long Term Evolution,TD-LTE)、頻分雙工LTE(Frequency Division Duplexing LTE,F(xiàn)DD-LTE)等不同的通信制式,就必須動態(tài)地對多FPGA進行配置。

1 Multi FPGA配置方案

  傳統(tǒng)多FPGA系統(tǒng)的解決方案大致可分為分散配置方案和集中配置方案兩種,配置結構如圖1所示。

圖像 008.png

圖1  傳統(tǒng)配置方案的配置結構

  分散配置方案中各FPGA分別采用主模式加載外部帶電可擦寫可編程只讀存儲器(EEPROM)中的配置文件完成配置,需要設計多個獨立的配置電路,從而增加了系統(tǒng)的復雜度和成本。集中配置會出現(xiàn)EEPROM容量不足,以及系統(tǒng)中的多片F(xiàn)PGA無法在不同版本的配置文件之間進行智能切換等問題。針對以上配置的不足,本文設計了基于ARM、SD卡、EMAC和串口的多FPGA命令選擇配置方案,該方案使用ARM的人機交互接口讀取用戶選擇命令,控制接口和數據接口按照配置時序完成配置,實現(xiàn)了用戶可根據設備不同的功能要求,自主選擇FPGA配置文件[3-4]。

2 基于ARM的多FPGA串口命令選擇配置的硬件設計

  本方案選用TI公司雙核處理器TMS320C6A8168作為系統(tǒng)的主控芯片。網卡選用LSI公司的ET1011C千兆網卡來加載網絡端的 FPGA文件,大大提升了文件加載的效率。SD卡選用傳輸速度30 MB/s、容量16 GB的 Kingston存儲器,存儲通用啟動引導程序(Universal boot loader,U-boot)映像文件。輔助 FPGA采用專門應用于系統(tǒng)集成度高和安全性非常關鍵的非易失性領域Spartan-3AN系列的FPGA XC3S400AN。整個硬件電路框圖如圖2所示。

圖像 009.png

圖2  Multi FPGA配置電路圖

  配置程序以及配置文件放在PC上,上電后ARM執(zhí)行根據硬件信息定制的U-boot,并通過串口在超級終端上打印配置文件選擇信息及對應的設備功能說明;然后根據用戶輸入的命令先將所選配置文件從PC通過TFTP方式下載到內存DDR,再通過配置程序將DDR中的文件通過輔助FPGA分次寫入待配置FPGA中,依次完成對FPGA的配置。其中FPGA的配置文件為.bit格式,加載配置文件的格式為.out,SD卡的啟動引導文件為MLO,U-boot為u-boot.bin。整個文件的布局如圖3所示[5]。

圖像 010.png

圖3  各個文件布局

3 基于ARM的多FPGA串口命令選擇配置的軟件設計

  系統(tǒng)上電后,ARM加載SD卡中的U-boot代碼完成系統(tǒng)軟硬件環(huán)境的初始化,然后將用戶所選的配置文件依次拷貝到DDR中指定的位置。通過執(zhí)行配置代碼,利用FPGA邏輯可變性,按照時序[6]將DDR中的配置文件通過XC3S400AN依次寫入到4片待配置FPGA中,實現(xiàn)所有FPGA的配置[7]。總流程如圖4所示。

圖像 011.png

圖4  燒寫配置代碼的流程圖

  3.1 U-boot代碼的設計

  根據已有的C6A8168 U-boot代碼更改[8-10],在U-boot/

  common/main.c源代碼打印倒計時啟動代碼后面添加部分代碼如下:

  switch (signal_command){

  case 'a':{

  printf("FPGA1 chose configure file 1\n");

  s = getenv ("fpga1_1");

  printf("execute command :%s\n",s);

  run_command (s, 0);

  }

  …

  }

  以上Case語句能夠實現(xiàn)對環(huán)境變量中的fpga1-1指令讀取和解析。其中fpga1-1指令在uboot/common/env_com-mon.c中添加:

  #ifdef FPGA1_1_CONFIG_BOOTCOMMAN-D "fpga1_1=

  "FPGA1_1_CONFIG_BOOTCOMMAND"\0"

  #endif

  FPGA1_1CONFIG_BOOTCOMMAND對應的命令為:tftp 0x82000000 fpga1-1.bit,在u-boot/common/ti8168_

  evm.h中添加:

  # define FPGA1_1_CONFIG_BOOTCOMM-AND

  "tftp 0x82000000 fpga1_1.bit;"

  # define START_WRITE_CONFIGFILE

  "tftp 0x40300000 fpga_init.out;go 0x40300000;"

  以上命令利用TFTP方式將配置文件fpga1-1.bit和加載配置文件fpga_init.out下載到DDR的地址中,并執(zhí)行該代碼,以實現(xiàn)將配置文件加載到輔助FPGA中實現(xiàn)對FPGA1的配置[11]。

  3.2 U-boot編譯

  修改Makefile中ARCH與CROSS_COMPILE:

  ARCH ?= arm ;

  CROSS_COMPILE?=/opt/DVRRDK_02.00.00.23/ti_tools/cgt_a8/arm-2009q1/bin/arm-none-linux-guneabi-;

  此時U-boot編譯分為兩步:

  第一步:$ make distclean

  $ make ti8168_evm_min_sd

  $ make u-boot.ti

  先用make distclean 將之前的編譯過程中生成的代碼刪除,其次由于SD卡啟動時U-boot鏡像文件通常小于125 KB,所以此處用make ti8168_evm_min_sd來實現(xiàn)SD卡啟動時配置;運用make u-boot.ti 編譯代碼,最終生成u-boot.min.sd,然后將u-boot.min.sd重命名為MLO作為u-boot的第一階段;

  第二步:$ make distclean

  $ make ti8168_evm_config_nand

  $ make u-boot.ti

  以上代碼編譯生成Nandflash版的u-boot.bin,這里用于SD卡啟動的第二階段。

  經過以上兩步可以得到MLO和u-boot.bin啟動文件。

  3.3 TFTP的配置用于EMAC加載PC上的FPGA配置文件

  考慮到加載速度問題,本方案采用千兆網口加載,選擇PC作為服務器使用。基帶板的IP與PC的IP在同一網絡中:將PC和基帶板中的EMAC網卡的IP分別設置為192.168.1.11、192.168.1.22,子網掩碼為255.255.255.0,網關為192.168.1.1;此時,上電時在倒計時3 s之內,通過按下選擇對應的FPGA配置文件的按鍵,就會利用TFTP方式從PC上加載所選擇的代碼。沒有在倒計時3 s之內按下選擇按鍵,根據U-boot 會加載默認的配置文件。

4 數據測試及結果

  根據測試對象及環(huán)境的不同,加載不同制式的配置文件使儀表兼容GSM、TD-SCDMA、TD-LTE、FDD-LTE 4種通信網絡,滿足不同環(huán)境的測試環(huán)境以及5 M、10 M、15 M、20 M 4種帶寬,模擬單小區(qū)多用戶、單天線、多天線等配置,實現(xiàn)了動態(tài)加載配置文件的需求。

  在移動通信信令分析儀中對該方案測試配置時間。在不同的ARM時鐘頻率和平均配置文件下多次測得并完成FPGA配置所需的時間如表1所示。

圖像 012.png

5 結論

  本方案通過ARM的啟動選擇性地加載FPGA配置文件,實現(xiàn)基帶系統(tǒng)的上電自啟動。并且從系統(tǒng)結構、原理設計、硬件構造、軟件實現(xiàn)等方面給出具體實現(xiàn),其中軟硬件設計較為獨立完整,在通信電子、計算機領域具有一定的應用價值。

  參考文獻

  [1] 張倩莉,于芳,劉忠立,等.結合用戶約束文件的高效多FPGA系統(tǒng)分割方法[J].哈爾濱工業(yè)大學學報,2012,44(7):144-148.

  [2] LADDHA S,DE K B.EDA tools and design methodology for multi-FPGA designing/prototyp-ing[EB/OL].[2015-1-26].http://www.design-reu-se.c-om/articles/22074/formulti-fpga-designing-prototyping.html.

  [3] 陳曦,沈佐峰.一種可靠的FPGA動態(tài)配置方法及實現(xiàn)[J].通信技術,2012,45(3):105-110.

  [4] 張承暢.多FPGA系統(tǒng)的關鍵問題及應用研究[D].重慶:重慶大學,2011.

  [5] YAN D G,ZHANG C C,TONG R J.A new configuration scheme for multi-FPGA systems based on XCF32P[C].International Conference on Industry,Information System and Material Engineering,2011:1014-1017.

  [6] 紀斌.Xilinx FPGA上電時序分析與設計[J].電訊技術,2012,52(4):591-594.

  [7] 李飛飛,蘇延川,王鵬.基于DSP的FPGA配置方法研究與實現(xiàn)[J].現(xiàn)代電子技術,2011,34(24):60-62.

  [8] 楊宗富.基于ARM的系統(tǒng)啟動過程研究與系統(tǒng)移植[D].北京:北方工業(yè)大學,2014.

  [9] PETER B,PATRICK C.Linux for embedded and real-time applications(Third Edition)[M].Great Britain:Elsevier,2013:225-232.

  [10] Xilinx Inc.Spartan-3AN FPGA family data sheet[EB/OL].[2015-1-26].http://www.xilinx.com/support/documenta

  [11] Texas Instruments Inc.DM816x AM389x PSP flashing tools guide[EB/OL].[2015-1-26].http://processors.wiki.ti.com/

index.php/DM816x_AM389x_PSP_Flashing_Tools_Guide.

  

  


此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区三区在线不卡| 国产精品久久久久久超碰 | 亚洲欧洲综合| 国产精品久久久久婷婷| 久久激情久久| 亚洲毛片网站| 亚洲一区自拍| 亚洲国产精品久久久久婷婷老年 | 久久精品五月婷婷| 亚洲精一区二区三区| 国产精品三区www17con| 久久亚洲精品网站| 亚洲一区二区精品在线观看| 欧美一区二区三区四区视频 | 亚洲激情视频| 国产精品视频第一区| 久久中文字幕一区二区三区| 一本大道久久a久久精品综合| 亚洲一区免费网站| 亚洲高清电影| 国产精品亚洲一区| 欧美激情一区二区三区成人| 校园春色综合网| 亚洲日本成人在线观看| 亚洲一区二区免费| 亚洲日本黄色| 狠狠做深爱婷婷久久综合一区| 欧美色中文字幕| 男人的天堂亚洲| 欧美一区二区在线观看| 99日韩精品| 亚洲成色精品| 亚洲欧美一区二区精品久久久| 亚洲区中文字幕| 韩日精品视频一区| 国产精品伦一区| 欧美精品九九| 美女日韩在线中文字幕| 欧美影院午夜播放| 亚洲一区二区在线免费观看视频| 亚洲激情视频在线| 欧美中文在线观看国产| 亚洲欧美日韩直播| 中文精品一区二区三区 | 亚洲欧洲综合| 在线观看精品视频| 国产亚洲精品久久久| 国产精品久久77777| 欧美区国产区| 欧美久久久久中文字幕| 欧美99在线视频观看| 久久99伊人| 午夜精品免费视频| 亚洲淫片在线视频| 一级日韩一区在线观看| 亚洲精品永久免费精品| 亚洲国产另类久久精品| 久久成人精品一区二区三区| 小辣椒精品导航| 亚洲综合视频一区| 亚洲网友自拍| 亚洲一区国产视频| 亚洲午夜久久久久久久久电影院| 亚洲一二三区在线观看| 亚洲激情电影在线| 一色屋精品视频免费看| 国产原创一区二区| 国产亚洲精品一区二555| 国产色产综合色产在线视频| 国产欧美 在线欧美| 国产精品久久久久久福利一牛影视| 欧美日韩国产bt| 欧美人在线视频| 欧美日韩一区二区三区四区在线观看 | 国产亚洲免费的视频看| 国产欧美一区二区三区久久| 国产精品永久免费观看| 国产精品裸体一区二区三区| 国产精品久久久久三级| 国产精品免费久久久久久| 国产精品高清在线观看| 国产精品久久夜| 国产精品网站在线观看| 国产日韩欧美成人| 国产一区二区三区电影在线观看| 韩日欧美一区| 1024日韩| 日韩网站在线| 亚洲视频香蕉人妖| 欧美一级一区| 亚洲欧洲精品一区二区三区不卡| 亚洲精品影视在线观看| 亚洲少妇在线| 欧美一区二区视频免费观看| 卡一卡二国产精品| 欧美精品123区| 欧美午夜在线视频| 国产日韩亚洲欧美综合| 亚洲电影免费在线| 一本久久知道综合久久| 亚洲一区二区三区四区中文 | 国内精品久久久久影院 日本资源| 韩国av一区二区| 亚洲国产成人精品女人久久久| 99视频精品| 欧美一级欧美一级在线播放| 亚洲人午夜精品| 亚洲午夜av| 久久精品国产欧美激情| 欧美电影免费观看网站| 国产精品久久久久9999高清| 国产综合18久久久久久| 亚洲毛片在线观看| 亚洲欧美中文日韩在线| 亚洲国产免费| 亚洲一区图片| 毛片精品免费在线观看| 国产精品va在线| 永久免费毛片在线播放不卡| 99视频精品在线| 久久riav二区三区| 亚洲色诱最新| 开元免费观看欧美电视剧网站| 欧美色偷偷大香| 狠狠色狠狠色综合人人| 一区二区三区国产精品| 亚洲第一成人在线| 亚洲欧美成人| 欧美成在线观看| 国产麻豆日韩欧美久久| 亚洲人成小说网站色在线| 欧美一区二区三区在线观看视频| 日韩一级片网址| 久久人91精品久久久久久不卡 | 99精品国产99久久久久久福利| 欧美专区亚洲专区| 亚洲无吗在线| 欧美成va人片在线观看| 国产精品永久免费在线| 亚洲精品网站在线播放gif| 欧美亚洲一级片| 亚洲一区二区三区影院| 欧美jjzz| 国内偷自视频区视频综合| 在线亚洲欧美视频| 亚洲人成人一区二区在线观看| 欧美专区在线| 国产精品老女人精品视频| 亚洲韩国日本中文字幕| 久久成人av少妇免费| 亚洲欧美综合精品久久成人| 欧美精品成人一区二区在线观看 | 欧美日韩亚洲综合一区| 在线观看91精品国产麻豆| 先锋影音国产一区| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲欧美日韩国产一区二区| 在线性视频日韩欧美| 欧美91视频| 一区在线影院| 欧美资源在线观看| 欧美在线精品一区| 国产精品高潮呻吟久久av无限 | 日韩亚洲视频在线| 亚洲三级视频在线观看| 久久综合久久久久88| 国产精品网站一区| 一区二区不卡在线视频 午夜欧美不卡在 | 免费黄网站欧美| 狠狠干成人综合网| 午夜精品偷拍| 欧美一区二区三区在线看| 国产精品地址| 日韩视频一区二区三区| 日韩网站在线观看| 欧美精品成人一区二区在线观看 | 性感少妇一区| 久久国产天堂福利天堂| 国产精品永久入口久久久| 亚洲视频一二区| 亚洲男人av电影| 国产精品欧美日韩一区| 亚洲视频在线看| 午夜在线精品偷拍| 国产精品视频导航| 午夜日韩电影| 久久久国产精品一区二区中文| 国产嫩草一区二区三区在线观看| 亚洲永久精品国产| 欧美一区二视频在线免费观看| 国产精品热久久久久夜色精品三区| 亚洲少妇自拍| 西西裸体人体做爰大胆久久久| 国产精品外国| 欧美在线观看一二区| 久久综合电影| 亚洲国产精品www| 一本久久综合亚洲鲁鲁五月天| 欧美日韩视频不卡| 亚洲视频碰碰|