亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA在應(yīng)用編程技術(shù)的一種低成本實(shí)現(xiàn)

        2021-03-19 01:17:48九江精密測(cè)試技術(shù)研究所蘇長(zhǎng)青李大琦馬曉天蔣禮威
        電子世界 2021年3期
        關(guān)鍵詞:程序用戶系統(tǒng)

        九江精密測(cè)試技術(shù)研究所 蘇長(zhǎng)青 賀 楠 李大琦 馬曉天 蔣禮威

        為解決產(chǎn)品發(fā)布后FPGA軟件的更新維護(hù)問(wèn)題,提出了一種FPGA在應(yīng)用編程技術(shù)的實(shí)現(xiàn)方法。通過(guò)在FPGA中嵌入Nios II軟核處理器,并為其擴(kuò)展片上存儲(chǔ)器、FLASH控制器與UART控制器等外設(shè),構(gòu)建出一個(gè)完整的片上系統(tǒng),從而實(shí)現(xiàn)通過(guò)串口接收外部發(fā)送的FPGA配置程序文件,并將其寫(xiě)入FPGA配置芯片的功能,為FPGA的IAP技術(shù)提供了一種低成本的實(shí)現(xiàn)方式。該方案占用的FPGA資源很少,不需要增加專(zhuān)門(mén)的硬件電路,軟件開(kāi)發(fā)也非常簡(jiǎn)單,通用性很強(qiáng),具有很好的實(shí)用性。

        隨著嵌入式技術(shù)的不斷發(fā)展,產(chǎn)品更新?lián)Q代越來(lái)越快,新產(chǎn)品發(fā)布周期不斷縮短,產(chǎn)品發(fā)布后FPGA軟件的更新維護(hù)成了一個(gè)必須解決的問(wèn)題。產(chǎn)品返廠維護(hù)或者技術(shù)人員去用戶現(xiàn)場(chǎng)維護(hù)將耗費(fèi)大量的人力財(cái)力,因此必須尋找一種簡(jiǎn)單易行、成本低廉的程序更新方法。

        傳統(tǒng)的程序燒錄技術(shù)為在系統(tǒng)編程技術(shù)ISP(In-System Programming),就是允許芯片不從印制電路板上取下,就可以簡(jiǎn)單而方便地對(duì)其進(jìn)行編程,多用于產(chǎn)品開(kāi)發(fā)階段。目前市面上的FPGA芯片已經(jīng)集成了ISP的功能,通常使用USB Blaster等專(zhuān)用仿真器通過(guò)JTAG接口燒錄程序,該種方式需要使用芯片廠商提供的專(zhuān)用軟件開(kāi)發(fā)環(huán)境如Quartus II等,往往操作復(fù)雜,對(duì)維護(hù)人員的技術(shù)水平要求較高。

        目前,在應(yīng)用編程技術(shù)IAP(In-Application Programming)正變得越來(lái)越流行。該技術(shù)同樣是在板級(jí)上進(jìn)行編程,但是可以在程序運(yùn)行過(guò)程中獲取新程序并進(jìn)行更新,典型的實(shí)現(xiàn)途徑是在程序中包含一小段代碼來(lái)完成程序燒錄的功能,該種方式多用于產(chǎn)品維護(hù)中的軟件升級(jí)、消除BUG等,操作簡(jiǎn)單,不需要產(chǎn)品返廠維護(hù)或技術(shù)人員去用戶現(xiàn)場(chǎng)維護(hù)。目前,針對(duì)IAP技術(shù)的研究大多面向DSP、MCU等處理器,而面向FPGA程序升級(jí)IAP技術(shù)的研究較少,葉兵等提出了一種針對(duì)FPGA的在系統(tǒng)編程設(shè)計(jì),但只適用于XILINX公司的FPGA。

        針對(duì)上述問(wèn)題,提出了一種FPGA在應(yīng)用編程技術(shù)的實(shí)現(xiàn)方式。通過(guò)在FPGA中嵌入Nios II軟核處理器,并為其擴(kuò)展片上存儲(chǔ)器、FLASH控制器與UART控制器等外設(shè),構(gòu)建出一個(gè)完整的片上系統(tǒng),從而實(shí)現(xiàn)通過(guò)串口接收外部發(fā)送的FPGA配置程序文件,并將其寫(xiě)入外部配置FLASH芯片的功能,為FPGA的IAP技術(shù)提供了一種低成本的實(shí)現(xiàn)方式。ISP與IAP程序更新方式優(yōu)缺點(diǎn)對(duì)比如表1所示。

        1 IAP功能實(shí)現(xiàn)

        1.1 FPGA芯片的配置過(guò)程介紹

        FPGA芯片使用SRAM單元來(lái)存儲(chǔ)配置數(shù)據(jù),由于 SRAM是非易失性的,因此在FPGA每次上電之后,必須將配置數(shù)據(jù)從配置芯片下載進(jìn)FPGA,通常用于配置FPGA的芯片為SPI接口的串行FLASH芯片。

        表1 ISP與IAP程序更新方式對(duì)比

        典型的FPGA配置電路如圖1所示,其中FPGA為ALTERA公司的CycloneIII系列,配置芯片與FPGA之間通過(guò)串行接口相連,F(xiàn)PGA工作在AS(Active Serial Configuration)模式,上電后主動(dòng)讀取FLASH中的配置數(shù)據(jù),F(xiàn)PGA的JTAG接口引出,可以與USB Blaster、ByteBlaster等下載器連接。基于ISP技術(shù)的配置過(guò)程如下:首先通過(guò)JTAG接口在FPGA內(nèi)下載Serial Flash Loader,這是芯片商提供的基于JTAG的ISP技術(shù)解決方案。Serial Flash Loader提供了JTAG接口與AS接口之間的一個(gè)橋梁,通過(guò)Serial Flash Loader,可以將FPGA的配置數(shù)據(jù)通過(guò)JTAG接口先發(fā)送至FPGA,然后由FPGA將數(shù)據(jù)寫(xiě)入FLASH,從而完成FPGA的程序燒錄。

        1.2 Nios II處理器簡(jiǎn)介

        圖1 CycloneIII系列FPGA的配置電路

        Nios II處理器是用戶可隨意配置和構(gòu)建的32位嵌入式處理器IP核,采用Avalon總線結(jié)構(gòu)通信接口。在把Nios II內(nèi)核植入FPGA前,用戶可以根據(jù)設(shè)計(jì)要求,利用Quartus II開(kāi)發(fā)軟件,對(duì)Nios II及其外圍設(shè)備進(jìn)行構(gòu)建,使該嵌入式系統(tǒng)在硬件結(jié)構(gòu)、功能特點(diǎn)、資源占用等方面全面滿足用戶系統(tǒng)設(shè)計(jì)的要求。Nios II系列包括3種產(chǎn)品,分別是:Nios II/f(快速)——最高的系統(tǒng)性能,中等FPGA使用量;Nios II/s(標(biāo)準(zhǔn))——高性能,低FPGA使用量;Nios II/e(經(jīng)濟(jì))——低性能,最低的FPGA使用量。每種都針對(duì)不同的性能范圍和成本。不同類(lèi)型Nios II處理器對(duì)比情況如表2所示,所有軟核都是100%代碼兼容,讓設(shè)計(jì)者根據(jù)系統(tǒng)需求變化改變CPU,而不會(huì)影響現(xiàn)有的軟件投入。

        典型的基于Nios II處理器的系統(tǒng)原理框圖如圖2所示,圖中FPGA內(nèi)部實(shí)現(xiàn)了Nios II處理器,還擴(kuò)展了包括SDRAM控制器、定時(shí)器、串口、LCD控制器等許多外設(shè),顯示了軟核處理器強(qiáng)大靈活的擴(kuò)展能力。

        1.3 總體方案

        通過(guò)1.1節(jié)FPGA配置電路的介紹可知,只要把芯片商提供Serial Flash Loader的功能在FPGA內(nèi)部用自己的代碼實(shí)現(xiàn),并把對(duì)外的JTAG接口更改為更簡(jiǎn)單的串口,就可以達(dá)到IAP的功能。

        方案原理如圖3所示,在FPGA內(nèi)部移植Nios II處理器,擴(kuò)展FLASH控制器、UART控制器、片上RAM等外設(shè),其它非必要外設(shè)均不擴(kuò)展,Nios II處理器也選擇經(jīng)濟(jì)型內(nèi)核,以節(jié)約其占用的FPGA資源,降低成本。該IAP方案接口簡(jiǎn)單實(shí)用,可靠性強(qiáng),通用性強(qiáng),在FPGA資源足夠的情況下,甚至無(wú)需更改硬件,就可在現(xiàn)有設(shè)計(jì)中實(shí)現(xiàn)IAP的功能。方案中的FLASH控制器、UART控制器、定時(shí)器等外設(shè)均提供了Avalon總線接口,定義片上系統(tǒng)時(shí),只要給不同外設(shè)分配不同的地址空間與外部中斷即可實(shí)現(xiàn)NiosII處理器對(duì)其訪問(wèn),非常方便。

        表2 Nios II軟核處理器型號(hào)

        1.4 硬件設(shè)計(jì)

        在Quartus II開(kāi)發(fā)環(huán)境下,用戶可使用Qsys工具方便地構(gòu)建基于Nios II處理器的片上系統(tǒng),它提供了圖形化環(huán)境。根據(jù)2.3節(jié)中總體方案的需求,本設(shè)計(jì)需要構(gòu)建的NiosII軟核系統(tǒng)包括時(shí)鐘、CPU、片上SRAM、定時(shí)器、FLASH控制器,為了調(diào)試方便,還添加了JTAG UART用于輸出調(diào)試信息、PIO用于控制LED燈來(lái)指示程序的運(yùn)行。

        圖2 Nios II處理器系統(tǒng)框圖

        圖3 基于Nios II處理器的IAP方案

        添加完本系統(tǒng)所有的外設(shè)之后,要為其分配基地址和中斷請(qǐng)求優(yōu)先級(jí)(IRQ)。由于對(duì)外設(shè)的尋址地址沒(méi)有嚴(yán)格的要求,因此,采用Qsys提供的Auto-Assign Base Address自動(dòng)分配優(yōu)先級(jí)。本系統(tǒng)總共有4個(gè)中斷觸發(fā),由于Qsys不能做出關(guān)于最好的IRQ分配的有根據(jù)的猜測(cè),因此手動(dòng)來(lái)分配中斷優(yōu)先級(jí)。為了不引起傳輸數(shù)據(jù)的錯(cuò)誤導(dǎo)致通訊故障,故選擇JTAG UART模塊和UART傳輸模塊的中斷優(yōu)先級(jí)分別為0、1;把系統(tǒng)硬件重新配置的FLASH控制器的中斷優(yōu)先級(jí)定為2,以提高系統(tǒng)的復(fù)位響應(yīng);系統(tǒng)的定時(shí)中斷優(yōu)先級(jí)定為3。為了保證系統(tǒng)上電后從外部的FLASH開(kāi)始運(yùn)行,需要將Nios II處理器的復(fù)位向量指向FLASH控制器,地址為0x00021000,異常向量表指向片上RAM,地址為0x00010020。完成地址與中斷優(yōu)先級(jí)分配的片上系統(tǒng)如圖4所示。

        在Qsys中完成片上系統(tǒng)設(shè)計(jì)并成功編譯之后,會(huì)生成該片上系統(tǒng)的原理圖符號(hào),以及基于硬件描述語(yǔ)言的例化示例,方便用戶將片上系統(tǒng)與其它的邏輯設(shè)計(jì)集成在一起。本系統(tǒng)的硬件設(shè)計(jì),采用基于原理圖的設(shè)計(jì)方式,添加鎖相環(huán)模塊將外部50MHz時(shí)鐘倍頻至100MHz,提供給片上系統(tǒng)。硬件設(shè)計(jì)原理圖如圖5所示,為所有輸入輸出端口分配對(duì)應(yīng)管腳之后就可以編譯生成FPGA配置數(shù)據(jù)文件,完成硬件電路的設(shè)計(jì)。

        1.5 軟件設(shè)計(jì)

        圖4 完整的Nios II片上系統(tǒng)

        圖5 硬件設(shè)計(jì)頂層原理圖

        圖6 IAP軟件流程圖

        ALTER公司提供了支持Nios II處理器的軟件開(kāi)發(fā)套件Nios II EDS,該開(kāi)發(fā)套件采用基于Eclipse的圖形用戶接口,包括編譯器、集成開(kāi)發(fā)環(huán)境(IDE),JTAG調(diào)試器,實(shí)時(shí)操作系統(tǒng)(RTOS)和TCP/IP協(xié)議棧等,功能豐富,調(diào)試方便。對(duì)于片上系統(tǒng)的各種外設(shè),ALTERA公司以板級(jí)支持包(BSP)的形式提供了完整的接口驅(qū)動(dòng)函數(shù),并將其集成在硬件抽象層(HAL)系統(tǒng)庫(kù)中允許用戶使用統(tǒng)一的應(yīng)用程序接口(API)來(lái)控制片上系統(tǒng)的各種外設(shè)。例如FLASH控制器,BSP中提供了alt_epcs_flash_write、alt_epcs_flash_read、alt_epcs_flash_get_info、alt_epcs_flash_erase_block、alt_epcs_flash_write_block等接口函數(shù)分別用于FLASH的寫(xiě)數(shù)據(jù)、讀數(shù)據(jù)、獲取信息、塊擦除以及塊寫(xiě)入等操作,只要調(diào)用這些接口函數(shù)就可實(shí)現(xiàn)對(duì)FLASH的操作,用戶只需專(zhuān)注應(yīng)用程序的開(kāi)發(fā),而不必在驅(qū)動(dòng)開(kāi)發(fā)上花費(fèi)大量的時(shí)間,降低應(yīng)用程序的開(kāi)發(fā)難度。

        在開(kāi)發(fā)過(guò)程中首先用JTAG接口的ISP方式完成程序燒錄,在Nios II處理器燒錄進(jìn)FPGA后,后續(xù)的程序更新即可通過(guò)串口完成,Nios II處理器從串口獲得FPGA的配置程序,并通過(guò)FLASH控制器完成對(duì)FLASH配置芯片的編程,程序流程如圖6所示。

        在IAP軟件開(kāi)發(fā)過(guò)程中,比較關(guān)鍵的一點(diǎn)是,Quartus II生成的FPGA配置數(shù)據(jù)文件格式為SOF(SRAM object file),而Nios II處理器軟件編譯后生成的文件格式為ELF(executable and linking format file),這兩個(gè)文件需要使用ALTERA公司提供的工具軟件sof2flash與elf-2flash將其轉(zhuǎn)換為適合FLASH燒寫(xiě)的二進(jìn)制格式,合并后一起寫(xiě)入FLASH即可完成FPGA的程序更新。

        2 結(jié)論

        通過(guò)在FPGA中嵌入Nios II處理器,并為其擴(kuò)展片上存儲(chǔ)器、定時(shí)器、FLASH控制器與UART控制器等外設(shè),構(gòu)建出一個(gè)完整的片上系統(tǒng),通過(guò)串口接收外部發(fā)送的FPGA配置程序文件,并將其寫(xiě)入外部配置FLASH芯片,成功實(shí)現(xiàn)了FPGA的在應(yīng)用編程。

        該方案無(wú)需增加專(zhuān)門(mén)的硬件電路,只占用FPGA小一部分的邏輯資源,資源足夠的情況下,可以移植到ALTERA公司所有型號(hào)的FPGA中;軟件開(kāi)發(fā)也非常簡(jiǎn)單,通用性很強(qiáng),并且成本低廉,具有很好的實(shí)用性。

        猜你喜歡
        程序用戶系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        試論我國(guó)未決羈押程序的立法完善
        “程序猿”的生活什么樣
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        關(guān)注用戶
        關(guān)注用戶
        關(guān)注用戶
        丰满少妇三级全黄| 精品国产精品久久一区免费| 亚洲成av人片极品少妇| 精品国产三级a∨在线欧美| 亚洲精品一区久久久久久| 456亚洲老头视频| 久久伊人中文字幕有码久久国产| 色999欧美日韩| 国产蜜臀精品一区二区三区| 国产日产久久高清ww| 狠狠色婷婷久久综合频道日韩| 男人扒开女人双腿猛进女人机机里 | 国产精品老女人亚洲av无| 伊人情人色综合网站| 全球av集中精品导航福利| 亚洲精品乱码久久久久久麻豆不卡| 日本加勒比一区二区在线观看| av网站在线观看入口| 一本色综合久久| 久久99精品中文字幕在| 一区二区亚洲精品国产精| 国产成人精品亚洲日本在线观看| 在线播放无码高潮的视频| 国产精品原创永久在线观看| 国产内射一级一片内射高清视频1| 男女猛烈拍拍拍无挡视频| 国产激情з∠视频一区二区| 亚洲av福利天堂在线观看| 蜜桃av人妻精品一区二区三区| 一本色道久久综合无码人妻| 97成人精品| 午夜亚洲精品一区二区| 在线无码中文字幕一区| 国产69精品久久久久9999| 中国产无码一区二区三区| 亚洲国产精品情侣视频| 亚洲精品午夜无码专区| 免费无码又爽又刺激高潮的视频网站| 亚洲成在人网站天堂日本| а√天堂8资源中文在线| 亚洲国产理论片在线播放|