關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 可適應多種時序情況的DMA控制器設計

        可適應多種時序情況的DMA控制器設計

        作者: 時間:2011-03-18 來源:網絡 收藏

        2.2.2 multiple block read
        在該圖像協處理器中每次multiple block read要從卡讀出10個block數據并將其全部寫入存儲器當中。當處于初始狀態(狀態0)的狀態機發現dma_req為1且dma_write信號為1時,即明確SD卡將開始寫操作,其將依次進入狀態1、狀態2、狀態3、狀態4。在狀態1中,DMA狀態機會向SD卡發出dma_ack信號,由于存儲器讀存在延時,SD卡將在此后的第二個時鐘上升沿(即DMA狀態機在狀態3時)送出dma_wdata。DMA控制器將dma_wdata暫存一個時鐘周期后,會在狀態4和狀態5中把此32位數據依次寫入DMA存儲器,dma_memory_addr也將在這兩個狀態分別加1。在狀態7中,DMA控制器也將做2個判斷,首先會判斷dma_cnt和dma_num是否相等,若相等說明本次multipleblock read的全部5 120字節數據已經寫入DMA存儲器中,DMA狀態機將回到狀態0等待下一次DMA操作指令;若不相等,則判斷dma_req是否為1,如果為1則意味著繼續做本次DMA寫操作,DMA狀態機也將回到狀態1,開始下一個32位數據的寫入;如果dma_req為0則說明SD卡控制器讀卡的速度較慢,暫時還沒有新的32位數據要寫入,DMA狀態機也將在狀態7處于等待狀態,直至dma_req再次為1,狀態機才回到狀態1,開始寫入下一個32位的數據。最后當DMA控制器在狀態7時發現dma_cnt和dma_num相等,意味這本次DMA操作已經完成,SD卡控制器也將向基帶芯片發出中斷信號,基帶芯片響應該中斷后將從DMA存儲器中讀取此5 120字節數據。其寫狀態流程圖如圖3所示。

        本文引用地址:http://www.104case.com/article/162296.htm

        2.JPG



        3 仿真結果
        該DMA控制器的核心即為文章第2部分中所述的DMA狀態機,現將multiple block read和multiple block write的幾個關鍵的仿真波形顯示如下,dma_now_st則為DMA狀態機的狀態變量。

        3.jpg


        圖4(a)所示為一次DMA讀剛剛開始時,DMA狀態機翻轉。在dma_req為1后,狀態機dma_now_st則依次進入各個狀態。在dma_now_st為狀態4時,讀出了DMA存儲器的地址0中的數據16'h4739,在dma_now-st為狀態5時,讀出了DMA存儲器的地址1中的數據16'hlf0b,之后在dma_now_st為狀態6時,此32位數據在dma_rdata端口被送出;
        圖4(b)所示的是在一次DMA讀中,SD卡控制器寫卡速度較慢,其暫停DMA讀操作的。在DMA控制器送出地址12'h394和12'h395中的數據后,SD卡控制器發現DMA讀的速度較快,有可能覆蓋還未寫入卡的數據,所以把dma_req拉低,暫停DMA讀;
        圖4(c)所示的是一次DMA讀的結尾,此時DMA存儲器已經讀完了地址0~12'h9ff中的所有5 120個字節的數據,dma_now_st在狀態7中監測到dma_cnt已經等于dma_num,所以狀態機回到初始狀態0。

        5.jpg


        圖5(a)所示為在一次DMA寫剛剛開始時,DMA狀態機dma_now_st的工作情況。從圖上可清楚看到當dma_now_st處于狀態4和狀態5時,DMA控制器將dma_wdata端口數據寫入DMA存儲器的地址0和地址1中。
        圖5(b)所示為在做DMA寫時,SD卡控制器讀卡速度較慢的情況。當SD卡控制器在dma_now_st為狀態1時送出32位數據32'hb944da21后,其發現已不能在DMA狀態機的下一個狀態1時送出新的32位數據,所以SD卡控制器將dma_req拉低。
        圖5(c)所示為一次DMA寫的結尾,SD卡控制器送出最后一個32位數據32'hf83dea95后,已經讀出了所有5 120字節的數據,所以將dma_req拉低。dma_now-st也在向DMA存儲器的地址12'h9fe和12'h9ff寫完最后兩個16位數據后,回到初始狀態狀態0,至此一次CMD18命令操作完成。

        4 結束語
        隨著消費者對視覺效果的要求越來越高,也必然要求各種移動終端設備的圖像系統功能越來越豐富,性能越來越高,因此圖像協處理器的也變得更加重要。在此背景下,處于基帶芯片和SD卡控制器之間的DMA控制器部分將面臨更復雜的工作環境和更高的性能要求。這里所述的DMA狀態機能夠靈活基帶芯片操作可能被打斷、基帶芯片寫DMA存儲器可能與DMA讀相沖突等信號情況,起到了很好的協調基帶芯片和SD卡控制器速度的作用,并使基帶芯片和SD卡控制器能夠盡量并行工作,使操作SD卡的速度達到210 kB/s,在實際工作中取得了很好的效果。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临高县| 江陵县| 武汉市| 田东县| 逊克县| 当阳市| 分宜县| 安丘市| 敖汉旗| 汉中市| 沁阳市| 方正县| 延长县| 邳州市| 曲水县| 潍坊市| 富宁县| 新建县| 周至县| 凌海市| 雅江县| 渭源县| 宁津县| 甘泉县| 海城市| 来安县| 清远市| 江孜县| 古浪县| 西乡县| 潼关县| 巧家县| 遵义县| 巴塘县| 邵东县| 扎鲁特旗| 定州市| 南溪县| 慈溪市| 论坛| 普格县|