<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的高速大容量FLASH存儲

          基于FPGA的高速大容量FLASH存儲

          作者: 時間:2009-08-10 來源:網(wǎng)絡 收藏

          1、引言
          數(shù)字電路應用越來越廣泛,傳統(tǒng)通用的數(shù)字集成芯片已經(jīng)難以滿足系統(tǒng)的功能要求,隨著系統(tǒng)復雜程度的提高,所需通用集成電路的數(shù)量呈爆炸性增值,使得電路的體積膨大,可靠性難以保證 [1]。因而出現(xiàn)了現(xiàn)場可編程門陣列 ()和復雜可編程邏輯器件 (CPLD)。在我國 20世紀 90年代以前,測試系統(tǒng)采用磁帶記錄,效率和安全保障性不高;隨之出現(xiàn)的是遙測技術,但在傳輸數(shù)據(jù)的過程中會出現(xiàn)誤差;接著是靜態(tài)器,它讀、寫方便,但是的數(shù)據(jù)會因為斷電而丟失,所以,不利于數(shù)據(jù)長時間保存;目前,閃存的問世,NOR和 NAND是現(xiàn)在市場上兩種主要的非易失閃存技術,它有容量大、體積小、可靠性高等優(yōu)點,測試系統(tǒng)會逐步向這個方向發(fā)展。

          本文引用地址:http://www.ex-cimer.com/article/152391.htm

          2、設計思想

          2.1核心芯片選擇
          (1)接受芯片選擇 MAX491
          此芯片為 RS-422/485擴展芯片,為 DIP14封裝。MAX491有兩個控制端,如果兩個控制端由微處理器的一個 I/O口控制,則總線,兩線制,半雙工工作。如果兩個控制端單獨控制,則總線為 RS-422總線,四線制,全雙工工作。 MAX491采用+5V電源供電,當供電電流僅有 500uA時,傳輸速率卻能達到 2.5Mbits/s。它的內部有一個傳輸線驅動器和一個傳輸線接收器,因此可以采用全雙工工作。
          (2)采用Spartan-II系列Xc2s100
          Spartan-II系列Xc2s100有著豐富的觸發(fā)器和 LUT(Look-Up-Table),非常適合復雜時序邏輯的設計。采用SAMSUNG公司的 NAND芯片K9F8G08,接口寬度 8位。每個芯片含8192個數(shù)據(jù)塊,一個塊分為64頁,每頁大小為 (2K+64)Bytes,其中64Bytes為空閑區(qū),存儲容量為8Gbit。它以頁為單位進行讀寫,以塊為單位擦除、命令、數(shù)據(jù)、地址共用同一總線,具有硬件數(shù)據(jù)保護功能。
          2.2 MAX491設計時需要注意的問題
          (1)RS-422傳輸線上匹配的一些說明:理論上,在每個接收數(shù)據(jù)信號的中點進行采樣時,只要反射信號在開始采樣時衰減到足夠低就可以不考慮匹配。但這在實際上難以掌握,美國 MAXIM公司有篇文章提到一條經(jīng)驗性的原則可以用來判斷在什么樣的數(shù)據(jù)速率和電纜長度時需要進行匹配:當信號的轉換時間(上升或下降時間)超過電信號沿總線單向傳輸所需時間的 3倍以上時就可以不加匹配。
          一般終端匹配采用終接電阻方法,RS-422在總線電纜的遠端并接電阻,終接電阻一般在 RS-422網(wǎng)絡中取 100Ω,這種匹配方法簡單有效,但有一個缺點,匹配電阻要消耗較大功率,對于功耗限制比較嚴格的系統(tǒng)不太適合;
          另外一種比較省電的匹配方式是 RC匹配;
          還有一種采用二極管的匹配方法。
          (2)RS-422的接地問題

          RS-422傳輸網(wǎng)絡的接地是很重要的,因為接地系統(tǒng)不合理會影響整個網(wǎng)絡的穩(wěn)定性,尤其是在工作環(huán)境比較惡劣和傳輸距離較遠的情況下,對于接地的要求更為嚴格。 RS-422盡管采用差分平衡傳輸方式,但對整個 RS-422網(wǎng)絡,必須有一條低阻的信號地。一條低阻的信號地將兩個接口的工作地連接起來,使共模干擾電壓 VGPD被短路。這條信號地可以是額外的一條線(非屏蔽雙絞線),或者是屏蔽雙絞線的屏蔽層。這是最通常的接地方法。
          (3)RS-422的網(wǎng)絡失效保護
          RS-422標準都規(guī)定了接收器門限為± 200mV。這樣規(guī)定能夠提供比較高的噪聲抑制能力,當接收器 A電平比B電平高+200mV以上時,輸出為正邏輯,反之,則輸出為負邏輯。但由于第三態(tài)的存在,即在主機在發(fā)端發(fā)完一個信息數(shù)據(jù)后,將總線置于第三態(tài),這帶來了一個問題:接收器輸出狀態(tài)不確定。如果接收機的輸出為 0V,網(wǎng)絡中從機將把其解釋為一個新的啟動位,并試圖讀取后續(xù)字節(jié),由于永遠不會有停止位,產(chǎn)生一個幀錯誤結果,不再有設備請求總線,網(wǎng)絡陷于癱瘓狀態(tài)。除上述所述的總線空閑會造成兩線電壓差低于 200mV的情況外,開路或短路時也會出現(xiàn)這種情況。故應采取一定的措施避免接收器處于不確定狀態(tài)。
          (4)RS-422的瞬態(tài)保護
          由于傳輸線對高頻信號而言就是相當于電感,因此對于高頻瞬態(tài)干擾,接地線實際等同于開路。這樣的瞬態(tài)干擾雖然持續(xù)時間短暫,但可能會有成百上千伏的電壓。實際應用環(huán)境下還是存在高頻瞬態(tài)干擾的可能。一般在切換大功率感性負載如電機、變壓器、繼電器等或閃電過程中都會產(chǎn)生幅度很高的瞬態(tài)干擾,如果不加以適當防護就會損壞 RS-422通信接口,對于這種瞬態(tài)干擾可以采用隔離或旁路的方法加以防護。方法有隔離保護方法和旁路保護方法。
          2.3 內部編程設計
          采用MAX491串行接收實時數(shù)據(jù),并通過 Xc2s100串行數(shù)據(jù)轉換為并行數(shù)據(jù),并控制存儲到中,在這個過程中,最關鍵的是對 Spartan-II系列Xc2s100內部編程,內部模塊包括異步串行通信模塊和控制FLASH存儲、讀數(shù)和擦除模塊[2]。
          (1)異步串行通信模塊[3](如圖2) UART 發(fā)送模塊(如圖 2中的 send) 發(fā)送器每隔 16個 CLK16時鐘周期輸出 1位,次序遵循 1位起始位、 8位數(shù)據(jù)位(假定數(shù)據(jù)位為 8位)、1位校驗位(可選)、 1位停止位;
          何時通過 UART發(fā)送數(shù)據(jù)由 CPU控制,也就是說 CPU要接受數(shù)據(jù)必須判斷當前是否可寫,如果不判這個條件,接受的數(shù)據(jù)會出錯。
          數(shù)據(jù)的發(fā)送是由微處理器控制,微處理器給出信號,發(fā)送模塊根據(jù)此信號將并行

          數(shù)據(jù) din[7..0]通過移位寄存器轉換為串行數(shù)據(jù)至串行數(shù)據(jù)輸出端 Txd。 UART 接收模塊(如圖2中的receive)
          串行數(shù)據(jù)幀和接收時鐘是異步的,發(fā)送來的數(shù)據(jù)由邏輯 1’變?yōu)檫壿嫛?0’可以視為一個數(shù)據(jù)幀的開始。
          接收器先要捕捉起始位,確定 rxd輸入由 1到0,邏輯 0需要8個CLK16時鐘周期,才是正常的起始位,然后在每隔 16個CLK16時鐘周期采樣接收數(shù)據(jù)(也可以為其它數(shù)),將串行數(shù)據(jù) din通過移位寄存器發(fā)送串行數(shù)據(jù)至并行數(shù)據(jù)輸出端 dout[7..0],放入存儲器件。在數(shù)據(jù)發(fā)送過程中用輸出信號 fifowr作為標志信號,當一幀數(shù)據(jù)發(fā)送完畢時,fifowr信號為0,通知CPU在下個時鐘裝入新數(shù)據(jù)。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();