打印

【电路设计】基于MSP430F169的超外差接收机本振源设计

[复制链接]
4981|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
youluo235|  楼主 | 2014-12-31 15:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 youluo235 于 2014-12-31 15:20 编辑

超外差式接收机是使用最为广泛一种技术,也是最古老的一种技术。
目前的接收机大致的原理几乎都是基于这个结构来接受的。
大致的原理框图如下:

超外差接收机基本原理框图


超外差接收机结构就是把高频输入信号与本振信号进行相互混频,后经中频滤波器选出两者的和频或差频,经过中频放大器和中频滤波器后,送够后端做处理。
说的通俗点接收机就是因为天线进来的信号里面包涵每种频段的信号,但是我们只会选择其中一个信号,这里混频器的作用就是乘法。乘法得到的信号时2个信号之和和之差,相当于频谱搬移了,中频滤波器只允许一个频率过去,在经过放大和滤波就把天线的信号选择出来了。

举个例子,中频滤波器的滤波频率加入是40M.为了接受天线里面的20M的信号,这里我们取差频信号,也就是说需要本振给的信号为60M的信号,这样本振信号与天线信号混频通过滤波器40M频率选择,也就是说天线接受的信号能过来的就是20M.
60-20=40(M).这样解释很通俗,有人会说那100M的信号也会过来啊?因为100和本振60M混频也是能够得到40M通过中频滤波器的。这里其实就涉及到一个很重要的指标,镜像抑制!!
这也是天线进来首先经过预选器的作用,预选器其实大多数就是通带滤波器,也就是主要为了限制镜像抑制的,为了不让100M对信号造成干扰,对接受的频率先进行带通选择,吧100等类似的干扰拒之门外。

讲到这里你应该对接收机大致超外差有一定了解了吧。下面我们将最主要做的内容,就是设计这个本振源,只要改变这个本振源,就可以改变接受频率。
主处理器采用TI的16位处理器MSP430F169.本振源芯片用的DDS-ad9953.中间有些高速运放采用TI的OPA690,THS3021超带宽芯片。

原理图如下:


处理器


时钟源晶振经过倍频之后改DDS作为参考信号

DDS模块


串口通信

DDS输出经过滤波器

电源模块


top层


底层


电源层


地层




3D视图。


电源


MSP430


串口


as1117





把本振源给接收机看接收频段的频谱。


控制端主要函数如下:
include <msp430x16x.h>
#define CLR_RESET   P4OUT&=~BIT0    //RESET
#define SET_RESET   P4OUT|=BIT0

#define CLR_IO   P4OUT&=~BIT3    //IO
#define SET_IO   P4OUT|=BIT3

#define CLR_SCLK   P4OUT&=~BIT1    //SCLK
#define SET_SCLK   P4OUT|=BIT1
#define CLR_SDIO   P4OUT&=~BIT2     //SDIO
#define SET_SDIO   P4OUT|=BIT2

#define PORT_SCLK_OUT P4DIR |= BIT1
#define PORT_SDIO_OUT P4DIR |= BIT2
#define PORT_SDIO_IN  P4DIR &= ~BIT2
/*****************************************************************
函数名称:  WriteByte(unsigned char data)
功   能 : (uchar data) 写数据
参    数:输入一字节数据
返回值  :无
*****************************************************************/
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);
  }  
}


/***********************************************************************
函数名称:  AD9953_WriteFreq(unsigned long Freq)
功   能 :  写频率Freq转换为频率控制字写进AD9953
           改变其输出频率,同时改变跟踪电压
参    数:
返回值  :无
**********************************************************************/
void AD9953_WriteFreq(unsigned long Freq)
{
  unsigned char i;
  unsigned long temp,FTW;

  FTW = Freq*4294967296/331775262;  //将频率转化为32位控制字,2^32=4294967296
                                    //时钟20倍频工作,18.432MHz*20=368640000
  temp = FTW;
  for(i=4;i>0;i--)  //对32位控制字进行分割
  {
    FTW0=(temp&0xff);
    temp=temp>>8;  
  }  
//  CLR_CS;     //更新频率控制字
  for(i=0;i<5;i++)   
  {   
     WriteByte(FTW0);   
  }   
  AD9953_Update();   
//  SET_CS;

//  DAC0_Update(Freq); //DAC0更新一次跟踪电压值
}


/*************************************************************************
函数名称:InitAD9953()
功   能 : 初始化
参   数:无
返回值  :无
************************************************************************/
void InitAD9953()
{
    unsigned int i;  
    PORT_SCLK_OUT;
    PORT_SDIO_OUT; //端口设置为输出模式
    SET_SCLK;
//    CLR_IOSYNC;
    SET_RESET;
    nNop(100);
    CLR_RESET;  //初始化操作

//   CLR_CS;  //CFR1更新
    for(i=0;i<5;i++)   
    {   
        WriteByte(CFR1);   
    }   
    AD9953_Update();   
//    SET_CS;  

//    CLR_CS;  //CFR2更新,输出为PLL*4=368.64MHz
    for(i=0;i<4;i++)   
    {   
        WriteByte(CFR2);   
    }   
    AD9953_Update();   
//    SET_CS;

//    CLR_CS;  //ASF更新
    for(i=0;i<3;i++)   
    {   
        WriteByte(ASF);   
    }   
    AD9953_Update();   
//    SET_CS;

//    CLR_CS;  //ARR更新
    for(i=0;i<2;i++)   
    {   
       WriteByte(ARR);   
    }   
    AD9953_Update();   
//    SET_CS;

}


相关帖子

沙发
dirtwillfly| | 2015-1-3 20:23 | 只看该作者
感谢分享

使用特权

评论回复
板凳
youluo235|  楼主 | 2015-1-9 15:35 | 只看该作者
dirtwillfly 发表于 2015-1-3 20:23
感谢分享

一起学习:lol

使用特权

评论回复
地板
非著名中医| | 2015-1-11 21:10 | 只看该作者
学习了!

使用特权

评论回复
5
youluo235|  楼主 | 2015-1-20 10:34 | 只看该作者
非著名中医 发表于 2015-1-11 21:10
学习了!

一起学习:lol

使用特权

评论回复
6
luhshuay| | 2015-1-24 10:30 | 只看该作者
顶起

使用特权

评论回复
7
888WWW| | 2015-4-21 17:26 | 只看该作者
学习了

使用特权

评论回复
8
ccw1986| | 2015-4-21 20:02 | 只看该作者
这资料太棒了,感谢分享啊

使用特权

评论回复
9
小黑6| | 2016-7-11 16:11 | 只看该作者
不错,一起学习!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

2180

帖子

9

粉丝