新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于大容量FPGA的多節(jié)點(diǎn)系統(tǒng)的遠(yuǎn)程升級的實(shí)現(xiàn)

基于大容量FPGA的多節(jié)點(diǎn)系統(tǒng)的遠(yuǎn)程升級的實(shí)現(xiàn)

作者: 時(shí)間:2013-10-17 來源:網(wǎng)絡(luò) 收藏

  引言

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

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

  1 系統(tǒng)設(shè)計(jì)

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

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

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

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

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

  2 子節(jié)點(diǎn)的硬件設(shè)計(jì)

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

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

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


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉