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