基于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子系統支持電容觸摸的檢測。
·內部高精度參考電壓源。
圖1 CY8C38系列芯片的片內可編程數字系統圖
表1 PSoC3 選型指南
圖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 直接移動。
圖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格式的配置文件對芯片進行配置。
評論