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