基于PSoC3的多通訊接口時的DMA設計
圖3 是DFB 的模塊框圖,典型應用是將某個片內(nèi)數(shù)據(jù)源(例如ADC 或某個DMA)的數(shù)據(jù)連接到DFB,經(jīng)DFB 處理后將結果輸出到另一個片內(nèi)數(shù)據(jù)源(例如DAC 或另一個DMA)。數(shù)據(jù)的移入和移出可以設定由特定的DMA 控制,也可以由MCU 直接移動。
圖3 DFB 結構圖
除了可編程的資源之外,PSoC3內(nèi)部還提供了特定功能的模塊。這些模塊可以不占用模擬,數(shù)字可編程以及MCU資源,完成相應的功能。這些模塊包括:
·支持高達1MBPS的Can總線控制器,兼容ISO-11898-1標準。
·全速USB2.0控制器,支持8個端點和DMA數(shù)據(jù)傳輸控制。
·支持50k/100k/400k/1M BPS的I2C主/從總線控制器,兼容Philips ‘The I2C Specification’ Version 2.1。
·16 Bit專用的定時,計數(shù)和PWM等常用的嵌入式系統(tǒng)模塊。
二、 Cypress PSoC®Creator#8482; 集成開發(fā)環(huán)境
Cypress PSoC Creator 開發(fā)環(huán)境是Cypress 為PSoC3 / PSoC5可編程片上系統(tǒng)提供的高效,易用的繼承開發(fā)環(huán)境。
該獨特的新型設計軟件使得工程師能夠按照自己的思維方式進行設計。使用基于電路圖的方式完成對可編程模擬,數(shù)字以及布線資源的設計。該軟件還提供了特有的嵌入式系統(tǒng)的組件庫來應用其內(nèi)部的資源,通過在組件庫中選擇組件并使用基于電路圖的方式可以使得整個開發(fā)過程就像搭積木一樣,簡單高效的實現(xiàn)工程師的設計。該軟件工具通過電路綜合可以自動的把用戶的設計轉(zhuǎn)化成對可編程電路的配置,使得用戶即使不了解芯片的細節(jié)也可以完成復雜的電路設計。使用PSoC Creator進行設計的時候,客戶是根據(jù)應用需求急性設計,而不是目標器件的限制。重新構建設計就像修改程序一樣,不需要復雜的電路板級修改。
PSoC Creator將一個最新的軟件開發(fā)IDE與一個*性的圖形設計編輯器結合在一起,構成一個獨特的強有力的軟硬件同步設計環(huán)境。它提供內(nèi)容豐富的、存有幾十個預先配置過的模擬和數(shù)字外設庫,可以方便地拖放進電路圖設計界面并組成強大的系統(tǒng)。該工具還可以自動為所有片上信號分配管腳,如有需要,甚至還能將I/O分配到最佳管腳。每個外設元件的參數(shù)均經(jīng)過仔細的配置,以保證應用效果能最好地滿足設計者的要求,且沒有資源浪費。構建過程會為每一個元件產(chǎn)生一個一致的、容易記住的API系列,這樣,軟件開發(fā)者即可控制硬件,而無需為基本執(zhí)行指令操心。 定制的設計及其相關的API還可以方便地存儲在庫中,用于將來的項目或在組織內(nèi)部分享。
PSoC Creator內(nèi)部包含了全功能免費的編譯器,其獨特的綜合布線工具能夠自動綜合客戶的設計輸入,并生成相應的API。PSoC3的工程采用了工業(yè)界常用的Keil CA51編譯器,而GNU GCC-ARM編譯器也包含其中,能夠針對PSoC5的設計進行編譯。在綜合,編譯等完成之后,生成兼容Intel Hex格式的配置文件對芯片進行配置。
PSoC Creator目前的版本是: PSoC Creator 1.0 Production. 該軟件運行界面如下圖4。
圖4 PSoC Creator 運行界面
PSoC Creator提供給用戶的設計入口如下:
● 原理圖編輯器:該編輯器是創(chuàng)建設計的主要工具。支持對設計進行原理圖編輯。
● 文本編輯器:該工具允許用戶編輯C,匯編,Verilog, C#等語言代碼。
● 設計資源編輯器:該工具用于配置整個設計的參數(shù),包括電源,編譯開關,調(diào)試開關,F(xiàn)LASH保護信息,以及管腳分配等。
● 圖標編輯器:允許用戶創(chuàng)建自己的模塊圖標
● 其他工具:
- 原理圖宏編輯器:允許用戶對原理圖設置不同的宏以完成不同的功能。
- 原理圖模板編輯器:允許用戶對原理圖的模板進行編輯
- 圖標形狀編輯器:允許用戶在創(chuàng)建模塊以及原理圖中使用自定義的形狀。
PSoC Creator在用戶通過設計入口完成設計之后,對設計進行一系列的處理并完成最終的結果輸出。該工具的對工程的構建過程如圖5所示。
圖5 PSoC Creator工程構建過程
從圖5中可以看出,工程構建過程包括以下步驟:
·通過設計輸入接口完成設計
·綜合器完成對電路圖的綜合,并進行布局,布線,映射等工作
·代碼生成器生成對應電路的API控制接口
·構建器準備設計源文件,讀取構建數(shù)據(jù)庫,獲得構建配置,庫文件等信息
·編譯器完成編譯,鏈接器對生成的文件進行鏈接
·輸出配置Hex文件。
三、 Cypress PSoC3應用于多通訊接口的DMA設計
DMA是PSoC3中用于處理快速數(shù)據(jù)搬運的模塊。DMA的控制器可以在不需要CPU干預的情況下處理數(shù)據(jù)的傳輸。通過DMA處理數(shù)據(jù)傳輸可以有效地降低CPU的負擔,同時也能夠提高數(shù)據(jù)傳輸?shù)臅r間。PSoC3內(nèi)置的DMA可以完成四種基本的數(shù)據(jù)傳輸:
·內(nèi)存到內(nèi)存
·內(nèi)存到外設
·外設到內(nèi)存
·外設到外設
PSoC3中,采用PHUB來連接各個內(nèi)部設備。DMA和CPU都需要使用PHUB來完成數(shù)據(jù)傳輸。PHUB上的兩個主設備分別是DMA和CPU,而從設備是內(nèi)存,外設以及控制和配置寄存器。PSoC3支持多個DMA的通道,DMA主控制器對通道的請求按照優(yōu)先級進行仲裁。單個DMA的通道可以傳輸高達64KB的數(shù)據(jù)。
PSoC3的DMA控制器支持如下特性:
·支持24個DMA通道
·8優(yōu)先級判決
·128個事務描述符
8/16/32 位的數(shù)據(jù)傳輸
·完全可配置的源和目標地址
·兼容不同數(shù)端
·在完成數(shù)據(jù)傳輸之后能夠生成中斷
·DMA 向?qū)軌蚣铀倩贒MA 的開發(fā)
·DMA 事務可以有可編程數(shù)字邏輯或者CPU 觸發(fā)
·支持多個DMA 通道和描述符的級聯(lián)以完成復雜的功能。
3.1 在PSoC Creator 中使用DMA
PSoC Creator 做為PSoC3 和PSoC5 開發(fā)的設計工具,其內(nèi)部集成了DMA 模塊來配置DMA 和生成相關的控制代碼,同時提供的DMA 向?qū)崿F(xiàn)了圖形化操作界面。
DMA 模塊位于組件窗口的System 目錄下,如圖所示。
圖6 DMA 模塊位置
評論