www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于FPGA的高速大容量FLASH存儲

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

 2、設(shè)計思想
 
 500)this.style.width=500;" border="0" />

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

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

500)this.style.width=500;" border="0" />

[!--empirenews.page--]
(2) FLASH存儲、讀數(shù)和擦除模塊(如圖 3) FLASH在寫數(shù)據(jù)、讀數(shù)據(jù)和擦除時 [4],編寫控制FLASH的程序,要按照如下規(guī)則:
頁編程:器件的編程以頁為單位,但在一個頁編程周期中允許對部分頁(一個或連續(xù)的多個字節(jié))編程。一個頁編程周期由串行數(shù)據(jù)加載階段和緊隨的編程階段組成。在數(shù)據(jù)加載階段,數(shù)據(jù)被加載到數(shù)據(jù)寄存器中 ;在編程階段,已加載的數(shù)據(jù)寫入實際的存儲單元,編程典型時間為200µs。
頁讀:器件在上電時,就被初始化為讀模式,此時可以不寫 00h命令,直接寫入地址和30h命令即可。有兩種類型的讀,分別是隨機讀和順序頁讀。由于設(shè)計存儲時
是基于整個頁操作,所以讀命令使用順序頁讀。命令打入后經(jīng)過最多20µs的時間,數(shù)據(jù)則會從選擇的頁傳到數(shù)據(jù)寄存器中。
塊擦除:器件的擦除操作是以塊為單位的。塊地址加載由擦除建立命令 60h啟動,然后輸入確認命令D0h,執(zhí)行內(nèi)部擦除過程。這一先建立再執(zhí)行的兩步命令時序,確保了存儲內(nèi)容不會由外部的干擾而意外擦除,擦除時間典型值為1.5ms。

500)this.style.width=500;" border="0" />


 3、系統(tǒng)調(diào)試
電路通過模擬接受一組實時串行數(shù)據(jù),經(jīng)過 FPGA串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),并且存儲到 FLASH;再與主機通信讀回存儲在 FLASH中的數(shù)據(jù) [5]。它已經(jīng)可以穩(wěn)定的工作在 180Mbytes/s的存儲速度,滿足了所需的機載實驗要求。 USB芯片工作在從方式 (Slave FIFO模式),由FPGA控制芯片的讀寫,同步傳輸數(shù)據(jù)。實測中通過 USB回放數(shù)據(jù)的速度為 15Mbytes/s。 4、結(jié)論
本文設(shè)計了基于 FPGA和FLASH存儲測試系統(tǒng),使 FPGA與FLASH各自的優(yōu)點得到了有效的發(fā)揮:本文作者創(chuàng)新點: RS-422電平傳輸串行數(shù)據(jù),通過 FPGA串行數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù)存儲到高速大容量的 FLASH的存儲系統(tǒng)的具體設(shè)計和實施,在保證系統(tǒng)工作性能的情況下簡化了系統(tǒng)設(shè)計,并驗證了系統(tǒng)設(shè)計方案的正確性和可行性,為進一步工程化實現(xiàn)打下了良好的基礎(chǔ),具有一定的工程應(yīng)用價值。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

我們知道 Flash 讀時序里有五大子序列 CMD + ADDR + MODE + DUMMY + READ,前面的文章中痞子衡講過《串行NOR Flash的Continuous read模式》,Continuous r...

關(guān)鍵字: CMD ADDR Flash

最近為什么越來越多的研究開始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來什么神奇效果呢?原來,F(xiàn)PGA擁有大量的可編程邏輯資源,相對于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點,是GPU無法比擬的;同時...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

強大的產(chǎn)品可降低信號噪音并提高分辨率與動態(tài)

關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA

最近某項目采用以太網(wǎng)通信,實踐起來有些奇怪,好像設(shè)計成只能應(yīng)答某類計算機的ICMP(ping)命令, 某類計算機指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識別。

關(guān)鍵字: 嵌入式Linux FPGA 協(xié)議

近兩年,國外廠商的FPGA芯片價格飆升,由于價格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風險,用一片少一片,了解到國產(chǎn)FPGA發(fā)展的也不錯,完全自...

關(guān)鍵字: FPGA 芯片 EDA

Flash Memory 是一種非易失性的存儲器。在嵌入式系統(tǒng)中通常用于存放系統(tǒng)、應(yīng)用和數(shù)據(jù)等。在 PC 系統(tǒng)中,則主要用在固態(tài)硬盤以及主板 BIOS 中。

關(guān)鍵字: Flash 存儲器 嵌入式系統(tǒng)

本篇是FPGA之旅設(shè)計的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對溫濕度傳感器DHT11進行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...

關(guān)鍵字: FPGA DS18B20溫度傳感器

這是FPGA之旅設(shè)計的第十三例啦,本例是一個綜合性的例程,基于OLED屏幕顯示,和DHT11溫濕度采集,將DHT11采集到的溫濕度顯示到OLED屏幕上。

關(guān)鍵字: FPGA OLED屏幕

第八例啦,本例將介紹如何通過FPGA采集DS18B20傳感器的溫度值。

關(guān)鍵字: FPGA DS18B20傳感器

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉