摘要:本文首先介紹了PSoC3內(nèi)部的模擬總線分布,說明了PSoC Creator的模擬布線功能以及在設(shè)計中需要遵守的一些應(yīng)用規(guī)則,在模擬資源使用較多或?qū)δM性能要求較高的應(yīng)用中,設(shè)計者要遵照這些規(guī)則以達(dá)到高性能和高資源的使用。
關(guān)鍵詞:PSoC3,模擬布線
1,PSoC3模擬總線介紹
PSoC3內(nèi)部可以分為模擬和數(shù)字兩部分,模擬部分包括Delta-Sigma ADC、運(yùn)算放大器、比較器、DAC和SC/CT模塊。數(shù)字部分包括如CPU、RAM、ROM、DMA、UDBs、時鐘等等。
模擬全局總線(AGs)和模擬多路復(fù)用總線(AMUXBUS)提供GPIO與內(nèi)部模擬模塊之間的連接,如圖1所示,PSoC3一共有16根AGs分別分布于4個象限,每個象限包括4根AGs總線(AGR[7:4], AGR[3:0], AGL[7:4], 和AGL[3:0]);AMUXBUS可用于任何GPIO和大部分模擬模塊輸入輸出之間的連接。這樣,AGs和AMUXBUS可在GPIO和模擬模塊之間提供高達(dá)18路的信號連接。
對于內(nèi)部模擬模塊之間的互連,PSoC3采用模擬局部總線(ABUS)來完成,ABUS總線一共8根,其中4根ABUSL[3:0]位于芯片左邊,4根ABUSR[3:0]位于芯片右邊。
另外在GPIO和模擬模塊之間還有大約20路的專用通道,這些專用通道可提供低阻抗連接,比如在PSoC3中的IDAC和運(yùn)算放大器Opamp,后面第3部分專門介紹。
圖1,PSoC3 內(nèi)部模擬/數(shù)字部分分布
2,PSoC3模擬布線事例
Cypress提供的軟件工具PSoC Creator可為用戶提供模擬布線,當(dāng)然用戶也可以自己手動布線模擬器件以選擇更好的管腳和更優(yōu)的走線,下面以一個設(shè)計事例來說明。
若需要信號從P4[0]和P4[1]輸入,經(jīng)PGA1和PGA2放大,然后接入ADC的差分輸入以采集信號,其在PSoC Creator中設(shè)計的原理圖如下圖2所示:
圖2,PSoC Creator原理圖
編譯后,PSoC Creator自動布線,在PSoC3芯片中實(shí)際的走線如圖3所示:
圖3,PSoC3實(shí)際走線圖
從圖3可以看出,GPIO P4[0]和P4[1]是通過AGL[4]和AGL[5]連接到SC/CT模塊的。而PSoC3芯片中兩內(nèi)部模塊SC/CT和DSM ADC之間的連接是通過ABUSL1和ABUSL3實(shí)現(xiàn)的。
3,GPIO直接連接布線
如前所述,有些模塊可以不經(jīng)過AMUX/AGs或者ABUS而直接連接到指定的GPIO口上。對VIDAC而言,只有當(dāng)它配置為電流數(shù)-摸轉(zhuǎn)換器(IDAC)時才可以直連到GPIO口的,表1列出了每個DAC和GPIO口的對應(yīng)連接。
表1,IDAC直接連接GPIO口
運(yùn)放op-amp模塊同樣可直接連接到指定的GPIO上,如圖4所示。表2列出了可與Opamp輸入輸出直接連接的GPIO口。
表2,Opamp直接連接GPIO口
圖4,GPIO直接連接Opamp0和Opamp2示意圖
從圖4可以看出,P0[1]和P0[0]是直接連接到OPamp0和OPamp2的輸出,當(dāng)然,你也可在PSoC Creator中設(shè)計為把OPamp2的輸出連接到其它管腳上,但此時P0[0]上依然有OPamp2的輸出。所以建議用指定的GPIO口與之相連。對如圖5所示正弦波輸出應(yīng)用事例,WaveDAC8_1的作用是產(chǎn)生正弦波,Opamp2配置成電壓跟隨器模式以提高正弦波的驅(qū)動能力,VDAC8_1和Opamp_0用與提供參考電壓,Comp_1是比較器。如前所述我們應(yīng)將Opamp2的同向輸入SineSignal_1配置為P0[4],輸出Sinewave_1配置為P0[0]。
圖5,正弦波輸出應(yīng)用事例
4,模擬管腳的最佳選擇規(guī)則
PSoC3系列中管腳最多資源最豐富的封裝是100Pin TQFP,它有7個完整的8-Pin I/O口,這56個 GPIO均可用做模擬信號的輸入輸出。端口P0、P3和P4位于芯片的上半部,并且有模擬全局總線AGL[7:4]和AGR[7:4]與之相連,對于那些低于16bit模擬性能要求的應(yīng)用,任何GPIO口都可使用并且性能都一樣,但對需要高性能低躁聲的應(yīng)用,最好選擇P0、P3和P4作為其輸入輸出管腳。
因此,對于模擬管腳的選擇,應(yīng)遵守下列步驟:
1) 對于給定的應(yīng)用需要多少個模擬管腳I/O
2) 決定哪些信號需要特定的GPIO口作為其輸入輸出,把這些GPIO口優(yōu)先分配
3) 然后依次從P0、P3和P4對其他模擬輸入輸出口分配管腳
4) 在模擬GPIO管腳與設(shè)計所需要的其他管腳之間畫條線
5) 注意保持所有的模擬管腳在所畫線的一側(cè),而所有的數(shù)字管腳在線的另一側(cè)。
經(jīng)過上述步驟就可簡單的在芯片和電路板上把模擬和數(shù)字信號隔離。如下圖6所示:
圖6,理想的模擬數(shù)字信號隔離
有時應(yīng)用設(shè)計需要多種信號的混合,比如精確的模擬信號、低分辨率的模擬信號、低速度的數(shù)字信號和高速的數(shù)字信號,這時可以用低精度和低速的數(shù)字信號來隔離高精度的模擬信號和高速數(shù)字信號,如下圖7所示。
圖7,三種信號的混合分布
5,結(jié)束語
本文是對PSoC3內(nèi)部模擬布線和管腳選擇的一個簡單介紹,對PSoC3芯片設(shè)計規(guī)定的IDAC和Opamp直接連接到GPIO做了詳細(xì)的說明,但沒有涉及太多太深的模擬信號知識。如果有用戶覺得不夠詳細(xì)或者在使用PSoC3過程中碰到什么問題可參考PSoC3的技術(shù)操作手冊。