找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[电源技术] HSP50415在数字上变频应用研究

[复制链接]
admin 发表于 2014-4-3 15:25:41 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
介绍了Intersil公司推出的可编程数字上变频器HSP50415的结构、功能和特点,给出了HSP50415在数字上变频应用中与TMS320VC5509的接口电路。
     1 引言
     软件无线电的基本思想是在一个通用的硬件平台上,通过软件加载的方式用软件实现所有无线电台的功能。软件无线电的理想结构是将A/D、D/A尽可能地靠近天线。考虑到目前A/D、D/A的带宽及DSP的处理能力,一般采用中频采样的软件无线电结构。
     
   
     2 HSP50415的功能和特点
     2.1 HSP50415的内部结构和功能
     HSP50415由256深度的FIFO数据缓冲器、星座映射器、成形和内插滤波器、复数乘法器、符号率NCO、载波NCO及双路DAC组成。其内部组成如图1所示。各组成部分的功能如下:
     前端数据输入模块:HSP50415的信号输入管脚是DIN(0~15)、ISTRB、TXEN和DATACLK。数据输入有两种方式:一种是固定符号速率传输方式,一种是猝发传输方式。在固定符号速率传输方式下,数据将以2倍采样率进入数据缓冲区,缓冲区为256×32bit的FIFO。一旦一对I和Q数据进入FIFO,数据会以采样率读出。因为FIFO完成了一个串并变换,将一路信号变换成I和Q两路信号,因此输入端数据率是输出端的2倍。在猝发方式下,当数据满或半满时,FIFO的标志位可触发DSP的中断,通知DSP停止发数据,这时可读数据。I/O输入时序如图2所示。
     星座映射图:星座映射图中有一个用户可编程查找表(256&times;8bit RAM),这个查找表仅支持I/Q最大位宽为4bit(256QAM)的数据,可完成各种正交的PM和AM基带码映射。I和Q数据合并成8bit的数据作为地址去查表,得到映射数据并以Iout&lt;3:0>和Qout<3:0>的形式输出,如图3所示。
     成形滤波器:成形滤波器的基本内插率为&times;4、&times;8或&times;16。此外,还有一个可选的2bit模式以供用户将抽样率减少1/2。成形滤波器的运算由移位累加来完成,其最大输入采样率为MIN((CLK&times;2&times;2^twoBitMode)/(#bit&times;interpolationRate),CLK/4)。若使用2bit模式,则式中twoBitMode为1,否则为0,#bit为输入数据的位数,interpolationRate为内插率。
     半带滤波器:半带滤波器的内插率为2,由于其系数在偶数点上为零,因此可将计算量减少一倍。
     内插滤波器:内插滤波器将半带滤波器的输出采样率插值到最终的采样率Fsout。
     数控振荡器(NCO):为内插滤波器提供时钟,并允许输入和输出采样率有非整数倍关系。
     乘法器:把基带信号调制到可编程中频上。
     输出模块:HSP50415内部集成了双路12位DAC,并由x/sinx滤波器提供滚降补偿,可以实现模拟输出。另外还提供了14位数字输出。
      20121112045530398793474.jpg
   2.2 HSP50415的特点
   
     HSP50415是一个功能强大的可编程调制器,编程十分灵活,信号的极性可以通过编程来改变,内部集成了高速D/A转换器,性价比较高。HSP50415具有功耗低、 精度高、可靠性强等优点,其主要性能参数如下:
     ●最高输出采样率达100MHz?最高输入数据率达25MHz。
     ●编程载波NCO和符号NCO均为32位,精度高。
     ●x/sinx滚降补偿。
     ●每路有四片64&times;72位的FIR滤波器,其系数RAM可由Intersil公司提供的软件来产生。
     ●成形滤波器的内插率可编程设置,达24个符号间隔,半带滤波器和内插滤波器的系数是固定的。
     ●数字信号处理能力大于70dB(SFDR)。
     ●14位数字输出或双路12位D/A模拟输出,D/A处理能力大于50dB。微处理器端口有18个控制寄存器,可方便地控制256&times;32位FIFO及其深度、成形滤波器的阶数、增益调整、符号速率、载波频率及是否旁路某些模块等。
     2.3 HSP50415的主要管脚功能:
     CLK: 系统时钟
     SYSCLK/2: 系统内部时钟
     DIN<15:0>: 数据总线
     CDATA<7:0>: 微处理器数据总线
     RD: 微处理器读
     WR: 微处理器写
     ADDR<2:0>: 微处理器地址总线
     Iout<13:0>,Qout<13:0>: 数字输出
     IOUTA,IOUTB,QOUTA,QOUTB: 模拟输出
     2*SYMCLK: 采样时钟的2倍
     REFCLK: 参考时钟
     DATACLK: 异步数据时钟
     TXEN: 猝发模式选通信号
     ISTRB: 路数据选通信号
     INTREQ: 中断请求信号
     FEMPT,FOVER,FFULL: FIFO电平监控信号
     LOCKDET: 数字锁相环的状态标志
     ICOMP,QCOMP: 为减小串音提供的补偿信号
     REFLO: 内部参考选择
     REFIO: 外部参考电压输入
     FSADJ: 满量程电流调整
     2.4 HSP50415的初始化及参数设置
     HSP50415的初始化包括两部分,一是对控制寄存器的初始化,二是对成形滤波器系数RAM及星座映射器RAM的初始化。HSP50415总共有18个寄存器,通过对这些控制寄存器的访问,可以方便地控制256&times;32位FIFO及其深度、成形滤波器的阶数、增益调整、符号速率、载波频率以及是否旁路某些模块等,从而便于进行硬件调试。系数和控制字的值可以使用Intersil公司网站提供的可执行文件sim415.exe和modulator.exe方便地产生。图4表示将值为AABBCCDD的控制字送入地址为0C的控制寄存器的时序。
      20121112045530445663475.jpg
   
     HSP50415的参数可由下面的公式确定:
     符号率NCO=(symbolrate/Fsout)&times;232
     载波NCO=(carrierFrequency/Fsout)&times;232
      20121112045530508163476.jpg 3 HSP50415的调制原理及实现
      
      HSP50415的复数乘法器可完成如下运算:
      S(n)=I(n)cos(&omega;0ts)-Q(n) sin(&omega;0ts)?
      其中,S(n)为输出信号,&omega;0为载波频率,ts为取样间隔。根据I(n)和Q(n)编码方式的不同,可以完成BPSK、QPSK、m-QAM等调制方式。如令Q(n)=0,则:
      S(n)=I(n)cos(&omega;0ts)
      此时即可得到DSB调制信号。
      4 用HSP50415实现数字上变频
      HSP50415编程灵活,可应用于无线电台的发射系统中。图5为HSP50415与TMS320VC5509的接口电路,可用来实现数字上变频技术。
         
      20121112045530539413477.jpg   
        
      
      图中采用了两个片选信号,用于区分微处理器端口和数据端口。初始化时CE2选通,DSP通过微处理器接口访问HSP50415。初始化完成后CE0选通,DSP每收到一个中断,便通过DATA/FIFO接口向HSP50415发一个数据。XF连接ISTRB以表明这个数据是I数据还是Q数据。CE0与AWE相或产生DATACLK信号。中断信号由2*SYMCLK产生。
      5 典型程序代码
      5.1 一个32位寄存器初始化代码
      amov #BUFF0,xar0 ;BUFF0定义为片选2空间的地址0x400000
      mov #0xDD, *ar0
      amov #BUFF1, xar0 ;BUFF1定义为片选2空间的地址0x400001
      mov #0xCC, *ar0
      amov #BUFF2, xar0 ;BUFF2定义为片选2空间的地址0x400002
      mov #0xBB, *ar0
      amov #BUFF3, xar0 ;BUFF3定义为片选2空间的地址0x400003
      mov #0xAA, *ar0
      amov #BUFF4,xar0 ;BUFF4定义为片选2空间的地址0x400004
      mov #0x0C, *ar0
      5.2 简单的发送程序(以正弦波为例)
      mov #63, ac0 ;设发射通常为64,循环发送
      amov real_data, xar1 ;xar1中存放实数
      amov imag_data, xar2 ;xar2中存放虚数
      send:
      amov #FIFO, xar0 ;定义FIFO为片选0空间地址为0x02000
      bset xf
      mov *ar1+, *ar0
      bclr xf
      mov *ar2+, *ar0
      sub #1, ac0
      bcc qq, ac0==0
      reti
      qq: mov #63, ac0
      amov real_data, xar1
      amov imag_data, xar2
      reti
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 23:12 , Processed in 0.065230 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表