SOC" title="PSOC">PSOC微處理器擁有多系列、多規(guī)格的應(yīng)用芯片,,以滿(mǎn)足不同用戶(hù)的不同層次的需要,,如CY8C26XXX/CY8C24XXX/CY8C22XXX等等。它的出現(xiàn)使設(shè)計(jì)者逐步擺脫了板級(jí)電子系統(tǒng)設(shè)計(jì)方法層次而進(jìn)入芯片級(jí)電子系統(tǒng)設(shè)計(jì),,減少了單片機(jī)的品種和規(guī)格,,同時(shí)更有利于新品開(kāi)發(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)部資源及開(kā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口引腳均可通過(guò)編程設(shè)置,所有I/O口引腳都能作為中斷源,;具有存儲(chǔ)字節(jié)可變的EEPROM模塊和ISSP串行編程功能,。
1.2 集成開(kāi)發(fā)環(huán)境lDE
用于PSoC的集成開(kāi)發(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所示,。
用戶(hù)可通過(guò)選擇和放置用戶(hù)模塊,、配置參數(shù)、連接模塊,、定義引腳功能,、生成應(yīng)用文件API來(lái)最終完成設(shè)備編輯工作。在產(chǎn)品的開(kāi)發(fā)研制過(guò)程中,,無(wú)論是更改設(shè)計(jì)原理還是更改設(shè)計(jì)參數(shù),,都無(wú)需在PCB板上進(jìn)行,而只需借助簡(jiǎn)單的鼠標(biāo)點(diǎn)擊選項(xiàng)就可對(duì)硅片進(jìn)行重新配置,,快速,、簡(jiǎn)單地完成產(chǎn)品的功能塊選用以及功能塊之間的連線。
2 PSoC片上系統(tǒng)的開(kāi)發(fā)關(guān)鍵
2.1 混合信號(hào)陣列的系統(tǒng)級(jí)集成
用戶(hù)的模擬模塊陣列和數(shù)字模塊陣列的可配置性是這一可編程片上系統(tǒng)的最大特點(diǎn),,它不同于FPGA或CPLD嵌入式片上系統(tǒng),。FPGA與CPLD是對(duì)邏輯門(mén)陣列進(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等等。通過(guò)用數(shù)字模塊配置的定時(shí)器作為ADC的采樣頻率等等類(lèi)似方法,,實(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。用戶(hù)可根據(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è)開(kāi)關(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)框圖,。它由模擬開(kāi)關(guān)電容SC模塊,、8位定時(shí)器和抽樣器各一個(gè)組成。模擬開(kāi)關(guān)電容SC模塊完成信號(hào)的采集與轉(zhuǎn)換工作,;8位定時(shí)器用于配置數(shù)據(jù)時(shí)鐘信號(hào)來(lái)控制采樣速率,,采樣速率為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ù)字資源,,而無(wú)需增加成本和元件庫(kù),。
下面以PGA模塊為例,說(shuō)明其動(dòng)態(tài)配置功能,。
(1)PGA模塊的資源及參數(shù)配置
PSoC微處理器中的PGA模塊擁有高的輸入阻抗,、寬的帶寬增益和可動(dòng)態(tài)配置的增益參數(shù),其功能建立在模擬連續(xù)時(shí)間CT模塊的基礎(chǔ)之上,。通過(guò)對(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有多種選擇,用戶(hù)可根據(jù)不同需要將VGND接數(shù)字地,、模擬地,、內(nèi)部帶隙電壓或外部輸人電壓信號(hào);Rb與Ra中間連接端連到放大器的負(fù)反饋輸人端,。由此,,可推出放大器的傳輸函數(shù)如下:
對(duì)于增益<1的衰減運(yùn)算放大器,需配置成電壓跟隨器,,可編程電阻Rb一端連到放大器的輸出端,,Ra一端連到VGND,Rb與Ra中間連接端連到用戶(hù)模塊輸出端,。由此,,可推出負(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)的放大工作,而無(wú)需在單個(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)換的普通嵌入式微處理器,,需通過(guò)外部電路完成信號(hào)的放大和濾波處理工作,。在產(chǎn)品的原理設(shè)計(jì)過(guò)程中,需要反復(fù)對(duì)外部電路作硬件參數(shù)調(diào)整,;在PCB板布線時(shí),,又要注意避免來(lái)自空間及器件間的電磁干擾??梢钥隙?,要解決這些問(wèn)題是件非常復(fù)雜而費(fèi)時(shí)的工作。
當(dāng)選用CY8C24223芯片作為探測(cè)器的微處理器時(shí)(虛線框內(nèi)為PSOC芯片內(nèi)所具有的模塊功能),,與選用帶A/D功能的微處理器相比,,節(jié)省了大量的外部資源,如放大器及其相關(guān)元器件,、濾波元器件等等,。設(shè)計(jì)人員可在PSoC的設(shè)備編輯器中,通過(guò)配置模擬模塊陣列和數(shù)字模塊陣列完成信號(hào)放大,、濾波,、模/數(shù)轉(zhuǎn)換、數(shù)據(jù)存儲(chǔ),、通信等工作,,并避免了由于放大器等外圍器件在PCB布線時(shí)造成的電磁干擾問(wèn)題。更為重要的是,,用戶(hù)可根據(jù)環(huán)境的變化,,如白天與夜晚、潔凈空間與污染空間,,動(dòng)態(tài)配置放大器的增益系數(shù),,并實(shí)現(xiàn)多路模擬信號(hào)輸入的檢測(cè),以降低火災(zāi)探測(cè)器的誤報(bào)率,。
在探測(cè)器的快速原型設(shè)計(jì)中,,通過(guò)片上系統(tǒng)的可編程混合信號(hào)陣列的集成應(yīng)用及動(dòng)態(tài)配置,極大提高了工作效率,,使開(kāi)發(fā)成本降低了1/2,,PCB的板級(jí)空間縮減了l/3,生產(chǎn)成本降低了1/10,。
結(jié) 語(yǔ)
PSoC方便,、快捷的設(shè)計(jì)界面,面向?qū)ο蟮脑O(shè)計(jì)開(kāi)發(fā)系統(tǒng),,混合信號(hào)陣列的模塊化及動(dòng)態(tài)可配置功能使其在嵌入式系統(tǒng)應(yīng)用中擁有更為靈活的設(shè)計(jì)方式,,使設(shè)計(jì)人員能夠隨意創(chuàng)建新的系統(tǒng)功能,。利用PSoC可以快速、便捷地完成相應(yīng)程序的開(kāi)發(fā)工作,,縮短產(chǎn)品的研發(fā)周期,,降低開(kāi)發(fā)成本和生產(chǎn)成本。