PSoC3應(yīng)用于多通訊接口時(shí)的DMA設(shè)計(jì)
隨著上層應(yīng)用軟件的日趨多樣化,現(xiàn)在的便攜式電子產(chǎn)品對(duì)嵌入式芯片的功能需求越來(lái)越高,單一或僅可以局部定制的傳統(tǒng)芯片已經(jīng)不能滿足需要。因此數(shù)字系統(tǒng)和模擬系統(tǒng)都可以根據(jù)需要靈活定制成為芯片設(shè)計(jì)、開(kāi)發(fā)的發(fā)展方向。Cypress為滿足業(yè)界需要繼PSoC1之后開(kāi)發(fā)了PSoC3和PSoC5全新可編程模擬和數(shù)字嵌入式芯片。其中PSoC3使用基于單循環(huán)流水線的高性能8051內(nèi)核(67MHz/33MIPS),PSoC5則是基于32位ARM Cortex-M3的內(nèi)核(80MHz/100MIPS);兩者都內(nèi)置閃存、SRAM,支持片外存儲(chǔ)器訪問(wèn),在8、16和32bit應(yīng)用中同時(shí)實(shí)現(xiàn)了高集成度和高靈活性。本文重點(diǎn)講述了PSoC3在多通訊接口設(shè)計(jì)中的應(yīng)用,以及如何使用多DMA技術(shù)提高通訊的速度和效率。
一、 Cypress PSoC3芯片介紹
Cypress PSoC3使用基于單循環(huán)流水線的高性能8051內(nèi)核 (67MHz/33MIPS),提供業(yè)界廣泛采用的5.5V至0.5V電壓范圍和低至200nA的休眠電流,可以滿足極低功耗的應(yīng)用場(chǎng)合。PSoC3的高性能模擬子系統(tǒng)和數(shù)字系統(tǒng)都擁有可編程通路,允許將任何模擬或數(shù)字信號(hào)(包括可編程時(shí)鐘)分配到任何通用I/O引腳,這為使用者提供了真正的“系統(tǒng)級(jí)”可編程能力。
Cypress PSoC3的芯片編號(hào)是CY8C38xx,該系列芯片依據(jù)功能模塊的不同包含多種芯片。表1是CY8C38xx系列的選型指南,除了表中列出的特性外,每個(gè)CY8C38xx芯片還包含:1.024V±0.1%的精密片上電壓參考源,帶PLL的1~66MHz±1%的精密可編程時(shí)鐘源,有ECC(錯(cuò)誤校正碼)功能的Flash,DMA(直接存儲(chǔ)器訪問(wèn)),4KB可調(diào)試跟蹤的RAM,JTAG/SWD編程/調(diào)試接口,支持片外存儲(chǔ)器訪問(wèn)等。
Cypress PSoC3 內(nèi)部采用CPLD的結(jié)構(gòu)實(shí)現(xiàn)了完全的數(shù)字可編程電路。圖1顯示了CY8C38xx系列內(nèi)部的可編程邏輯圖。從圖1中可以看出,外設(shè)和邏輯部分可以彼此互聯(lián),也可以連接到任何引腳。數(shù)字可編程邏輯包括了以下部分。
UDB(Universal Digital Blocks)形成了可編程數(shù)字系統(tǒng)的核心功能,由PLD和Data path組成,可以創(chuàng)建各種通用外設(shè)和定制化功能。
UDB Array由多個(gè)UDB通過(guò)矩陣和可編程互聯(lián)組成,支持UDB和DSI(Digital System Interconnect)之間很靈活的擴(kuò)展。
DSI是數(shù)字信號(hào)的集中互聯(lián),包括UDB,固定功能外設(shè),I/O,中斷,DMA和其它部分的數(shù)字信號(hào)。
強(qiáng)大的模擬資源以及靈活的模擬布線資源也是PSoC3的一大亮點(diǎn)之一。圖2是CY8C38系列芯片的片內(nèi)模擬資源圖,通過(guò)這些可編程的模擬電路,可以構(gòu)成標(biāo)準(zhǔn)的模擬信號(hào)處理模塊。并且這些模擬資源可以通過(guò)內(nèi)部的模擬互連子系統(tǒng)進(jìn)行連接,提供高度的模擬設(shè)計(jì)自由度以及IP資源的保護(hù)。模擬子系統(tǒng)有以下系統(tǒng)構(gòu)成。
·有模擬全局和局部總線,模擬開(kāi)關(guān)構(gòu)成的高度可配置的結(jié)構(gòu)。
·高精度的Delta-Sigma ADC.
·支持8位的電壓或者電流DAC.
·四路比較器并且可以有選擇性的互聯(lián)到LUT中.
·多達(dá)四個(gè)的SC/CT模塊可以構(gòu)成OPAMP等模擬電路
·多達(dá)四個(gè)內(nèi)部的OPAMP,可以連接到GPIO作為大電流輸出的緩沖器。
·CapSense子系統(tǒng)支持電容觸摸的檢測(cè)。
·內(nèi)部高精度參考電壓源。
圖1 CY8C38系列芯片的片內(nèi)可編程數(shù)字系統(tǒng)圖
除了模擬和數(shù)字可編程邏輯外,CY8C38 系列芯片都包含了一個(gè)專(zhuān)用于數(shù)字濾波的硬件加速器DFB(Digital Filter Block),它內(nèi)部的專(zhuān)用乘法器和加速器可以在一個(gè)系統(tǒng)時(shí)鐘內(nèi)計(jì)算一個(gè)24 位數(shù)與24 位數(shù)的乘法。使用DFB 可以方便的實(shí)現(xiàn)FIR 和IIR 數(shù)字濾波器,而且?guī)缀醪徽加肕CU 的資源。在實(shí)現(xiàn)濾波器之外,DFB 還可以作為PSoC3 的算法加速器,可以很方便快捷的實(shí)現(xiàn)各種數(shù)字算法,而且不需要占用PSoC3 的CPU 資源。