中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于PSoC3的多通訊接口時的DMA設計

        基于PSoC3的多通訊接口時的DMA設計

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

          通過拖曳到原理圖編輯器可以放置 模塊,每次拖曳的 會使用一個通道。 模塊的輸入輸出地址等需要在代碼中進行配置,而通過原理圖配置的都是控制管腳和控制信息。在原理圖上DMA 模塊的表現如下圖7 所示。

        DMA 模塊

        圖7 DMA 模塊

          它的輸入輸出的管腳共有三個。

          nrq - 輸出管腳。該管教用于表征DMA的傳輸完成,用來通知中斷控制器產生中斷或者用來觸發(fā)其他邏輯。當完成傳輸之后DMA會生成一個2個總線周期的脈沖。

          drq - 輸入管腳(可選)。該管腳是可選管腳,只有在觸發(fā)條件選擇為硬件的時候才可見。該管腳可以連接到產生DMA事務請求的模塊,觸發(fā)條件可以配置成電平觸發(fā)或邊沿觸發(fā)。

          trq - 輸入管腳(可選)。該管腳是可選管腳,只有在結束條件選為硬件時才可見。該管腳觸發(fā)之后,DMA會停止數據傳輸。

          在配置完成硬件連接以后,使用配置向導來完成對DMA的如下參數的配置:

          ·Byte Per Burst - 每次執(zhí)行Burst傳輸傳送的字節(jié)數

          ·Transaction Descriptor 的數量

          ·Endian (Big / Little)的配置

          ·傳輸的字節(jié)數

          ·目標地址

          ·源地址

          ·地址遞增模式

          ·TD連接模式

          在PSoC Creator中打開DMA向導,選擇要配置的DMA,進入第一個頁面如圖8所示。

        DMA 向導1-配置

        圖8 DMA 向導1-配置

          該界面主要配置目標和源地址的范圍。支持地址段在SRAM,FLASH,EEPROM中。其次是配置Burst的字節(jié)數以及該DMA中的事務描述符的數量和連接關系。在完成該步驟之后,會進入下個配置界面,主要配置其他的詳細參數。如圖9 所示。

        DMA詳細配置

        圖9 DMA詳細配置

          在圖9中輸入事務描述符號的參數。其中最為常用而且重要的參數包括:源地址,目標地址,地址遞增模式,以及事務描述符的連接模式。在完成該步驟之后,點擊下一步,就會生成相應的配置代碼,如圖10所示。

        DMA 生成代碼

        圖10 DMA 生成代碼

          復制上述代碼到程序的初始化模塊中,并對需要的地方進行細微的修改,就可以完成DMA的初始化。在程序運行時,DMA會根據請求自動把數據從源地址搬運到目標地址。

          3.2 DMA應用于多通訊端口實例

          DMA的數據傳輸可以極大提高基于系統的吞吐率。以一個系統為例,該系統通過SPI接收別的系統的輸入,并通過UART傳送到主機系統中。圖11給出了基于傳統MCU和基于 DMA的兩種程序流程圖進行比較(不考慮兩種傳送速率不匹配的情況)。

        (a) 傳統MCU設計 (b) PSoC3 DMA的設計

        圖11 (a) 傳統MCU設計 (b) DMA的設計

          傳統的MCU需要初始化SPI和UART通訊模塊,并配置兩者的中斷。當SPI的Buffer滿了之后,就產生中斷,中斷程序首先中止新的SPI傳輸,然后檢測UART的Buffer,如果不為空就等待舊的數據傳送完。為空之后就把SPI的數據復制到TX Buffer 并打開SPI接收后續(xù)數據。

          基于PSoC3 DMA的設計中,可以基于原理圖實現上述的邏輯。如圖12所示。

        系統邏輯圖

        圖12 系統邏輯圖

          當SPI的Full信號和UART的Empty信號同時有效的時候,觸發(fā)DMA傳輸,把SPI Buffer中的數據傳送到UART的Buffer中。不需要CPU的干預就能夠完成多通訊口之間的數據共享。

          該通訊實例只是為了表明DMA在多通訊端口數據傳輸中的作用。在實際的實現中,DMA可以操作的通訊端口包括:

          ·USB的端點

          ·UART的Buffer

          ·SPI的Buffer

          ·I2S的Buffer

          ·其他各種自定義的通訊協議

          通過DMA可以高效的實現之間的如下操作:

          ·各通訊端口之間的數據搬移

          ·通訊端口Buffer到PSoC3數字和模擬模塊之間的傳輸

          ·通訊端口Buffer自動存放到內存之中

          ·內存到通訊口的數據搬移

          ·數字、模擬模塊到通訊口的數據搬移

          四、 總結

          Cypress PSoC3處理器集成了多種可編程的數字模擬資源以及布線資源,以及一些專用的通訊和控制設備,可以極大地方便各種嵌入式系統的應用。PSoC Creator作為PSoC3的開發(fā)工具,能夠提供基于原理圖,功能組件的設計模式。使得用戶能夠用簡單有效的方式來完成復雜的可編程系統設計。

          通訊作為嵌入式系統的重要部分,在傳統設計中需要占用一定的CPU時間來處理。本文介紹的基于PSoC3的新設計方式,采用DMA高效的處理嵌入式系統通訊而不占用CPU處理時間,同時還可以基于PSoC3的靈活配置實現多路DMA并行操作以降低系統硬件成本。這種新方式能夠極大地提高基于PSoC3系統的吞吐能力和系統運行效率。


        上一頁 1 2 3 下一頁

        關鍵詞: PSoC3 DMA 通訊接口

        評論


        相關推薦

        技術專區(qū)

        關閉