短波接收機前端模塊電路設計

當時寒假和隊友一起做的,那會武漢的冬天有點冷,我老師負責指導我們。他人挺好,對待學生親熱有家,每一次我們遇到問題他總是能夠及時回答我們那個地方出了問題需要調試或者修改參數,甚至看我們動手太慢他主動來用烙鐵來修改板子上的參數。在我的學生生涯裡面,這樣的老師幾乎很少見吧,大多數導師只會要求你做什麼看什麼書而不會親力親為來教你甚至自己動手。所以碰上這樣的導師我也是醉了。然後那會的寒假都很自覺,主動留在他那裡做事,不像後來的一些年被老闆逼著留在學校只有臨近春節才放假。所以選老師就好像選對象,選錯了各種不開心。

說是做接收機,其實主要的工作量集中在本振,因為混頻之後的濾波器只允許一個信號過去,這就意味著當本振固定的時候,接收進來的信號也就固定了。接收機進來的信號通過預選頻之後就進入混頻端,而混頻的本振是選擇信號的關鍵之處,當改變混頻的本振時,就會選擇某個進來的頻率,這是接收信號裡面的主要之處。

一個信號進來首先經過預選頻,之後通過低噪放,這裡的opa很關鍵,因為進來的信號靈敏度很低,不能隨便選擇一個放大器。因為越在前面一級他的噪聲係數要求就越高。鏡像抑制之前我的博客講解過,涉及很多指標以後有機會再統一歸納一下。天線進來的信號與本振一起進入混頻之後通過41.4M的晶體濾波器,因為輸出選擇有晶體濾波器的存在,也就是說當本振固定的時候,選擇的天線進來的頻率也就固定了,這也是接收機最主要的理論。這裡的DDS顯得很關鍵,因為它幾乎是整個系統的核心,選擇的頻率由它決定了。我們採用的DDS為AD9953,時鐘要求較高,配合鎖相環一起做的本振。進入混頻出來之後的信號通過濾波器再進行自動增益控制,採用兩級信號自動增益以及濾波的原因是為了更好的濾除掉波形。接著進入模數轉換AD中進行數字採集,再通過下變頻之後把信號的頻率轉換為基帶的信號,送入DSP去處理就行了。

指標要求:

頻率範圍:1-35M

頻率間隔:1Hz

基準靈敏度:端口電壓≤0.5uV

中頻抑制和鏡像抑制>90db

較大信號信噪比>40db

阻塞:≥100dBuV

先看一下平時的儀器。這張圖幾乎可以代表著平時的生活狀態以及接觸的東西。

短波接收機前端模塊電路設計

再看原理圖吧,這是本振部分的。

短波接收機前端模塊電路設計

短波接收機前端模塊電路設計

處理器用的ti的。

短波接收機前端模塊電路設計

雖然市場上USB芯片很流行,但是我老師對232特別有情懷,每次他都說用這個就好, 省錢。

短波接收機前端模塊電路設計

中間用了多階濾波器以及後面加了一個固定增益放大器。下面是多個電源部分。

短波接收機前端模塊電路設計

短波接收機前端模塊電路設計

本振部分的PCB和3D圖。

短波接收機前端模塊電路設計

短波接收機前端模塊電路設計

實物板子圖,

短波接收機前端模塊電路設計

短波接收機前端模塊電路設計

這是MSP430

短波接收機前端模塊電路設計

dds在這裡了.

信號經過混頻出來之後通過濾波,信號不太穩定的情況下這裡設計了AGC用來穩定信號的幅度再送往後級處理。芯片用的ADI的AD8367和AD603.多級603,前期的實驗用的是AD605,但是605被我調廢了。之後改的方案就用的這款。我老師特別喜歡AD8367,不僅僅是因為它的帶寬很高!AGC有很多種方案,採用603的原因除了因為他熟悉之外還有因為他的移植性很高,在ADI的一個典型的方案裡面就配合了AD8367做的一個自動增益。

短波接收機前端模塊電路設計

短波接收機前端模塊電路設計

放大圖。

短波接收機前端模塊電路設計

短波接收機前端模塊電路設計

AGC設計在這裡了,AD8367用來檢波的。603負責程控。

短波接收機前端模塊電路設計

短波接收機前端模塊電路設計

最後的指標測試,晶振源的頻譜。

短波接收機前端模塊電路設計

單信號頻譜

短波接收機前端模塊電路設計

短波接收機前端模塊電路設計

測試細節部分不過多解釋,測試的指標包括帶寬,靈敏度,阻塞,鏡像抑制等。大部分指標達標。

上一張接收機的圖。

短波接收機前端模塊電路設計

附帶AD9953的部分程序。

主程序部分:

void main( void )

{

/*下面六行程序關閉所有的IO口*/

P1DIR = 0XFF;P1OUT = 0XFF;

P2DIR = 0XFF;P2OUT = 0XFF;

P3DIR = 0XFF;P3OUT = 0XFF;

P4DIR = 0XFF;P4OUT = 0XFF;

P5DIR = 0XFF;P5OUT = 0XFF;

P6DIR = 0XFF;P6OUT = 0XFF;

WDTCTL = WDTPW + WDTHOLD; //關閉看門狗

InitAD9953(); //初始化

// InitDAC12(); //初始化DA

InitUART0(); //初始化串口

InitADF4350(); //初始化PLL

AD9953_WriteFreq(30000000);

while(1)

{

UART0_ChangeFreq();

// UART0_ChangeDA();

// a=10000;

// if(flag==3)

// {

// a=10000;

// while(a--);

// i=i+100000;

// if(i>75000000) i=46500000;

// AD9953_WriteFreq(i);

// }

// DA_Sweep=DA_Sweep+10;

// if(DA_Sweep>3000) i=0;

// DAC12_0DAT=DA_Sweep;

}

}

DDS主要用的AD99系列的。程序參考了ADI官網的代碼示例,想要參考的可以去下載。在那個基礎上修改就好了。另外剩下的就只有PLL的程序部分,也可以下載參考,剩下的MCU模塊裡面的只有串口的程序,組合在一起就差不多。

DDS程序部分:

void WriteByte(unsigned char data)

{

PORT_SCLK_OUT;

PORT_SDIO_OUT;

unsigned char i;

unsigned char temp;

temp = data;

for(i=0;i<8;i++) //送入1個字節的數據

{

CLR_SCLK;

nNop(4);

if(temp&0x80)

SET_SDIO;

else

CLR_SDIO;

temp<<=1;

nNop(2);

SET_SCLK;

nNop(4);

}

}

PS:這個項目的調試花了不少時間,前期設計主要是和幾個同學還有我老師一起討論得來的。還有一個很主要的部分是放大部分,不是用的普通放大器實現的,而是通過調諧放大來產生了,這裡沒有詳細講解。在後來又去其他地方測試了。總共花了將近半年的時間。用來紀念下。其實每一個項目只要用心去探索和調試,你在其中都能學到很多東西,哪怕是很細節的東西都可以描述的很清楚。所以是不是自己參與的別人一問幾乎能問出來。此項目涉及到很多指標,有興趣的可以參考國標。

短波接收機前端模塊電路設計

轉自麵包板社區(原EDN電子技術設計https://www.mianbaoban.cn/blog/416052-366547.html)


分享到:


相關文章: