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
主站蜘蛛池模板: 亚洲一区二区约美女探花| 凹凸精品免费精品视频| 国产精品久久久久久久伊一| 97视频在线精品国自产拍| 久久性妇女精品免费| 最新国产午夜精品视频成人| 欧美精品亚洲精品日韩专区va| 久久精品国产999大香线焦| 精品久久综合1区2区3区激情| 国产久操视频| 久久久波多野结衣av一区二区| 一本无码在线观看| 色综合久久88| 国产成本人片免费a∨短片| 狠狠色狠狠色综合久久第一次| 狠狠躁天天躁夜夜躁婷婷| 免费一看一级毛片| 四虎永久免费网站| 九色国产在线| 亚洲天堂777| 国产九九精品视频| 久青草免费在线视频| 免费高清自慰一区二区三区| 天天综合色天天综合网| 日韩在线成年视频人网站观看| 成年女人a毛片免费视频| 在线观看免费AV网| 少妇精品网站| 午夜福利免费视频| 就去吻亚洲精品国产欧美| 四虎永久免费在线| 国产国语一级毛片| 亚洲国产成人自拍| 亚洲一级无毛片无码在线免费视频| 国产迷奸在线看| 精品撒尿视频一区二区三区| 中文字幕 欧美日韩| 91蝌蚪视频在线观看| 国产综合精品日本亚洲777| 91久久青青草原精品国产| 99热这里只有精品在线观看| 日韩国产高清无码| 亚洲欧美国产高清va在线播放| 欧洲av毛片| 午夜啪啪福利| 精品福利视频导航| 99在线观看精品视频| 日韩A级毛片一区二区三区| 亚洲成人精品| 国产黄在线观看| 精品国产成人a在线观看| 欧美性猛交一区二区三区| 国产一区二区精品高清在线观看| 亚洲高清中文字幕在线看不卡| 久久精品国产精品青草app| 久久青草免费91观看| 亚洲欧洲自拍拍偷午夜色无码| 色精品视频| 久久夜色精品| 操国产美女| 青青极品在线| 玖玖免费视频在线观看| 大陆国产精品视频| 欧美α片免费观看| 日韩在线影院| 日韩精品亚洲精品第一页| 天堂成人在线| 黄色福利在线| 亚洲欧美日本国产综合在线| 亚洲欧洲日产国码无码av喷潮| 看国产毛片| 一区二区三区高清视频国产女人| 国产精品网曝门免费视频| 亚洲欧美日韩成人高清在线一区| 日本欧美中文字幕精品亚洲| 日韩高清无码免费| 婷婷成人综合| 久久国产成人精品国产成人亚洲| 影音先锋亚洲无码| 国禁国产you女视频网站| 色天天综合久久久久综合片| 日韩视频精品在线|