基于DSP的正弦信號(hào)發(fā)生器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
正弦信號(hào)發(fā)生器是信號(hào)中最常見(jiàn)的一種,它能輸出一個(gè)幅度可調(diào)、頻率可調(diào)的正弦信號(hào),在這些信號(hào)發(fā)生器中,又以低頻正弦信號(hào)發(fā)生器最為常用,在科學(xué)研究及生產(chǎn)實(shí)踐中均有著廣泛應(yīng)用。
目前,常用的信號(hào)發(fā)生器絕大部分是由模擬電路構(gòu)成的,當(dāng)這種模擬信號(hào)發(fā)生器用于低頻信號(hào)輸出往往需要的RC值很大,這樣不但參數(shù)準(zhǔn)確度難以保證,而且體積大和功耗都很大,而由數(shù)字電路構(gòu)成的低頻信號(hào)發(fā)生器,雖然其低頻性能好但體積較大,價(jià)格較貴,而本文借助DSP運(yùn)算速度高,系統(tǒng)集成度強(qiáng)的優(yōu)勢(shì)設(shè)計(jì)的這種信號(hào)發(fā)生器,比以前的數(shù)字式信號(hào)發(fā)生器具有速度更快,且實(shí)現(xiàn)更加簡(jiǎn)便。
系統(tǒng)原理
一般的采樣型SPWM法分自然采樣法和規(guī)則采樣法,自然采樣法是將基準(zhǔn)正弦波與一個(gè)載波三角波相比較,由兩者的交點(diǎn)決定開(kāi)關(guān)模式的方法。由于自然采樣法得到的數(shù)學(xué)模型需要解超越方程,因而并不適合微控制器進(jìn)行實(shí)時(shí)控制,又因?yàn)閷?shí)踐檢驗(yàn)對(duì)稱(chēng)波形比非對(duì)稱(chēng)波形在三相電的相電流中引起的諧波失真小,所以我們使用對(duì)稱(chēng)規(guī)則采樣法作為本系統(tǒng)的數(shù)學(xué)模型。
這里說(shuō)明一下使用TI公司的DSP芯片TMS320LF2407(以下簡(jiǎn)稱(chēng)2407)來(lái)產(chǎn)生PWM信號(hào)的原理:由于產(chǎn)生一個(gè)PWM信號(hào)需要有一個(gè)適合的定時(shí)器來(lái)重復(fù)產(chǎn)生一個(gè)與PWM周期相同的計(jì)數(shù)周期,并用一個(gè)比較寄存器來(lái)保持調(diào)制值,因此,比較寄存器的值應(yīng)不斷與定時(shí)寄存器的值相比較,這樣,當(dāng)兩個(gè)值相匹配時(shí),就會(huì)在響應(yīng)的輸出上產(chǎn)生一個(gè)轉(zhuǎn)換(從低到高或從高到低),從而產(chǎn)生輸出脈沖,輸出的開(kāi)啟(或關(guān)閉)時(shí)間與被調(diào)制的數(shù)值成正比,因此,改變調(diào)制數(shù)值,相關(guān)引腳上輸出的脈沖信號(hào)的寬度也將隨之改變。
通過(guò)TMS320LF2407的事件管理器模塊可以產(chǎn)生一定占空比的PWM脈沖信號(hào),而使用其中的通用定時(shí)器、全比較單元和單比較單元?jiǎng)t均可發(fā)出PWM脈沖,由DSP的PWM口可輸出一系列等幅不等寬的PWM波形信號(hào),這些信號(hào)再經(jīng)過(guò)外圍一系列調(diào)理電路的變換之后,便可以得到所需要的三相交流正弦波信號(hào)了。事實(shí)上,在硬件上,DSP有兩個(gè)設(shè)計(jì)一樣的事件管理模塊(EVA/EVB),每一個(gè)事件管理模塊都有6個(gè)PWM輸出口,故可輸出兩組三相SPWM波,一般均可滿(mǎn)足通常的設(shè)計(jì)需要。
系統(tǒng)硬件組成
基于DSP的信號(hào)發(fā)生器的硬件結(jié)構(gòu)圖如圖1所示,它主要由DSP主控制器,輸出D/A通道和人機(jī)界面等幾個(gè)主要部分組成。
◇ 控制器部分
本系統(tǒng)采用TI公司的TMS320LF2407 DSP處理器,該器件具有外設(shè)集成度高,程序存儲(chǔ)器容量大,A/D轉(zhuǎn)換精度高,運(yùn)算速度高,I/O口資源豐富等特點(diǎn),芯片內(nèi)部集成有32KB的FLASH程序存儲(chǔ)器、2KB的數(shù)據(jù)/程序RAM,兩個(gè)事件管理器模塊(EVE和EVB)、16通道A/D轉(zhuǎn)換器、看門(mén)狗定時(shí)器模塊、16位的串行外設(shè)接口(SPI)模塊、40個(gè)可單獨(dú)編程或復(fù)用的通用輸入輸出引腳(GPIO)以及5個(gè)外部中斷和系統(tǒng)監(jiān)視模塊。
TMS320LF2407芯片中的事件管理模塊(EV)是一個(gè)非常重要的組成部分。SPWM波形的產(chǎn)生和輸出就是由這一部分完成的,它由兩個(gè)完全相同的模塊(EVA和EVB)組成,每個(gè)模塊都含有2個(gè)通用定時(shí)器、3個(gè)比較器、6至8個(gè)PWM發(fā)生器、3個(gè)捕獲單元和2個(gè)正交脈沖編碼電路(QEP)。由于TMS320LF2407有544字的雙口RAM(DARAM)和2K字的單口RAM(SARAM);而本系統(tǒng)的程序僅有幾KB,且所用RAM也不多,因此不用考慮存儲(chǔ)器的擴(kuò)展問(wèn)題,而對(duì)于TMS320LF2407的I/O擴(kuò)展問(wèn)題,由于TMS320LF2407器件有多達(dá)40個(gè)通用、雙向的數(shù)字I/O(GPIO)引腳,且其中大多數(shù)的基本功能和一般I/O復(fù)用的引腳,而實(shí)際上,本系統(tǒng)只需要17路I/O信號(hào),這樣,就可以為系統(tǒng)剩余50%多的I/O資源,因此可以說(shuō),該方案既不算浪費(fèi)系統(tǒng)資源,也為系統(tǒng)今后的升級(jí)留有余地。
◇ 輸出D/A通道部分
本系統(tǒng)的輸出通道部分主要負(fù)責(zé)實(shí)現(xiàn)波形的輸出,此通道的入口為T(mén)MS320LF2407的PWM8口,可輸出SPWM等幅脈沖波形,出口為系統(tǒng)的輸出端,這樣,經(jīng)過(guò)一系列的中間環(huán)節(jié),便可將PWM脈沖波轉(zhuǎn)化為交流正弦波形,從而實(shí)現(xiàn)正弦波的輸出,其原理框圖如圖2所示。
圖2中的緩沖電路的作用是對(duì)PWM口輸出的數(shù)字量進(jìn)行緩沖,并將電壓拉高到5V左右,以供后級(jí)模擬電路濾波使用。這一部分電路由兩個(gè)芯片組成。一片用三態(tài)緩沖器,由于PWM口的輸出為3.3V的TTL電平,這樣,在設(shè)計(jì)時(shí)就應(yīng)當(dāng)選用輸入具有5V的TTL輸入,CMOS輸出電平的轉(zhuǎn)換芯片(如TI公司的74HCT04);另一片則可選用TOSHIBA公司出品的光電耦合器6N137;輸出端連接的5V精密穩(wěn)壓電源可選用BURR-BROWN?舊??腞EF02型精密穩(wěn)壓電源,以輸出標(biāo)準(zhǔn)的5V電壓。
系統(tǒng)中的減法電路的主要作用是把0-10V直流脈動(dòng)信號(hào)的轉(zhuǎn)換成-5~+5V的正弦交流信號(hào),并使其電壓增益為1。設(shè)計(jì)使可利用差分式電路來(lái)實(shí)現(xiàn)其功能,為了簡(jiǎn)化電路,可以選用較為常用的AD公司的AD524,并將AD524接成電壓跟隨器的形式,同時(shí)適當(dāng)?shù)倪x取電阻以滿(mǎn)足要求,此外,為了使產(chǎn)生的正弦波信號(hào)具有2-5mA的驅(qū)動(dòng)能力,可選用AD624來(lái)構(gòu)成末級(jí)的信號(hào)放大電路。AD624是高精度低噪聲儀用放大器,若外接一只增益電阻,即可得到1-1000之間的任意增益值,其誤差小于1%。由于AD624的建立時(shí)間只有15μs,所以它非常適宜在高速數(shù)據(jù)采集系統(tǒng)中使用。
◇ 人機(jī)接口部分
(1)驅(qū)動(dòng)器設(shè)計(jì)
位驅(qū)動(dòng)器電路由兩片集成電路組成,即由位驅(qū)動(dòng)的CMOS芯片和將TTL電平轉(zhuǎn)換成CMOS電平的電平轉(zhuǎn)換芯片組成,電平轉(zhuǎn)換芯片可以和輸出通道的電平轉(zhuǎn)換芯片共用一片74HCT244(本部分使用4路,輸出通道使用3路),其主要作用是對(duì)DSP輸出的3.3V TTL電平與5V CMOS電平進(jìn)行匹配,從而帶動(dòng)具有CMOS電平的位驅(qū)動(dòng)器,根據(jù)動(dòng)態(tài)掃描顯示的要求,位驅(qū)動(dòng)器需要選用每路輸出吸收電流都要大于200mA的芯片,因此,本設(shè)計(jì)選用了TI公司的74LS06來(lái)做LED的大電流驅(qū)動(dòng)器件。
(2)鍵盤(pán)設(shè)計(jì)
本系統(tǒng)選用四個(gè)獨(dú)立式按鍵,分別接入PF3-PF6口,并使用四個(gè)220Ω上拉電阻接VCC。所謂獨(dú)立式,就是將每一個(gè)獨(dú)立鍵按一對(duì)一地直接接到I/O輸入線(xiàn)上,而在讀鍵值時(shí),直接讀I/O口,每一個(gè)鍵的狀態(tài)通過(guò)讀入鍵值的一位(二進(jìn)制位)來(lái)反應(yīng),所以這種方式也稱(chēng)為一維直讀方式,這種方式的查鍵軟件比較簡(jiǎn)單,但占用I/O線(xiàn)較多,一般在鍵的數(shù)量較少時(shí)采用,不過(guò),由于DSP芯片有足夠的I/O接口可供使用,因而可大大方便設(shè)計(jì),設(shè)計(jì)時(shí)可以充分利用這一特點(diǎn)來(lái)連接硬件,至于按鍵的削抖動(dòng)措施,則可在軟件中完成。
系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件可以按照模塊化設(shè)計(jì)思想來(lái)編寫(xiě),包括主程序、常數(shù)計(jì)算程序、占空比計(jì)算程序和相應(yīng)的一些功能子程序,主程序用于調(diào)用各功能子程序、初始化變量、查詢(xún)鍵盤(pán)、判斷顯示數(shù)據(jù)是否需要刷新、同時(shí)判斷一個(gè)脈沖是否完成發(fā)送等工作,具體方案見(jiàn)圖3所示的流程圖。
在程序中,應(yīng)在第N-1個(gè)脈沖周期里計(jì)算占空比,并在第N個(gè)脈沖周期里輸出波形,這就要求在設(shè)計(jì)時(shí)要在一個(gè)脈沖周期內(nèi)完成計(jì)算,如果選用20MHz的晶振,那么,在一倍頻下,執(zhí)行一條執(zhí)行只需50ns,若輸出400Hz的正弦波,即每一個(gè)周期(即2.5ms)要輸出200個(gè)脈沖,這樣,也就是說(shuō),一個(gè)脈沖需要12.5μs(相當(dāng)于12500/50=250條指令)。而執(zhí)行一個(gè)占空比的計(jì)算程序只需要幾十條指令,這種算法從軟件開(kāi)銷(xiāo)上考慮是可以實(shí)現(xiàn)的。
結(jié)束語(yǔ)
基于DSP實(shí)現(xiàn)的這種信號(hào)發(fā)生器充分發(fā)揮了DSP器件的主要性能優(yōu)勢(shì),它比傳統(tǒng)的信號(hào)發(fā)生器具有一定的獨(dú)到之處,它編程靈活、操作簡(jiǎn)單,體積小巧,電路結(jié)構(gòu)簡(jiǎn)單,使用方便,而且還有許多可擴(kuò)展的功能,故其使用面更加寬廣,鑒于DSP具有較高的性?xún)r(jià)比,且利用DSP作為主控制器來(lái)提高傳統(tǒng)產(chǎn)品的性能已成為大勢(shì)所趨。因此,本系統(tǒng)的應(yīng)用對(duì)提高工程及教學(xué)實(shí)驗(yàn)水平具有重要的意義。