《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > PSoC3應用于多通訊接口時的DMA設計
PSoC3應用于多通訊接口時的DMA設計
電子工程專輯   
摘要: 隨著上層應用軟件的日趨多樣化,現在的便攜式電子產品對嵌入式芯片的功能需求越來越高,單一或僅可以局部定制的傳統芯片已經不能滿足需要。因此數字系統和模擬系統都可以根據需要靈活定制成為芯片設計、開發的發展方向。Cypress為滿足業界需要繼PSoC1之后開發了PSoC3和PSoC5全新可編程模擬和數字嵌入式芯片。其中PSoC3使用基于單循環流水線的高性能8051內核(67MHz/33MIPS),PSoC5則是基于32位ARM Cortex-M3的內核(80MHz/100MIPS);兩者都內置閃存、SRAM,支持片外存儲器訪問,在8、16和32bit應用中同時實現了高集成度和高靈活性。本文重點講述了PSoC3在多通訊接口設計中的應用,以及如何使用多DMA技術提高通訊的速度和效率。
Abstract:
Key words :
</a>PSoC3" title="PSoC3">PSoC3" title="PSoC3">PSoC3和PSoC5全新可編程模擬和數字嵌入式芯片。其中PSoC3使用基于單循環流水線的高性能8051內核(67MHz/33MIPS),PSoC5則是基于32位ARM Cortex-M3的內核(80MHz/100MIPS);兩者都內置閃存、SRAM,支持片外存儲器訪問,在8、16和32bit應用中同時實現了高集成度和高靈活性。本文重點講述了PSoC3在多通訊接口設計中的應用,以及如何使用多DMA技術提高通訊的速度和效率。

一、 Cypress PSoC3芯片介紹

    Cypress PSoC3使用基于單循環流水線的高性能8051內核 (67MHz/33MIPS),提供業界廣泛采用的5.5V至0.5V電壓范圍和低至200nA的休眠電流,可以滿足極低功耗的應用場合。PSoC3的高性能模擬子系統和數字系統都擁有可編程通路,允許將任何模擬或數字信號(包括可編程時鐘)分配到任何通用I/O引腳,這為使用者提供了真正的“系統級”可編程能力。

    Cypress PSoC3的芯片編號是CY8C38xx,該系列芯片依據功能模塊的不同包含多種芯片。表1是CY8C38xx系列的選型指南,除了表中列出的特性外,每個CY8C38xx芯片還包含:1.024V±0.1%的精密片上電壓參考源,帶PLL的1~66MHz±1%的精密可編程時鐘源,有ECC(錯誤校正碼)功能的Flash,DMA(直接存儲器訪問),4KB可調試跟蹤的RAM,JTAG/SWD編程/調試接口,支持片外存儲器訪問等。

    Cypress PSoC3 內部采用CPLD的結構實現了完全的數字可編程電路。圖1顯示了CY8C38xx系列內部的可編程邏輯圖。從圖1中可以看出,外設和邏輯部分可以彼此互聯,也可以連接到任何引腳。數字可編程邏輯包括了以下部分。

    UDB(Universal Digital Blocks)形成了可編程數字系統的核心功能,由PLD和Data path組成,可以創建各種通用外設和定制化功能。

    UDB Array由多個UDB通過矩陣和可編程互聯組成,支持UDB和DSI(Digital System Interconnect)之間很靈活的擴展。

    DSI是數字信號的集中互聯,包括UDB,固定功能外設,I/O,中斷,DMA和其它部分的數字信號。

    強大的模擬資源以及靈活的模擬布線資源也是PSoC3的一大亮點之一。圖2是CY8C38系列芯片的片內模擬資源圖,通過這些可編程的模擬電路,可以構成標準的模擬信號處理模塊。并且這些模擬資源可以通過內部的模擬互連子系統進行連接,提供高度的模擬設計自由度以及IP資源的保護。模擬子系統有以下系統構成。

·有模擬全局和局部總線,模擬開關構成的高度可配置的結構。

·高精度的Delta-Sigma ADC.

·支持8位的電壓或者電流DAC.

·四路比較器并且可以有選擇性的互聯到LUT中.

·多達四個的SC/CT模塊可以構成OPAMP等模擬電路

·多達四個內部的OPAMP,可以連接到GPIO作為大電流輸出的緩沖器。

·CapSense子系統支持電容觸摸的檢測。

·內部高精度參考電壓源。

PSoC3應用于多通訊接口時的<a class=DMA設計" height="499" src="http://files.chinaaet.com/images/20110404/9c603dab-2ff4-4cdc-8bee-67e989536969.jpg" width="500" />

圖1 CY8C38系列芯片的片內可編程數字系統圖

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

表1 PSoC3 選型指南

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

圖2 PSoC3 內部模擬資源圖

    除了模擬和數字可編程邏輯外,CY8C38 系列芯片都包含了一個專用于數字濾波的硬件加速器DFB(Digital Filter Block),它內部的專用乘法器和加速器可以在一個系統時鐘內計算一個24 位數與24 位數的乘法。使用DFB 可以方便的實現FIR 和IIR 數字濾波器,而且幾乎不占用MCU 的資源。在實現濾波器之外,DFB 還可以作為PSoC3 的算法加速器,可以很方便快捷的實現各種數字算法,而且不需要占用PSoC3 的CPU 資源。

 

 

   

    圖3 是DFB 的模塊框圖,典型應用是將某個片內數據源(例如ADC 或某個DMA)的數據連接到DFB,經DFB 處理后將結果輸出到另一個片內數據源(例如DAC 或另一個DMA)。數據的移入和移出可以設定由特定的DMA 控制,也可以由MCU 直接移動。

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

圖3 DFB 結構圖

    除了可編程的資源之外,PSoC3內部還提供了特定功能的模塊。這些模塊可以不占用模擬,數字可編程以及MCU資源,完成相應的功能。這些模塊包括:

·支持高達1MBPS的Can總線控制器,兼容ISO-11898-1標準。

·全速USB2.0控制器,支持8個端點和DMA數據傳輸控制。

·支持50k/100k/400k/1M BPS的I2C主/從總線控制器,兼容Philips ‘The I2C Specification’ Version 2.1。

·16 Bit專用的定時,計數和PWM等常用的嵌入式系統模塊。

二、 Cypress PSoC® Creator™ 集成開發環境

    Cypress PSoC Creator 開發環境是Cypress 為PSoC3 / PSoC5可編程片上系統提供的高效,易用的繼承開發環境。

    該獨特的新型設計軟件使得工程師能夠按照自己的思維方式進行設計。使用基于電路圖的方式完成對可編程模擬,數字以及布線資源的設計。該軟件還提供了特有的嵌入式系統的組件庫來應用其內部的資源,通過在組件庫中選擇組件并使用基于電路圖的方式可以使得整個開發過程就像搭積木一樣,簡單高效的實現工程師的設計。該軟件工具通過電路綜合可以自動的把用戶的設計轉化成對可編程電路的配置,使得用戶即使不了解芯片的細節也可以完成復雜的電路設計。使用PSoC Creator進行設計的時候,客戶是根據應用需求急性設計,而不是目標器件的限制。重新構建設計就像修改程序一樣,不需要復雜的電路板級修改。

    PSoC Creator將一個最新的軟件開發IDE與一個革命性的圖形設計編輯器結合在一起,構成一個獨特的強有力的軟硬件同步設計環境。它提供內容豐富的、存有幾十個預先配置過的模擬和數字外設庫,可以方便地拖放進電路圖設計界面并組成強大的系統。該工具還可以自動為所有片上信號分配管腳,如有需要,甚至還能將I/O分配到最佳管腳。每個外設元件的參數均經過仔細的配置,以保證應用效果能最好地滿足設計者的要求,且沒有資源浪費。構建過程會為每一個元件產生一個一致的、容易記住的API系列,這樣,軟件開發者即可控制硬件,而無需為基本執行指令操心。 定制的設計及其相關的API還可以方便地存儲在庫中,用于將來的項目或在組織內部分享。

    PSoC Creator內部包含了全功能免費的編譯器,其獨特的綜合布線工具能夠自動綜合客戶的設計輸入,并生成相應的API。PSoC3的工程采用了工業界常用的Keil CA51編譯器,而GNU GCC-ARM編譯器也包含其中,能夠針對PSoC5的設計進行編譯。在綜合,編譯等完成之后,生成兼容Intel Hex格式的配置文件對芯片進行配置。

    PSoC Creator目前的版本是: PSoC Creator 1.0 Production. 該軟件運行界面如下圖4。

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

圖4 PSoC Creator 運行界面

    PSoC Creator提供給用戶的設計入口如下:

原理圖編輯器:該編輯器是創建設計的主要工具。支持對設計進行原理圖編輯。

文本編輯器:該工具允許用戶編輯C,匯編,Verilog, C#等語言代碼。

設計資源編輯器:該工具用于配置整個設計的參數,包括電源,編譯開關,調試開關,Flash保護信息,以及管腳分配等。

圖標編輯器:允許用戶創建自己的模塊圖標

其他工具:

- 原理圖宏編輯器:允許用戶對原理圖設置不同的宏以完成不同的功能。

- 原理圖模板編輯器:允許用戶對原理圖的模板進行編輯

- 圖標形狀編輯器:允許用戶在創建模塊以及原理圖中使用自定義的形狀。

    PSoC Creator在用戶通過設計入口完成設計之后,對設計進行一系列的處理并完成最終的結果輸出。該工具的對工程的構建過程如圖5所示。

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

圖5 PSoC Creator工程構建過程

 

    從圖5中可以看出,工程構建過程包括以下步驟:

·通過設計輸入接口完成設計

·綜合器完成對電路圖的綜合,并進行布局,布線,映射等工作

·代碼生成器生成對應電路的API控制接口

·構建器準備設計源文件,讀取構建數據庫,獲得構建配置,庫文件等信息

·編譯器完成編譯,鏈接器對生成的文件進行鏈接

·輸出配置Hex文件。

三、 Cypress PSoC3應用于多通訊接口的DMA設計

    DMA是PSoC3中用于處理快速數據搬運的模塊。DMA的控制器可以在不需要CPU干預的情況下處理數據的傳輸。通過DMA處理數據傳輸可以有效地降低CPU的負擔,同時也能夠提高數據傳輸的時間。PSoC3內置的DMA可以完成四種基本的數據傳輸:

·內存到內存

·內存到外設

·外設到內存

·外設到外設

    PSoC3中,采用PHUB來連接各個內部設備。DMA和CPU都需要使用PHUB來完成數據傳輸。PHUB上的兩個主設備分別是DMA和CPU,而從設備是內存,外設以及控制和配置寄存器。PSoC3支持多個DMA的通道,DMA主控制器對通道的請求按照優先級進行仲裁。單個DMA的通道可以傳輸高達64KB的數據。

    PSoC3的DMA控制器支持如下特性:

·支持24個DMA通道

·8優先級判決

·128個事務描述符 

·8/16/32 位的數據傳輸

·完全可配置的源和目標地址

·兼容不同數端

·在完成數據傳輸之后能夠生成中斷

·DMA 向導能夠加速基于DMA 的開發

·DMA 事務可以有可編程數字邏輯或者CPU 觸發

·支持多個DMA 通道和描述符的級聯以完成復雜的功能。

3.1 在PSoC Creator 中使用DMA

    PSoC Creator 做為PSoC3 和PSoC5 開發的設計工具,其內部集成了DMA 模塊來配置DMA 和生成相關的控制代碼,同時提供的DMA 向導實現了圖形化操作界面。
DMA 模塊位于組件窗口的System 目錄下,如圖所示。

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

圖6 DMA 模塊位置

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

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

圖7 DMA 模塊

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

    nrq – 輸出管腳。該管教用于表征DMA的傳輸完成,用來通知中斷控制器產生中斷或者用來觸發其他邏輯。當完成傳輸之后DMA會生成一個2個總線周期的脈沖。
drq – 輸入管腳(可選)。該管腳是可選管腳,只有在觸發條件選擇為硬件的時候才可見。該管腳可以連接到產生DMA事務請求的模塊,觸發條件可以配置成電平觸發或邊沿觸發。

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

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

·Byte Per Burst – 每次執行Burst傳輸傳送的字節數

·Transaction Descriptor 的數量

·Endian (Big / Little)的配置

-傳輸的字節數

·目標地址

·源地址

·地址遞增模式

·TD連接模式

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

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

圖8 DMA 向導1-配置

 

 

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

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

圖9 DMA詳細配置

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

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

圖10 DMA 生成代碼

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

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

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

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

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

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

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

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

圖12 系統邏輯圖

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

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

·USB的端點

·UART的Buffer

·SPI的Buffer

·I2S的Buffer

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

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

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

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

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

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

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

四、 總結

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

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

此內容為AET網站原創,未經授權禁止轉載。

相關內容


亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜欧美精品| 欧美日韩精品二区| 亚洲午夜久久久久久久久电影网| 欧美一区二区三区播放老司机 | 亚洲欧美日韩精品一区二区| 夜夜爽99久久国产综合精品女不卡 | 欧美在线观看一区二区| 亚洲欧美99| 性久久久久久久久| 欧美一级午夜免费电影| 欧美一级午夜免费电影| 久久99伊人| 久久精品国产精品亚洲综合| 久久精品人人爽| 亚洲激情视频网站| 亚洲人成网站色ww在线| 亚洲乱码国产乱码精品精可以看| 亚洲精品日韩在线| 999在线观看精品免费不卡网站| 日韩视频在线永久播放| 亚洲深夜福利| 亚洲欧美国产精品专区久久| 欧美一级视频精品观看| 久久精品女人| 久热爱精品视频线路一| 欧美成人免费网| 欧美劲爆第一页| 欧美色网一区二区| 国产精品人人爽人人做我的可爱| 国产精品羞羞答答xxdd| 合欧美一区二区三区| 亚洲盗摄视频| 亚洲精品一二| 亚洲天堂av综合网| 午夜在线精品| 亚洲国产精品一区二区尤物区| 亚洲精品一二三| 亚洲图片欧美一区| 欧美伊人久久久久久午夜久久久久| 久久精品123| 麻豆精品在线观看| 欧美日韩色综合| 国产精品亚洲人在线观看| 国内精品久久久久久久果冻传媒| 影音先锋一区| 日韩一级免费观看| 欧美一区二区三区四区在线观看地址| 亚洲国产乱码最新视频| 在线综合欧美| 欧美中文字幕在线播放| 蜜月aⅴ免费一区二区三区| 欧美日韩一卡二卡| 国产欧美日韩一区二区三区在线| 在线观看精品视频| 日韩一级不卡| 欧美在线999| 在线视频你懂得一区二区三区| 久久er精品视频| 欧美福利电影在线观看| 国产精品毛片高清在线完整版| 伊人精品在线| 在线综合视频| 亚洲国产精品t66y| 亚洲一卡久久| 久久亚洲视频| 欧美视频中文一区二区三区在线观看 | 国产精品永久免费在线| 亚洲国产欧洲综合997久久| 中文日韩在线| 亚洲精品久久嫩草网站秘色| 欧美一区二区三区在线看| 欧美福利视频一区| 国产欧美在线播放| 亚洲九九精品| 久久精品亚洲精品| 亚洲欧美国产精品va在线观看| 欧美成人精品福利| 国产欧美日韩综合| 99热在这里有精品免费| 久久精品国产第一区二区三区最新章节 | 妖精视频成人观看www| 久久精品成人| 午夜视频在线观看一区二区| 欧美韩日一区| 国内精品久久久久影院色| 亚洲视频狠狠| 一区二区三区成人精品| 免费不卡欧美自拍视频| 国产亚洲欧美一区二区| 在线亚洲高清视频| 亚洲欧洲偷拍精品| 久久综合五月| 国产婷婷成人久久av免费高清| 99在线精品视频在线观看| 亚洲激情av在线| 久久精品国产精品亚洲精品| 国产精品扒开腿做爽爽爽视频 | 日韩一级不卡| 亚洲精品国产精品国产自| 久久久久国产精品麻豆ai换脸| 国产精品久久久久久久久久ktv| 亚洲三级色网| 最新国产成人在线观看| 久久久久在线| 国产网站欧美日韩免费精品在线观看| 一区二区三区不卡视频在线观看 | 夜夜爽av福利精品导航| 亚洲片在线观看| 久热这里只精品99re8久| 国产一区二区电影在线观看| 亚洲女女做受ⅹxx高潮| 午夜精品影院| 国产精品日韩欧美| 亚洲手机视频| 亚洲欧美一级二级三级| 欧美视频官网| 99国产精品99久久久久久粉嫩| 亚洲欧洲精品一区| 久久久久久久久一区二区| 国产亚洲一区在线| 午夜久久资源| 欧美一区视频在线| 国产日韩欧美精品| 欧美一级专区免费大片| 久久精品国产精品亚洲| 国精品一区二区三区| 久久精品三级| 麻豆91精品| 亚洲国产视频一区| 日韩亚洲视频| 欧美日韩系列| 宅男66日本亚洲欧美视频| 亚洲欧美日韩综合国产aⅴ| 国产精品一区二区久久国产| 亚洲欧美日韩一区| 久久精品国产v日韩v亚洲| 好男人免费精品视频| 亚洲日韩欧美视频一区| 欧美另类视频| 中文日韩在线视频| 久久成人免费网| 伊人久久av导航| 99在线精品观看| 国产精品久久一区主播| 亚洲欧美日韩国产一区二区| 久久露脸国产精品| 亚洲国产精品黑人久久久| 欧美一区激情视频在线观看| 亚洲网址在线| 欧美一区二区三区视频在线观看| 国产亚洲欧美激情| 亚洲国产免费| 欧美日韩成人在线视频| 亚洲一区区二区| 久久九九国产| 亚洲三级影院| 欧美一区二区三区在线观看| 激情视频一区二区| 一区二区电影免费观看| 国产精品永久免费观看| 亚洲国产福利在线| 欧美午夜电影网| 欧美一区二区三区四区在线观看| 美女亚洲精品| 亚洲图片欧洲图片av| 久久午夜羞羞影院免费观看| 亚洲黄色性网站| 亚洲欧美精品在线| 激情六月综合| 在线一区亚洲| 国产一区二区三区奇米久涩| 亚洲精品之草原avav久久| 国产精品区一区二区三| 亚洲经典自拍| 国产精品video| 亚洲风情亚aⅴ在线发布| 欧美日韩欧美一区二区| 欧美一区二区日韩一区二区| 欧美日韩免费区域视频在线观看| 先锋影院在线亚洲| 欧美精品www在线观看| 午夜久久福利| 欧美日本韩国| 欧美在线视频一区二区三区| 欧美日韩精品高清| 久久精品亚洲乱码伦伦中文| 欧美午夜电影一区| 亚洲人www| 国产农村妇女毛片精品久久莱园子| 最近中文字幕日韩精品| 国产欧美日本一区视频| 一本色道综合亚洲| 激情文学一区| 性欧美xxxx视频在线观看| 亚洲欧洲视频| 久久美女艺术照精彩视频福利播放| av不卡在线看| 欧美激情精品久久久久久蜜臀 | 亚洲电影免费观看高清完整版在线 | 久久综合中文字幕|