<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 多節點(diǎn)大容量FPGA系統的遠程升級方法

多節點(diǎn)大容量FPGA系統的遠程升級方法

作者: 時(shí)間:2012-01-25 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

本文引用地址:http://dyxdggzs.com/article/190814.htm

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

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

  1 系統設計

  1.1 系統結構設計

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

  圖1 多節點(diǎn)大容量FPGA系統遠程升級系統結構框圖

  1.2 節點(diǎn)升級原理

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

  2 子節點(diǎn)的硬件設計

  2.1 子節點(diǎn)硬件結構框圖

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

  圖2 子節點(diǎn)硬件結構框圖

  2.2 子節點(diǎn)硬件設計說(shuō)明

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

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

 ?、?53個(gè)通用I/O口線(xiàn);

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

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

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

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

 ?、?與IEEE 1149.1 標準兼容的,可用于訪(fǎng)問(wèn)片上調試系統及編程的JTAG接口。

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

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

  2.2.1 RS485接口電路設計

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

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

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

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

 ?、?允許超過(guò)400個(gè)收發(fā)器接到同一條傳輸線(xiàn)上;

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

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

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

 ?、?低功耗(250 mW);

 ?、?獨立驅動(dòng)器和接收器使能引腳。

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

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


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA 節點(diǎn) 大容量 方法

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>