Cypress在2013年第二季度推出了新一代可編程片上系統(tǒng)PSoC4系列產(chǎn)品,作為PSoC(Programmable System on Chip)芯片家族中的一員,PSoC4保持了Cypress具有特色的片內(nèi)可編程數(shù)字資源和豐富的模擬資源,同時由于采用ARM Cortex-M0作為處理核心,其運算性能也有顯著提高。PSoC4內(nèi)含許多獨具匠心的功能模塊,逐次逼近式模數(shù)轉(zhuǎn)換器(Successive Approximation Register Analog Digital Convertor,以下簡稱SAR ADC)就是其中之一。本文即以SAR ADC為例,介紹如何使用PSoC4實現(xiàn)產(chǎn)品設(shè)計。
PSoC4簡介
PSoC4現(xiàn)包含CY8C4100和CYCY8C4200兩個產(chǎn)品系列,均采用ARM Cortex-M0作為處理核心。PSoC4具有靈活的可編程和可重新配置的模擬、數(shù)字模塊,結(jié)合芯片內(nèi)部靈活的互聯(lián)網(wǎng)絡(luò),可以使用一塊芯片實現(xiàn)復(fù)雜的混合信號設(shè)計。
圖1是PSoC4的系統(tǒng)框圖,以下概括了其主要特性,詳細內(nèi)容可以參考Cypress網(wǎng)站上的PSoC4的數(shù)據(jù)手冊。
● 48MHz ARM Cortex-M0中央處理器,支持單周期乘法
● 最大支持32KB閃存(Flash),最大支持4KB SRAM存儲器
● 高達36個可靈活配置的通用輸入輸出管腳(GPIO),均可配置為觸摸感應(yīng)輸入
● 兩個可靈活配置驅(qū)動能力和帶寬的運算放大器,可以工作在比較器模式,也可做ADC的輸入緩沖器
● 一個12-bit 1M采樣率的SAR ADC,支持差分和單端輸入,無軟件開銷的輸入通道切換,硬件實現(xiàn)的采樣結(jié)果平均,采樣結(jié)果范圍比較
● 兩個電流數(shù)模轉(zhuǎn)換器(IDAC),不用于CapSense時可以輸出給內(nèi)部模塊,或通過GPIO輸出用于其他用途
● 兩個內(nèi)部低功耗比較器,可以在深度睡眠和休眠模式下工作,可以產(chǎn)生喚醒信號中斷睡眠
● 一個電容感應(yīng)(CapSense)模塊,提供極佳的信噪比和防水功能,具有簡單易用的應(yīng)用設(shè)計接口
● 四個通用數(shù)字模塊(UDB),每個包含兩個微型的可編程邏輯陣列和一個8位數(shù)據(jù)運算單元。Cypress提供了自定義組件功能,用戶可以根據(jù)設(shè)計需要,使用Verilog控制UDB實現(xiàn)用戶定制的功能模塊
● 2個可靈活配置的串行通訊模塊(SCB),每個均可配置成SPI/UART/I2C,支持基于串口的LIN、IrDA、SmartCard協(xié)議
● 四個16比特的定時器/計數(shù)器/脈沖寬度調(diào)制模塊(TCPWM),支持中心對齊、邊沿對齊模式,偽隨機模式,支持靈活的死區(qū)控制,PWM可與ADC同步,用戶可自定義在PWM周期內(nèi)任一時刻觸發(fā)ADC轉(zhuǎn)換),支持同步刷新PWM的占空比
圖1:PSoC4芯片系統(tǒng)框圖
與 Cypress前一代產(chǎn)品PSoC3/5相同,PSoC4仍然使用PSoC Creator作為集成開發(fā)環(huán)境。PSoC Creator將硬件資源抽象成了眾多的功能模塊(Component),每個模塊實現(xiàn)一種基本功能,例如PWM模塊,I2C模塊,基本與門,中斷響應(yīng)模塊,輸入輸出管腳等等。設(shè)計者像繪制原理圖一樣,選擇適當(dāng)模塊,將其輸入輸出與其他模塊連接,然后通過每個模塊提供的圖形化配置向?qū)гO(shè)置模塊參數(shù),之后編寫適當(dāng)?shù)能浖a,即可實現(xiàn)所需功能。這種模塊化的設(shè)計方法令設(shè)計者能夠?qū)⒏嗑性趯崿F(xiàn)應(yīng)用的功能上,而無需關(guān)注許多底層硬件配置細節(jié)。PSoC Creator的詳細使用手冊可以在Cypress網(wǎng)站上獲得。
PSoC4 SAR ADC模塊
與前幾代PSoC相比,PSoC4增強了ADC模塊的功能。在結(jié)構(gòu)上,PSoC4采用了可獲得較高采樣速率的逐次逼近式(Successive Approximation Register,SAR)ADC,能夠?qū)崿F(xiàn)最高1Msps的單通道采樣。PSoC4包含一個SAR核心,通過切換采樣通道,可以實現(xiàn)多路輸入信號的轉(zhuǎn)換。為了減少通道切換對CPU運行時間的占用,PSoC4集成了一個8通道采樣輸入多路器,提供采樣通道硬件切換,從而去掉了通道切換的軟件開銷。
該多路器最多支持8路單端輸入,或者4路差分輸入,或者同時包含單端輸入和差分輸入。圖2中實例(a)~(c)分別實現(xiàn)了全單端輸入,全差分輸入,和單端/ 差分混合輸入,如果應(yīng)用所需的輸入信號小于SAR的最大允許值,通過設(shè)置SAR的配置可以隱藏未使用的輸入通道,如實例(d)使用了兩個單端輸入通道,此時多路器僅自動切換兩個通道,忽略未使用的其余六個通道。
圖2:四個SAR設(shè)計實例 - 處理單端輸入與差分輸入
PSoC4 SAR一次完整的單通道采樣包含兩個階段:信號獲取(Acquisition)和采樣轉(zhuǎn)換(Convertion)。在信號獲取階段,SAR獲得當(dāng)前輸入通道的信號值,儲存在內(nèi)部的采樣保持器中;在采樣轉(zhuǎn)換階段,SAR通過不斷改變參考電壓值,與采樣保持器中的信號值做比較,從而將信號值數(shù)字化,得到采樣結(jié)果。PSoC4 SAR的信號獲取時間可以由用戶設(shè)定,而采樣轉(zhuǎn)換時間與采樣結(jié)果位數(shù)相關(guān),以1Msps采樣率為例,默認的信號獲取時間為222.2納秒,采樣轉(zhuǎn)換時間為 777.8納秒。
PSoC4 SAR將這兩個階段設(shè)計成了流水線的結(jié)構(gòu),兩個階段之間可獨立運行。因而,對于多通道采樣,當(dāng)前輸入通道進行采樣轉(zhuǎn)換時,多路器可以切換至下一路通道,從而提供一個額外時間對電路中的寄生電容充放電,保證SAR在進入信號獲取階段之前,輸入信號已經(jīng)達到穩(wěn)定。圖3是一個3通道采樣的工作示意圖,從圖中可以看出,PSoC4 SAR在具有較高采樣速度的同時,仍有充足時間獲得穩(wěn)定的采樣信號。
圖3:3通道SAR采樣工作示意圖
圖 3中還有兩個重要的脈沖信號:SDONE和EOC。SDONE用來指示信號獲取階段已完成,PSoC4 SAR的內(nèi)部多路器就是由該信號觸發(fā)通道切換;EOC用來指示一次完整的多通道采樣已完成,因此在圖3中當(dāng)最后一個通道轉(zhuǎn)換結(jié)束,該脈沖信號輸出。EOC 信號可以觸發(fā)一個中斷,用來讀取SAR的采樣數(shù)據(jù),也可以用于觸發(fā)芯片內(nèi)的其他資源。PSoC4 SAR為每一個通道都提供了一個16位的結(jié)果寄存器,可以在一次多通道采樣結(jié)束后,一次性讀取數(shù)據(jù)以減少中斷程序?qū)PU時間的占用。圖4給出了兩個實例的波形,均使用1Msps采樣率,一個是8通道輸入,一個4通道輸入。注意到圖3中兩個SDONE信號的間隔是一個完成的采樣周期,在圖4的例子中應(yīng)為1 微秒,與波形測量值(period)一致。
圖4:SDONE和EOC示意圖 - 8路輸入和4路輸入,1Msps采樣率
PSoC4 SAR ADC特色功能
除了具有AD模塊基本功能之外,PSoC4 SAR還包含一些獨具特色的功能。
靈活的觸發(fā)信號
PSoC4 SAR支持硬件信號觸發(fā)采樣,該信號可以是通過GPIO輸入的外部信號,也可以是內(nèi)部模塊產(chǎn)生的信號。由于PSoC4具有靈活的可配置結(jié)構(gòu)和豐富的內(nèi)部資源,因此內(nèi)部信號觸發(fā)SAR在設(shè)計中極為實用,例如,比較器的輸出觸發(fā)SAR在特定信號點采樣,定時器計數(shù)器溢出信號觸發(fā)SAR在特定時間點采樣,或者外部信號輸入后經(jīng)過PSoC4通用數(shù)字模塊(UDB)處理,針對特定輸入信號觸發(fā)SAR采樣。
圖5提供了一個設(shè)計實例,該例子中定時器(Timer)的計數(shù)器溢出信號觸發(fā)了SAR ADC的采樣,圖6是該設(shè)計工作時的波形。此設(shè)計可以在指定的時間點對輸入通道采樣,定時器計數(shù)值的重新裝載由硬件實現(xiàn),采樣通道切換由SAR的多路器硬件實現(xiàn),全過程僅在采樣數(shù)據(jù)讀取時需要軟件參與,從而節(jié)省大量的CPU運行時間。
圖5:設(shè)計實例:使用定時器的計數(shù)器溢出觸發(fā)SAR ADC
圖6:硬件觸發(fā)信號工作波形
采樣值范圍比較
PSoC4 SAR提供了硬件級別的采樣值范圍比較。通過設(shè)定一個最大值,一個最小值,SAR可以對每一個通道的采樣值進行快速的范圍比較,一旦發(fā)現(xiàn)采樣結(jié)果超出了給定數(shù)值范圍,一個范圍越界的中斷會立即產(chǎn)生,從而觸發(fā)SAR的中斷服務(wù)程序。如圖7所示,范圍比較模式有四種選項,采樣值小于最小值,采樣值大于最大值,采樣值在二者之間,和采樣值在二者之外。結(jié)合每個通道的中斷屏蔽寄存器,可以針對選定的通道實現(xiàn)快速范圍比較。
圖7:SAR配置 - 采樣值范圍比較
獨立的通道配置寄存器
PSoC4 SAR為每一個輸入通道提供了一組獨立的配置寄存器,可以使得通道屬性存在不同,如圖8所示的3通道采樣,第一個通道采用差分輸入,結(jié)果存為12位,信號獲取時間增加1微秒(單獨設(shè)置的A clks),并且對采樣結(jié)果進行范圍比較;其余兩個通道為單端輸入,結(jié)果存為8位(可選分辨率ALT),使用默認信號獲取時間,無需對采樣結(jié)果進行范圍比較。這種獨立的通道配置寄存器能夠更好的滿足實際應(yīng)用中多變的需求,減少工程師對于瑣碎控制邏輯的關(guān)注,從而實現(xiàn)產(chǎn)品的核心功能。
圖8:SAR配置 – 不同通道配置的多通道采樣
硬件采樣平均
PSoC4 SAR可以對每一個采樣通道都進行指定次數(shù)的硬件采樣結(jié)果平均。例如,若設(shè)定一個通道的采樣平均次數(shù)為8,則SAR會連續(xù)對該通道采樣8次,采樣結(jié)果累加后進行算術(shù)平均,計算結(jié)果最后存入采樣結(jié)果寄存器。
小結(jié)
上述實例介紹了PSoC4 SAR的基本功能。作為MCU中最常見的功能模塊,PSoC4 SAR除了具有一般MCU的常見性能之外,還提供了一些獨具特色的實用功能。實際上,結(jié)合PSoC4靈活的內(nèi)部結(jié)構(gòu)和豐富的資源,用戶使用PSoC4 SAR可以輕松設(shè)計出優(yōu)秀產(chǎn)品以滿足復(fù)雜的應(yīng)用需求。
評論