PSoC在光纖陀螺脈沖輸出采集中的應(yīng)用
陀螺儀是一種測(cè)量運(yùn)動(dòng)物體相對(duì)慣性空間旋轉(zhuǎn)的裝置。以陀螺儀為核心的慣性測(cè)量系統(tǒng)在飛行器控制與制導(dǎo),空中、海上和陸上導(dǎo)航/定位中都起著至關(guān)重要的作用。作為新型陀螺,光纖陀螺得到了迅速的發(fā)展和應(yīng)用。光纖陀螺(FOG)是利用光纖構(gòu)成的一種環(huán)狀干涉儀,屬純光學(xué)、靜止型陀螺,通過(guò)薩格奈克(Sagnac)效應(yīng)來(lái)實(shí)現(xiàn)旋轉(zhuǎn)角速度的檢測(cè)。由于光纖陀螺突出的技術(shù)特點(diǎn)和應(yīng)用背景,光纖陀螺將在慣性元件領(lǐng)域占有非常重要的位置。光纖陀螺脈沖輸出的采集,對(duì)于檢驗(yàn)陀螺性能、提高陀螺精度、增強(qiáng)產(chǎn)品可靠性,具有重要作用。
1 PSoC簡(jiǎn)介
2003年Cypress半導(dǎo)體公司推出了可編程片上系統(tǒng)(Programmable System on Chip,PsoC),它不但集8位微控制器、可編程數(shù)字陣列和可編程模擬陣列為一體,而且實(shí)現(xiàn)了“在系統(tǒng)可編程”,既滿足了一般電子系統(tǒng)的資源要求,又順應(yīng)了現(xiàn)代電子設(shè)計(jì)方法的發(fā)展方向,是第一種真正具有混合信號(hào)處理能力的片上系統(tǒng)(SoC)。
PSoC是一種可編程的半導(dǎo)體器件,與現(xiàn)場(chǎng)可編程門(mén)陣列FPGA(Field Programmable Gate Array)、在系統(tǒng)可編程模擬器件ispPAC(InSys-tem Programmable Arialog Circuit)和單片機(jī)相比,具有如下特點(diǎn):
1)PSoC綜合FPGA和ispPAC的功能為一體,既具有FPGA的可編程數(shù)字陣列,又具有ispPAC的可編程模擬陣列,即具有處理數(shù)字和模擬兩種信號(hào)的能力。此外,PSoC所具有的A/D、D/A用戶模塊解決了兩個(gè)陣列的接口問(wèn)題。
2)PSoC有1個(gè)8位的微處理器,可以方便地實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)。盡管FPGA可以通過(guò)設(shè)計(jì),實(shí)現(xiàn)一個(gè)軟核微控制器或微處理器,但是增加了系統(tǒng)設(shè)計(jì)的難度。
3)與ispPAC相同,PSoC不需要編程器,就能夠在系統(tǒng)運(yùn)行過(guò)程中編輯,用以修改和重構(gòu)電子系統(tǒng),使用靈活方便。
4)雖然也可將PSoC視為1個(gè)8位的微控制器,即8位單片機(jī)。但是與一般單片機(jī)不同的是,它幾乎不需要外部電路,一片PSoC就可實(shí)現(xiàn)一個(gè)電子系統(tǒng)。而且PSoC具有比一般單片機(jī)更多的內(nèi)部資源,如低電壓監(jiān)測(cè)電路(Low Voltage Detect,LVD)、開(kāi)關(guān)式升壓泵(Switch Mode Pum-p,SMP)、內(nèi)部精密參考電壓(Intemal Voltage Reference)等。另外,PSoC同時(shí)具有片內(nèi)和片外系統(tǒng)時(shí)鐘源,可以不需要外部晶體振蕩器即可自行工作。
PSoC的以上特點(diǎn),使其在小型系統(tǒng)設(shè)計(jì)方面正在得到越來(lái)越廣泛的應(yīng)用。
2 系統(tǒng)核心器件CY29666-24VXI
本系統(tǒng)采用PSoC芯片CY29666-24PVXI,來(lái)實(shí)現(xiàn)對(duì)光纖陀螺脈沖輸出的采集。芯片CY29666-24PVXI的結(jié)構(gòu)框圖如下圖1所示。它由4部分構(gòu)成:PSoC Core、數(shù)字系統(tǒng)(Digital System)、模擬系統(tǒng)(Analog System)和系統(tǒng)資源(System Resources)。其中,PSoC Core是PSoC器件的核心部分,包括M8C微處理器、SROM、32 K字節(jié)Flash、2 K字節(jié)SRAM、中斷控制器、可編程的多時(shí)鐘源、休眠計(jì)時(shí)器及看門(mén)狗等;數(shù)字系統(tǒng)和模擬系統(tǒng)并存,是PSoC芯片的獨(dú)特之處。CY29666-24PVXI中有16個(gè)數(shù)字PSoC用戶模塊,如計(jì)數(shù)器功能模塊、定時(shí)器功能模塊、脈寬調(diào)制功能模塊等:12個(gè)模擬PSoC用戶模塊,如A/D、D/A、可編程增益放大器等;CY29666-24PVXI提供的系統(tǒng)資源包括:數(shù)字時(shí)鐘、乘法加法器、采樣
抽取器、主從及多主模式的I2C、上電復(fù)位(Power on Reset,POR)和低電壓檢測(cè)電路(Low Voltage Detect,LVD)、系統(tǒng)復(fù)位電路、內(nèi)部參考電壓等。
3 系統(tǒng)硬件設(shè)計(jì)及硬件模塊的配置
本系統(tǒng)的硬件部分包括信號(hào)預(yù)處理模塊、脈沖采集模塊及液晶顯示模塊,其總的框圖如下圖2所示。
3.1 信號(hào)預(yù)處理部分
脈沖信號(hào)是一種短暫、躍變的,達(dá)到一定躍變幅度的電信號(hào)。而對(duì)于輸出信號(hào)為脈沖信號(hào)的光纖陀螺,為提高其輸出信號(hào)的抗干擾性,本系統(tǒng)在光纖陀螺與PSoC器件之間加了一個(gè)光電耦合器HCPL-2630,完成信號(hào)的預(yù)處理。
光電耦合器對(duì)輸入、輸出電信號(hào)起隔離作用,HCPL-2630一般由3部分組成:光的發(fā)射、光的接收及信號(hào)放大。輸入的電信號(hào)驅(qū)動(dòng)發(fā)光二極管(LED),使之發(fā)出一定波長(zhǎng)的光,被光探測(cè)器接收而產(chǎn)生光電流,再經(jīng)過(guò)進(jìn)一步放大后輸出。這就完成了電-光-電的轉(zhuǎn)換,從而起到輸入、輸出隔離的作用。
由于光耦合器輸入輸出問(wèn)互相隔離,電信號(hào)傳輸具有單向性等特點(diǎn),因而具有良好的電絕緣能力和抗干擾能力。又由于光耦合器的輸入端屬于電流型工作的低阻元件,因而具有很強(qiáng)的共模抑制能力。[!--empirenews.page--]
3.2 脈沖采集部分
脈沖采集模塊由定時(shí)器模塊和計(jì)數(shù)器模塊組成。PSoC芯片嵌入了強(qiáng)大的定時(shí)器功能模塊。它擁有8位、16位、24位和32位可編程遞減定時(shí)器。通過(guò)對(duì)定時(shí)器模塊編程,用戶可實(shí)現(xiàn)多種工作方式的定時(shí)器功能。PSoC的定時(shí)器模塊由1個(gè)周期寄存器、1個(gè)同步遞減計(jì)數(shù)器和1個(gè)捕獲比較寄存器組成,結(jié)構(gòu)如圖3所示,每個(gè)寄存器大小都是1個(gè)字節(jié)。當(dāng)定時(shí)器不工作時(shí),向周期寄存器(Period Register)寫(xiě)入一個(gè)周期值。當(dāng)定時(shí)器工作時(shí),周期值會(huì)被自動(dòng)從周期寄存器中載入到遞減計(jì)數(shù)器(Down Counter)中,隨后,計(jì)數(shù)器將會(huì)執(zhí)行遞減計(jì)數(shù)操作直到0。在下一個(gè)時(shí)鐘上升沿,周期值將會(huì)被重新載入,緊接著繼續(xù)計(jì)數(shù)。遞減計(jì)數(shù)器模塊主要的功能是輸出信號(hào),它可以被配置成全時(shí)鐘循環(huán)或者半時(shí)鐘循環(huán)。定時(shí)器具有定時(shí)、比較和捕獲比較3種功能。本系統(tǒng)中運(yùn)用其定時(shí)功能。原理如下:將系統(tǒng)的數(shù)字時(shí)鐘或其他輸入信號(hào)作為Clock,通過(guò)設(shè)置Period值即可獲得相應(yīng)的定時(shí)間隔,定時(shí)間隔T=(Period+1)/fClock。當(dāng)遞減計(jì)數(shù)器值減為0時(shí),定時(shí)器時(shí)間到,此時(shí)Terminal Counter Out將輸出一個(gè)高電平脈沖,若設(shè)置了中斷,則將產(chǎn)生定時(shí)器中斷。
定時(shí)器的核心是一個(gè)遞減計(jì)數(shù)的計(jì)數(shù)器,計(jì)數(shù)器功能模塊和定時(shí)器功能模塊具有相同的結(jié)構(gòu),都包含1個(gè)周期寄存器、1個(gè)同步遞減計(jì)數(shù)器和1個(gè)捕獲比較寄存器。兩者的功能模塊主要有如下的區(qū)別:
1)計(jì)數(shù)器的數(shù)據(jù)輸入是一個(gè)計(jì)數(shù)器的使能位而不是一個(gè)捕獲輸入,計(jì)數(shù)器不能用作異步捕獲,當(dāng)計(jì)數(shù)器被使能工作時(shí),數(shù)據(jù)寄存器不能執(zhí)行讀操作;
2)比較器輸出作為計(jì)數(shù)器的主輸出,而計(jì)數(shù)器終止輸出是作為輔助輸出;
3)計(jì)數(shù)終止輸出只能是全周期輸出。
本系統(tǒng)中運(yùn)用計(jì)數(shù)器的計(jì)數(shù)功能,其原理是:將光纖陀螺儀脈沖輸出信號(hào)作為Clock輸入,預(yù)先設(shè)定一個(gè)Period數(shù)值,通過(guò)讀取減數(shù)計(jì)數(shù)器DR0數(shù)值的變化獲得輸入信號(hào)的計(jì)數(shù)值,計(jì)數(shù)值C=Period-DR0。
3. 3 顯示器件的選擇
PSoC集成開(kāi)發(fā)環(huán)境(IDE)PSoC Designer5.O中有LCD、LED、LED7SEG等顯示器件。由于LCD功耗低、壽命長(zhǎng)、價(jià)格低、接口控制方便、使用靈活等諸多優(yōu)點(diǎn),本系統(tǒng)選用LCD顯示器件。通常液晶顯示器LCD可分為兩大類,一類是點(diǎn)陣型,另一類是字符型。點(diǎn)陣型液晶通常面積較大,可以顯示圖形;而字符型液晶顯示模塊專用于顯示字母、數(shù)字和一些簡(jiǎn)單圖形,面積相對(duì)較小,簡(jiǎn)單易控制且成本較低。本系統(tǒng)只需顯示一定時(shí)間里的脈沖數(shù),故選用了字符型液晶顯示器1602,它可實(shí)現(xiàn)兩行16個(gè)字符的顯示。
3.4 PSoC內(nèi)部硬件搭建
在集成開(kāi)發(fā)環(huán)境(IDE)PSoC Designer5.0的器件編輯器中,可實(shí)現(xiàn)硬件模塊的搭建。本系統(tǒng)只用到了PSoC芯片內(nèi)部的1個(gè)8位定時(shí)器、1個(gè)16位計(jì)數(shù)器和1塊LCD用戶模塊。
8位定時(shí)器產(chǎn)生1 ms的方波信號(hào),接在16位定時(shí)器的使能端,用于控制定時(shí)器對(duì)光纖陀螺脈沖信號(hào)計(jì)數(shù),最終的采集結(jié)果在液晶顯示器LCD上顯示。PSoC內(nèi)部硬件搭建如圖4所示。
4 軟件設(shè)計(jì)
系統(tǒng)首先用8位定時(shí)器Timer8通過(guò)中斷方式產(chǎn)生準(zhǔn)確時(shí)間,而后調(diào)用計(jì)數(shù)子程序?qū)饫w陀螺脈沖輸出進(jìn)行計(jì)數(shù),最后調(diào)用顯示子程序?qū)⒉蓸咏Y(jié)果在LCD上顯示出來(lái)。其軟件流程如下圖5所示。
需要注意的是,在定時(shí)器最終計(jì)數(shù)結(jié)束后的下一個(gè)系統(tǒng)時(shí)鐘周期,定時(shí)器會(huì)自動(dòng)重新加載計(jì)數(shù)初值。所以要在此之前讀取計(jì)數(shù)器的計(jì)數(shù)值。此操作可以通過(guò)定時(shí)器的中斷程序來(lái)實(shí)現(xiàn)。
5 測(cè)試結(jié)果
將應(yīng)用層代碼下載到PSoC程序下載軟件環(huán)境PSoCProgrammer3.06中。進(jìn)行仿真。本系統(tǒng)選用南京盛普儀器科技有限公司生產(chǎn)的SP1641D型函數(shù)信號(hào)發(fā)生器來(lái)模擬光纖陀螺的脈沖輸出信號(hào),測(cè)試周期為1 s,測(cè)試數(shù)據(jù)如表1所示。
由表1可看出,本測(cè)試系統(tǒng)能夠精確測(cè)量頻率范圍在0.1Hz~1MHz之間的光纖陀螺脈沖輸出,并且誤差小于萬(wàn)分之一,滿足了實(shí)際的測(cè)試需求。
6 結(jié)束語(yǔ)
本設(shè)計(jì)以PSoC芯片CY29666-24PVXI為核心,完成了光纖陀螺脈沖輸出的高精度采集。測(cè)試范圍能夠達(dá)到0.1Hz~1 MHz,誤差小于萬(wàn)分之一。該設(shè)計(jì)電路簡(jiǎn)單、集成度高、性能穩(wěn)定、抗干擾能力強(qiáng)、價(jià)格低廉、且可靠性高,充分體現(xiàn)了PSoC芯片的優(yōu)點(diǎn),在對(duì)光纖陀螺進(jìn)行測(cè)試,提高光纖陀螺精度方面,有較大的價(jià)值。