[發明專利]一種四通道大容量波形存儲系統及其構建方法有效
| 申請號: | 201310601801.9 | 申請日: | 2013-11-25 |
| 公開(公告)號: | CN103605309A | 公開(公告)日: | 2014-02-26 |
| 發明(設計)人: | 張玉璽;麥超云;楊彬;樊文貴;王俊 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G05B19/042 | 分類號: | G05B19/042;G11B20/02;G01R13/02 |
| 代理公司: | 北京慧泉知識產權代理有限公司 11232 | 代理人: | 王順榮;唐愛華 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通道 容量 波形 存儲系統 及其 構建 方法 | ||
1.一種四通道大容量波形存儲系統,其特征在于:它包括:FPGA核心芯片、FPGA核心芯片最小外圍電路、ADC采樣芯片、Flash陣列、網口電路和電源芯片;電源芯片中的9A、9B、9C、9D將5V電源電壓分別轉換為3.3V、1.8V、1.0V、2.5V電壓供給其它模塊使用,其中FPGA核心芯片需要用到1.0V核電壓和3.3V、1.8V、2.5V的管腳電壓,程序加載Flash需要用3.3V電壓與1.8V電壓,Flash陣列需要3.3V、1.8V、2.5V電壓,ADC采樣芯片需要3.3V電壓,網卡芯片需要1.0V、2.5V電壓;正常上電后FPGA核心芯片控制4路ADC采樣芯片從外部輸入接口采集波形數據,并將數據傳輸至Flash陣列;存儲結束后,FPGA核心芯片控制網口電路并將Flash陣列中的數據通過網口傳輸至上位機;所有控制指令均由上位機通過網絡接口傳輸至FPGA核心芯片;
該FPGA核心芯片是:Virtex-5XC5VLX330T,它為核心處理器,其功能是為整個系統實現數字邏輯功能;其邏輯資源情況如下:207360個邏輯單元;324個存儲單元;960個IO管腳;12個時鐘管理單元,滿足較復雜數字邏輯電路設計要求;實現包括控制ADC芯片、Flash陣列、網口芯片正常工作的功能,該FPGA核心芯片由電源芯片提供1.0V核心電壓和2.5V、3.3V、1.8V管腳電壓;
該FPGA核心芯片最小外圍電路是:由FPGA核心芯片、時鐘源和程序加載Flash組成,時鐘源為FPGA核心芯片提供正常工作所需的時鐘信號;由于FPGA核心芯片是在斷電之后程序自動被清除的,所以必須將程序代碼固化到一個程序加載Flash中,每次上電后,程序加載Flash中的程序自動加載到FPGA核心芯片中以使其正常工作;由于FPGA核心芯片每次上電都要重新加載一次程序,所以要將程序代碼固化到程序加載Flash陣列中;該FPGA核心芯片最小外圍電路保證FPGA核心芯片正常工作并實現基本的數字邏輯功能;
該ADC采樣芯片是:ADS5463,負責對外部信號進行低通采樣,即把模擬信號轉換為數字信號,ADC采樣芯片將采樣得到的數字信號直接傳送給FPGA核心芯片,再由FPGA核心芯片經過乒乓、拼位處理傳輸至Flash陣列;4片ADC采樣芯片ADS5463,實現4路AD同時采集,每一片ADC采樣芯片由電源芯片提供3.3V電壓;
該Flash陣列是:單元為MT29F32G08AECBB芯片,一片的容量為4Gbytes,由8片MT29F32G08AECBB組成一個陣列,一共有4個Flash陣列,即32片MT29F32G08AECBB芯片,共4*32Gbytes=128Gbytes存儲空間,其功能為存儲從FPGA核心芯片傳送過來的波形數據,并掉電保存;其中每一組Flash陣列對應一路AD,即每一路AD最大存儲容量為32Gbytes,當存儲空間滿時根據需求覆蓋或停止存儲,Flash陣列每片芯片由電源芯片提供1.8V電壓和2.5V電壓;
該網口電路是:以88E1111網卡芯片為核心組成,它實現網絡數據包的轉換;88E1111由FPGA核心芯片通過GMII接口控制,由電源芯片提供1.0V電壓和2.5V電壓,其功能為實現FPGA核心芯片與上層PC端通過千兆網口連接,達到上傳波形數據和下發命令目的;
該電源芯片是LM1085和LM1117,它們提供整個系統工作所需的電壓;外界給系統輸入﹢5V的電壓,通過電源芯片將﹢5V的電壓轉換成系統所需要的﹢3.3V、﹢1.8V、﹢1.5V,來分別提供給FPGA核心芯片、程序加載Flash、時鐘提供源、ADC采樣芯片、Flash陣列和網口芯片。
2.一種四通道大容量波形存儲系統的構建方法:該方法包括下述幾個步驟:
步驟一:FPGA核心芯片對Flash陣列進行讀取操作,記錄Flash陣列壞塊地址;
平均每一片Flash陣列芯片會有1-2個壞塊,Flash陣列壞塊的特點是無法對這一地址進行讀取或寫入操作,無論用寫入邏輯寫進去什么數據,用讀取邏輯都只能讀到全“0”;壞塊的存在會影響正常數據的讀寫,因此要提前將壞塊的數目和地址找出來并記錄;查找壞塊的方法是:上電后,用擦寫邏輯將Flash陣列所有塊地址都擦寫一遍,擦除后的Flash陣列數據應全為“1”,再用讀取邏輯按地址順序逐個讀取;假如沒有壞塊,則全部讀取到的數據均為“1”;將讀取到不為全“1”的地址記錄下來保存到Flash陣列的其他地方,作為壞塊地址;壞塊地址作為一個集合,此后進行讀寫操作時均跳過該集合中的所有地址;
步驟二:FPGA核心芯片對Flash陣列進行讀取/寫入操作,查找/記錄最新位置;
查找最新位置的作用是上電時檢測上次掉電寫到哪一個地址,然后數據輸入時即從下一個地址開始寫入數據,查找最新位置的方法是按塊地址搜索;
每次上電后正常工作,進入寫Flash陣列數據狀態時,對Flash陣列塊地址進行操作,寫入數據是以塊地址作為最小單位的,所使用的Flash陣列芯片MT29F32G08AECBB,每個芯片的大小為4G字節,一共有4×2048=8192個塊地址,每個塊地址對應512k字節容量;在寫入數據時,將每一塊塊頭的前16位容量,不寫入波形數據,而寫入編號信息,稱為“頭信息”;如第一次上電后記錄波形時,頭信息記為十六進制“FFFE”;第二次上電時,頭信息記為十六進制的“FFFD”,如此類推;
下一次上電時,首先按塊地址遞增的順序讀取頭信息,若后一個地址的頭信息比前一個地址的頭信息小,如“FFFD”小于“FFFE”,即數據并非最新,繼續讀取頭信息;若后一個地址的頭信息比前一個地址的頭信息大,如“FFFF”大于“FFFD”,則第一次出現“FFFF”的那個地址就是最新位置,原因是擦除后沒寫過數據的地址的數據均為“1”;利用這種方法,找出最新位置,并從最新位置開始寫下一次數據;
FPGA核心芯片控制Flash陣列實現查找最新位置的流程如下所示:
a.上電啟動系統硬件;
b.讀取塊地址頭信息并判斷;
c.判斷后一地址的塊頭信息是否比前一地址的塊頭信息小;
d.若后一地址的塊地址頭信息比前一地址的塊地址頭信息小,則地址加“1”后繼續讀取下一地址的頭信息;
e.若后一地址的塊地址頭信息比前一地址的塊地址頭信息大,則此地址為最新位置,從改位置開始進行寫入操作;
上電工作前,Flash陣列中要提前存有壞塊地址,往后的讀寫操作包括查找最新位置等當操作地址與壞塊地址相等時要跳過,否則系統不能正常工作;上電工作,先查找最新位置,確定本次上電從哪一個地址開始記錄數據,查找最新位置結束后,系統處于Idle狀態,Idle狀態時等待兩種命令,分別對應于記錄數據狀態和讀取數據狀態;
步驟三:FPGA核心芯片控制4路AD,每一路ADC采樣芯片以100M時鐘對外部信號進行低通采樣;
采集到的數據按16位高位在前低位在后的格式存儲至Flash陣列,存儲過程考慮到了數據的連續性應用了乒乓原理,即第1路AD后級連接的是RamA和RamB,一開始AD的數放進RamA,當RamA放滿了以后切換到RamB,這時候FPGA核心芯片從RamA讀取剛采集到的數并存儲至Flash陣列,當RamB滿了以后又切換為RamA,如此類推,保證了采集數據的連續性;第2、3、4路AD跟第1路AD一樣也采取乒乓原理,Flash陣列保存的波形數據,即使掉電也能保存,FPGA核心芯片中編寫讀取波形邏輯,讀取的波形數據通過網口傳輸至PC機進行下一步處理;
步驟四:FPGA核心芯片通過GMII接口控制88E1111網卡芯片,系統通過網口與PC機相連;
步驟五:FPGA核心芯片控制波形數據通過網口傳輸至PC端并使用軟件復現波形;
PC端界面主要有兩方面的功能,一是用于與FPGA硬件進行通信,發送命令以及從中獲取狀態信息和數據信息,二是用于將獲取的數據用于波形復現,并實現檢索波形功能;大容量存儲器設備與PC端通過千兆網絡接口連接,利用PC端控制軟件將測試數據導出,并存儲于測控計算機上,便于數據分析;PC端控制端口與界面將波形數據復現,并進行相關操作對波形數據進行分析;
步驟六:對FPGA核心芯片內部資源進行優化,包括區域約束與時序約束;
區域約束的主要思想是將寄存器等資源規劃到某一個區域中;當沒有使用區域約束時,即為自動布局的時候,由于資源分布離散,導致從Ram讀出來的數據有誤,從波形上來看就是波形失真;這種問題導致的波形失真甚至不容易被發現,兩個工程的VHDL文件相同,只有UCF文件添加了約束語句;
步驟七:當進行時序修改時,為保證不影響其它模塊的功能,需要將各模塊進行固定布局操作;
利用planAhead進行固定布局操作,假設在調試過程中系統的網口模塊已經調試完善,而Flash模塊和AD模塊仍需要修改,考慮到這兩個模塊修改后整體的布局布線影響到網口模塊,需要對網口模塊的布局固定,確保其每次綜合布局布線結果都一樣;
使用PlanAhead進行固定布局的具體操作,關鍵是對網口模塊歸類為一個pblock,然后再PlanAhead中對該pblock點擊右鍵,選擇Fix?Instances,這樣網口模塊的布局信息就會以代碼形式保存于.ucf中,下次再進行綜合時則會優先考慮到該布局信息,優先將對應資源分配給網口模塊,這樣保證每次修改其它模塊時也不會影響網口模塊的布局。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310601801.9/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種實時在線能源監控管理系統與能源管理優化方法
- 下一篇:一種改良的碳粉筒





