SOC" title="PSOC">PSOC微處理器擁有多系列,、多規(guī)格的應(yīng)用芯片,,以滿足不同用戶的不同層次的需要,如CY8C26XXX/CY8C24XXX/CY8C22XXX等等,。它的出現(xiàn)使設(shè)計(jì)者逐步擺脫了板級(jí)電子系統(tǒng)設(shè)計(jì)方法層次而進(jìn)入芯片級(jí)電子系統(tǒng)設(shè)計(jì),,減少了單片機(jī)的品種和規(guī)格,同時(shí)更有利于新品開發(fā)和升級(jí)換代,。與同種價(jià)位的普通單片機(jī)比較,其豐富的內(nèi)部資源,、新穎的設(shè)計(jì)界面,、靈活的設(shè)計(jì)方式、簡(jiǎn)單的編程技巧都使其極具特點(diǎn)。文中以CY8C24223為例,,介紹一種典型應(yīng)用——基于PSoC可編程片上系統(tǒng)的感煙火災(zāi)探測(cè)器,。它將對(duì)煙霧變化信號(hào)的放大、處理,、模數(shù)轉(zhuǎn)換功能集成到微處理器的內(nèi)部完成,,減少了芯片的外圍器件,提高了系統(tǒng)整體的集成性能,。
1 內(nèi)部資源及開發(fā)環(huán)境
1.1 內(nèi)部資源介紹
PSoC內(nèi)部有一個(gè)高速M(fèi)8C內(nèi)核,、快閃內(nèi)存和SRAM數(shù)據(jù)內(nèi)存
,以及可進(jìn)行多種配置的模擬模塊陣列和數(shù)字模塊陣列,;內(nèi)核采用Haryard結(jié)構(gòu),,具有獨(dú)立的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器總線,處理器工作頻率可達(dá)到24 MHz,。對(duì)于不同系列,、不同型號(hào)的片上系統(tǒng),其內(nèi)部資源配置不同,。以CY8C24223芯片為例,,內(nèi)部具有4 KB的Flash以及256 B的片內(nèi)SRAM數(shù)據(jù)存儲(chǔ)器;4個(gè)數(shù)字模塊,、6個(gè)模擬模塊,;16個(gè)通用I/0口,最大輸出電流可達(dá)25 mA,,每個(gè)I/O口引腳均可通過編程設(shè)置,,所有I/O口引腳都能作為中斷源;具有存儲(chǔ)字節(jié)可變的EEPROM模塊和ISSP串行編程功能,。
1.2 集成開發(fā)環(huán)境lDE
用于PSoC的集成開發(fā)環(huán)境PSoC Designer是一種功能齊全,、基于Gul的設(shè)計(jì)工具套件。它分為設(shè)備編輯子系統(tǒng),、應(yīng)用編輯子系統(tǒng)和調(diào)試程序子系統(tǒng),。其界面將根據(jù)不同的子系統(tǒng)而被分割成多個(gè)活動(dòng)窗口。其中最具特色的是設(shè)備編輯子系統(tǒng),,具有相當(dāng)?shù)撵`活性和可操作性,,如圖l所示。
用戶可通過選擇和放置用戶模塊,、配置參數(shù),、連接模塊、定義引腳功能,、生成應(yīng)用文件API來最終完成設(shè)備編輯工作,。在產(chǎn)品的開發(fā)研制過程中,無論是更改設(shè)計(jì)原理還是更改設(shè)計(jì)參數(shù),都無需在PCB板上進(jìn)行,,而只需借助簡(jiǎn)單的鼠標(biāo)點(diǎn)擊選項(xiàng)就可對(duì)硅片進(jìn)行重新配置,,快速、簡(jiǎn)單地完成產(chǎn)品的功能塊選用以及功能塊之間的連線,。
2 PSoC片上系統(tǒng)的開發(fā)關(guān)鍵
2.1 混合信號(hào)陣列的系統(tǒng)級(jí)集成
用戶的模擬模塊陣列和數(shù)字模塊陣列的可配置性是這一可編程片上系統(tǒng)的最大特點(diǎn),,它不同于FPGA或CPLD嵌入式片上系統(tǒng)。FPGA與CPLD是對(duì)邏輯門陣列進(jìn)行現(xiàn)場(chǎng)編輯,,而PSoC‘微處理器不僅能對(duì)數(shù)字模塊進(jìn)行動(dòng)態(tài)配置,,同時(shí)也能對(duì)模擬模塊進(jìn)行動(dòng)態(tài)配置,實(shí)現(xiàn)混合信號(hào)陣列的系統(tǒng)級(jí)集成,。
在應(yīng)用時(shí),,片上系統(tǒng)中的數(shù)字模塊陣列可配置成多種功能,如定時(shí)/計(jì)數(shù)器,、UART,、SPI、CRC發(fā)生器,、PWM等等,;模擬模塊陣列可配置成具有不同工作方式的ADC、可編程增益放大器PGA,、比較器,、可編程濾波器、DAC等等,。通過用數(shù)字模塊配置的定時(shí)器作為ADC的采樣頻率等等類似方法,,實(shí)現(xiàn)數(shù)字模塊陣列和模擬模塊陣列的集成應(yīng)用,使PSoC微處理器具有強(qiáng)大的混合信號(hào)陣列的系統(tǒng)級(jí)集成功能,。
PSoC微處理器的模塊功能中,,最簡(jiǎn)單的混合信號(hào)集成功能的應(yīng)用是A/D轉(zhuǎn)換器。PSoC微處理器支持多種A/D轉(zhuǎn)換器,,如14位遞增式,、11位△-∑ADC、8位逐次逼近式ADC和6位SAR-ADC,。用戶可根據(jù)A/D轉(zhuǎn)換精度和轉(zhuǎn)換時(shí)間的設(shè)計(jì)要求,,設(shè)置不同工作方式的A/D模塊。以配置一個(gè)8位△-A/D轉(zhuǎn)換器為例,,轉(zhuǎn)換器需占用微處理器的內(nèi)部資源為:1個(gè)數(shù)字模塊,、1個(gè)開關(guān)電容模擬SC模塊、1個(gè)外部模擬輸入引腳,,以及生成8位△-ΣA/D轉(zhuǎn)換器應(yīng)用程序API所需的8字節(jié)的內(nèi)部RAM和143字節(jié)的Flash,。
圖2是一個(gè)8位△-∑A/D轉(zhuǎn)換器的結(jié)構(gòu)框圖,。它由模擬開關(guān)電容SC模塊、8位定時(shí)器和抽樣器各一個(gè)組成,。模擬開關(guān)電容SC模塊完成信號(hào)的采集與轉(zhuǎn)換工作;8位定時(shí)器用于配置數(shù)據(jù)時(shí)鐘信號(hào)來控制采樣速率,,采樣速率為O.125 ksps~31.25 ksps,;△-∑型ADC里的抽樣器實(shí)際上是一個(gè)SINC2濾波器。在x域,,它的傳遞函數(shù)如下:
其中的n是抽樣等級(jí),。這個(gè)抽樣濾波器是由軟硬件協(xié)同工作完成的。式(1)中分母部分的二次積分項(xiàng)由硬件實(shí)現(xiàn),,分子部分的二次差分項(xiàng)的抽樣率計(jì)算由軟件實(shí)現(xiàn),。
2.2 動(dòng)態(tài)可重新配置功能
嵌入式系統(tǒng)設(shè)計(jì)人員利用PSOC架構(gòu)的靈活性,在單個(gè)器件上動(dòng)態(tài)地創(chuàng)建多種
配置,,這是PSoC可編程片上系統(tǒng)的另一大特點(diǎn),。可以想象,。這如同用FPGA進(jìn)行設(shè)計(jì),,既使是在系統(tǒng)運(yùn)行時(shí),也可以對(duì)其硬件進(jìn)行升級(jí)或重新配置,。動(dòng)態(tài)重新配置功能使設(shè)計(jì)人員能多次,、重復(fù)使用芯片內(nèi)的模擬與數(shù)字資源,而無需增加成本和元件庫,。
下面以PGA模塊為例,,說明其動(dòng)態(tài)配置功能。
(1)PGA模塊的資源及參數(shù)配置
PSoC微處理器中的PGA模塊擁有高的輸入阻抗,、寬的帶寬增益和可動(dòng)態(tài)配置的增益參數(shù),,其功能建立在模擬連續(xù)時(shí)間CT模塊的基礎(chǔ)之上。通過對(duì)CT模塊的三個(gè)控制寄存器的配置,,支持增益輸出或衰減輸出,、配置信號(hào)輸入端口和輸出端口。完成一個(gè)PGA配置,,需占用微處理器的內(nèi)部資源為:1個(gè)CT連續(xù)時(shí)間模擬模塊,、1個(gè)外部I/O引腳以及生成PGA應(yīng)用程序API所需的52字節(jié)的Flash。圖3為可編程增益放大器PGA的結(jié)構(gòu)框圖,。
對(duì)于增益≥1的運(yùn)算放大器,,可編程電阻風(fēng)、Rb,、Ra串聯(lián),,Rb一端連到放大器的輸出端,。Ra一端連接VGND,VGND有多種選擇,,用戶可根據(jù)不同需要將VGND接數(shù)字地,、模擬地、內(nèi)部帶隙電壓或外部輸人電壓信號(hào),;Rb與Ra中間連接端連到放大器的負(fù)反饋輸人端,。由此,可推出放大器的傳輸函數(shù)如下:
對(duì)于增益<1的衰減運(yùn)算放大器,,需配置成電壓跟隨器,,可編程電阻Rb一端連到放大器的輸出端,Ra一端連到VGND,,Rb與Ra中間連接端連到用戶模塊輸出端,。由此,可推出負(fù)增益放大器的傳輸函數(shù)如下:
在應(yīng)用中,,PGA模擬模塊的輸入端,、增益參數(shù)、輸出端都可進(jìn)行動(dòng)態(tài)配置,。其輸入端可以和一個(gè)模擬信號(hào)輸入引腳連接,,也可以動(dòng)態(tài)地將此PGA模塊與另一個(gè)模擬信號(hào)輸入引腳相連接,在不同時(shí)刻完成對(duì)多路模擬輸入信號(hào)的放大工作,,而無需在單個(gè)器件上配置多個(gè)PGA模塊,;其增益參數(shù)也可以動(dòng)態(tài)調(diào)節(jié)(從負(fù)增益0.06倍到最大正增益48倍),極方便地拓展了PGA模塊的輸入電壓范圍,;其輸出端也可以按需要?jiǎng)討B(tài)地接到輸出引腳,、A/D模塊輸入端或?yàn)V波器。其動(dòng)態(tài)重配置部分的程序如下:
3 CY8C24223在感煙火災(zāi)探測(cè)器中的應(yīng)用
光電感煙火災(zāi)探測(cè)器應(yīng)用散射原理,,將煙霧濃度的變化轉(zhuǎn)化為微弱的光電信號(hào),,經(jīng)放大和濾波處理后,進(jìn)行A/D轉(zhuǎn)換,,完成對(duì)煙霧濃度的檢測(cè),,實(shí)現(xiàn)火災(zāi)報(bào)警功能。感煙火災(zāi)探測(cè)器的工作原理框圖如圖4所示,。
目前,,光電感煙火災(zāi)探測(cè)器多使用帶A/D轉(zhuǎn)換的普通嵌入式微處理器,需通過外部電路完成信號(hào)的放大和濾波處理工作,。在產(chǎn)品的原理設(shè)計(jì)過程中,,需要反復(fù)對(duì)外部電路作硬件參數(shù)調(diào)整;在PCB板布線時(shí),,又要注意避免來自空間及器件間的電磁干擾,??梢钥隙ǎ鉀Q這些問題是件非常復(fù)雜而費(fèi)時(shí)的工作,。
當(dāng)選用CY8C24223芯片作為探測(cè)器的微處理器時(shí)(虛線框內(nèi)為PSOC芯片內(nèi)所具有的模塊功能),,與選用帶A/D功能的微處理器相比,節(jié)省了大量的外部資源,,如放大器及其相關(guān)元器件,、濾波元器件等等。設(shè)計(jì)人員可在PSoC的設(shè)備編輯器中,,通過配置模擬模塊陣列和數(shù)字模塊陣列完成信號(hào)放大、濾波,、模/數(shù)轉(zhuǎn)換,、數(shù)據(jù)存儲(chǔ)、通信等工作,,并避免了由于放大器等外圍器件在PCB布線時(shí)造成的電磁干擾問題,。更為重要的是,用戶可根據(jù)環(huán)境的變化,,如白天與夜晚,、潔凈空間與污染空間,動(dòng)態(tài)配置放大器的增益系數(shù),,并實(shí)現(xiàn)多路模擬信號(hào)輸入的檢測(cè),,以降低火災(zāi)探測(cè)器的誤報(bào)率。
在探測(cè)器的快速原型設(shè)計(jì)中,,通過片上系統(tǒng)的可編程混合信號(hào)陣列的集成應(yīng)用及動(dòng)態(tài)配置,,極大提高了工作效率,使開發(fā)成本降低了1/2,,PCB的板級(jí)空間縮減了l/3,,生產(chǎn)成本降低了1/10。
結(jié) 語
PSoC方便,、快捷的設(shè)計(jì)界面,,面向?qū)ο蟮脑O(shè)計(jì)開發(fā)系統(tǒng),混合信號(hào)陣列的模塊化及動(dòng)態(tài)可配置功能使其在嵌入式系統(tǒng)應(yīng)用中擁有更為靈活的設(shè)計(jì)方式,,使設(shè)計(jì)人員能夠隨意創(chuàng)建新的系統(tǒng)功能,。利用PSoC可以快速、便捷地完成相應(yīng)程序的開發(fā)工作,,縮短產(chǎn)品的研發(fā)周期,,降低開發(fā)成本和生產(chǎn)成本。