




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章DSP应用系统设计8.12812DSP系统硬件设计8.2基于DSP的数字运动控制系统8.3快速傅里叶变换与FIR数字滤波器
1/31/20231山东大学控制学院张东亮8.12812DSP系统硬件设计2812DSP系统
一个典型的2812DSP应用系统1/31/20232山东大学控制学院张东亮单片系统SingleChipSolution
F2812/2810DSP最小系统1/31/20233山东大学控制学院张东亮
281xDSP最小系统的电源、时钟、JTAG电路1/31/20234山东大学控制学院张东亮电源电路复位电路时钟电路JTAG电路存储器扩展电平转换CAN接口电路RS232/485接口电路指示灯电路,A/D,D/A电路运算放大器电路、功率驱动电路键盘与显示电路DSP应用系统基本电路1/31/20235山东大学控制学院张东亮1.电源电路
2812DSP系统至少需要两组电源供电,内核电源VDD为1.8V(或1.9V),片内外设电源VDDIO为3.3V。2812DSP的Flash编程电压VDD3VFL、ADC模拟电路电源VDDA1、VDDA2也为3.3V,有时需要独立的模拟电源。采用TPS767D318芯片的DSP电源电路
1/31/20236山东大学控制学院张东亮2.时钟电路
2812DSP的时钟电路有内部振荡器方式和外部振荡器方式,即无源晶振和有源晶振方式。有源晶振驱动能力较强,频率范围很宽,在1Hz~400MHz之间。无源晶体价格便宜,但是它的驱动能力较差,一般不能提供给多个器件共享,且频率范围较窄,一般在10kHz~60MHz之间。2812DSP时钟电路
1/31/20237山东大学控制学院张东亮3.复位电路
2812DSP为低电平复位。通常的复位电路设计有RC电路法和专用芯片法。
RC复位电路
1/31/20238山东大学控制学院张东亮MAX811复位电路
1/31/20239山东大学控制学院张东亮4.JTAG接口对DSP的仿真调试需要通过仿真器进行,仿真器通过DSP芯片提供的扫描仿真(JTAG)引脚实现仿真功能。DSP仿真头采用14根信号线,符合JTAGIEEE1149.1标准。JTAG接口1/31/202310山东大学控制学院张东亮5.存储器扩展
2812DSP片内有4M字(Word,W)存储器地址空间,有128K字的Flash存储器、1K字的OTP型ROM、18K字RAM、4K字的引导(Boot)ROM。用户程序可以烧写入128K字的Flash存储器,但在开发调试过程中,程序需要不断修改,反复写入Flash存储器显得不方便。可以将被调试的程序放入片内18K字RAM。18K字片内RAM包括1KW的M0、1KW的M1、4KW的L0、4KW的L1和8KW的H0。但由于DSP越来越多地采用C语言编程,程序占用存储器较大,所以往往扩展片外RAM存储器用于程序调试。在开发阶段,将程序放入RAM存储器(称为仿真RAM),可以方便地进行单步执行、设置断点及连续执行等调试操作。1/31/202311山东大学控制学院张东亮外部存储器及I/O扩展XINTFZone0/1,Zone2,Zone6/7,1M+32K字。
数据线
XD0-XD15。
地址线
XA0-XA18地址译码:138,PAL,GAL,CPLD。
控制信号线
/XRS:复位引脚。
XMP/MC:微处理器/微计算机选择信号。
XR/W:读/写选择信号。
/XRD:读使能信号。
/XWE:写使能信号。
XREADY:准备好信号。
X1/XCLKIN:振荡器输入信号。
X2:振荡器输出信号。1/31/202312山东大学控制学院张东亮DSP存储器扩展
1/31/202313山东大学控制学院张东亮8.2基于DSP的数字运动控制系统基于DSP的数字运动控制系统是一种典型DSP应用系统,是C2000系列DSP的主要应用领域之一。运动控制系统通常由电机、功率逆变器和数字控制系统等组成。数字控制系统为功率逆变器提供开关驱动信号,将电源转换为电机所需的电压和电流,由电动机直接或通过减速齿轮等驱动机械负载。其中的电机可以是永磁同步电机、无刷直流电机、交流异步电机等。以永磁同步电机为控制对象的数字交流伺服系统在数控机床、机器人等运动控制领域获得了广泛应用。交流伺服系统是电流、速度和位置三环控制系统。1/31/202314山东大学控制学院张东亮1/31/202315山东大学控制学院张东亮1.永磁同步电机矢量控制原理三相A,B,C到两相α,β坐标系统变换两相静止坐标变换到转子旋转坐标变换即d,q变换
id=iα
cosθ+iβ
sinθiq=-iα
sinθ+iβ
cosθ
1/31/202316山东大学控制学院张东亮d、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]1/31/202317山东大学控制学院张东亮2.永磁同步电机数字伺服系统控制原理1/31/202318山东大学控制学院张东亮3.永磁同步电机空间矢量PWM控制三相逆变器主回路
1/31/202319山东大学控制学院张东亮1/31/202320山东大学控制学院张东亮SVPWM开关顺序1/31/202321山东大学控制学院张东亮4.伺服控制系统结构与硬件设计1/31/202322山东大学控制学院张东亮5.软件设计数字伺服系统DSP控制软件结构
1/31/202323山东大学控制学院张东亮1/31/202324山东大学控制学院张东亮1/31/202325山东大学控制学院张东亮数字伺服系统电流与速度响应曲线
1/31/202326山东大学控制学院张东亮键盘和显示电路D/A转换电路1/31/202327山东大学控制学院张东亮8.3快速傅里叶变换与FIR数字滤波器8.3.1快速傅里叶变换傅里叶变换是一种将时域信号变换为频域信号的积分变换形式。在频域分析中,信号的频率及对应的幅值、相位(统称为频谱)反映了系统的性能。快速傅里叶变换(FastFourierTransform,FFT)是离散傅里叶变换(DiscreteFourierTransform,DFT)的快速实现方法。
快速傅里叶变换的基本原理非周期连续时间信号x(t)的傅里叶变换为1/31/202328山东大学控制学院张东亮序列x(n)的离散傅里叶变换快速傅里叶变换一个N点的DFT可以分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点的DFT…。当N为2的整数次幂时,由于每分解一次降低一次幂阶,通过M次分解,最后全部成为一系列2点DFT运算。1/31/202329山东大学控制学院张东亮例,时间抽取的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为蝶形运算的级数1/31/202330山东大学控制学院张东亮voidFFT(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))1/31/202331山东大学控制学院张东亮//每种蝶形运算在某一级中需要进行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]);//计算功率普
}}
1/31/202332山东大学控制学院张东亮main(){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); }1/31/202333山东大学控制学院张东亮voidInitForFFT() //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,正弦函数}}1/31/202334山东大学控制学院张东亮FFT函数包含的函数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个和最后一个不倒序{1/31/202335山东大学控制学院张东亮if(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; //得到下一倒序值}}1/31/202336山东大学控制学院张东亮8.3.2FIR数字滤波器在数字信号处理中,数字滤波占有极其重要的地位。无限冲击响应(FiniteImpulseResponse,FIR)数字滤波器(DigitalFilter)是一种常用数字信号处理算法。利用窗函数法设计FIR滤波器,可以实现线性相位的数字滤波器。1.FIR数字滤波器的设计方法设FIR数字滤波器的单位冲击响应为h(n),则传递函数H(z)为1/31/202337山东大学控制学院张东亮FIR数字滤波器的系数h(n)w(n)为窗函数。理想单位冲击响应h1(n)可以根据给定的理想频率响应求得FIR数字滤波器的差分方程为式中,x(i)为输入序列,y(i)为输出序列,N为滤波器阶数。1/31/202338山东大学控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塑料制品设计创新与用户体验优化考核试卷
- 嵌入式考试必看问题试题及答案
- 行政组织理论的行业应用分析试题及答案
- 石棉在消防安全中的应用考核试卷
- 监理师考试考点突破试题及答案2025年
- 计算机设备回收与环保考核试卷
- 嵌入式系统中的时钟管理技术试题及答案
- 公路工程项目管理能力的提升方法试题及答案
- 坐姿习惯养成管理制度
- 基地农户养殖管理制度
- 混凝土采购组织供应、运输、售后服务方案
- 软件开发外包合同范本
- 古代文言文与现代汉语的语法对比研究
- 幼儿园中班端午节安全教育
- 质量管理七种工具
- 安全教育培训记录表
- 设备检维修申请单
- 成年人正畸治疗-成年人的辅助性矫治(口腔正畸学课件)
- 甘油栓的制备
- 超星尔雅学习通《红色经典影片与近现代中国发展》章节测试答案
- 浙江山塘综合整治工作探讨
评论
0/150
提交评论