国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的Lattice FPGA脫機編程系統(tǒng)設(shè)計

2017-03-04 21:30俸皓凌小壯
現(xiàn)代電子技術(shù) 2017年3期

俸皓 凌小壯

摘 要: 為了解決運用Lattice FPGA的深度嵌入式應(yīng)用環(huán)境不便于升級維護的問題,提出一種基于STM32的新型脫機編程方案。該方案由上位機軟件和基于STM32的脫機編程器兩部分組成,實現(xiàn)了PC端的熔絲圖VME文件格式轉(zhuǎn)換、優(yōu)化、管理及傳輸至脫機編程器和編程器上VME文件的存儲、選擇及下載功能。設(shè)計的脫機系統(tǒng)擺脫了傳統(tǒng)的FPGA器件編程方式對PC機的依賴,提高了編程效率。通過測試及實際應(yīng)用結(jié)果表明,該脫機編程系統(tǒng)具有便攜、靈活、穩(wěn)定的特點,能夠有效地滿足目標應(yīng)用的生產(chǎn)、維護、升級需求。

關(guān)鍵詞: Lattice FPGA; 脫機編程器; STM32; JTAG

中圖分類號: TN79+1?34; TP399 文獻標識碼: A 文章編號: 1004?373X(2017)03?0143?04

Design of Lattice FPGA off?line programming system based on STM32

FENG Hao1, LING Xiaozhuang2, CHEN Junyan1

(1. Guangxi Colleges and Universities Key Laboratory of Cloud Computing and Complex Systems, Guilin University of Electronic Technology, Guilin 541004, China; 2. Shenzhen Wnhoo Electronics Co., Ltd., Shenzhen 518057, China)

Abstract: It is inconvenient to update and maintain the deeply?embedded application environment with Lattice FPGA, a novel off?line programming scheme based on STM32 is proposed. The scheme is composed of the off?line programmer based on STM32 and upper computer software, which can realize the VME file format conversion, optimization and management of the fuse figure in PC terminal, and VME file storage, selection and download function in off?line programmer and programmer. The off?lime system is rid of the dependency of PC on traditional FPGA programming method, and improves the programming efficiency. The test and practical application results show that the off?line programming system has the characteristics of portable use, flexibility and stability, and can meet the requirements of production, update and maintenance of the target applications.

Keywords: Lattice FPGA; off?line programmer; STM32; JTAG

0 引 言

ISP技術(shù)對嵌入式系統(tǒng)的現(xiàn)場升級和功能重構(gòu)提供了強有力的支持,且具有靈活便捷的特點[1],一經(jīng)提出便得到了廣泛的使用。

目前業(yè)界常用的編程方案有幾種,其中“計算機+下載線”是各個器件廠商官方提供的編程方式,也是最傳統(tǒng)且經(jīng)典的方式[2?4]。然而當前市場上還沒有一種成熟的編程方案能夠提供脫離PC機的現(xiàn)場編程環(huán)境。針對這種狀況,本文提出一種新穎的脫離PC機的現(xiàn)場編程方案,即脫機編程系統(tǒng)。該編程系統(tǒng)由脫機編程器和上位機管理軟件兩部分組成,為Lattice FPGA的現(xiàn)場編程提供支持,使生產(chǎn)、維護人員擺脫了傳統(tǒng)PC機的束縛,只需攜帶脫機編程器至現(xiàn)場即可工作,從而大大提高了工作效率。

1 脫機編程的系統(tǒng)結(jié)構(gòu)

脫機編程系統(tǒng)的設(shè)計分為兩部分。首先設(shè)計了一款上位機軟件用于給編程器裝載FPGA的熔絲文件。如圖1所示,上位機軟件首先讀取VME.c格式的熔絲文件,然后進行數(shù)據(jù)的萃取優(yōu)化,獲得有用數(shù)據(jù)并轉(zhuǎn)化為Hex格式文件保存,等待編程器的裝載請求,把數(shù)據(jù)發(fā)送裝載至編程器中。同時以STM32作為控制核心,設(shè)計了一款提供脫機編程功能的便攜式編程器。編程器在管理模式下通過上位機軟件獲得Hex格式的熔絲文件,并采用FLASH芯片存儲;最后在編程模式下通過JTAG口把熔絲文件數(shù)據(jù)移入FPGA器件,實現(xiàn)對設(shè)備中FPGA器件進行編程的目的。

2 脫機編程器設(shè)計原理

Lattice為FPGA產(chǎn)品提供了JTAG接口的編程方案,為脫機編程的實現(xiàn)提供了有力支持。JTAG( Joint Test Action Group,聯(lián)合測試行動小組)制定了邊界掃描技術(shù),隨后成為 IEEE 的一個標準即IEEE1149.1?1990[5],此標準亦簡稱為JTAG。JTAG對邊界掃描系統(tǒng)的定義包括四個部分: 引腳的測試接口TAP、數(shù)據(jù)寄存器、指令寄存器和TAP控制器[2]。TAP控制器作為一個狀態(tài)機,共有16種狀態(tài);測試接口、指令寄存器和數(shù)據(jù)寄存器都由控制器控制[2]。

TAP控制器狀態(tài)機的運行邏輯如圖2所示,通過運行這個狀態(tài)機,即可將配置信息編程至芯片內(nèi)。JTAG測試接口有規(guī)范的時序,如圖3所示。

由圖2和圖3可見,可通過TCK,TMS對控制器進行操作:當TAP在 Shift?IR狀態(tài)時,TDI接口收到的命令被送往指令寄存器;當控制器狀態(tài)在Update?IR時,指令寄存器的命令生效[2]。其中 TMS,TDI在TCK上升沿有效,TDO在TCK下降沿有效。Lattice FPGA的熔絲圖文件由AVF(Algorithm VME File)和DVF(Data VME File)兩部分組成。其中AVF稱為算法文件,存儲了FPGA器件編程時的器件與鏈之間的編程算法步驟,根據(jù)上下文和編程的當前狀態(tài),每一個字節(jié)代表下一步該如何執(zhí)行;而DVF中存放的是實際的器件熔絲圖數(shù)據(jù),也就是待寫入FPGA器件的邏輯構(gòu)建數(shù)據(jù)。編程器在編程模式下,首先進入TAP狀態(tài)機,從AVF中讀取算法數(shù)據(jù)Algo之后,根據(jù)算法數(shù)據(jù)進行狀態(tài)切換。其中算法數(shù)據(jù)保存在Algorithm VME File中,在SDR與SIR狀態(tài)下,根據(jù)兩個狀態(tài)進一步讀取配置數(shù)據(jù)Data寫入FPGA器件,其他狀態(tài)進行相關(guān)邏輯與時序處理。

3 脫機編程器硬件設(shè)計

編程器硬件主要由STM32F103核心控制器系統(tǒng)電路[6?7]、PL2303 USB轉(zhuǎn)RS 232串口、JTAG編程接口、FLASH存儲電路、OLED顯示及功能選擇輸入等部分組成,系統(tǒng)硬件結(jié)構(gòu)如圖4所示。STM32作為主控MCU,負責(zé)整個系統(tǒng)的運行控制,是編程器的核心,包括時鐘電路、復(fù)位電路、boot啟動選擇電路、SWD編程調(diào)試接口;為了同時存儲多個FPGA配置文件,采用外接FLASH 45DB321D芯片存儲,采用SPI接口讀寫;系統(tǒng)通過串口與上位機通信獲取FPGA配置文件,本設(shè)計采用PL2303 USB轉(zhuǎn)RS 232芯片;最后也是最為重要的部分,編程器通過JTAG接口實現(xiàn)系統(tǒng)可編程,為簡化設(shè)計、降低成本,本文采用JTAG中的4線接口設(shè)計方案,分別為TCK,TMS,TDI,TDO。

4 脫機編程器軟件設(shè)計

編程器工作于兩種模式:管理模式和編程模式。編程器首先在下載模式中通過與上位機管理軟件配合,存儲和管理自身的VME數(shù)據(jù)文件,之后切換到編程模式,即可在現(xiàn)場編程中獨立使用。編程器開機啟動后,將根據(jù)執(zhí)行流程與用戶的輸入選擇對應(yīng)的運行模式,其運行流程如圖5所示。在管理模式下當串口連接計算機與上位機握手就緒后,可以打開VME文件執(zhí)行相關(guān)操作進行裝載,可連續(xù)裝載多個VME文件,使用時選擇對應(yīng)的文件號即可。在編程模式下,通過面板上的按鍵即可進行VME文件的選擇。用JTAG接口連接目標FPGA設(shè)備后,即可進行編程配置任務(wù)。

根據(jù)圖2的描述實現(xiàn)了編程器的狀態(tài)機之后根據(jù)狀態(tài)機請求,通過查詢用戶的選擇獲取配置數(shù)據(jù)。當請求數(shù)據(jù)為算法數(shù)據(jù)時,狀態(tài)機得到數(shù)據(jù)后根據(jù)算法數(shù)據(jù)推算下一個狀態(tài),繼續(xù)下一步;當請求熔絲圖數(shù)據(jù)時,狀態(tài)機獲得數(shù)據(jù)后移入FPGA器件,執(zhí)行編程操作實現(xiàn)數(shù)據(jù)的寫入。

5 上位機管理軟件設(shè)計

上位機的管理軟件使用VC++設(shè)計與實現(xiàn)。軟件的主要運行流程如圖6所示。為了實現(xiàn)上位機與編程器的可靠通信,特別制定了專用的通信協(xié)議。脫機編程系統(tǒng)的上位機管理軟件的界面如圖7所示,可以直觀地看到編程器的端口及其狀態(tài)、所選FPGA熔絲文件路徑和大小類型、下載進度及狀態(tài)以及軟件的相關(guān)使用幫助信息等。

6 測試及分析

為了滿足不同用戶的需求,本設(shè)計提供了適合個人用戶及開發(fā)愛好者使用的盒子版和適合企業(yè)用戶使用的工業(yè)版兩個版本。盒子版編程器如圖8所示,工業(yè)版編程器如圖9所示。

為了測試編程器的兼容性,本文對Lattice FPGA絕大部分型號的器件如:LatticeXP,MachXO,ispCLOCK,ispGDX2,ispXPGA,ispGAL22V10A,Power Manager,Power Manager Ⅱ等進行了測試。測試結(jié)果表明,編程器可以完全兼容以上系列的器件。經(jīng)過優(yōu)化的熔絲文件所占存儲空間極少,編程速度約為PC直接編程速度的95%左右。在測試過程中,對每個器件進行上萬次的編程,結(jié)果顯示全部編程通過并得到可靠運行,成功率達到了100%。表1給出了脫機編程器與傳統(tǒng)的依賴于PC的編程方式的編程速度對比,數(shù)據(jù)是每種情形下測試100次后所取的平均值,可以看出本文的設(shè)計可以達到傳統(tǒng)方式的80%,可以滿足現(xiàn)場編程的應(yīng)用需求。測試表明,該編程系統(tǒng)能夠?qū)attice FPGA的絕大部分芯片進行編程,同時具有攜帶方便、交互友好、易學(xué)易用的特點。

7 結(jié) 語

本文提出一種基于STM32的Lattice FPGA脫機編程系統(tǒng),該系統(tǒng)首先把FPGA的熔絲文件轉(zhuǎn)換成VME HEX文件,然后通過上位機軟件裝載至編程器的FLASH中存儲,現(xiàn)場編程時可以徹底擺脫對PC機的依賴,選定所需要的VME文件后,即可通過JTAG接口對Lattice FPGA器件進行編程。本設(shè)計支持Lattice FPGA的絕大部分型號,且可以靈活地擴展至支持JTAG接口編程的FPGA器件之中,為使用FPGA的應(yīng)用提供了靈活、便攜且低成本的編程方式,有較好的工程應(yīng)用價值和較為廣泛的應(yīng)用前景。

參考文獻

[1] 曾曉洋,郝志航.在系統(tǒng)可編程(ISP)技術(shù)及其器件[J].光學(xué)精密工程,1998,6(3):110?115.

[2] 周維,何健鷹,聶菊根.CPLD和FPGA編程與配置的實現(xiàn)[J].計算機與數(shù)字工程,2006,34(1):101?102.

[3] DONTHI S, HAGGARD R L. A survey of dynamically reconfi?gurable FPGA devices [C]// Proceedings of 2003 the 35th Southeastern Symposium on System Theory. Morgantown: IEEE, 2003: 422?426.

[4] ZHOU Shengyu, SUN Huixian, CHEN Xiaomin, et al. Dyna?mically reconfigurable system based on FPGA [J]. Chinese journal of electron devices, 2007, 30(2): 646?650.

[5] Institute of Electrical and Electronic Engineers. Test access port and boundary?scan architecture: IEEE1149.1?1990 [S]. New York: Institute of Electrical and Electronic Engineers, 1990.

[6] 陳啟軍,余有靈,張偉,等.嵌入式系統(tǒng)及其應(yīng)用:基于Cortex?M3內(nèi)核和STM32F103系列微控制器的系統(tǒng)設(shè)計與開發(fā)[M].上海:同濟大學(xué)出版社,2011.

[7] 呂中虎,張徽,張曉飛.基于STM32的便攜式二氧化碳監(jiān)測儀設(shè)計[J].電子設(shè)計工程,2014,21(26):91?93.