99在线精品免费视频九九视-99在线精品视频-99在线精品视频免费观里-99在线精品视频在线观看-99在线免费播放



官方論壇
官方淘寶
官方博客
微信公眾號(hào)
點(diǎn)擊聯(lián)系吳工 點(diǎn)擊聯(lián)系周老師
您的當(dāng)前位置:主頁(yè) > FPGA原創(chuàng) >

需要同時(shí)讀寫SDRAM的解決方法

發(fā)布時(shí)間:2019-12-13   作者:小黑同學(xué) 瀏覽量:


本文為明德?lián)P原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處!


       工程中使用過SDRAM的朋友就知道,SDRAM是無法實(shí)現(xiàn)同時(shí)讀寫的,今天就跟大家分享一下遇到需要同時(shí)讀寫的問題時(shí)如何解決。


一、SDRAM數(shù)據(jù)總線屬性

下圖為SDRAM的某一接口時(shí)序圖,我們可以看到,讀和寫占用的都是DQ這個(gè)數(shù)據(jù)總線,對(duì)于SDRAM來說,只有一根數(shù)據(jù)總線,那么當(dāng)我們需要用這根線讀取數(shù)據(jù)的時(shí)候,讀出來的數(shù)據(jù)占用了總線,這個(gè)時(shí)候是必然無法寫入數(shù)據(jù)的,同樣的在寫數(shù)據(jù)的時(shí)候也無法進(jìn)行讀數(shù)據(jù)的操作。


二、SDRAM同時(shí)讀寫需求

雖然SDRAM具有不可同時(shí)讀寫的屬性,但是在一些項(xiàng)目中需要寫入的數(shù)據(jù)和讀出的數(shù)據(jù)都是連續(xù)的。比如在邊緣檢測(cè)的工程中,攝像頭一直在傳出數(shù)據(jù),并且送到VGA的圖像數(shù)據(jù)也不能斷,這時(shí)我們既要將攝像頭傳出的數(shù)據(jù)寫到SDRAM,又要從SDRAM讀出數(shù)據(jù)并在VGA顯示。因此實(shí)際工程中時(shí)需要SDRAM同時(shí)實(shí)現(xiàn)讀數(shù)據(jù)和寫數(shù)據(jù)功能的。

前面我們也分析過SDRAM的接口時(shí)序圖,明確DQ總線只能進(jìn)行讀數(shù)據(jù)或者寫數(shù)據(jù),不能同時(shí)進(jìn)行讀寫數(shù)據(jù),那么如果遇到上述情況,就需要我們?cè)?span>SDRAM固有屬性的基礎(chǔ)上來解決問題。

三、“偽同時(shí)讀寫”的原理

既然SDRAM的屬性不變,那么我們可以在SDRAM時(shí)序前面加兩個(gè)FIFOSDRAM接口時(shí)序和SDRAM硬件之間由一根數(shù)據(jù)總線DQ相連,如下圖所示。

FIFO是在FPGA中比較常用的存儲(chǔ)器,FIFO寫入和讀出都由時(shí)鐘控制,而且可以用不同的時(shí)鐘,那么當(dāng)讀出的時(shí)鐘大于寫入時(shí)鐘的時(shí)候,我可以一直往里面寫,但是由于讀出的速率要快,那就不必要一直讀,FIFO的深度越深,我就可以等待越多的時(shí)間。

上圖結(jié)構(gòu)中,設(shè)置FIFO左邊時(shí)鐘是25M,右邊時(shí)鐘為100M。寫命令和寫數(shù)據(jù)先保存到FIFO1中,讀命令保存到FIFO2中,在SDRAM接口時(shí)序里面,會(huì)判斷FIFO1FIFO2中誰有數(shù)據(jù),誰有數(shù)據(jù)就執(zhí)行哪個(gè)命令;如果都同時(shí)有數(shù)據(jù),那工程師可以決定一個(gè)優(yōu)先級(jí),選擇其中一個(gè)命令執(zhí)行。而沒有選中的命令,則保留到FIFO中緩存,等候被選中執(zhí)行。

簡(jiǎn)單來講就是數(shù)據(jù)都暫時(shí)的存在FIFO中,FIFO左邊和右邊的工作時(shí)鐘不同,同樣一組數(shù)據(jù),如果左邊讀寫數(shù)據(jù)都需要一個(gè)時(shí)鐘,那么右邊讀寫數(shù)據(jù)就需要四倍時(shí)鐘即四個(gè)時(shí)鐘。這樣一來,看FIFO右側(cè)的接口,永遠(yuǎn)都是要不就是寫,要不就是讀,DQ不會(huì)被讀寫同時(shí)使用(也就是讀寫不同時(shí))。而在左側(cè)的接口看來,寫命令和讀命令是可以同時(shí)有效的(也就是讀寫同時(shí))。

有的朋友會(huì)講,這種方法并不是真正的同時(shí)讀寫呀。其實(shí),能不能同時(shí)讀寫,是在不同的時(shí)間精度來看待的。例如右側(cè)的接口,在某一個(gè)時(shí)鐘沿看來,其狀態(tài)不是讀就是寫,無法實(shí)現(xiàn)讀寫同時(shí);但如果把時(shí)間拉長(zhǎng),例如在1秒的時(shí)間內(nèi)來看,在這一秒鐘內(nèi)既有讀數(shù)據(jù)狀態(tài),又有寫數(shù)據(jù),就會(huì)令我們感覺到它是可以同時(shí)讀和寫的。將這樣一個(gè)結(jié)構(gòu)當(dāng)作一個(gè)整體來看,可以認(rèn)為實(shí)現(xiàn)了SDRAM的同時(shí)讀寫,我們將其稱之為“偽同時(shí)讀寫”。

其實(shí)這種“偽同時(shí)讀寫”我們還是經(jīng)常會(huì)遇到的。例如電腦CPU,眾所周知,它是串行執(zhí)行指令的,一次只能處理一個(gè)指令。但我們?cè)谑褂秒娔X時(shí),可以感覺到QQ、瀏覽器和電影是同時(shí)工作的,這也就是時(shí)間精度的問題。


四、現(xiàn)實(shí)案例

學(xué)會(huì)了利用FIFO的存儲(chǔ)特點(diǎn)來實(shí)現(xiàn)“偽同時(shí)讀寫”,我們也就解決了最開始提到的SDRAM在邊緣檢測(cè)中實(shí)現(xiàn)同時(shí)讀寫的問題。我們?cè)趯憘?cè)接收的像素?cái)?shù)據(jù)在25M時(shí)鐘域的,在FIFO1的讀側(cè)是100M的時(shí)鐘域,讀寫速率相差4倍,當(dāng)FIFO緩存一定量的數(shù)據(jù)之后,就讀出來寫到SDRAM中,寫完之后,就可以利用FIFO1讀寫的時(shí)間差,來將SDRAM中的數(shù)據(jù)讀出,然后再放到一個(gè)寫側(cè)時(shí)鐘100M,讀側(cè)時(shí)鐘25MFIFO2中,就可以保證FIFO2一直有數(shù)據(jù)讀出,而FIFO1又一直有數(shù)據(jù)寫入。這樣以來就實(shí)現(xiàn)了攝像頭一直采集數(shù)據(jù)并且一直有數(shù)據(jù)傳輸?shù)?span>VGA。


以上就是通過FIFO實(shí)現(xiàn)SDEAM同時(shí)讀寫的解決方案,更多關(guān)于FPGA的歡迎加Q:1817866119N老師)進(jìn)行交流討論!

  •   
  •   
  •   
  •  
  • FPGA教育領(lǐng)域第一品牌
  • 咨詢熱線:020-39002701
  • 技術(shù)交流Q群:544453837
主站蜘蛛池模板: 天天久久综合网站 | 日本免费视频kkk4444 | 午夜国产福利视频一区 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 亚洲色图日韩精品 | 久久免费视频在线 | 可以在线观看的黄色网址 | 欧美国产亚洲精品a第一页 欧美国产亚洲一区 | 亚洲一区亚洲二区亚洲三区 | 大学生一级一片第一次欧美 | 91老司机免费精品观看 | 伊人啪啪| 黄色在线资源 | 麻豆果冻传媒精品二三区 | 免费毛片观看 | 国产成人一区二区精品非洲 | 福利一区视频 | 欧美成人手机在线视频 | 欧美黄色成人 | aaaaa毛片| 伊人久久国产 | 免费观看大片毛片 | 高h文bl | 最刺激黄a大片免费观看下截 | 国产免费变态视频网址网站 | 国产精品冒白浆免费视频 | 国产精品福利片免费看 | 亚洲精品第一页中文字幕 | 大尺度做爰床戏呻吟免费观看91 | 麻豆传煤入口1.5 | 亚洲国产精品综合久久20 | 亚洲国产欧美日韩一区二区 | 成人毛片免费 | 邪恶亚洲 | 91精品国产91久久久久福利 | 一级做a爰片久久毛片毛片 一级做a爰片久久毛片免费 | 免费精品一区二区三区在线观看 | 综合色亚洲 | 日韩精品中文字幕视频一区 | 国产日本韩国不卡在线视频 | 免费观看黄色毛片 |