基于軟核Nios的寬譜正弦信號發(fā)生器設(shè)計(jì)
摘要:本設(shè)計(jì)運(yùn)用了基于Nios II嵌入式處理器的SOPC技術(shù)。系統(tǒng)以ALTERA公司的Cyclone 系列FPGA為數(shù)字平臺(tái),將微處理器、總線、數(shù)字頻率合成器、存儲(chǔ)器和I/O接口等硬件設(shè)備集中在一片F(xiàn)PGA上,利用直接數(shù)字頻率合成(DDFS)技術(shù)、數(shù)字調(diào)制技術(shù)實(shí)現(xiàn)所要求波形的產(chǎn)生,用FPGA中的ROM 儲(chǔ)存DDS 所需的波形表,充分利用片上資源,提高了系統(tǒng)的精確度、穩(wěn)定性和抗干擾性能。使用新的數(shù)字信號處理(DSP)技術(shù),通過在Nios中軟件編程解決不同的調(diào)制方式的實(shí)現(xiàn)和選擇。系統(tǒng)頻率實(shí)現(xiàn)1Hz~20MHz可調(diào),步進(jìn)達(dá)到了1Hz;完成了調(diào)幅、調(diào)頻、二進(jìn)制PSK、二進(jìn)制ASK、二進(jìn)制FSK調(diào)制和掃頻輸出的功能。
關(guān)鍵詞:片上可編程系統(tǒng);Nios II ;數(shù)字頻率合成;數(shù)字調(diào)制技術(shù)
A Wide-band Sine Wave Signal Generator Based on Nios
This designation uses the SOPC technology based on Embedded Processor of Nios II. The system, using the Cyclone series FPGA as a digital bench, connects the MPU, BUS, DDFS CELL, MEMORY and I/O interface and makes them all into a FPGA chip. It uses the technologies of DDFS, Digital Modulate, and stores the datum of the Sine wave into the On Chip Memory in order to generate the required wave. With full using of the chip’s resources, the precision, stabilization and influence resisting were significantly improved. Using the new technology of DSP, it can carry out and choose the modulation of different mode by software .The programmable frequency synthesis is also carried out. The frequency of the output wave can range from 1Hz to 20MHz,and the frequency step change can reduced to 1Hz.We also achieve the functions all in the development section.eg:AM,FM,2PSK,2ASK, the Sine wave of 1KHz and the binary serials of 10Kbps.Fother,we also achieve the function of 2FSK and frequency sweep.
Keyword: SOPC ;Nios II;DDFS;digital modulate technology
SOPC(System on a Programmable Chip片上可編程系統(tǒng))是Altera公司提出來的一種靈活、高效的SOC解決方案。它將一個(gè)軟核放入FPGA,占用片上資源少,成本很低;卻擴(kuò)展了目前世界上最流行的軟核嵌入式處理器的性能??蓪⑻幚砥鳌⒋鎯?chǔ)器、I/O口等系統(tǒng)設(shè)計(jì)需要的功能模塊集成到一個(gè)FPGA器件上,構(gòu)建成一個(gè)可編程的片上系統(tǒng),具有靈活的設(shè)計(jì)方式,可裁減、可擴(kuò)充、可升級,并具備軟硬件在系統(tǒng)可編程的功能。在可編程器件內(nèi),還具有小容量高速RAM資源和足夠的可編程邏輯資源,用于實(shí)現(xiàn)其他的附加邏輯。
正弦信號發(fā)生器以嵌入式處理器Nios II 為核心,將微處理器、總線、外設(shè)、數(shù)字頻率合成器、存儲(chǔ)器和I/O接口等硬件設(shè)備集中在一片F(xiàn)PGA上,創(chuàng)建一個(gè)可編程單芯片上系統(tǒng),實(shí)現(xiàn)了一個(gè)軟件無線電開發(fā)平臺(tái),并完成五大方面的功能:
l 控制鍵盤和顯示器;
l 根據(jù)輸入的頻率值,通過數(shù)據(jù)計(jì)算得到頻率控制字;
l 實(shí)現(xiàn)數(shù)字頻率合成器;
l 實(shí)現(xiàn)數(shù)字調(diào)制器;
l 實(shí)現(xiàn)對數(shù)模轉(zhuǎn)換器的控制。
這種設(shè)計(jì)方式使用數(shù)字信號處理器技術(shù),通過軟件編程實(shí)現(xiàn)不同調(diào)制方式的選擇,充分利用了FPGA的資源,減少了CPU與外設(shè)的接口,在很大程度上提高了系統(tǒng)的速度、可靠性以及系統(tǒng)的成本。其中,片內(nèi)正弦表ROM傳出的數(shù)據(jù)經(jīng)DAC904完成數(shù)模轉(zhuǎn)換,由調(diào)制系統(tǒng)完成幅度控制,以及各種調(diào)制方式的實(shí)現(xiàn),繼而經(jīng)過低通濾波器進(jìn)行濾波,再經(jīng)過寬帶運(yùn)算放大器,從而得到任意一種具有一定帶負(fù)載能力的所需波形。
系統(tǒng)總框圖如下:
圖1 系統(tǒng)總體框圖
自定義邏輯包括數(shù)字頻率合成和數(shù)字調(diào)制IP核;數(shù)字調(diào)制部分包括正弦波產(chǎn)生模塊和調(diào)制控制模塊;其中調(diào)制控制又分為AM控制、FM控制、ASK控制、PSK控制模塊等。以下我們將分別論述其產(chǎn)生的原理。
{{分頁}}
1.各模塊實(shí)現(xiàn)原理
1.1 正弦波產(chǎn)生模塊實(shí)現(xiàn)原理
圖2 正弦波產(chǎn)生框圖
相位累加器為32位累加器,輸出為0 ~ (232-1),作為正弦查詢表的地址輸入端。正弦表中存放一個(gè)周期的正弦波內(nèi)的232個(gè)點(diǎn)的數(shù)據(jù),輸出 為一正弦波,其頻率由“頻率控制字”進(jìn)行調(diào)節(jié),輸出頻率:
(1-1)
最小頻率分辨率: (2-2)
其中 為相位累加器的位數(shù),F(xiàn)TW為頻率步進(jìn)控制字, 為時(shí)鐘頻率,輸出信號頻率主要取決于頻率控制字FTW。當(dāng)FTW增大時(shí), 可以不斷增加,綜合考慮Nyquist采樣定理,最高輸出頻率應(yīng)小于 。根據(jù)實(shí)驗(yàn)所得,實(shí)際工作頻率應(yīng)小于 。
的取值受D/A轉(zhuǎn)換速率的限制,由于數(shù)模轉(zhuǎn)換部分采用的是高速DAC904,其轉(zhuǎn)換速率約為160MHz。則在最高頻率20 MHz時(shí),所產(chǎn)生的波形在一個(gè)周期內(nèi)仍有8個(gè)點(diǎn),經(jīng)后級處理后效果很好,并無明顯失真。
(1-3)
所以可以實(shí)現(xiàn)1Hz步進(jìn),當(dāng)輸出1Hz時(shí),頻率控制字FTW=1/fmin=26.8435465,在Nios內(nèi)部浮點(diǎn)運(yùn)算所占資源太多,所以把浮點(diǎn)運(yùn)算改為定點(diǎn)運(yùn)算。則當(dāng)輸出其他任意頻率 時(shí)Nios內(nèi)部算法為:
1.2調(diào)制系統(tǒng)實(shí)現(xiàn)原理
1.2.1 AM硬件實(shí)現(xiàn)原理
圖 3 標(biāo)準(zhǔn)調(diào)幅產(chǎn)生硬件框圖
調(diào)制波產(chǎn)生模塊中,在輸入時(shí)鐘頻率為256KHz條件下,循環(huán)計(jì)數(shù)器的為數(shù)為八,則累加器為數(shù)為八,即M=8,根據(jù)公式(1-1),當(dāng) =256KHz, FTW =1時(shí), =1KHz,且正弦表中存放的是正弦波一個(gè)周期的內(nèi)256個(gè)點(diǎn)的數(shù)據(jù),即輸出調(diào)制波為頻率為1KHz的正弦波。設(shè)8位的幅度控制字大小為Am,則經(jīng)幅值放大后生成的調(diào)制頻率表達(dá)式為:
( = ) (1-4)
經(jīng)直流疊加,且與載波信號相乘后,得出已調(diào)波為:
(1-5)
變換表達(dá)式形式:
幅值放大部分可進(jìn)行調(diào)制度 的調(diào)節(jié),則可得到調(diào)制度可調(diào),載波可變的調(diào)幅波。
1.2.2 FM硬件實(shí)現(xiàn)原理
圖 4 調(diào)頻波產(chǎn)生硬件框圖
頻率調(diào)制就是載波信號的瞬時(shí)頻率偏移隨調(diào)制信號線性變化。根據(jù)調(diào)頻波的表達(dá)式:
(1-6)
瞬時(shí)頻率: (1-7)
在幅頻變換IP核的參數(shù)設(shè)計(jì)算時(shí)有:
(1-8)
令:
(1-9)
為載頻頻率控制字, 為調(diào)制頻率頻率控制字, 由輸入載頻計(jì)算得出。當(dāng)最大頻偏 為10K時(shí)。
(1-10)
調(diào)頻波的瞬時(shí)頻率偏移與調(diào)制信號的幅度成線性關(guān)系。因?yàn)槔奂悠鲗φ`差有積累作用,所以為了同時(shí)達(dá)到精度與速度的要求,我們直接用其幅度去查它所對應(yīng)的頻偏。由于幅度累加器為8位,且正負(fù)對稱。則最小的頻率控制字:
(1-11)
要實(shí)現(xiàn)5KHz最大頻偏時(shí),只要對 進(jìn)行二分頻即可。這樣,我們就實(shí)現(xiàn)了調(diào)頻功能。
{{分頁}}
1.2.3 ASK硬件實(shí)現(xiàn)原理
圖5 二進(jìn)制ASK硬件框圖
設(shè)計(jì)中,二進(jìn)制基帶序列信號為m序列由八位移位寄存器產(chǎn)生,由于m序列一周期內(nèi)的碼元數(shù)大概相等(“1 ”比“0 ”只多一個(gè)),這個(gè)特征保證了在擴(kuò)頻系統(tǒng)中,用m序列作為平衡調(diào)制實(shí)現(xiàn)擴(kuò)頻是具有較高的載波抑制度,保證了在后續(xù)擴(kuò)張其它功能的可能性。ASK信號由m序列和載波相乘實(shí)現(xiàn),即移位寄存器輸出為一隨機(jī)1、0序列,當(dāng)mResult(m序列輸出值)為1時(shí),幅值選擇控制器輸出幅值為最大值,當(dāng)mResult為0時(shí),幅值選擇控制器輸出幅值為0。
m序列是最長線性移位寄存器序列,它是由帶線性反饋的移位寄存器產(chǎn)生的周期最長的一種序列。一般來說,一個(gè)n級的反饋移存器可能產(chǎn)生的最長周期為: ,則8位的移位寄存器能產(chǎn)生的最長周期為127。
能產(chǎn)生周期最長的線性移位寄存器的結(jié)構(gòu)由其本原多項(xiàng)式?jīng)Q定,該本原多項(xiàng)式應(yīng)滿足:
(1) 是既約多項(xiàng)式,即不能再進(jìn)行因式分解
(2) 可除盡 ( )
(3) 整除不盡 ( )
我們采用八級移位寄存器產(chǎn)生小m序列,由本原多項(xiàng)式 可知移位寄存器的結(jié)構(gòu)為:
圖16 m序列產(chǎn)生框圖
1.2.4 PSK硬件實(shí)現(xiàn)原理
FTW[31..0] |
載波頻率控制字 |
圖6 PSK硬件框圖
PSK調(diào)制信號產(chǎn)生模塊中 m序列產(chǎn)生器輸出為一隨機(jī)1、0序列,當(dāng)mResult為1時(shí),相位選擇控制器輸出0(對應(yīng) 相位),當(dāng)mResult為0時(shí),相位選擇控制器輸出 (對應(yīng) 相位)。在頻率累加器與正弦表查詢之間添加一相位相加器,即可實(shí)現(xiàn)m序列輸出為1時(shí),已調(diào)波輸出波形與載波波形一致,m序列輸出為0時(shí),輸出波形出現(xiàn) 相位的二進(jìn)制PSK調(diào)制。
1.3 頻率穩(wěn)定度的實(shí)現(xiàn)
我們采用20MHz,頻率穩(wěn)定度不超過10個(gè)PPM的晶振作為頻率參考源,經(jīng)FPGA內(nèi)部PLL倍頻后得到160MHz作為系統(tǒng)主頻。因?yàn)镻LL對波形有提純能力,所以最后頻率穩(wěn)定度優(yōu)于 。
1.4 顯示及鍵盤部分實(shí)現(xiàn)
顯示及鍵盤部分由ZLG7289芯片驅(qū)動(dòng)。為了提高Nios II處理器的執(zhí)行效率,需要自定義控制ZLG7289芯片的邏輯指令,減少CPU對鍵盤顯示模塊的操作時(shí)間,使整個(gè)系統(tǒng)的效率得到了很大的提升。以下是CPU通過自定義邏輯指令讀取鍵盤值的時(shí)序圖:
圖7 讀取鍵盤時(shí)序圖
2 .后級處理電路設(shè)計(jì)
運(yùn)算放大器選用低功耗、高速、寬帶運(yùn)放,其電流反饋型設(shè)計(jì)使它可以在高增益的條件下保持寬帶特性。由于在設(shè)計(jì)程控增益放大器時(shí)還需要一個(gè)寬帶放大器,而 OPA2690恰好是一個(gè)雙運(yùn)算放大器,因此設(shè)計(jì)時(shí)非常方便,也有利于提高電路的穩(wěn)定性。放大器模塊中一組用于差分放大,將單極性變化為雙極性,另一組用于低通放大,用Multisim8分析得出:截止頻率約為70 ,在20 以內(nèi)幅度可以平坦輸出。由于它自身具有很強(qiáng)的大電流驅(qū)動(dòng)能力,從實(shí)驗(yàn)結(jié)果證明:在1kHz~20MHz范圍內(nèi),在 的負(fù)載電阻上,電壓峰-峰值達(dá)到6V 0.2V。
圖8 后級處理電路圖
3、軟件設(shè)計(jì)
利用Altera的SOPC Builder系統(tǒng)開發(fā)工具和QuartusII5.0設(shè)計(jì)軟件,通過使用Nios II集成開發(fā)環(huán)境(IDE),編制了5個(gè)功能函數(shù),正弦波發(fā)生函數(shù),調(diào)幅函數(shù),調(diào)頻函數(shù),調(diào)相函數(shù),掃頻函數(shù)。CPU就可以通過讀取鍵盤值,根據(jù)當(dāng)前狀態(tài)執(zhí)行相應(yīng)功能。如要產(chǎn)生一個(gè)10KHz的正弦波,CPU通過查詢內(nèi)部狀態(tài)寄存器選擇所要執(zhí)行的函數(shù),再對選擇開關(guān)賦值,選取所需的功能模塊,從而把產(chǎn)生正弦波所需的內(nèi)部硬件接通,最后,CPU把從鍵盤讀入的所需頻率10K經(jīng)過數(shù)據(jù)處理轉(zhuǎn)為相應(yīng)的頻率命令字,于是我們就在輸出端得到了相應(yīng)的波形。
圖9 軟件流程圖
4.主要元器件請單
類型 |
型號 |
數(shù)量 |
FPGA |
EP1C6T144C8 |
1片 |
D/A轉(zhuǎn)換器 |
DAC904 |
1片 |
寬帶放大器 |
OPA2690 |
1片 |
FPGA配置芯片 |
EPCS1SI8 |
1片 |
有源晶振 |
20MHz |
1只 |
電壓變換芯片 |
TPS767D301 |
1片 |
穩(wěn)壓芯片 |
LM7806CT |
1片 |
穩(wěn)壓芯片 |
MC7906CD2T(3) |
1片 |
電感 |
|
5個(gè) |
LED指示燈 |
|
8個(gè) |
電解電容 |
100uF |
3個(gè) |
電解電容 |
47 uF |
2個(gè) |
濾波電容 |
0.1 uF |
22個(gè) |
二極管 |
1N4007 |
2個(gè) |
電阻 |
10K |
30個(gè) |
電阻 |
50 |
1個(gè) |
5、系統(tǒng)測試
5.1測試使用的儀器與測試方法
⑴ 測試環(huán)境
在實(shí)驗(yàn)室條件下,環(huán)境溫度為常溫25 ,無強(qiáng)電磁干擾,由市電220V供電,通過直流電壓源(型號為DF17432L—3A)轉(zhuǎn)化為+8V和 V對系統(tǒng)供電。
{{分頁}}
⑵ 測試儀器設(shè)備
序號 |
名稱、型號、規(guī)格 |
數(shù)量 |
備注 |
1 |
示波器 Agilent54622D |
1 |
測試正弦波,AM,二進(jìn)制PSK,二進(jìn)制ASK等的波形 |
2 |
頻譜分析儀 AgilentE4411B |
1 |
測試FM,二進(jìn)制 FSK,掃頻輸出 |
3 |
頻率計(jì) Agilent 531B1A |
1 |
測試頻率穩(wěn)定度 |
⑶測試方法
按照設(shè)計(jì)要求,我們進(jìn)行了以下測試:
采用了進(jìn)口Agilent54622D示波器對正弦波、AM、PSK、ASK等波形進(jìn)行了直觀與定量的測量,主要由示波器觀察波形輸出失真程度和負(fù)載為 的電壓輸出的峰-峰值。通過示波器截取原波形由圖10 ~圖14所示。
由于掃頻輸出和FM的最大頻率偏移只能用頻譜分析儀觀察和測量;所以我們采用AgilentE4411B頻譜分析儀,對FM、FSK、掃頻輸出等參數(shù)進(jìn)行的定性與定量測試。通過示波器截取原波形由圖15 ~圖31所示。
為了準(zhǔn)確獲得頻率穩(wěn)定度的指標(biāo),采用了Agilent 531B1A頻率計(jì)對頻率穩(wěn)定度進(jìn)行了嚴(yán)謹(jǐn)科學(xué)的定量的測試。當(dāng)所測信號的輸出比較大時(shí)我們通過測頻率的辦法得到系統(tǒng)的頻率穩(wěn)定度,當(dāng)系統(tǒng)輸出信號比較小時(shí),我們要通過測周期的辦法先得到系統(tǒng)的周期,再轉(zhuǎn)換為頻率進(jìn)而得到系統(tǒng)的頻率穩(wěn)定度。
5.2 指標(biāo)測試和測試結(jié)果
(1)輸出正弦波頻率范圍和穩(wěn)定度的測試
標(biāo)稱 頻率 |
實(shí)測頻率 |
平均頻率 |
頻率穩(wěn) 定度 | ||
一次 |
二次 |
三次 | |||
1 k Hz |
1000.062779 |
999.951426 |
999.3966824 |
999.993676 |
0.000006 |
10 k Hz |
10000.15396 |
10000.15518 |
10000.15427 |
10000.15447 |
0.000015 |
50 k Hz |
50000.82914 |
50000.83166 |
50000.83087 |
50000.83056 |
0.000017 |
100 k Hz |
100001.6685 |
100001.6715 |
100001.6704 |
100001. 6701 |
0.000017 |
500 k Hz |
500008.4038 |
500008.3776 |
500008.1788 |
500008.3867 |
0.000017 |
1M Hz |
1000016.878 |
1000016.897 |
1000016.903 |
1000016. 893 |
0.000017 |
5 M Hz |
5000084.111 |
5000084.175 |
5000084.232 |
5000084.172 |
0.000017 |
10 M Hz |
10000169.19 |
10000169.13 |
10000169.28 |
10000169.20 |
0.000017 |
15 M Hz |
15000254.07 |
15000254.28 |
15000254..32 |
15000254.22 |
0.000017 |
20 M Hz |
20000338.86 |
20000338.53 |
20000339.74 |
20000339.38 |
0.000017 |
(2)輸出正弦波幅度范圍的測試
頻率 |
1 Hz |
100 Hz |
1 k Hz |
10 k Hz |
50 k Hz |
100 k Hz |
幅度(V) |
6.13 |
6.13 |
6.06 |
6.06 |
6.06 |
6.06 |
頻率 |
500 k Hz |
1M Hz |
5 M Hz |
10 M Hz |
15 M Hz |
20 M Hz |
幅度(V) |
6.06 |
6.00 |
6.00 |
5.94 |
5.81 |
5.78 |
測量結(jié)果表明正弦波的頻率輸出范圍可達(dá)到1 Hz 20 MHz,步進(jìn)可以達(dá)到1 Hz,且頻率輸出和步進(jìn)值均可以通過鍵盤設(shè)置。輸出信號的頻率穩(wěn)定度可以通過下式計(jì)算:
其中 為頻率穩(wěn)定度, 為頻率的平均值, 為標(biāo)稱頻率。由表中結(jié)果可以看道1k Hz 10 MHz的輸出信號的頻率穩(wěn)定度均達(dá)到 ,優(yōu)于 的要求。
{{分頁}}
5.3 測試波形截取
(1)1kHz正弦波波形
圖10 1K正弦波波形
低通濾波器相關(guān)文章:低通濾波器原理
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理 塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理 晶振相關(guān)文章:晶振原理 汽車防盜機(jī)相關(guān)文章:汽車防盜機(jī)原理 頻譜分析儀相關(guān)文章:頻譜分析儀原理
評論