版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、多節(jié)點(diǎn)大容量FPGA系統(tǒng)的遠(yuǎn)程升級(jí)方法 摘要 針對(duì)目前廣泛使用的以大容量 引言多節(jié)點(diǎn)系統(tǒng),在目前的很多 對(duì)于節(jié)點(diǎn)系統(tǒng),這將大大降低系統(tǒng)成本。對(duì)于由大容量FPGA構(gòu)成的多節(jié)點(diǎn)系統(tǒng),系統(tǒng)的升級(jí)是一個(gè)費(fèi)時(shí)費(fèi)力的工作。此時(shí),F(xiàn)PGA的遠(yuǎn)程升級(jí)能力就顯得尤為重要。對(duì)于包含ARM、DSP、PowerPC等高性能 1 系統(tǒng)設(shè)計(jì)1.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)遠(yuǎn)程升級(jí)系統(tǒng)主要由一臺(tái)接入以太網(wǎng)的主控計(jì)算機(jī)、半雙工RS485總線以及各個(gè)子節(jié)點(diǎn)構(gòu)成,組成結(jié)構(gòu)如圖1所示。主控計(jì)算機(jī)通過(guò)以太網(wǎng)從外部獲取整個(gè)系統(tǒng)各個(gè)節(jié)點(diǎn)的升級(jí)數(shù)據(jù),然后通過(guò)RS485總線向各個(gè)子節(jié)
2、點(diǎn)發(fā)送其對(duì)應(yīng)的升級(jí)數(shù)據(jù),完成多節(jié)點(diǎn)系統(tǒng)的升級(jí)。RS485總線采用一主多從的半雙工方式,主控計(jì)算機(jī)為總線的主 圖1 多節(jié)點(diǎn)大容量FPGA系統(tǒng)遠(yuǎn)程升級(jí)系統(tǒng)結(jié)構(gòu)框圖1.2 節(jié)點(diǎn)升級(jí)原理各個(gè)節(jié)點(diǎn)通過(guò)RS485總線與主控計(jì)算機(jī)相連,在無(wú)升級(jí)數(shù)據(jù)時(shí),總線可以用來(lái)傳輸主控計(jì)算機(jī)對(duì)各個(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)程升級(jí)狀態(tài)或工況信息。子節(jié)點(diǎn)接收主控計(jì)算機(jī)的命令和數(shù)據(jù),發(fā)送應(yīng)答幀,并完成自身的升級(jí)。2 子節(jié)點(diǎn)的硬件設(shè)計(jì)2.1 子節(jié)
3、點(diǎn)硬件結(jié)構(gòu)框圖如圖2所示,以一個(gè)由Xilinx公司的XC3S4000大容量FPGA構(gòu)成的系統(tǒng)為例,遠(yuǎn)程升級(jí)系統(tǒng)子節(jié)點(diǎn)的硬件 圖2 子節(jié)點(diǎn)硬件結(jié)構(gòu)框圖2.2 子節(jié)點(diǎn)硬件設(shè)計(jì)說(shuō)明在子節(jié)點(diǎn)的硬件設(shè)計(jì)中,ATmega64單片機(jī)是實(shí)現(xiàn)整個(gè)升級(jí)功能的關(guān)鍵。ATmega64是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega64 的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩解系統(tǒng)在功耗和處理速度之間的矛盾。AVR內(nèi)核具有豐富的指令集和32個(gè)通用工作寄存器,并且所有的寄存器都直接與算術(shù)邏輯單元(ALU)相連接,使得
4、1條指令可以在1個(gè)時(shí)鐘周期內(nèi)同時(shí)訪問(wèn)2個(gè)獨(dú)立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC微控制器最高至10倍的數(shù)據(jù)吞吐率。ATmega64有如下特點(diǎn): 64 KB的系統(tǒng)內(nèi)可編程Flash(具有同時(shí)讀寫(xiě)的能力,即RWW),2 KB的EEPROM,4 KB的SRAM,32個(gè)通用工作寄存器; 53個(gè)通用I/O口線; 實(shí)時(shí)計(jì)數(shù)器(RTC); 4個(gè)具有比較模式與PWM的靈活的定時(shí)器/計(jì)數(shù)器(T/C),具有片內(nèi)振蕩器的可編程看門(mén)狗定時(shí)器; 2個(gè)USART,面向字節(jié)的雙線串行 8路10 位具有可選差分輸入級(jí)可編程增益的ADC; 與IEEE 1149.1 標(biāo)準(zhǔn)兼容的,可用于訪問(wèn)片上調(diào)試系統(tǒng)及
5、編程的JTAG接口。ATmega64是以Atmel 高密度非易失性存儲(chǔ)器技術(shù)生產(chǎn)的。片內(nèi)ISP Flash 允許程序存儲(chǔ)器通過(guò)ISP 串行接口(或者通用編程器)進(jìn)行編程,也可以通過(guò)運(yùn)行于AVR內(nèi)核之中的引導(dǎo)程序進(jìn)行編程。通過(guò)將8位RISC CPU與系統(tǒng)內(nèi)可編程的Flash集成在一個(gè)芯片內(nèi),ATmega64 成為一個(gè)功能強(qiáng)大的單片機(jī),為許多嵌入式控制應(yīng)用提供了靈活而低成本的解決方案。利用ATmega64單片機(jī)實(shí)現(xiàn)對(duì)大容量FPGA的遠(yuǎn)程升級(jí),涉及的主要技術(shù)問(wèn)題有三點(diǎn): 一是如何將ATmega64單片機(jī)接入RS485總線;二是在接收到升級(jí)數(shù)據(jù)后和加載FPGA時(shí),如何利用ATmega64單片機(jī)對(duì)大容量
6、的Flash存儲(chǔ)器進(jìn)行讀寫(xiě)操作;三是ATmega64單片機(jī)實(shí)現(xiàn)FPGA的SELECTMAP加載。2.2.1 RS485接口電路設(shè)計(jì)如表1所列, RS485總線標(biāo)準(zhǔn)具有控制方便、價(jià)格低廉以及高噪聲抑制、相對(duì)高的傳輸速率、傳輸距離遠(yuǎn)和寬共模范圍等優(yōu)點(diǎn)。在過(guò)去的20年時(shí)間里,建議性標(biāo)準(zhǔn)RS485作為一種多點(diǎn)差分?jǐn)?shù)據(jù)傳輸?shù)碾姎庖?guī)范,被應(yīng)用在許多不同的領(lǐng)域作為數(shù)據(jù)傳輸鏈路。表1 TIA/EIA485串行通信標(biāo)準(zhǔn)的性能子節(jié)點(diǎn)的ATmega64單片機(jī)通過(guò)Sipex公司設(shè)計(jì)生產(chǎn)的高性能RS485收發(fā)器接入RS485總線。SP485R是一款與流行的標(biāo)準(zhǔn)RS485芯片完全兼容,而且包含更高
7、的ESD保護(hù)和高接收器輸入阻抗等性能的RS485收發(fā)器。接收器輸入高阻抗可以使400個(gè)收發(fā)器接到同一條傳輸線上,又不會(huì)引起RS485 允許超過(guò)400個(gè)收發(fā)器接到同一條傳輸線上; 接收器輸入高阻抗(標(biāo)準(zhǔn)值RIN=150 k); 半雙工配置與工業(yè)標(biāo)準(zhǔn)引腳一致; 共模輸入電壓范圍為-7+12 V; 低功耗(250 mW); 獨(dú)立驅(qū)動(dòng)器和接收器使能引腳。其典型應(yīng)用電路如圖3所示。圖3 利用SP485R構(gòu)成的半雙工RS485電路ATmega64單片機(jī)的標(biāo)準(zhǔn)串行口通過(guò)RXD直接連接SP485R芯片的RO引腳,通過(guò)TXD直接連接SP485R芯片的DI引腳。由單片機(jī)輸出的R/D信號(hào)直接控制SP48
8、5R芯片的發(fā)送器/接收器使能:R/D信號(hào)為1,SP485R芯片的發(fā)送器有效,接收器禁止,此時(shí)單片機(jī)可以向RS485總線發(fā)送數(shù)據(jù)字節(jié);R/D信號(hào)為0,SP485R芯片的發(fā)送器禁止,接收器有效,單片機(jī)可以接收來(lái)自RS485總線的數(shù)據(jù)字節(jié)。上拉 2.2.2 ATmega64存儲(chǔ)空間的擴(kuò)展ATmega64的尋址空間為64 KB,利用ATmega64自身的尋址系統(tǒng),只能訪問(wèn)0x00000xFFFF的地址空間。顯然,這對(duì)于存儲(chǔ)和加載大容量FPGA的配置數(shù)據(jù)是遠(yuǎn)遠(yuǎn)不夠的。以Xilinx公司的Spartan3系列FPGA為例,其配置數(shù)據(jù)所需的存儲(chǔ)空間如表2所列。表2 Spartan3系
9、列FPGA配置文件大小以XC3S4000型FPGA為例,它的配置文件所需的存儲(chǔ)空間約為1.35 MB,已遠(yuǎn)遠(yuǎn)超出了ATmega64單片機(jī)的尋址空間。因此,為了能夠利用ATmega64單片機(jī)來(lái)實(shí)現(xiàn)對(duì)FPGA配置數(shù)據(jù)的讀寫(xiě),必須對(duì)其尋址空間進(jìn)行擴(kuò)展。擴(kuò)展的硬件連接框圖如圖2中的單片機(jī)與Flash的連接部分所示。本設(shè)計(jì)中是使用通用I/O來(lái)擴(kuò)展ATmega64單片機(jī)的尋址空間的。ATmega64單片機(jī)的總尋址空間為64 KB,但片內(nèi)4 KB的SRAM及各種寄存器占用了前面的部分尋址空間,故其片外存儲(chǔ)器尋址空間是0x11000xFFFF。因此將Flash的低15位地址直接接到ATmega64單片機(jī)的低1
10、5位地址總線上,其余6位高位地址用單片機(jī)的通用I/O進(jìn)行選擇。尋址時(shí)單片機(jī)的專用地址口只輸出0x80000xFFFF的地址數(shù)據(jù),與通用I/O輸出的地址組合后給出Flash的讀寫(xiě)地址。通過(guò)以上對(duì)ATmega64單片機(jī)尋址空間的擴(kuò)展方法,可以實(shí)現(xiàn)ATmega64單片機(jī)對(duì)合適的Flash存儲(chǔ)器的尋址操作,從而解決了大容量FPGA配置數(shù)據(jù)的存儲(chǔ)和讀取問(wèn)題。2.2.3 用ATmega64實(shí)現(xiàn)FPGA的SELECTMAP加載Xilinx公司的Spartan3系列FPGA加載方式分為5種: Master Serial、Slave Serial、Master Parallel、Slave Para
11、llel、JTAG。按照FPGA是否控制加載過(guò)程,加載方式可分為Master方式和Slave方式;按照加載數(shù)據(jù)時(shí)的數(shù)據(jù)位寬,可分為Serial方式和Parallel方式。用于加載的引腳主要有: PROG_B,CCLK,RDWR_B,DONE,INIT_B,CS_B,BUSY,D07,M02,HSWAP和JTAG接口(TDI、TMS、TCK、TDO)。加載過(guò)程大體分為3個(gè)步驟: 配置的建立、配置數(shù)據(jù)的加載和加載完成。SELECTMAP即Slave Parallel方式,是由外部控制器控制FPGA的加載過(guò)程,并以8位數(shù)據(jù)的形式向FPGA寫(xiě)入加載數(shù)據(jù)的加載方法。圖2中FPGA與ATmega64的連接
12、部分為ATmega64單片機(jī)采用SELECTMAP方式對(duì)FPGA進(jìn)行加載的硬件連接框圖,具體實(shí)現(xiàn)過(guò)程如下:ATmega64通過(guò)將FPGA的PROG_B、CS_B和RDWR_B引腳置低來(lái)開(kāi)啟加載過(guò)程,F(xiàn)PGA在PROG_B置低后開(kāi)始清除內(nèi)部配置RAM,并將INIT_B腳置低。PROG_B重新置1后,在INIT_B由低變高的上升沿,F(xiàn)PGA采樣M02引腳獲取配置方式信息。ATmega64監(jiān)視FPGA的INIT_B腳,當(dāng)INIT_B腳由低變高時(shí),說(shuō)明FPGA已經(jīng)完成了內(nèi)部配置RAM的清除工作,并準(zhǔn)備好接收配置數(shù)據(jù)。在ATmega64給出的CCLK配置時(shí)鐘的上升沿,配置數(shù)據(jù)D07寫(xiě)入配置RAM。當(dāng)FP
13、GA接收完所有的配置數(shù)據(jù)后,DONE引腳被FPGA置為高電平。ATmega64可以通過(guò)監(jiān)視DONE引腳來(lái)判斷FPGA是否加載完成。對(duì)于Spartan3系列的FPGA,如果配置FPGA的CCLK的頻率高于50 MHz,則外部控制器還需要監(jiān)視FPGA的BUSY引腳。當(dāng)BUSY腳為高時(shí),說(shuō)明FPGA還未完成上一個(gè)配置數(shù)據(jù)的處理,此時(shí)外部控制器需要繼續(xù)保持上一個(gè)配置數(shù)據(jù)在D07引腳,直至BUSY引腳回到低電平。對(duì)于本設(shè)計(jì)的應(yīng)用,ATmega64給出的配置時(shí)鐘頻率遠(yuǎn)低于50 MHz,不必考慮BUSY引腳的控制作用。3 軟件設(shè)計(jì)3.1 主控計(jì)算機(jī)的軟件設(shè)計(jì)主控制計(jì)算機(jī)的軟件運(yùn)行狀態(tài)
14、應(yīng)該分為兩種: 一是平時(shí)的查詢控制狀態(tài),用來(lái)查詢和控制系統(tǒng)中各個(gè)節(jié)點(diǎn)的工作狀態(tài);二是系統(tǒng)的升級(jí)狀態(tài),用來(lái)執(zhí)行對(duì)各個(gè)子節(jié)點(diǎn)的升級(jí)控制。如圖4所示,這兩種狀態(tài)是可以相互轉(zhuǎn)換的。圖4 主控計(jì)算機(jī)主要狀態(tài)軟件的查詢控制狀態(tài),是由系統(tǒng)所要實(shí)現(xiàn)的主要功能決定的,不屬于本文所討論的范疇。在系統(tǒng)的升級(jí)狀態(tài),主控計(jì)算機(jī)先要通過(guò)以太網(wǎng)獲得系統(tǒng)各個(gè)節(jié)點(diǎn)的遠(yuǎn)程升級(jí)數(shù)據(jù),待全部升級(jí)數(shù)據(jù)接收完成后,向系統(tǒng)的一個(gè)節(jié)點(diǎn)發(fā)送升級(jí)指令。節(jié)點(diǎn)響應(yīng)并建立起通信連接后,將該節(jié)點(diǎn)的升級(jí)數(shù)據(jù)全部發(fā)送到該節(jié)點(diǎn)。接下來(lái),主控計(jì)算機(jī)判斷上一個(gè)節(jié)點(diǎn)是否為最后一個(gè)需要升級(jí)的節(jié)點(diǎn),如果不是,則繼續(xù)進(jìn)行下一個(gè)節(jié)點(diǎn)升級(jí)數(shù)據(jù)的傳輸。系統(tǒng)所有的節(jié)
15、點(diǎn)升級(jí)完成后,等待外部輸入的控制命令。例如,讓整個(gè)系統(tǒng)重新啟動(dòng),加載新的數(shù)據(jù);或暫時(shí)不重新啟動(dòng)而返回查詢控制狀態(tài)。軟件流程如圖5所示。圖5 系統(tǒng)升級(jí)狀態(tài)流程3.2 子節(jié)點(diǎn)的軟件設(shè)計(jì)對(duì)于子節(jié)點(diǎn)的軟件設(shè)計(jì),與主控計(jì)算機(jī)一樣,也分為平時(shí)的查詢控制狀態(tài)和系統(tǒng)升級(jí)狀態(tài),并且它們之間也能夠與主控計(jì)算機(jī)一起相互轉(zhuǎn)換;但ATmega64單片機(jī)還要承擔(dān)對(duì)FPGA的加載任務(wù)。開(kāi)機(jī)運(yùn)行后,ATmega64單片機(jī)先加載子節(jié)點(diǎn)FPGA,使子節(jié)點(diǎn)能夠正常工作。子節(jié)點(diǎn)正常工作后,監(jiān)視RS485總線并判斷有無(wú)對(duì)本節(jié)點(diǎn)的通信。當(dāng)主控計(jì)算機(jī)要求與本節(jié)點(diǎn)建立通信連接時(shí),發(fā)送反饋信息,與其建立通信連接。子節(jié)點(diǎn)根據(jù)主控計(jì)算機(jī)發(fā)送的命令,進(jìn)入查詢控制模式或者遠(yuǎn)程升級(jí)模式。進(jìn)入遠(yuǎn)程升級(jí)模式后,子節(jié)點(diǎn)接收主控計(jì)算機(jī)發(fā)來(lái)的遠(yuǎn)程升級(jí)數(shù)據(jù),升級(jí)數(shù)據(jù)經(jīng)過(guò)校驗(yàn)后寫(xiě)入Flash。升級(jí)完成后繼續(xù)等待主控計(jì)算機(jī)的命令,重新啟動(dòng)或繼續(xù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024產(chǎn)品銷(xiāo)售區(qū)域代理合同模板
- 2024租車(chē)合同協(xié)議書(shū)公司單位租車(chē)協(xié)議書(shū)
- 2024版獨(dú)家代理合同樣本
- 2024年廣場(chǎng)文化建設(shè)施工合同
- 2024年度貨物采購(gòu)與供應(yīng)協(xié)議
- 陀螺課件圖片教學(xué)課件
- 2024年度勞動(dòng)合同標(biāo)的:高級(jí)管理人員雇傭
- 2024解除土地流轉(zhuǎn)合同
- 2024年度環(huán)保項(xiàng)目技術(shù)研發(fā)與許可使用合同
- 2024年度房屋買(mǎi)賣(mài)合同(高檔住宅)
- 最新空白辦健康證用工證明1頁(yè)
- 工程結(jié)算書(shū)(完整版)
- SPECTRO直讀光譜儀使用PPT學(xué)習(xí)教案
- 急性腎盂腎炎護(hù)理查房
- 常用鋼材磁特性曲線
- 淺談地鐵通信系統(tǒng)漏纜施工
- 安全工器具試驗(yàn)標(biāo)準(zhǔn)及周期表
- 機(jī)器人學(xué)_機(jī)器人雅可比矩陣
- 家長(zhǎng)會(huì)邀請(qǐng)函模板
- 空調(diào)工程評(píng)標(biāo)辦法
- 血液透析血標(biāo)本采集
評(píng)論
0/150
提交評(píng)論