第8-10章DSP应用系统设计_第1页
第8-10章DSP应用系统设计_第2页
第8-10章DSP应用系统设计_第3页
第8-10章DSP应用系统设计_第4页
第8-10章DSP应用系统设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章DSP应用系统设计10.12407DSP系统硬件设计10.2基于DSP的数字运动控制系统10.3快速傅里叶变换与FIR数字滤波器

110.12407DSP系统硬件设计2407DSP系统

一个典型的2407DSP应用系统2电源电路复位电路时钟电路JTAG电路存储器扩展电平转换CAN接口电路RS232/485接口电路指示灯电路,A/D,D/A电路运算放大器电路、功率驱动电路键盘与显示电路DSP应用系统基本电路31.电源电路

2407DSP系统需要3.3V电源,片内外设电源VDDIO为。2407DSP的Flash编程电压VCCP为5V,ADC有时需要独立的模拟电源。采用TPS7333Q的DSP电源电路

42.时钟电路

2812DSP的时钟电路有内部振荡器方式和外部振荡器方式,即无源晶振和有源晶振方式。有源晶振驱动能力较强,频率范围很宽,在1Hz~400MHz之间。无源晶体价格便宜,但是它的驱动能力较差,一般不能提供给多个器件共享,且频率范围较窄,一般在10kHz~60MHz之间。2812DSP时钟电路

53.复位电路

2407DSP为低电平复位。通常的复位电路设计有RC电路法和专用芯片法。

RC复位电路

6MAX811复位电路

74.JTAG接口对DSP的仿真调试需要通过仿真器进行,仿真器通过DSP芯片提供的扫描仿真(JTAG)引脚实现仿真功能。DSP仿真头采用14根信号线,符合JTAGIEEE1149.1标准。JTAG接口85.存储器扩展

2407DSP片内有32KW的Flash存储器、544W的DARAM和2KW的SARAM。用户程序可以烧写入32KW的Flash存储器,但在开发调试过程中,程序需要不断修改,反复写入Flash存储器显得不方便。可以将被调试的程序放入片内2KW的SARAM。由于DSP越来越多地采用C语言编程,程序占用存储器较大,所以往往扩展片外RAM存储器用于程序调试。在开发阶段,将程序放入RAM存储器(称为仿真RAM),可以方便地进行单步执行、设置断点及连续执行等调试操作。当然,扩展的片外RAM也可以用作数据存储器。

9

2407DSP的程序存储器、数据存储器与I/O地址空间都各有64KW。其外部扩展有关的引脚为(1)16根外部地址总线A15~A0。(2)16根外部数据总线D15~D0。(3)微处理器/微计算机方式选择信号MP/nMC。该引脚为高电平时,为微处理器方式,复位后,从外部存储器的0000H地址开始执行程序;低电平时为微计算机方式,复位后,从内部存储器的0000H地址开始执行程序。(4)外部数据存储器访问选通信号nSTRB。低电平有效。

(5)外部数据存储器空间选通信号nDS。低电平有效。(6)外部程序存储器空间选通信号nPS。低电平有效。(7)外部I/O空间选通信号nIS。低电平有效。(8)低电平有效的写选通信号nWE。(9)低电平有效的读选通信号nRD。10DSP存储器扩展

1110.2基于DSP的数字运动控制系统基于DSP的数字运动控制系统是一种典型DSP应用系统,是C2000系列DSP的主要应用领域之一。运动控制系统通常由电机、功率逆变器和数字控制系统等组成。数字控制系统为功率逆变器提供开关驱动信号,将电源转换为电机所需的电压和电流,由电动机直接或通过减速齿轮等驱动机械负载。其中的电机可以是永磁同步电机、无刷直流电机、交流异步电机等。以永磁同步电机为控制对象的数字交流伺服系统在数控机床、机器人等运动控制领域获得了广泛应用。交流伺服系统是电流、速度和位置三环控制系统。12131.永磁同步电机矢量控制原理三相A,B,C到两相α,β坐标系统变换两相静止坐标变换到转子旋转坐标变换即d,q变换

id=iα

cosθ+iβ

sinθiq=-iα

sinθ+iβ

cosθ

14d、q坐标电压方程即Park方程为ud=Raid

+

pψd

–ωψq

uq=Raiq+pψq

+ωψd

电磁转矩方程为Te=3/2pn(ψdiq-ψqid)=3/2pn[ψf

iq+(Ld-Lq)id

iq]152.永磁同步电机数字伺服系统控制原理163.永磁同步电机空间矢量PWM控制三相逆变器主回路

1718SVPWM开关顺序194.伺服控制系统结构与硬件设计205.软件设计数字伺服系统DSP控制软件结构

212223数字伺服系统电流与速度响应曲线

2410.3快速傅里叶变换与FIR数字滤波器10.3.1快速傅里叶变换傅里叶变换是一种将时域信号变换为频域信号的变换形式。在频域分析中,信号的频率及对应的幅值、相位(统称为频谱)反映了系统的性能。快速傅里叶变换(FastFourierTransform,FFT)是离散傅里叶变换(DiscreteFourierTransform,DFT)的快速实现方法。

快速傅里叶变换的基本原理非周期连续时间信号x(t)的傅里叶变换为25序列x(n)的离散傅里叶变换快速傅里叶变换一个N点的DFT可以分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点的DFT…。当N为2的整数次幂时,由于每分解一次降低一次幂阶,通过M次分解,最后全部成为一系列2点DFT运算。26例,时间抽取的FFT算法DSPC语言实现实例。FFT运算函数与主函数为#include"math.h" //数学函数头文件#definePI3.1415926#defineN128 //采样次数NvoidInitForFFT(); //FFT初始化函数voidMakeWave(); //波形发生函数voidfinv(intN1,float*xr,float*xi); //倒序运算函数f(N1,Xr,Xi),对输入序列倒序intINPUT[N],DATA[N];floatfWaveR[N],fWaveI[N],w[N];floatsin_tab[N],cos_tab[N]; //正余弦函数表 intMum; //Mum为蝶形运算的级数27voidFFT(float

Xr[N],float

Xi[N]) //时间抽取法FFT程序,要求采样点数N为2的整数幂次方{ //Xr[],Xi[]分别为输入序列的实部和虚部intS,B; //S为旋转因子的幂数,B为蝶形运算输入数据的距离,//也即各级旋转因子的个数intm,j,k;floatX,Y;finv(N,Xr,Xi); //倒序运算函数,对输入序列倒序for(m=1;m<=Mum;m++){B=(int)(pow(2,m-1)+0.5); //B=2^(m-1)for(j=0;j<B;j++) //每级需要进行B种蝶形运算{S=j*(int)(pow(2,Mum-m)+0.5); //S=2^(Mum-1)for(k=j;k<=N-1;k+=(int)(pow(2,m)+0.5))28//每种蝶形运算在某一级中需要进行N/pow(2,m)次

{ //蝶形运算展开,结果的实部和虚部

//分别存储在原实部和虚部位置

X=Xr[k+B]*cos_tab[S]+Xi[k+B]*sin_tab[S]; Y=Xi[k+B]*cos_tab[S]-Xr[k+B]*sin_tab[S];

Xr[k+B]=Xr[k]-X;

Xi[k+B]=Xi[k]-Y;

Xr[k]=Xr[k]+X;

Xi[k]=Xi[k]+Y; }}}for(m=0;m<N/2;m++) {

w[m]=sqrt(Xr[m]*Xr[m]+Xi[m]*Xi[m]);//计算功率普

}}

29main(){inti; InitForFFT(); //FFT初始化函数MakeWave(); //波形发生函数for(i=0;i<N;i++){fWaveR[i]=INPUT[i];fWaveI[i]=0.0;w[i]=0.0;}Mum=(int)(0.5+log(N)/log(2)); //Mum为蝶形运算的级数,N=2^MumFFT(fWaveR,fWaveI);for(i=0;i<N;i++)DATA[i]=w[i];while(1); }30voidInitForFFT() //FFT初始化函数,建立正余弦函数表{inti; for(i=0;i<N;i++){sin_tab[i]=sin(PI*2*i/N);cos_tab[i]=cos(PI*2*i/N);}}voidMakeWave() //波形发生函数{inti; for(i=0;i<N;i++){INPUT[i]=sin(PI*2*i/N*3)*1024; //f=3Hz,正弦函数}}31FFT函数包含的函数finv(N,Xr,Xi)为倒序运算,函数代码如下。//倒序运算函数finv(N1,Xr,Xi),对输入序列倒序//N1为序列长度;Xr[],Xi[]分别为输入序列的实部和虚部//倒序原理:倒序数的加1是在最高位加1,//满2向次高位进1,最高位变0,依次往下//从当前倒序值可求下一倒序值voidfinv(intN1,float*xr,float*xi)//倒序运算函数f(N1,Xr,Xi),对输入序列倒序{intm,n,N2,k; //m为正序数;n为到序数;k为各个权值;N2为最高位的权值floatT; //临时变量TN2=N1/2; //最高位加1相当于十进制加上最高位的权N1/2n=N2; //第一个倒序值for(m=1;m<=N1-2;m++) //第0个和最后一个不倒序{32if(m<n) //为了避免再次调换,只需对m<n的部分调换顺序{T=xr[m];xr[m]=xr[n];xr[n]=T;T=xi[m];xi[m]=xi[n];xi[n]=T;}k=N2; //最高位权值while(n>=k){n=n-k; //次高位位1,继续上下进位,满2置0k=(int)(k/2+0.5); //向下权值依次比上级减半}n=n+k; //得到下一倒序值}}3310.3.2FIR数字滤波器在数字信号处理中,数字滤波占有极其重要的地位。无限冲击响应(FiniteImpulseResponse,FIR)数字滤波器(DigitalFilter)是一种常用数字信号处理算法。利用窗函数法设计FIR滤波器,可以实现线性相位的数字滤波器。1.FIR数字滤波器的设计方法设FIR数字滤波器的单位冲击响应为h(n),则传递函数H(z)为34FIR数字滤波器的系数h(n)w(n)为窗函数。理想单位冲击响应h1(n)可以根据给定的理想频率响应求得FIR数字滤波器的差分方程为式中,x(i)为输入序列,y(i)为输出序列,N为滤波器阶数。35滤波器差分方程为y(i)=0.001x(i-2)-0.002x(i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论