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

采用ARM的多FPGA串口命令選擇配置及其應用

2016-11-04 10:28:21陳發堂主父文剛胡利偉
自動化儀表 2016年10期
關鍵詞:設備系統

陳發堂 主父文剛 胡利偉

(重慶郵電大學重慶市移動通信技術重點實驗室,重慶 400065)

?

采用ARM的多FPGA串口命令選擇配置及其應用

陳發堂主父文剛胡利偉

(重慶郵電大學重慶市移動通信技術重點實驗室,重慶400065)

針對嵌入式系統中的多FPGA配置問題,結合實際應用,設計了一種基于ARM、NAND Flash存儲器和串口的多FPGA命令選擇配置方案。該方案以含有4片FPGA的嵌入式系統為例,選用ARM作為主控芯片,使用超級終端輸入配置文件選擇命令,構建了基于TMS320C6A8168、XC3S400AN和NAND Flash的硬件平臺,實現了根據設備的應用差別加載不同FPGA配置文件的功能。詳細描述了系統的硬件構成、軟件實現以及在TD-LTE無線綜合測試儀表中的應用情況。與傳統基于專用存儲芯片的配置方法相比,該方案大大提高了多FPGA系統配置的靈活性,在通信電子領域具有一定的實用價值。

嵌入式系統FPGA配置ARMNANDFlash串口命令TD-LTE智能化

0 引言

隨著電子應用領域的不斷擴展,FPGA的應用正以空前的規模和速度滲透到各行各業,然而由于FPGA在容量、速度、資源等方面的局限性,利用單FPGA完成某些復雜嵌入式系統的設計存在很大困難。將復雜的系統設計分割為若干個獨立模塊,每個模塊由單FPGA實現,并輔以多FPGA間的有效接口,能很好地解決FPGA規模的局限性[1-2]問題。

另一方面,隨著通信設備的復雜化、多樣化,采用多FPGA聯合實現系統功能時,可通過選擇加載不同的配置文件來實現同一套硬件設備“一機多能”的需求[3],特別是在通信儀表領域,這一應用尤為廣泛。例如:在移動通信信令分析儀中,為了兼容全球移動通信系統(global system for mobile communication,GSM)、時分同步碼分多址(time division synchronous code division multiple access,TD-SCDMA)、分時長期演進(time division long term evolution,TD-LTE)、頻分雙工長期演進(frequency division duplexing LTE,FDD-LTE)等不同的通信制式,就必須實現“一機多能”。該應用也提高了對多FPGA配置的智能化要求。

1 傳統多FPGA系統的配置方案

針對多FPGA系統的配置,傳統的解決方案大致可分為兩種:分散配置方案和集中配置方案。配置結構[4]如圖1所示。

分散配置方案中,各FPGA分別采用主模式加載外部電可擦可編程只讀存儲器(electrically erasable programmable read-only memory,EEPROM)中的配置文件完成配置;待配置的FPGA產生配置時鐘CCLK并控制整個配置過程的執行。由于該方案需要設計多個獨立的配置電路,隨著系統中FPGA數量的上升,PCB的設計變得更加困難,增加了系統的復雜度和成本。一旦想更換FPGA的配置文件,需重新向每片EEPROM燒寫文件,十分不便。

集中配置方案采用Slave Select MAP模式[5-6]加載配置文件,配置時序和時鐘由專用的FPGA發出。該方案將全部配置文件集中存儲在一片EEPROM上,會出現EEPROM容量不足以及系統中的多片FPGA無法在不同版本的配置文件之間進行智能切換等問題。

圖1 傳統配置方案的配置結構圖Fig.1 The configuring structure of traditional configuration scheme

2 多FPGA串口命令配置原理

針對傳統方法在多FPGA系統“智能”配置上的不足,本文設計了基于ARM、NAND Flash和串口的多FPGA命令選擇配置方案。該方案使用ARM的人機交互接口讀取選擇命令,控制接口和數據接口按照配置時序完成配置。用戶可根據設備不同的功能要求,自主選擇FPGA配置文件進行智能加載。

2.1單FPGA 16bit Slave SelectMAP配置原理

本方案單片FPGA的配置采用16 bit Slave Select MAP模式,配置時序如圖2所示。

圖2 配置時序圖Fig.2 Sequence chart of configuration

系統上電時,ARM發送到PROGRAM_B引腳上的邏輯低電平會復位配置邏輯,使FPGA處于清空配置存儲器狀態,并使INIT_B信號保持低電平,以表明配置存儲器正被清空。ARM釋放PROGRAM_B引腳后,FPGA在清空所有配置存儲器后拉高INIT_B引腳,并在INIT_B的上升沿,由自動采樣模式選擇引腳M[2:0]以決定配置模式,SelectMAP模式對應的M[2:0]引腳值為0b110。ARM檢測到INIT_B引腳的高電平后,將配置文件寫入FPGA。若寫入的配置文件循環冗余檢驗(cyclic redundancy check,CRC)成功,FPGA會拉高DONE引腳,表明配置成功;否則,INIT_B引腳被拉低,配置失敗。

2.2基于ARM的多FPGA串口命令選擇配置原理

本方案選用高性能處理器ARM作為系統的主控芯片,控制整個配置過程的執行[7];NAND Flash作為系統存儲器,存儲通用啟動裝載(universal boot loader,U-boot) 映像文件、配置程序以及所有的配置文件。上電后ARM執行根據硬件信息定制的U-boot[8-9],并通過串口在超級終端上打印配置文件選擇信息及對應的設備功能說明;然后,根據用戶輸入的命令,先將所選配置文件從NAND Flash拷貝至內存DDR,再按照16 bit Slave Select MAP時序,通過輔助FPGA,將DDR中的配置數據分次寫入待配置的FPGA中,完成對全部FPGA的配置。

3 多FPGA串口選擇配置的實現

本方案選用Ti公司的雙核處理器TMS320C6A8168作為系統主控芯片,其具有最高可達1.2 GHz的ARM Cortex-A8核與1 GHz 的C674x數字信號處理(digital signal process, DSP)核,極大地增強了系統多任務處理能力及數學運算能力。NAND Flash選用位寬16位、存儲容量2 GB的MT29F2G16芯片。

輔助FPGA采用Spartan-3AN系列的FPGA XC3S400AN。該系列的FPGA專用于系統集成度和安全性高的關鍵非易失性領域,是業界比較先進的非易失性FPGA解決方案[10],可提高配置過程的安全性和可靠性。

3.1系統硬件設計

ARM的通用內存控制器(general purpose memory controller,GPMC )接口與NAND Flash、DDR以及輔助FPGA相連,用于發出配置命令、配置時鐘和配置數據;NAND Flash存儲方案的所有代碼,在配置前用CCS5.0軟件和JTAG仿真器將各類文件和代碼燒入芯片。輔助FPGA與4片待配置FPGA相連,可實現ARM與待配置FPGA之間的控制信號傳遞及配置數據交互。

通過XC3S400AN TMS320C6A8168的GPMC_DATA[15:0]引腳和待配置FPGA的DATA[15:0]引腳,以及TMS320C6A8168的GPMC_CLK引腳和待配置FPGA的CCLK引腳,均可直接建立連接。所以在配置過程中,TMS320C6A8168 GPMC_CLK引腳和GPMC_DATA[15:0]引腳分別發出的寫時鐘和配置數據會通過XC3S400AN直接作用于待配置FPGA,從而實現將DDR中的配置數據直接寫入待配置FPGA中的功能。

3.2系統軟件實現

軟件實現主要分為ARM自啟動和配置代碼執行這兩個過程,總流程如圖3所示。

圖3 軟件實現總流程圖Fig.3 The overall flowchart of software realization

系統上電后,ARM利用NAND Flash中的U-boot代碼自啟動,初始化系統軟硬件環境,然后將用戶選擇加載的4個配置文件拷貝到DDR中,再執行配置代碼。配置代碼利用FPGA邏輯可變性,按照Slave Select MAP時序將DDR中的配置數據通過XC3S400AN依次寫入4片待配置FPGA中,實現對所有FPGA的配置。

3.2.1基于NAND Flash的自啟動

TMS320C6A8168自動加載NAND Flash上的U-boot完成自啟動,分為ROM Code(read only memory code)執行階段和U-boot執行階段[11]。

①ROM code執行階段。

ROM code是ARM ROM區域的代碼,其主要功能是對ARM進行安全啟動的初始化、堆棧和看門狗的設置、系統時鐘和RAM的初步配置以及啟動模式選擇引腳MBOOT[4:0]的采樣。ROM code根據采樣值創建自啟動設備列表,按設備列表的順序到相應設備搜尋啟動文件U-boot Image并執行。本方案將MBOOT[4:0]引腳連接的撥碼開關設置為0b10010,創建的啟動設備列表順序依次為NAND Flash、NANDI2C、SPI、UART。

不同的設備類型對應不同的自啟動過程。ARM在搜尋啟動文件前會先判斷當前的啟動設備類型。由于NAND Flash是存儲類的非可直接執行設備,ARM無法在NAND Flash中直接執行啟動文件,因此,檢測到啟動文件后,ARM會根據U-boot頭部的重定位信息把它從NAND Flash拷貝至TI_LOAD_ADDR地址處,完成第一次代碼重定位。本方案在U-boot配置文件config.mk中,將此地址設置為ARM第二片RAM的起始地址。

②U-boot執行階段。

重定位成功后,ARM執行RAM中的U-boot,完成軟件環境的設置以及硬件接口和外設的初始化,然后將U-boot Image從NAND Flash拷貝至DDR的TEXT_BASE地址處執行。TEXT_BASE在config.mk中設為0x80700000。

U-boot第二次代碼重定位完成后,超級終端顯示4 s倒計時,移動通信信令分析儀默認加載各FPGA的配置文件,以實現設備TD-LTE功能。如果用戶想切換儀表功能或更換任意FPGA配置文件,只需在倒計時內在鍵盤按下任意鍵便可進入U-boot串口命令模式,同時超級終端上會打印出儀表功能及配置文件版本命令選擇菜單。

用戶可以通過輸入數字“1”~“3”來選擇不同的設備功能,或者輸入字母“a”~“p”來逐一選擇加載配置文件。U-boot讀取串口輸入命令后,會根據命令修改對應FPGA位于NAND Flash中的配置文件拷貝地址。將配置文件從NAND Flash拷貝到DDR后,即完成了所選FPGA配置文件的更換,實現了用戶通過串口自主選擇配置文件加載的功能。

完成配置文件選擇后,U-boot將用戶選擇的4個配置文件從NAND Flash的相應地址分別拷貝到DDR存放FPGA1~FPGA4配置文件的起始地址處,操作系統文件拷貝至0x90000000處,配置代碼拷貝至ARM第一片RAM的起始地址處。

上述代碼拷貝結束后,ARM即完成了基于NAND Flash的自啟動,并跳轉執行配置代碼。

3.2.2配置代碼的執行

配置代碼中,ARM按照Slave Select MAP時序發出的配置信號,通過XC3S400AN首先作用于FPGA1。在FPGA1等待配置數據寫入時,ARM將DDR中的FPGA1配置文件寫入某虛擬地址中,GPMC接口的GPMC_DATA[15:0]引腳便產生配置數據,GPMC_CLK引腳產生寫時鐘,且通過XC3S400AN充當待配置FPGA的配置時鐘CCLK,GPMC[15:0]上的配置數據在GPMC_CLK的驅使下通過XC3S400AN直接寫入FPGA1。

FPGA1配置成功后,其DONE引腳變為高電平,XC3S400AN根據DONE信號的變化改變內部邏輯,ARM再次發出的配置信號和數據將作用于FPGA2。同理,首先完成FPGA2的配置,然后繼續按照上述步驟完成剩余2片FPGA的配置,從而實現對所有FPGA的配置。

如果某片FPGA首次配置沒有成功,ARM會自動對此片FPGA執行再次配置。如果第二次配置仍然失敗,則在超級終端上打印配置失敗信息選擇,提示用戶再次配置此FPGA或重新配置所有FPGA。該方法提高了調試的效率。

完成4片FPGA的配置后,啟動操作系統,執行其他任務,實現了ARM處理器的多用途,增強了本方案在各類設備中的通用性。

4 方案具體應用及性能數據測試

本文設計的配置系統已經成功應用于移動通信信令分析儀。該儀表使用的是4片Xilinx公司生產的Virtex-6系列FPGA XC6VSX475T,根據測試對象及環境的不同,通過智能加載不同的配置文件使儀表兼容了GSM、TD-SCDMA、TD-LTE、FDD-LTE四種通信網絡,可應用于試驗室、外場等不同的測試環境以及5 M、10 M、15 M、20 M四種帶寬模式,模擬了單小區單用戶、單小區多用戶、單天線、多天線等配置,實現了“一機多能”的應用需求。

在該信令分析儀上對本方案的時間參數進行測試,選用的配置文件格式為.bit,采用16 bit Slave Select MAP模式對4片FPGA進行配置。 在U-boot中,將GPMC與DDR的時鐘頻率分別設定為125 MHz、500 MHz,在不同的ARM時鐘頻率和平均配置文件大小下,多次測量得出系統啟動并完成FPGA配置所需的總時間。

隨著配置文件的增大,配置完成總時間逐漸延長。在U-boot中及時開啟指令/數據緩存并適當提高ARM時鐘頻率,有助于縮短配置時間。

5 結束語

隨著多FPGA系統的應用越來越廣泛,嵌入式系統對多FPGA的加載提出了更高的要求,尤其是要保證加載過程中的可選擇性和智能性。本文提出的多FPGA系統加載方案改進了傳統方法的不足,并從系統結構、原理設計、硬件構造、軟件實現等方面給出了具體實現方案。本方案的軟、硬件設計較完整、獨立,無需過多的修改即可移植到各種嵌入式系統中使用,在通信電子、計算機領域具有一定的應用價值。

當然,由于本設計方案的配置存儲器采用的是NAND Flash,雖然它可以為每片FPGA存儲多個版本的配置文件,但是受到現代工藝的制約,其讀取速度較慢,這也直接導致了配置時間的延長。如果在成本可接受范圍內采用大容量的NOR Flash或者其他高速存儲芯片,將大大減少配置時間。此外,如果對保密性沒有特殊要求,可以將配置文件存放于SD卡中,使用SD卡啟動加載,這樣更方便、快捷。

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

[2] LADDHA S,DE K B.EDA tools and design methodology for multi-FPGA designing/prototyping[EB/OL].[2015-01-26]http://www.design-euse.com/articles/22074/for-multi-fpga-designing-prototyping.html.[3] 陳曦,沈佐峰.一種可靠的 FPGA 動態配置方法及實現[J].通信技術,2012,45(3):105-110.

[4] 張承暢.多FPGA系統的關鍵問題及應用研究[D].重慶:重慶大學通信工程學院,2011.[5] XLINX Inc.Virtex-6 FPGA configuration user guide.[EB/OL].[2015-01-26].http://www.xilinx.com/support/d ocumentation/user_guides/ug360.pdf.

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

[7] MARK N,PEATTIE M.Using a microprocessor to configure xilinx FPGAs via slave serial or selectMAP mode [EB/OL].[2015-01-26].http://www.xilinx.com/support/documentation/application_notes/xapp502.pdf.

[8] 蔡利平,任家富,童銳,等.基于ARM的NAND Flash啟動分析與移植[J].計算機工程與設計,2012,33(3):931-935.

[9] 楊宗富.基于ARM的系統啟動過程研究與系統移植[D].北京:北方工業大學,2014.

[10]XILINX Inc.Spartan-3AN FPGA family data sheet[EB/OL].[2015-01-26].http://www.xilinx.com/ support/ documentation/data_sheets/ds557.pdf.

[11]Texas Instruments Inc.TMS320DM816x DaVinci video processors technical reference manual [EB/OL].[2015-01-26].http:// w.ti.com/lit/ug/sprugx8b/sprugx8b.pdf.

Design of the ARM-based Multi-FPGA Serial Port Command Selection Configuration and Its Application

Aiming at the Multi-FPGA configuration issue in embedded system and combining the practical applications,a Multi-FPGA command selection and configuration scheme based on ARM,NAND Flash memory and serial ports is proposed.With the example of the embedded system which contains 4 pieces of FPGA chips,ARM is selected as the main control chip,and Hyper Terminal is used to input configuration file and select command,so a hardware platform based on TMS320C6A8168,XC3S400AN and NAND Flash is built,which achieves the function that selecting different FPGA configuration file to load according to the difference from applications.The hardware structure,software implementation and practical application in TD-LTE wireless comprehensive test instrument are introduced at great length.Compared with the traditional configuration method based on the dedicated memory chips,the system greatly improves the flexibility of FPGA system configuration,thus it possesses certain reference value in electronic communication field.

Embedded systemFPGAConfigurationARMNANDFlashSerial port commandTD-LTEIntellectualize

陳發堂(1965—),男, 1999年畢業于北京郵電大學應用數學專業,獲碩士學位,研究員;主要從事TD-SCDMA移動通信系統和TD-LTE系統的開發。

TH3;TP273+.5

ADOI:10.16086/j.cnki.issn 1000-0380.201610024

國家科技重大專項基金資助項目(編號:2011ZX03001-002)。

修改稿收到日期:2015-09-21。

猜你喜歡
設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 自偷自拍三级全三级视频| 午夜无码一区二区三区| 99热国产这里只有精品9九| 欧美精品xx| 欧美激情视频一区| 黄色不卡视频| 国产亚洲精品资源在线26u| 欧美天天干| 欧美无遮挡国产欧美另类| 幺女国产一级毛片| 日韩精品毛片| 曰韩免费无码AV一区二区| 少妇极品熟妇人妻专区视频| 国产小视频免费观看| 欧美日韩一区二区三| 999福利激情视频| 尤物精品国产福利网站| 欧美五月婷婷| а∨天堂一区中文字幕| 永久免费无码成人网站| 六月婷婷激情综合| 人妻无码中文字幕第一区| 久久精品国产国语对白| 国产正在播放| 精品国产一区91在线| 激情六月丁香婷婷| 在线a视频免费观看| 青青青国产免费线在| 伊人成人在线视频| 区国产精品搜索视频| 日韩专区第一页| 欧美亚洲日韩不卡在线在线观看| 欧美a网站| 99re视频在线| 天天躁狠狠躁| 99热这里只有精品免费国产| 欧美视频在线不卡| 精品午夜国产福利观看| 久久精品日日躁夜夜躁欧美| 毛片视频网址| 久久久精品久久久久三级| 亚洲色图综合在线| 国产精品人成在线播放| 国产精品亚洲天堂| av大片在线无码免费| 国模粉嫩小泬视频在线观看 | 好吊妞欧美视频免费| 在线看片中文字幕| 国模私拍一区二区三区| a欧美在线| 四虎免费视频网站| 国内精品久久久久鸭| 久久国产精品夜色| 4虎影视国产在线观看精品| 亚洲欧美成aⅴ人在线观看| 在线免费不卡视频| m男亚洲一区中文字幕| 丝袜国产一区| 久久精品国产91久久综合麻豆自制| 国产91无码福利在线| 久久一级电影| a毛片在线播放| 色综合国产| 国产在线精彩视频论坛| 中文一区二区视频| 国产拍在线| 热久久综合这里只有精品电影| 欧洲熟妇精品视频| 国产成人亚洲精品蜜芽影院| 国产成人高清精品免费5388| 欧美亚洲一区二区三区在线| 3344在线观看无码| a级毛片免费播放| 97精品久久久大香线焦| 无码中字出轨中文人妻中文中| 成年人福利视频| 特级毛片免费视频| 亚洲日本在线免费观看| 亚洲男人天堂2018| 久精品色妇丰满人妻| 99成人在线观看| 亚洲国产精品无码AV|