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

FPGA在應用編程技術的一種低成本實現

2021-03-19 01:17:48九江精密測試技術研究所蘇長青李大琦馬曉天蔣禮威
電子世界 2021年3期
關鍵詞:程序用戶系統

九江精密測試技術研究所 蘇長青 賀 楠 李大琦 馬曉天 蔣禮威

為解決產品發布后FPGA軟件的更新維護問題,提出了一種FPGA在應用編程技術的實現方法。通過在FPGA中嵌入Nios II軟核處理器,并為其擴展片上存儲器、FLASH控制器與UART控制器等外設,構建出一個完整的片上系統,從而實現通過串口接收外部發送的FPGA配置程序文件,并將其寫入FPGA配置芯片的功能,為FPGA的IAP技術提供了一種低成本的實現方式。該方案占用的FPGA資源很少,不需要增加專門的硬件電路,軟件開發也非常簡單,通用性很強,具有很好的實用性。

隨著嵌入式技術的不斷發展,產品更新換代越來越快,新產品發布周期不斷縮短,產品發布后FPGA軟件的更新維護成了一個必須解決的問題。產品返廠維護或者技術人員去用戶現場維護將耗費大量的人力財力,因此必須尋找一種簡單易行、成本低廉的程序更新方法。

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

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

針對上述問題,提出了一種FPGA在應用編程技術的實現方式。通過在FPGA中嵌入Nios II軟核處理器,并為其擴展片上存儲器、FLASH控制器與UART控制器等外設,構建出一個完整的片上系統,從而實現通過串口接收外部發送的FPGA配置程序文件,并將其寫入外部配置FLASH芯片的功能,為FPGA的IAP技術提供了一種低成本的實現方式。ISP與IAP程序更新方式優缺點對比如表1所示。

1 IAP功能實現

1.1 FPGA芯片的配置過程介紹

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

表1 ISP與IAP程序更新方式對比

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

1.2 Nios II處理器簡介

圖1 CycloneIII系列FPGA的配置電路

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

典型的基于Nios II處理器的系統原理框圖如圖2所示,圖中FPGA內部實現了Nios II處理器,還擴展了包括SDRAM控制器、定時器、串口、LCD控制器等許多外設,顯示了軟核處理器強大靈活的擴展能力。

1.3 總體方案

通過1.1節FPGA配置電路的介紹可知,只要把芯片商提供Serial Flash Loader的功能在FPGA內部用自己的代碼實現,并把對外的JTAG接口更改為更簡單的串口,就可以達到IAP的功能。

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

表2 Nios II軟核處理器型號

1.4 硬件設計

在Quartus II開發環境下,用戶可使用Qsys工具方便地構建基于Nios II處理器的片上系統,它提供了圖形化環境。根據2.3節中總體方案的需求,本設計需要構建的NiosII軟核系統包括時鐘、CPU、片上SRAM、定時器、FLASH控制器,為了調試方便,還添加了JTAG UART用于輸出調試信息、PIO用于控制LED燈來指示程序的運行。

圖2 Nios II處理器系統框圖

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

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

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

1.5 軟件設計

圖4 完整的Nios II片上系統

圖5 硬件設計頂層原理圖

圖6 IAP軟件流程圖

ALTER公司提供了支持Nios II處理器的軟件開發套件Nios II EDS,該開發套件采用基于Eclipse的圖形用戶接口,包括編譯器、集成開發環境(IDE),JTAG調試器,實時操作系統(RTOS)和TCP/IP協議棧等,功能豐富,調試方便。對于片上系統的各種外設,ALTERA公司以板級支持包(BSP)的形式提供了完整的接口驅動函數,并將其集成在硬件抽象層(HAL)系統庫中允許用戶使用統一的應用程序接口(API)來控制片上系統的各種外設。例如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等接口函數分別用于FLASH的寫數據、讀數據、獲取信息、塊擦除以及塊寫入等操作,只要調用這些接口函數就可實現對FLASH的操作,用戶只需專注應用程序的開發,而不必在驅動開發上花費大量的時間,降低應用程序的開發難度。

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

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

2 結論

通過在FPGA中嵌入Nios II處理器,并為其擴展片上存儲器、定時器、FLASH控制器與UART控制器等外設,構建出一個完整的片上系統,通過串口接收外部發送的FPGA配置程序文件,并將其寫入外部配置FLASH芯片,成功實現了FPGA的在應用編程。

該方案無需增加專門的硬件電路,只占用FPGA小一部分的邏輯資源,資源足夠的情況下,可以移植到ALTERA公司所有型號的FPGA中;軟件開發也非常簡單,通用性很強,并且成本低廉,具有很好的實用性。

猜你喜歡
程序用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 亚洲欧美一区二区三区图片 | 国产男女XX00免费观看| 亚洲成人精品| 狠狠ⅴ日韩v欧美v天堂| 女人18毛片久久| 国产成人综合欧美精品久久| 51国产偷自视频区视频手机观看| 国产亚洲成AⅤ人片在线观看| 99视频在线观看免费| 在线亚洲小视频| 久久夜色精品国产嚕嚕亚洲av| 欧美一级片在线| 免费人成视网站在线不卡| 日本精品中文字幕在线不卡| 欧美在线精品怡红院| 久久激情影院| 国产成人综合日韩精品无码首页| 久久综合九色综合97网| 粉嫩国产白浆在线观看| 色视频国产| 日韩欧美中文字幕在线精品| 国产在线啪| 精久久久久无码区中文字幕| 黄色网址免费在线| 国产成人喷潮在线观看| 国产成人a在线观看视频| 国产成人1024精品下载| 国产91精选在线观看| 国产日本欧美亚洲精品视| 久久人搡人人玩人妻精品一| 精品久久蜜桃| 亚洲二三区| 亚洲免费毛片| 午夜免费小视频| 激情无码字幕综合| 99精品国产自在现线观看| 91麻豆精品国产高清在线| 国产日韩欧美在线播放| 日本在线欧美在线| 精品成人一区二区三区电影| 国产精品成人一区二区不卡| 亚洲永久色| 91精品免费高清在线| 婷婷六月综合网| 狠狠做深爱婷婷久久一区| 久青草免费在线视频| 久久精品亚洲热综合一区二区| 2021精品国产自在现线看| 亚洲欧美精品一中文字幕| 九色最新网址| 亚洲色中色| 凹凸国产分类在线观看| 国产成人精品一区二区不卡 | 亚洲国产综合自在线另类| 毛片免费在线| 欧美亚洲另类在线观看| 国产簧片免费在线播放| 色欲国产一区二区日韩欧美| 91在线中文| 亚洲国产日韩一区| 国产女同自拍视频| 欧美不卡在线视频| 免费一级α片在线观看| 国内嫩模私拍精品视频| 久久国产乱子| 日韩一区二区三免费高清| 九九这里只有精品视频| 国产精品视频久| 黄色网站不卡无码| 久久久精品久久久久三级| 免费啪啪网址| 亚洲系列中文字幕一区二区| 91口爆吞精国产对白第三集| 亚洲成人在线免费| 久久久波多野结衣av一区二区| 国产91成人| 中文字幕在线不卡视频| 亚洲综合色在线| 欧美啪啪网| 人妻丰满熟妇αv无码| 日本精品视频| 国产精品自在拍首页视频8|