采用FPGA的高速數(shù)據(jù)采集系統(tǒng)
本文引用地址:http://m.butianyuan.cn/article/192095.htm
2 高速大容量存儲(chǔ)的實(shí)現(xiàn)
2.1 FPGA與高速存儲(chǔ)器接口的實(shí)現(xiàn)
高速數(shù)據(jù)采集一般都需要大容量的存儲(chǔ),從而更能完整的記錄所需要的數(shù)據(jù),捕捉突發(fā)信號(hào)的能力也更強(qiáng)。傳統(tǒng)的數(shù)據(jù)采集由于速度低,容量小,一般都采用SRAM,SRAM的特點(diǎn)是控制相對(duì)簡(jiǎn)單。但隨著高速數(shù)據(jù)采集的發(fā)展,SRAM無論在速度上還是容量上都越來越無法滿足人們的需要。SDRAM由于具有速度高,存儲(chǔ)容量大,價(jià)格便宜等優(yōu)點(diǎn),越來越多的被應(yīng)用于高速數(shù)據(jù)采集的場(chǎng)合。SDRAM即同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。同步指的是時(shí)鐘頻率與系統(tǒng)時(shí)鐘頻率相同并且內(nèi)部的命令的發(fā)送與傳輸都以它為基準(zhǔn);動(dòng)態(tài)是指存儲(chǔ)陣列需要不斷的刷新來保證數(shù)據(jù)的不丟失;隨機(jī)是指數(shù)據(jù)不是線性依次的存儲(chǔ),而是指定地址進(jìn)行數(shù)據(jù)的讀寫。由此可見SDRAM的速度能達(dá)到很高,但SDRAM的缺點(diǎn)是控制起來相對(duì)麻煩,由于本身設(shè)計(jì)上的一些特點(diǎn),它需要不斷刷新,預(yù)充電等操作,因此讓使用者感到非常麻煩。
本設(shè)計(jì)介紹了一種基于ALTERA公司的SOPC系統(tǒng)來實(shí)現(xiàn)SDRAM存儲(chǔ)的方法,SOPC的全名是即片上可編程系統(tǒng),或者說是基于大規(guī)模的FPGA的單片系統(tǒng)。簡(jiǎn)單來講,在一片FPGA上,只要資源足夠,用戶可以根據(jù)自己的需要構(gòu)建自己的CPU或者外設(shè),ALTERA公司給用戶提供了豐富的外設(shè),包括串口,PIO,定時(shí)器,F(xiàn)LASH控制器,SDRAM控制器,網(wǎng)絡(luò)接口等。這些外設(shè)都是ALTERA公司自己用硬件描述語言實(shí)現(xiàn)的IP核,性能好,通用性高,用戶只需要打開SOPC這個(gè)選項(xiàng),然后在里邊挑選自己需要的外設(shè)就可以。因此,本設(shè)計(jì)利用SOPC建立一個(gè)SDRAM控制器,本設(shè)計(jì)用的SDRAM是HYNIX公司的HY57V641620,這是一款具有64MBIT容量16位寬的SDRAM,最高工作時(shí)鐘可達(dá)200M。因?yàn)槊總€(gè)廠家的不同型號(hào)的SDRAM在參數(shù)上會(huì)有相應(yīng)的差異,因此ALTERA的公司的SDRAM控制器給用戶提供了簡(jiǎn)單易行的使用方法,用戶在創(chuàng)建的時(shí)候只需要在相應(yīng)參數(shù)的位置按照自己使用的SDRAM的具體參數(shù)修改即可。比如預(yù)充電,刷新周期,潛伏期這些參數(shù)要按照使用的型號(hào)進(jìn)行修改,否則可能會(huì)造成數(shù)據(jù)的傳輸錯(cuò)誤或其他的問題。
為了讓SDRAM控制器以及其他外設(shè)的IP核在使用起來更加方便,ALTERA公司又推出了AVALON總線,這種總線是一種相對(duì)簡(jiǎn)單的總線結(jié)構(gòu),主要用于連接外設(shè)與處理器,與外設(shè)一起組成一個(gè)控制器,方便外部處理器的使用,協(xié)議簡(jiǎn)單,占用邏輯單元少,同步操作,集成度更高,避免了復(fù)雜的時(shí)序分析問題。
本設(shè)計(jì)建立了一個(gè)SDRAM與AVALON總線的結(jié)合體,如圖3所示。右下端是SDRAM的控制引腳,用戶只需要把這些引腳與使用的sDRAM的相應(yīng)引腳逐個(gè)相連即可,中間的部分就是AVALON總線的輸出輸入端,用戶只需要對(duì)AVALON端的地址,數(shù)據(jù)線上操作,AVALON總線便會(huì)完成對(duì)SDRAM的操作,可見使用起來比較方便。WAIT端的信號(hào)會(huì)告知用戶SDRAM在忙還是空閑狀態(tài),當(dāng)WAIT為高的時(shí)候,用戶不能對(duì)AVA―LON操作,否則操作也是無效,當(dāng)WAIT為低,用戶才可以。最上邊的CLK信號(hào)是這個(gè)SDRAM控制器的同步時(shí)鐘,這個(gè)時(shí)鐘需要與SDRAM的輸入時(shí)鐘一樣大,而且SDRAM的控制時(shí)鐘與這個(gè)時(shí)鐘最好用FPGA內(nèi)部鎖相環(huán)的2個(gè)輸出來控制,本設(shè)計(jì)用的EP2C5Q208的同一個(gè)鎖相環(huán)有C0、Cl、C2三個(gè)輸出,C2用于外部管教輸出,本設(shè)計(jì)把C2連到SDRAM的時(shí)鐘輸入端,CO在FPGA內(nèi)部連到此SDRAM控制器的CLK端,因?yàn)榇鎯?chǔ)器想工作的可靠,數(shù)據(jù)準(zhǔn)確就需要滿足存儲(chǔ)器的建立時(shí)間和保持時(shí)間,而無論是FPGA內(nèi)部還是線路板都會(huì)對(duì)SDRAM的普通引腳和時(shí)鐘腳之間的相位產(chǎn)生影響,因此需要對(duì)FPGA內(nèi)部進(jìn)行仿真,線路板仿真,得出他們之間的相差,然后調(diào)節(jié)CO與C2之間在鎖相環(huán)里的相差,從而進(jìn)行補(bǔ)償,本設(shè)計(jì)中C2一C0=60°。
評(píng)論