資源描述:
《雙口RAM應用實例.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、雙端口RAM在高速數(shù)據(jù)采集中的應用利用傳統(tǒng)方法設計的高速數(shù)據(jù)采集系統(tǒng)由于集成度低、電路復雜,高速運行電路干擾大,電路可靠性低,難以滿足高速數(shù)據(jù)采集工作的要求。應用FPGA可以把數(shù)據(jù)采集電路中的數(shù)據(jù)緩存、控制時序邏輯、地址譯碼、總線接口等電路全部集成進一片芯片中,高集成性增強了系統(tǒng)的穩(wěn)定性,為高速數(shù)據(jù)采集提供了理想的解決方案。下面以一個高速數(shù)據(jù)采集系統(tǒng)為例介紹雙端口RAM的應用。該系統(tǒng)要求實現(xiàn)對頻率為5MHz的信號進行采樣,系統(tǒng)的計算處理需要對信號進行波形分析,信號采樣時間為25μs。根據(jù)設計要求,為保證采樣波形不失真,A/D采樣頻率用80MHz,采樣精度為8位
2、數(shù)據(jù)寬度。計算得出存儲容量需要2K字節(jié)。其系統(tǒng)結構框圖如圖3所示,圖4給出了具體電路連接圖。根據(jù)設計要求,雙端口RAM的LPM_WIDTH參數(shù)設置為8,LPM_WIDTHAD參數(shù)設置為11(211=2048),使用讀寫使能端及讀寫時鐘。ADCLK、WRCLK和地址發(fā)生器的計數(shù)頻率為80MHz。A/D轉(zhuǎn)換值對雙端口RAM的寫時序為順序?qū)懛绞?,每完成一次A/D轉(zhuǎn)換,存儲一次數(shù)據(jù),地址加1指向下一單元,因此寫地址發(fā)生器(RAM_CONTROL)采用遞增計數(shù)器實現(xiàn),計數(shù)頻率與ADCLK、WRCLK一致以保證數(shù)據(jù)寫入時序的正確性。寫操作時序由地址和時鐘發(fā)生器、A/D轉(zhuǎn)換
3、時鐘和雙端口RAM的寫時鐘產(chǎn)生。停止采樣時AD_STOP有效,寫地址發(fā)生器停止計數(shù),同時停止對RAM的寫操作。將地址發(fā)生器的計數(shù)值接至DSP總線可以獲取采樣的首尾指針。地址發(fā)生器單元一般用(VHDL)語言編程實現(xiàn),然后生成符號文件RAM_CONTROL在上層文件調(diào)用。其部分VHDL語言程序如下:對雙端口RAM的讀操作采用存儲器映像方式,其讀出端口接DSP的外擴RAM總線,DSP可隨機讀取雙端口RAM的任一單元數(shù)據(jù),以方便波形分析。由于LPM_RAM_DP模塊的讀端數(shù)據(jù)總線q不具有三態(tài)特性,因此調(diào)用三態(tài)緩沖器74244,通過其將輸出數(shù)據(jù)連接到DSP數(shù)據(jù)總線上。在
4、高速數(shù)據(jù)采集電路中,數(shù)據(jù)緩存也可以用FIFO或單端口RAM實現(xiàn)。用FIFO進行數(shù)據(jù)緩存,由于其已經(jīng)把地址發(fā)生部分集成在模塊單元內(nèi),因此省去了一部分程序編寫,但是DSP卻不能任意地訪問FIFO的存儲單元,只能是順序?qū)懭耄x出數(shù)據(jù),這樣設計,系統(tǒng)的靈活性就大大降低。如果DSP的分析計算需要特定單元的數(shù)據(jù),則系統(tǒng)的效率和速度會因為無效數(shù)據(jù)的讀取而降低。使用單端口RAM進行數(shù)據(jù)緩存同樣存在一些問題。由RAM側看,DSP和A/D轉(zhuǎn)換器是掛在一條總線上的,當從RAM向DSP傳輸數(shù)據(jù)的時候,A/D轉(zhuǎn)換器就不能有數(shù)據(jù)傳到該總線上,否則會產(chǎn)生總線沖突,引起芯片損壞。解決這個問題
5、就需要增加電路。應用雙端口RAM就不存在這個問題,而且使系統(tǒng)結構劃分更明確,符合模塊化設計思想。結語綜上所述,利用FPGA芯片的高速工作特性,以及其內(nèi)部集成嵌入式陣列和大規(guī)模邏輯陣列的特點,設計存儲器,三態(tài)緩存器、地址發(fā)生器、以及復雜的時序邏輯電路等,應用于高速數(shù)據(jù)采集電路中可以使電路大大簡化,性能提高。同時由于FPGA可實現(xiàn)在系統(tǒng)編程(ISP),使系統(tǒng)具有可在線更新、升級容易等特點,是一種較為理想的系統(tǒng)及電路實現(xiàn)方法。在FPGA中構造存儲器????許多系列的FPGA芯片內(nèi)嵌了存儲陣列,如ALTERAEPlK50芯片內(nèi)嵌了5K字節(jié)的存儲陣列。因此,在FPGA中
6、實現(xiàn)各種存儲器,如單/雙端口RAM、單/雙端口ROM、先進先出存儲器FIFO等非常方便,而且具有諸多優(yōu)點。其硬件可編程的特點允許開發(fā)人員靈活設定存儲器數(shù)據(jù)的寬度、存儲器的大小、讀寫控制邏輯等,尤其適用于各種特殊存儲要求的場合。FPGA/FPGA器件可工作于百兆頻率以上,其構造的存儲器存取速度也可達百兆次/秒以上,這樣構成的高速存儲器能夠勝任存儲數(shù)據(jù)量不太大,但速度要求很高的工作場合。FPGA中構造存儲器主要有兩種方法實現(xiàn)。一是通過硬件描述語言如VHDL、AHDL、VerilogHDL等編程實現(xiàn)。二是調(diào)用MAX+PLUSⅡ自帶的庫函數(shù)實現(xiàn)。調(diào)用庫函數(shù)方法構造存儲
7、器較硬件描述語言輸入方式更為方便、靈活、快捷和可靠,故也更常用之。利用庫函數(shù)構造雙端口RAM????在MAX+PLUSⅡ中有幾個功能單元描述庫。prim邏輯元庫,包括基本邏輯單元電路,如與、或、非門,觸發(fā)器、輸入、輸出引腳等;mf宏功能庫,包括TTL數(shù)字邏輯單元如74系列芯片;而下文將要詳細介紹的參數(shù)化雙端口RAM模塊所在的參數(shù)化模塊庫(mega-lpm)中,包括各種參數(shù)化運算模塊(加、減、乘、除)、參數(shù)化存儲模塊(單、雙端口RAM、ROM、FIFO等)以及參數(shù)化計數(shù)器、比較器模塊等等。庫中的這些元件功能邏輯描述經(jīng)過了優(yōu)化驗證,是數(shù)字電路設計中的極好選擇。??
8、??mega-lpm庫中共有五種參數(shù)化