新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 多節(jié)點大容量FPGA系統(tǒng)的遠程升級方法

多節(jié)點大容量FPGA系統(tǒng)的遠程升級方法

作者: 時間:2012-01-25 來源:網(wǎng)絡 收藏

引言

本文引用地址:http://butianyuan.cn/article/190814.htm

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

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

  1 系統(tǒng)設計

  1.1 系統(tǒng)結(jié)構(gòu)設計

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

  圖1 多節(jié)點大容量FPGA系統(tǒng)遠程升級系統(tǒng)結(jié)構(gòu)框圖

  1.2 節(jié)點升級原理

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

  2 子節(jié)點的硬件設計

  2.1 子節(jié)點硬件結(jié)構(gòu)框圖

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

  圖2 子節(jié)點硬件結(jié)構(gòu)框圖

  2.2 子節(jié)點硬件設計說明

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

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

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

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

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

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

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

  ⑦ 與IEEE 1149.1 標準兼容的,可用于訪問片上調(diào)試系統(tǒng)及編程的JTAG接口。

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

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

  2.2.1 RS485接口電路設計

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

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

  子節(jié)點的ATmega64單片機通過Sipex公司設計生產(chǎn)的高性能RS485收發(fā)器接入RS485總線。

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

 ?、?允許超過400個收發(fā)器接到同一條傳輸線上;

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

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

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

 ?、?低功耗(250 mW);

 ?、?獨立驅(qū)動器和接收器使能引腳。

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

  圖3 利用SP485R構(gòu)成的半雙工RS485電路


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉