當時寒假和隊友一起做的,那會武漢的冬天有點冷,我老師負責指導我們。他人挺好,對待學生親熱有家,每一次我們遇到問題他總是能夠及時回答我們那個地方出了問題需要調試或者修改參數,甚至看我們動手太慢他主動來用烙鐵來修改板子上的參數。在我的學生生涯里面,這樣的老師幾乎很少見吧,大多數導師只會要求你做什么看什么書而不會親力親為來教你甚至自己動手。所以碰上這樣的導師我也是醉了。然后那會的寒假都很自覺,主動留在他那里做事,不像后來的一些年被老板逼著留在學校只有臨近春節才放假。所以選老師就好像選對象,選錯了各種不開心。
說是做接收機,其實主要的工作量集中在本振,因為混頻之后的濾波器只允許一個信號過去,這就意味著當本振固定的時候,接收進來的信號也就固定了。接收機進來的信號通過預選頻之后就進入混頻端,而混頻的本振是選擇信號的關鍵之處,當改變混頻的本振時,就會選擇某個進來的頻率,這是接收信號里面的主要之處。
一個信號進來首先經過預選頻,之后通過低噪放,這里的opa很關鍵,因為進來的信號靈敏度很低,不能隨便選擇一個放大器。因為越在前面一級他的噪聲系數要求就越高。鏡像抑制之前我的博客講解過,涉及很多指標以后有機會再統一歸納一下。天線進來的信號與本振一起進入混頻之后通過41.4M的晶體濾波器,因為輸出選擇有晶體濾波器的存在,也就是說當本振固定的時候,選擇的天線進來的頻率也就固定了,這也是接收機最主要的理論。這里的DDS顯得很關鍵,因為它幾乎是整個系統的核心,選擇的頻率由它決定了。我們采用的DDS為AD9953,時鐘要求較高,配合鎖相環一起做的本振。進入混頻出來之后的信號通過濾波器再進行自動增益控制,采用兩級信號自動增益以及濾波的原因是為了更好的濾除掉波形。接著進入模數轉換AD中進行數字采集,再通過下變頻之后把信號的頻率轉換為基帶的信號,送入DSP去處理就行了。
指標要求:
頻率范圍:1-35M
頻率間隔:1Hz
基準靈敏度:端口電壓≤0.5uV 中頻抑制和鏡像抑制>90db 較大信號信噪比>40db
阻塞:≥100dBuV
先看一下平時的儀器。這張圖幾乎可以代表著平時的生活狀態以及接觸的東西。
再看原理圖吧,這是本振部分的。
雖然市場上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:這個項目的調試花了不少時間,前期設計主要是和幾個同學還有我老師一起討論得來的。還有一個很主要的部分是放大部分,不是用的普通放大器實現的,而是通過調諧放大來產生了,這里沒有詳細講解。在后來又去其他地方測試了。總共花了將近半年的時間。用來紀念下。其實每一個項目只要用心去探索和調試,你在其中都能學到很多東西,哪怕是很細節的東西都可以描述的很清楚。所以是不是自己參與的別人一問幾乎能問出來。此項目涉及到很多指標,有興趣的可以參考國標。
-
濾波器
+關注
關注
162文章
8107瀏覽量
181364 -
信號
+關注
關注
11文章
2846瀏覽量
77999
原文標題:【博客大賽】短波接收機前端模塊電路設計
文章出處:【微信號:eet-china,微信公眾號:電子工程專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
短波通信接收機的發展動向
求助定頻短波接收機的問題
怎么設計短波通信接收機?
一種短波數字接收機模擬前端設計方案
GPS接收機射頻前端電路原理與設計
專用短波接收機射頻前端預選濾波器的設計與實現解析

短波超再生式接收機,Shortwave radio
大動態范圍寬帶接收機的射頻前端應該如何設計

評論