微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于TMS320C5420的2FSK设计与实现

基于TMS320C5420的2FSK设计与实现

时间:07-31 来源:互联网 点击:
软件无线电是利用大规模集成电路技术,把DSP芯片或通用CPU芯片作为无线通信的基本硬件平台,将尽可能多的无线通信功能(如调制技术、跳频、纠错及加密等)用软件实现。软件无线电技术可以用软件升级来改变无线功能参数,可以按要求的条件编程实现无线通信功能,使系统升级基于软件,其代价小,灵活性强。用TI公司的TMS320C5420DSP芯片成功设计出一种兼容2FSK,DPSK,QAM等多种调制解调方式的JH5001通信原理实验系统,下面以 2FSK为例,详细介绍用DSP软件实现他的原理。  

2FSK调制的DSP软件实现  

2FSK调制的数字振荡器设计

频移键控FSK调制是用数字基带信号来控制高频载波频率的变化,调制后的载波信号频率代表了要传送的数字信号。二进制FSK(2FSK)是用2个高频载波f1和f2来表示2个数字信号“1”或“0”。2FSK调制的常用方法是将f1和f2的正弦值预先计算出来,制成一个表,DSP工作时仅做查表运算即可实现。在这里采用数字振荡器方法,用迭代方法产生正弦信号。其原理如下:一个传递函数为正弦序列sinkωT的Z变换为:  


  
其中,A=2cosωT,B=-1,C=sinωT。设初始条件为0,求出式(1)的反Z变换为:  


  
这是一个二阶差分方程,对其求单位冲击响应便可得到正弦信号sinkXT。利用单位冲击函数x[k-1]的性质,仅当k=1时,x[k-1]=1,得到下列递推式:

k=0时y[0]=Ay[-1]+By[-2]+0=0
k=1时y[1]=Ay[0]+By[-1]+C=C
k=2时y[2]=Ay[1]+By[0]+0=Ay[1]
k=3时y[3]=Ay[2]+By[1]
……
k=n时y[n]=Ay[n-1]+By[n-2]  

在k>2以后,y[k]能用y[k-1]和y[k-2]计算出来,这样通过迭代就能得到一系列的y[k]值。所设计的数字振荡器产生16kHz和 32kHz的正弦信号,分别代表数据0和1,设置采样频率为96kHz,通过确定上面递归差分方程系数就可求得16kHz和32kHz正弦信号的系数(下标为0的系数是16kHz正弦信号的系数,下标为1的系数是32kHz正弦信号的系数)。  

A0=2cosω0T=2cos(2π×16000/96000)=1
B0=-1
C0=sinω0T=sin(2π×16000/96000)=0.86602540
A1=2cosω1T=2cos(2π×32000/96000)=-1
B1=-1
C1=sinω1T=sin(2π×32000?96000)=0.86602540  

DSP程序在初始化时先分别计算出产生16kHz与32kHz信号所需要的y[1]和y[2]值,然后开放定时器中断,以后每次进入定时器中断服务程序时,利用已计算出的y[1]和y[2]值重新计算出新的y[0]值,对其求单位冲击响应就可得到16kHz和32kHz的正弦信号。  

2FSK调制的定时与中断设计

为了保证96kHz的采样频率,需要用到TMS320C5420的中断与定时器。定时器主要由3个寄存器组成,分别是定时器寄存器TIM,每计数一次自动减1;定时器周期寄存器PRD,当TIM减为0后,CPU自动将PRD的值装入TIM;定时器控制寄存器TCR。  

定时器控制寄存器TCR各个比特位的具体定义如表1所示。  


表1定时器控制寄存器TCR的定义  

TMS320C5420的定时器工作原理是:当CLKOUT信号时钟沿到来时,触发PSC。PSC是一个减1计数器,CLKOUT信号时钟沿使PSC减 1,直到PSC为0,然后用TDDR重新装入PSC,同时将TIM减1,直到TIM减为0,这时CPU发出TINT中断,同时在TOUT引脚输出一个脉冲信号,脉冲宽度与CLKOUT一致,然后用PRD重新装入,重复下去直到系统或定时器复位。  

当系统复位或定时器单独复位时,TIM和PRD都置成最大值FFFH,TDDR位清0,定时器控制寄存器的停止状态位TSS被清零,定时器启动,并将定时器扩展周期TDDR中的值加载到定时器预置计数器PSC中,而且将定时器周期寄存器PRD中的值重新加载到定时器寄存器TIM中。  
定时器中断的频率由式(3)决定:  


  
其中,tC表示CLKOUT的周期,即TINT=95kHz。由式(3)可确定定时时间常数TDDR=0,PRD=333。  

TMS320C5420的中断是通过中断屏蔽寄存器IMR来实现的。IMR是一个存储器映射寄存器,用于控制中断源的屏蔽和开放。当ST1寄存器中的INTM位为0时,全局中断允许。IMR中的某一位为1时,该中断开放。以下是IMR寄存器各个比特位的定义:  


  
其中,HPINT表示HPI接口中断,INT3~INT0为外部引脚产生的中断;TXINT和TRINT为TDM串口的发送和接收中断;BXINT和BRINT为BSP串口的发送和接收中断;TINT为定时器中断。图1为 2FSK调制主程序流程图,图2为中断程序流程图。按图1和图2的流程编制程序即可实现2FSK调制功能。  


图12FSK调制主程序流程图  


图2中断程序流程图  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top