<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 適應多種時(shí)序的DMA控制器設計

適應多種時(shí)序的DMA控制器設計

作者: 時(shí)間:2012-03-14 來(lái)源:網(wǎng)絡(luò ) 收藏
入了多少個(gè)字節的數據;

  dam_cnt表示在本次多block操作中,SD卡存儲器中讀出數據的字節數(讀模式)或寫(xiě)入存儲器中的數據字節數(DMA寫(xiě)模式)。

  顯然,在該圖像協(xié)處理器中,每個(gè)CMD18和CMD25完成之后,dam_in_cnt和dma_cnt都將與dma_num相等,且均為5 120。

2.2.1 multiple block write

  如前所述,每次multiple block write要向卡寫(xiě)入10個(gè)block數據,即10x512=5 120字節。為了提高寫(xiě)卡速度,基帶芯片首先向DMA存儲器中寫(xiě)入1個(gè)block數據,然后向SD卡發(fā)出CMD25(multi block write command)。當SD卡發(fā)出CMD25并接收到該命令的應答信號后,立即向DMA發(fā)出dma_req信號,準備從DMA存儲器中讀取數據。當DMA控制器監測到dma_req為1且dma_write為0后,將依次進(jìn)入狀態(tài)1、狀態(tài)2、狀態(tài)3、狀態(tài)4。在狀態(tài)4中,其會(huì )檢查基帶芯片的寫(xiě)信號host_dma_wr是否有效,如無(wú)效,其將從DMA存儲器中讀取當前地址的數據,然后再將DMA存儲器的地址加1并進(jìn)入狀態(tài)5;如 host_dma_wr有效,則DMA控制器將等待一個(gè)時(shí)鐘周期,在下個(gè)時(shí)鐘的上升沿再去判斷host_dma_wr的極性,若其失效再讀DMA存儲器。也就是說(shuō)基帶芯片對DMA存儲器的操作有更高優(yōu)先級,利用這個(gè)辦法就可以使基帶芯片和SD卡控制器可以盡量并行工作以加快寫(xiě)卡速度。在狀態(tài)5中,DMA讀狀態(tài)機做如狀態(tài)4的操作,這是因為dma_rdata的數據線(xiàn)寬度為32位,而dma_memory_data-out的數據線(xiàn)寬度是16位,所以必須要讀2次DMA存儲器再做一次DMA讀傳送。在狀態(tài)6中,DMA狀態(tài)機將向SD卡控制器發(fā)出dma_ack(數據使能信號)和dma- rdata[31:0],隨后進(jìn)入狀態(tài)7。在狀態(tài)7中,DMA狀態(tài)機將做3個(gè)重要判斷,首先其判斷dma-cnt是否等于dma_num,如相等則意味著(zhù) SD卡控制器在本次多block操作中已經(jīng)讀取了全部5 120個(gè)字節數據,狀態(tài)機將回到初始狀態(tài)以準備下一次DMA操作;若不相等,則判斷dma_c-nt是否等于dma_in_cnt,若dma_cnt等于 dma_in_cnt,則意味著(zhù)基帶芯片寫(xiě)入DMA存儲器的所有數據均已被SD卡控制器讀出,DMA存儲器已經(jīng)為空,但數據量還沒(méi)有達到5 120字節,DMA狀態(tài)機將進(jìn)入狀態(tài)8即等待狀態(tài),只有基帶芯片寫(xiě)入新的數據后,SD卡控制器才能回到狀態(tài)4繼續讀取數據,這個(gè)分支主要是應用于SD卡控制器寫(xiě)卡速度快于基帶芯片寫(xiě)DMA存儲器的情況;若dma_cnt不等于dma_in_cnt,則DMA狀態(tài)機將檢查dma_req信號的極性,如其為 1,狀態(tài)機將轉至狀態(tài)4讀取下一個(gè)32位數據,如為0則意味著(zhù)此時(shí)SD卡控制器寫(xiě)卡的速度要慢于DMA讀數據的速度,其前面通過(guò)DMA接口讀出的數據還沒(méi)有完全寫(xiě)入SD卡,所以SD卡控制器將暫停從DMA存儲器中讀取數據,DMA控制器的狀態(tài)機也將在狀態(tài)7處于等待狀態(tài),等待dma_req重新為1。當 dma_req再次為1后,狀態(tài)機將回到狀態(tài)4開(kāi)始新的32位數據的DMA讀操作。最后,當第5 119和5 120個(gè)字節被從DMA存儲器讀出后,DMA狀態(tài)機將在狀態(tài)7中檢查到dma_cnt=dma_num,標志至此,DMA狀態(tài)機完成了一次DMA讀操作的全過(guò)程。SD卡控制器將向基帶芯片發(fā)出中斷信號,基帶芯片響應該中斷后將啟動(dòng)下一個(gè)讀卡或寫(xiě)卡的命令。其讀狀態(tài)流程圖如圖2所示。

  

讀狀態(tài)流程圖

  2.2.2 multiple block read

  在該圖像協(xié)處理器中每次multiple block read要從卡讀出10個(gè)block數據并將其全部寫(xiě)入DMA存儲器當中。當處于初始狀態(tài)(狀態(tài)0)的DMA狀態(tài)機發(fā)現dma_req為1且 dma_write信號為1時(shí),即明確SD卡控制器將開(kāi)始DMA寫(xiě)操作,其將依次進(jìn)入狀態(tài)1、狀態(tài)2、狀態(tài)3、狀態(tài)4。在狀態(tài)1中,DMA狀態(tài)機會(huì )向SD 卡控制器發(fā)出dma_ack信號,由于存儲器讀存在延時(shí),SD卡控制器將在此后的第二個(gè)時(shí)鐘上升沿(即DMA狀態(tài)機在狀態(tài)3時(shí))送出dma_wdata。 DMA控制器將dma_wdata暫存一個(gè)時(shí)鐘周期后,會(huì )在狀態(tài)4和狀態(tài)5中把此32位數據依次寫(xiě)入DMA存儲器,dma_memory_addr也將在這兩個(gè)狀態(tài)分別加1。在狀態(tài)7中,DMA控制器也將做2個(gè)判斷,首先會(huì )判斷dma_cnt和dma_num是否相等,若相等說(shuō)明本次 multipleblock read的全部5 120字節數據已經(jīng)寫(xiě)入DMA存儲器中,DMA狀態(tài)機將回到狀態(tài)0等待下一次DMA操作指令;若不相等,則判斷dma_req是否為1,如果為1則意味著(zhù)繼續做本次DMA寫(xiě)操作,DMA狀態(tài)機也將回到狀態(tài)1,開(kāi)始下一個(gè)32位數據的寫(xiě)入;如果dma_req為0則說(shuō)明SD卡控制器讀卡的速度較慢,暫時(shí)還沒(méi)有新的32位數據要寫(xiě)入,DMA狀態(tài)機也將在狀態(tài)7處于等待狀態(tài),直至dma_req再次為1,狀態(tài)機才回



關(guān)鍵詞: 時(shí)序 DMA 控制器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>