《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 多節點大容量FPGA系統的遠程升級方法
多節點大容量FPGA系統的遠程升級方法
摘要: 針對目前廣泛使用的以大容量FPGA實現主要功能的多節點系統的遠程升級問題,提出了一種基于ATmega64單片機和RS485總線以及接入以太網的主控計算機的實現方案。該方案具有低成本等顯著的特點,可以簡單、有效地解決許多場合多節點、大容量FPGA系統的遠程升級問題,具有一定的應用價值。
Abstract:
Key words :

         引言

  多節點系統,在目前的很多電子系統應用場合都可以看到。這種多節點系統由于具有結構可擴展性、功能配置的靈活性以及便于查找故障節點等良好的可維護性得到了越來越廣泛的應用。通常,多節點系統各個節點的主要硬件構成有很大的相似性。特別是近年來, FPGA這個強大的平臺讓多節點系統各個節點的硬件構成擁有了更廣泛的通用性。尤其是隨著IP核技術的推廣,再加上一些功能強大的CPU核的出現,如Xilinx公司提供的PicoBlaze和MicroBlaze等,使得目前的許多系統的主要功能都可以由大容量的FPGA實現,而無需再使用比較昂貴的高性能微處理器。

  對于節點系統,這將大大降低系統成本。對于由大容量FPGA構成的多節點系統,系統的升級是一個費時費力的工作。此時,FPGA的遠程升級能力就顯得尤為重要。對于包含ARM、DSP、PowerPC等高性能嵌入式微處理器的多節點系統,使用這些嵌入式微處理器,采用SELECTMAP對FPGA進行加載并實現遠程升級,無需增加過多的外部器件,是非常經濟和高效的。但對于核心器件就是大容量FPGA的系統,如果由FPGA本身來接收升級數據并寫入存儲配置數據的非易失性存儲器,一旦升級失敗,將無法再次升級,從而限制了它在許多需要高可靠性要求或者維護人員不便于到達的場合的應用;而如果單純為了實現系統的遠程升級而加入價格昂貴的嵌入式微處理器,又會較大地增加系統成本和復雜性。針對這種情況,筆者設計了利用ATmega64單片機和RS485總線,加上接入以太網的主控計算機構成的遠程升級系統,解決了上述問題。

  1 系統設計

  1.1 系統結構設計

  遠程升級系統主要由一臺接入以太網的主控計算機、半雙工RS485總線以及各個子節點構成,組成結構如圖1所示。主控計算機通過以太網從外部獲取整個系統各個節點的升級數據,然后通過RS485總線向各個子節點發送其對應的升級數據,完成多節點系統的升級。RS485總線采用一主多從的半雙工方式,主控計算機為總線的主控制器,只能由它向各個節點發起通信連接,其余子節點只能響應主控計算機的控制命令。

 

 

 

  圖1 多節點大容量FPGA系統遠程升級系統結構框圖

  1.2 節點升級原理

  各個節點通過RS485總線與主控計算機相連,在無升級數據時,總線可以用來傳輸主控計算機對各個節點的查詢和控制命令。主控計算機與各個節點的通信協議可以采用具有查詢控制幀、應答幀和數據幀3種幀類型的協議。只有主控計算機可以發送查詢控制幀,查詢或設定各個節點的遠程升級狀態或工況信息。子節點接收主控計算機的命令和數據,發送應答幀,并完成自身的升級。

  2 子節點的硬件設計

  2.1 子節點硬件結構框圖

  如圖2所示,以一個由Xilinx公司的XC3S4000大容量FPGA構成的系統為例,遠程升級系統子節點的硬件電路主要包括: ATmega64單片機,用于存儲大容量FPGA配置數據的Flash,以及接入RS485總線的半雙工總線收發器。ATmega64單片機用于實現對大容量FPGA XC3S4000的加載,以及從RS485總線接收FPGA的升級數據并寫入擁有2 MB存儲空間的Flash存儲器SST36VF1601C中。RS485TTL電平變換電路采用RS485收發器SP485R。

 

  圖2 子節點硬件結構框圖

  2.2 子節點硬件設計說明

  在子節點的硬件設計中,ATmega64單片機是實現整個升級功能的關鍵。ATmega64是基于增強的AVR RISC結構的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執行時間,ATmega64 的數據吞吐率高達1 MIPS/MHz,從而可以緩解系統在功耗和處理速度之間的矛盾。AVR內核具有豐富的指令集和32個通用工作寄存器,并且所有的寄存器都直接與算術邏輯單元(ALU)相連接,使得1條指令可以在1個時鐘周期內同時訪問2個獨立的寄存器。這種結構大大提高了代碼效率,并且具有比普通的CISC微控制器最高至10倍的數據吞吐率。ATmega64有如下特點:

  ① 64 KB的系統內可編程Flash(具有同時讀寫的能力,即RWW),2 KB的EEPROM,4 KB的SRAM,32個通用工作寄存器;

 ?、?53個通用I/O口線;

 ?、?實時計數器(RTC);

 ?、?4個具有比較模式與PWM的靈活的定時器/計數器(T/C),具有片內振蕩器的可編程看門狗定時器;

 ?、?2個USART,面向字節的雙線串行接口(TWI),1個SPI 串行端口;

 ?、?8路10 位具有可選差分輸入級可編程增益的ADC;

 ?、?與IEEE 1149.1 標準兼容的,可用于訪問片上調試系統及編程的JTAG接口。

  ATmega64是以Atmel 高密度非易失性存儲器技術生產的。片內ISP Flash 允許程序存儲器通過ISP 串行接口(或者通用編程器)進行編程,也可以通過運行于AVR內核之中的引導程序進行編程。通過將8位RISC CPU與系統內可編程的Flash集成在一個芯片內,ATmega64 成為一個功能強大的單片機,為許多嵌入式控制應用提供了靈活而低成本的解決方案。

  利用ATmega64單片機實現對大容量FPGA的遠程升級,涉及的主要技術問題有三點: 一是如何將ATmega64單片機接入RS485總線;二是在接收到升級數據后和加載FPGA時,如何利用ATmega64單片機對大容量的Flash存儲器進行讀寫操作;三是ATmega64單片機實現FPGA的SELECTMAP加載。

  2.2.1 RS485接口電路設計

  如表1所列, RS485總線標準具有控制方便、價格低廉以及高噪聲抑制、相對高的傳輸速率、傳輸距離遠和寬共模范圍等優點。在過去的20年時間里,建議性標準RS485作為一種多點差分數據傳輸的電氣規范,被應用在許多不同的領域作為數據傳輸鏈路。

  表1 TIA/EIA485串行通信標準的性能

 

 

 

  子節點的ATmega64單片機通過Sipex公司設計生產的高性能RS485收發器接入RS485總線。

  SP485R是一款與流行的標準RS485芯片完全兼容,而且包含更高的ESD保護和高接收器輸入阻抗等性能的RS485收發器。接收器輸入高阻抗可以使400個收發器接到同一條傳輸線上,又不會引起RS485驅動器信號的衰減。該收發器的特點如下:

  ① 允許超過400個收發器接到同一條傳輸線上;

  ② 接收器輸入高阻抗(標準值RIN=150 kΩ);

 ?、?半雙工配置與工業標準引腳一致;

 ?、?共模輸入電壓范圍為-7~+12 V;

 ?、?低功耗(250 mW);

  ⑥ 獨立驅動器和接收器使能引腳。

  其典型應用電路如圖3所示。

 

  圖3 利用SP485R構成的半雙工RS485電路

  ATmega64單片機的標準串行口通過RXD直接連接SP485R芯片的RO引腳,通過TXD直接連接SP485R芯片的DI引腳。由單片機輸出的R/D信號直接控制SP485R芯片的發送器/接收器使能:R/D信號為1,SP485R芯片的發送器有效,接收器禁止,此時單片機可以向RS485總線發送數據字節;R/D信號為0,SP485R芯片的發送器禁止,接收器有效,單片機可以接收來自RS485總線的數據字節。上拉電阻R1、下拉電阻R2用于保證未連接總線時的SP485R芯片處于空閑狀態,以提高每個RS485節點的工作可靠性。6.8 V的TVS管V1、V2、V3用來保護RS485總線,避免RS485總線受外界干擾時產生的高壓損壞RS485收發器。

  2.2.2 ATmega64存儲空間的擴展

  ATmega64的尋址空間為64 KB,利用ATmega64自身的尋址系統,只能訪問0x0000~0xFFFF的地址空間。顯然,這對于存儲和加載大容量FPGA的配置數據是遠遠不夠的。以Xilinx公司的Spartan3系列FPGA為例,其配置數據所需的存儲空間如表2所列。

  表2 Spartan3系列FPGA配置文件大小

 

 

 

  以XC3S4000型FPGA為例,它的配置文件所需的存儲空間約為1.35 MB,已遠遠超出了ATmega64單片機的尋址空間。因此,為了能夠利用ATmega64單片機來實現對FPGA配置數據的讀寫,必須對其尋址空間進行擴展。擴展的硬件連接框圖如圖2中的單片機與Flash的連接部分所示。

  本設計中是使用通用I/O來擴展ATmega64單片機的尋址空間的。ATmega64單片機的總尋址空間為64 KB,但片內4 KB的SRAM及各種寄存器占用了前面的部分尋址空間,故其片外存儲器尋址空間是0x1100~0xFFFF。因此將Flash的低15位地址直接接到ATmega64單片機的低15位地址總線上,其余6位高位地址用單片機的通用I/O進行選擇。尋址時單片機的專用地址口只輸出0x8000~0xFFFF的地址數據,與通用I/O輸出的地址組合后給出Flash的讀寫地址。

  通過以上對ATmega64單片機尋址空間的擴展方法,可以實現ATmega64單片機對合適的Flash存儲器的尋址操作,從而解決了大容量FPGA配置數據的存儲和讀取問題。

  2.2.3 用ATmega64實現FPGA的SELECTMAP加載

  Xilinx公司的Spartan3系列FPGA加載方式分為5種: Master Serial、Slave Serial、Master Parallel、Slave Parallel、JTAG。

  按照FPGA是否控制加載過程,加載方式可分為Master方式和Slave方式;按照加載數據時的數據位寬,可分為Serial方式和Parallel方式。用于加載的引腳主要有: PROG_B,CCLK,RDWR_B,DONE,INIT_B,CS_B,BUSY,D[0~7],M[0~2],HSWAP和JTAG接口(TDI、TMS、TCK、TDO)。加載過程大體分為3個步驟: 配置的建立、配置數據的加載和加載完成。

  SELECTMAP即Slave Parallel方式,是由外部控制器控制FPGA的加載過程,并以8位數據的形式向FPGA寫入加載數據的加載方法。圖2中FPGA與ATmega64的連接部分為ATmega64單片機采用SELECTMAP方式對FPGA進行加載的硬件連接框圖,具體實現過程如下:

  ATmega64通過將FPGA的PROG_B、CS_B和RDWR_B引腳置低來開啟加載過程,FPGA在PROG_B置低后開始清除內部配置RAM,并將INIT_B腳置低。PROG_B重新置1后,在INIT_B由低變高的上升沿,FPGA采樣M[0~2]引腳獲取配置方式信息。ATmega64監視FPGA的INIT_B腳,當INIT_B腳由低變高時,說明FPGA已經完成了內部配置RAM的清除工作,并準備好接收配置數據。在ATmega64給出的CCLK配置時鐘的上升沿,配置數據D[0~7]寫入配置RAM。當FPGA接收完所有的配置數據后,DONE引腳被FPGA置為高電平。ATmega64可以通過監視DONE引腳來判斷FPGA是否加載完成。對于Spartan3系列的FPGA,如果配置FPGA的CCLK的頻率高于50 MHz,則外部控制器還需要監視FPGA的BUSY引腳。當BUSY腳為高時,說明FPGA還未完成上一個配置數據的處理,此時外部控制器需要繼續保持上一個配置數據在D[0~7]引腳,直至BUSY引腳回到低電平。對于本設計的應用,ATmega64給出的配置時鐘頻率遠低于50 MHz,不必考慮BUSY引腳的控制作用。

  3 軟件設計

  3.1 主控計算機的軟件設計

  主控制計算機的軟件運行狀態應該分為兩種: 一是平時的查詢控制狀態,用來查詢和控制系統中各個節點的工作狀態;二是系統的升級狀態,用來執行對各個子節點的升級控制。如圖4所示,這兩種狀態是可以相互轉換的。

 

 

 

  圖4 主控計算機主要狀態

  軟件的查詢控制狀態,是由系統所要實現的主要功能決定的,不屬于本文所討論的范疇。在系統的升級狀態,主控計算機先要通過以太網獲得系統各個節點的遠程升級數據,待全部升級數據接收完成后,向系統的一個節點發送升級指令。節點響應并建立起通信連接后,將該節點的升級數據全部發送到該節點。接下來,主控計算機判斷上一個節點是否為最后一個需要升級的節點,如果不是,則繼續進行下一個節點升級數據的傳輸。系統所有的節點升級完成后,等待外部輸入的控制命令。例如,讓整個系統重新啟動,加載新的數據;或暫時不重新啟動而返回查詢控制狀態。軟件流程如圖5所示。

 

 

 

  圖5 系統升級狀態流程

  3.2 子節點的軟件設計

  對于子節點的軟件設計,與主控計算機一樣,也分為平時的查詢控制狀態和系統升級狀態,并且它們之間也能夠與主控計算機一起相互轉換;但ATmega64單片機還要承擔對FPGA的加載任務。開機運行后,ATmega64單片機先加載子節點FPGA,使子節點能夠正常工作。子節點正常工作后,監視RS485總線并判斷有無對本節點的通信。當主控計算機要求與本節點建立通信連接時,發送反饋信息,與其建立通信連接。子節點根據主控計算機發送的命令,進入查詢控制模式或者遠程升級模式。進入遠程升級模式后,子節點接收主控計算機發來的遠程升級數據,升級數據經過校驗后寫入Flash。升級完成后繼續等待主控計算機的命令,重新啟動或繼續運行。其具體的軟件設計流程如圖6所示。

 

 

 

  圖6 子節點軟件流程

  結語

  FPGA既繼承了ASIC的大規模、高集成度、高可靠性的優點,又克服了普通ASIC周期長、投資大、靈活性差的缺點,逐步成為許多系統實現的理想選擇。特別是隨著FPGA容量和性能的提升,加上其獨特的硬件升級能力,其應用范圍越來越廣。本文所提出的對大容量FPGA構成的多節點系統的遠程升級方法,系統構成簡單、技術成熟,而且具有明顯的成本優勢
 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产经典视频| 亚洲欧美另类综合偷拍| 国产精品视频yy9099| 欧美剧在线观看| 欧美xart系列高清| 美女诱惑一区| 美女网站久久| 老司机亚洲精品| 久久久精品一区| 久久亚洲春色中文字幕| 久久大逼视频| 久久精品国产亚洲a| 久久精品视频在线看| 久久精品电影| 久久一区免费| 免费在线观看日韩欧美| 欧美成人激情在线| 欧美激情一区二区三区高清视频| 欧美激情一区二区三区在线视频观看| 欧美黄色片免费观看| 欧美激情在线观看| 欧美日韩中文字幕综合视频| 国产精品a久久久久| 国产精品系列在线播放| 国产啪精品视频| 国模套图日韩精品一区二区| 好吊成人免视频| 亚洲二区视频在线| 亚洲精品视频在线观看免费| 99视频在线观看一区三区| 亚洲一区二区成人| 欧美亚洲一区在线| 亚洲国产经典视频| 日韩写真在线| 亚洲欧美激情在线视频| 久久www成人_看片免费不卡| 久久免费精品视频| 欧美成人精品在线播放| 欧美日韩在线一区二区三区| 国产精品日韩欧美综合| 国产真实乱子伦精品视频| 在线观看日韩一区| 亚洲精选久久| 亚洲综合色婷婷| 亚洲第一页自拍| 亚洲乱码日产精品bd| 亚洲一区视频| 久久精品国产欧美亚洲人人爽| 蜜桃伊人久久| 国产精品久久99| 精品99一区二区| 日韩一级大片在线| 欧美一二三视频| 亚洲美女在线观看| 欧美一级日韩一级| 欧美 日韩 国产在线| 欧美视频一区二区| 国产自产女人91一区在线观看| 亚洲成色777777女色窝| 亚洲视屏一区| 亚洲国产高潮在线观看| 中文在线一区| 久久精品国产第一区二区三区最新章节| 欧美h视频在线| 国产精品爽黄69| 亚洲高清资源综合久久精品| 这里只有视频精品| 亚洲国产天堂网精品网站| 在线视频亚洲| 久久夜色撩人精品| 欧美日韩视频在线第一区| 国产亚洲精品aa| 亚洲激情视频网| 亚洲欧美日韩一区二区| 亚洲精品一区二区三区四区高清| 亚洲男女自偷自拍图片另类| 久久阴道视频| 国产精品久久77777| 亚洲大胆在线| 午夜久久一区| 亚洲视频中文字幕| 浪潮色综合久久天堂| 国产精品久久久久久久电影| 亚洲观看高清完整版在线观看| 亚洲一线二线三线久久久| 亚洲美洲欧洲综合国产一区| 久久久91精品国产一区二区三区| 欧美日韩亚洲91| 亚洲第一精品电影| 午夜影院日韩| 亚洲尤物在线| 欧美顶级艳妇交换群宴| 国产一区二区在线观看免费播放| 在线一区二区日韩| 亚洲精品乱码久久久久久日本蜜臀| 欧美在线综合| 国产精品高潮呻吟久久av无限| 1769国内精品视频在线播放| 欧美在线地址| 欧美一区二区视频97| 欧美网站在线| 国内精品视频666| 香蕉乱码成人久久天堂爱免费| 亚洲香蕉在线观看| 欧美激情亚洲| 伊人狠狠色丁香综合尤物| 午夜视频精品| 午夜精品久久久久久久久| 欧美日韩一区在线| 亚洲麻豆av| 99国产精品久久久| 欧美电影免费观看高清| 亚洲第一精品夜夜躁人人爽| 久久精品国产欧美激情| 性久久久久久久久| 国产精品日本| 中文在线资源观看网站视频免费不卡 | 国产精品99久久99久久久二8| av72成人在线| 欧美激情小视频| 亚洲国产女人aaa毛片在线| 亚洲大片一区二区三区| 久久中文在线| 狠狠做深爱婷婷久久综合一区| 欧美一区二区三区婷婷月色 | 欧美影院精品一区| 国产精品揄拍500视频| 亚洲深夜av| 亚洲欧美日韩人成在线播放| 国产精品成人在线观看| 一区二区精品| 亚洲一二三区在线观看| 国产精品久久久久久久久久妞妞| 99riav国产精品| 亚洲一级影院| 国产精品日本| 欧美一区永久视频免费观看| 久久精品中文字幕一区| 韩日精品在线| 亚洲精品美女在线| 欧美日韩精品免费在线观看视频| 亚洲看片免费| 亚洲欧美欧美一区二区三区| 国产精品视频午夜| 欧美亚洲一区二区三区| 久久人91精品久久久久久不卡 | 91久久黄色| 欧美激情偷拍| 一区二区高清| 久久国产综合精品| 极品日韩久久| aa级大片欧美| 国产精品女人毛片| 欧美在线观看视频一区二区| 欧美福利一区二区| 99视频在线精品国自产拍免费观看 | 欧美亚洲一区三区| 亚洲在线视频免费观看| 国产亚洲一级| 91久久久亚洲精品| 欧美日韩高清在线一区| 亚洲欧美福利一区二区| 久久蜜臀精品av| 亚洲精品在线一区二区| 午夜精品理论片| 尤物yw午夜国产精品视频| 日韩亚洲欧美一区二区三区| 国产精品免费视频观看| 久久精品日韩欧美| 欧美日韩ab片| 午夜精品福利电影| 欧美精品一卡| 性色av一区二区三区红粉影视| 女人色偷偷aa久久天堂| 在线视频欧美日韩精品| 久久天堂国产精品| 一本大道久久a久久精品综合| 欧美在线视频二区| 亚洲欧洲一区二区在线观看 | 久久er精品视频| 亚洲精品久久视频| 久久精品国产在热久久| 亚洲精品在线视频观看| 欧美中文在线观看| 亚洲美女精品一区| 久久久久久有精品国产| 一本大道久久a久久精二百| 久久视频在线看| 亚洲在线观看视频网站| 日韩视频精品| 久久久久久一区二区三区| 99视频精品全部免费在线| 久久综合精品国产一区二区三区| 亚洲美女黄色| 免费成人在线观看视频| 亚洲午夜视频在线| 欧美福利视频在线观看| 欧美亚洲在线观看| 欧美视频在线一区二区三区| 91久久黄色|