《DSP应用系统设计.ppt》由会员分享,可在线阅读,更多相关《DSP应用系统设计.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第8 8章章 DSP DSP应用系统设计应用系统设计8.1 2812 DSP系统硬件设计系统硬件设计8.2 基于基于DSP的数字运动控制系统的数字运动控制系统8.3 快速傅里叶变换与快速傅里叶变换与FIR数字滤波器数字滤波器 1/26/20231山东大学控制学院 张东亮8.1 2812 DSP系统硬件设计系统硬件设计2812 DSP系统系统 一个典型的一个典型的2812 DSP应用系统应用系统 1/26/20232山东大学控制学院 张东亮单片单片系统系统Single Chip Solution F2812/2810 DSP最小系统最小系统1/26/20233山东大学控制学院 张东亮 281x
2、 281x DSP最小系统的电源、时钟、最小系统的电源、时钟、JTAG电路电路1/26/20234山东大学控制学院 张东亮电源电路电源电路复位电路复位电路时钟电路时钟电路JTAG电路电路存储器扩展存储器扩展电平转换电平转换 CAN接口电路接口电路RS232/485接口电路接口电路指示灯电路,指示灯电路,A/D,D/A电路电路运算放大器电路、功率驱动电路运算放大器电路、功率驱动电路键盘与显示电路键盘与显示电路DSP应用系统基本电路应用系统基本电路1/26/20235山东大学控制学院 张东亮1.电源电路电源电路 2812 DSP系统至少需要两组电源供电,内核电源系统至少需要两组电源供电,内核电源V
3、DD为为1.8V(或或1.9V),片内外设电源,片内外设电源VDDIO为为3.3V。2812 DSP的的Flash编程电压编程电压VDD3VFL、ADC模拟电路电源模拟电路电源VDDA1、VDDA2也为也为3.3V,有时需要独立的模拟电源。,有时需要独立的模拟电源。采用采用TPS767D318芯芯片的片的DSP电源电路电源电路 1/26/20236山东大学控制学院 张东亮2.时钟电路时钟电路 2812 DSP的时钟电路有内部振荡器方式和外部振荡器方的时钟电路有内部振荡器方式和外部振荡器方式,即无源晶振和有源晶振方式。有源晶振驱动能力较强,式,即无源晶振和有源晶振方式。有源晶振驱动能力较强,频率
4、范围很宽,在频率范围很宽,在1Hz400MHz之间。无源晶体价格便宜,之间。无源晶体价格便宜,但是它的驱动能力较差,一般不能提供给多个器件共享,且但是它的驱动能力较差,一般不能提供给多个器件共享,且频率范围较窄,一般在频率范围较窄,一般在10kHz60MHz之间。之间。2812 DSP时钟电路时钟电路 1/26/20237山东大学控制学院 张东亮3.复位电路复位电路 2812 DSP为为低低电电平复位。平复位。通常的复位电路设计有通常的复位电路设计有RC电路法和专用芯片法。电路法和专用芯片法。RC复位电路复位电路 1/26/20238山东大学控制学院 张东亮MAX811复位电路复位电路 1/2
5、6/20239山东大学控制学院 张东亮4.JTAG接口接口 对对DSP的仿真调试需要通过仿真器进行,仿真器通过的仿真调试需要通过仿真器进行,仿真器通过DSP芯片提供的扫描仿真芯片提供的扫描仿真(JTAG)引脚实现仿真功能。引脚实现仿真功能。DSP仿真头采用仿真头采用14根信号线,符合根信号线,符合JTAG IEEE1149.1标准。标准。JTAG接口接口1/26/202310山东大学控制学院 张东亮5.存储器扩展存储器扩展 2812 DSP片内有片内有4M字字(Word,W)存储器地址空间,存储器地址空间,有有128K字的字的Flash存储器、存储器、1K字的字的OTP型型ROM、18K字字R
6、AM、4K字的引导字的引导(Boot)ROM。用户程序可以烧写入用户程序可以烧写入128K字的字的Flash存储器,但在存储器,但在开发调试过程中,程序需要不断修改,反复写入开发调试过程中,程序需要不断修改,反复写入Flash存存储器显得不方便。可以将被调试的程序放入片内储器显得不方便。可以将被调试的程序放入片内18K字字RAM。18K字片内字片内RAM包括包括1KW的的M0、1KW的的M1、4KW的的L0、4KW的的L1和和8KW的的H0。由于。由于DSP越来越越来越多地采用多地采用C语言编程,程序占用存储器较大,所以往往语言编程,程序占用存储器较大,所以往往扩展片外扩展片外RAM存储器用于
7、程序调试。在开发阶段,将程存储器用于程序调试。在开发阶段,将程序放入序放入RAM存储器(称为仿真存储器(称为仿真RAM),可以方便地进),可以方便地进行单步执行、设置断点及连续执行等调试操作。行单步执行、设置断点及连续执行等调试操作。1/26/202311山东大学控制学院 张东亮 外部存储器及外部存储器及I/O扩展扩展 XINTF Zone0/1,Zone2,Zone6/7,1M+32K。数据线数据线 XD0-XD15。地址线地址线 XA0-XA18 地址译码:地址译码:138,PAL,GAL,CPLD。控制信号线控制信号线 XRS:复位引脚。复位引脚。XMP/MC:微处理器微处理器/微计算机
8、选择信号。微计算机选择信号。XR/W:读读/写选择信号。写选择信号。XRD:读使能信号。读使能信号。XWE:写使能信号。写使能信号。XREADY:准备好信号。准备好信号。X1/XCLKIN:振荡器输入信号。振荡器输入信号。X2:振荡器输出信号。振荡器输出信号。1/26/202312山东大学控制学院 张东亮DSP存储器扩展存储器扩展 1/26/202313山东大学控制学院 张东亮8.2 基于基于DSP的数字运动控制系统的数字运动控制系统 基于基于DSP的数字运动控制系统是一种典型的数字运动控制系统是一种典型DSP应用系应用系统,是统,是C2000系列系列DSP的主要应用领域之一。运动控制系的主要
9、应用领域之一。运动控制系统通常由电机、功率逆变器和数字控制系统等组成。数字统通常由电机、功率逆变器和数字控制系统等组成。数字控制系统为功率逆变器提供开关驱动信号控制系统为功率逆变器提供开关驱动信号,将电源转换为将电源转换为电机所需的电压和电流,由电动机直接或通过减速齿轮等电机所需的电压和电流,由电动机直接或通过减速齿轮等驱动机械负载。其中的电机可以是永磁同步电机、无刷直驱动机械负载。其中的电机可以是永磁同步电机、无刷直流电机、交流异步电机等。流电机、交流异步电机等。以永磁同步电机为控制对象的数字交流伺服系统在以永磁同步电机为控制对象的数字交流伺服系统在数控机床、机器人等运动控制领域获得了广泛应
10、用。交数控机床、机器人等运动控制领域获得了广泛应用。交流伺服系统是电流、速度和位置三环控制系统。流伺服系统是电流、速度和位置三环控制系统。1/26/202314山东大学控制学院 张东亮1/26/202315山东大学控制学院 张东亮1.永磁同步电机矢量控制原理永磁同步电机矢量控制原理三相三相A,B,C到两相到两相,坐标系统变换坐标系统变换 两相静止坐标变换到转子旋转坐标变换即两相静止坐标变换到转子旋转坐标变换即d,q变换变换 id=i cos+i siniq=-i sin+i cos 1/26/202316山东大学控制学院 张东亮d、q坐标电压方程即坐标电压方程即Park方程为方程为 ud=Ra
11、id+pd q uq=Raiq+pq+d 电磁转矩方程为电磁转矩方程为 Te=3/2 pn(diq-qid)=3/2pnf iq+(Ld-Lq)id iq 1/26/202317山东大学控制学院 张东亮2.永磁同步电机数字伺服系统控制原理永磁同步电机数字伺服系统控制原理1/26/202318山东大学控制学院 张东亮3.永磁同步电机空间矢量永磁同步电机空间矢量PWM控制控制三相逆变器主回路三相逆变器主回路 1/26/202319山东大学控制学院 张东亮1/26/202320山东大学控制学院 张东亮SVPWM开关顺序开关顺序1/26/202321山东大学控制学院 张东亮4.伺服控制系统结构与硬件设
12、计伺服控制系统结构与硬件设计1/26/202322山东大学控制学院 张东亮5.软件设计软件设计数字伺服系统数字伺服系统DSP控制软件结构控制软件结构 1/26/202323山东大学控制学院 张东亮1/26/202324山东大学控制学院 张东亮1/26/202325山东大学控制学院 张东亮数字伺服系统电流与速度响应曲线数字伺服系统电流与速度响应曲线 1/26/202326山东大学控制学院 张东亮键盘和显示电路键盘和显示电路D/A转换电路转换电路1/26/202327山东大学控制学院 张东亮8.3 快速傅里叶变换与快速傅里叶变换与FIR数字滤波器数字滤波器8.3.1 快速傅里叶变换快速傅里叶变换
13、傅里叶变换是一种将时域信号变换为频域信号的变换傅里叶变换是一种将时域信号变换为频域信号的变换形式。在频域分析中,信号的频率及对应的幅值、相位形式。在频域分析中,信号的频率及对应的幅值、相位(统称为频谱)反映了系统的性能。快速傅里叶变换(统称为频谱)反映了系统的性能。快速傅里叶变换(Fast Fourier Transform,FFT)是离散傅里叶变换是离散傅里叶变换(Discrete Fourier Transform,DFT)的快速实现方法的快速实现方法。快速傅里叶变换的基本原理快速傅里叶变换的基本原理非周期连续时间信号非周期连续时间信号x(t)的傅里叶变换为的傅里叶变换为 1/26/202
14、328山东大学控制学院 张东亮序列序列x(n)的离散傅里叶变换的离散傅里叶变换 快速傅里叶变换快速傅里叶变换 一个一个N点的点的DFT可以分解为两个可以分解为两个N/2点的点的DFT,每个,每个N/2点的点的DFT又可以分解为两个又可以分解为两个N/4点的点的DFT。当。当N为为2的整的整数次幂时数次幂时,由于每分解一次降低一次幂阶,通过由于每分解一次降低一次幂阶,通过M次分解,次分解,最后全部成为一系列最后全部成为一系列2点点DFT运算。运算。1/26/202329山东大学控制学院 张东亮例,时间抽取的例,时间抽取的FFT算法算法DSP C语言实现实例。语言实现实例。FFT运算函数与主函数为
15、运算函数与主函数为#includemath.h/数学函数头文件数学函数头文件#define PI 3.1415926#define N 128/采样次数采样次数Nvoid InitForFFT();/FFT初始化函数初始化函数void MakeWave();/波形发生函数波形发生函数void finv(int N1,float*xr,float*xi);/倒序运算函数倒序运算函数f(N1,Xr,Xi),对输入序列倒序,对输入序列倒序int INPUTN,DATAN;float fWaveRN,fWaveIN,wN;float sin_tabN,cos_tabN;/正余弦函数表正余弦函数表int
16、 Mum;/Mum为蝶形运算的级数为蝶形运算的级数1/26/202330山东大学控制学院 张东亮void FFT(float XrN,float XiN)/时间抽取法时间抽取法FFT程序,要求采样点数程序,要求采样点数N为为2的整数幂次方的整数幂次方/Xr,Xi 分别为输入序列的实部和虚部分别为输入序列的实部和虚部int S,B;/S为旋转因子的幂数为旋转因子的幂数,B为蝶形运算输入数据的距离,为蝶形运算输入数据的距离,/也即各级旋转因子的个数也即各级旋转因子的个数int m,j,k;float X,Y;finv(N,Xr,Xi);/倒序运算函数,对输入序列倒序倒序运算函数,对输入序列倒序fo
17、r(m=1;m=Mum;m+)B=(int)(pow(2,m-1)+0.5);/B=2(m-1)for(j=0;jB;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/26/202331山东大学控制学院 张东亮/每种蝶形运算在某一级中需要进行每种蝶形运算在某一级中需要进行N/pow(2,m)次次 /蝶形运算展开,结果的实部和虚部蝶形运算展开,结果的实部和虚部 /分别存储在原实部和虚部位置分别存储在原实部和虚部位置X=Xrk+B*cos_t
18、abS+Xik+B*sin_tabS;Y=Xik+B*cos_tabS-Xrk+B*sin_tabS;Xrk+B=Xrk-X;Xik+B=Xik-Y;Xrk=Xrk+X;Xik=Xik+Y;for(m=0;mN/2;m+)wm=sqrt(Xrm*Xrm+Xim*Xim);/计算功率普计算功率普 1/26/202332山东大学控制学院 张东亮main()int i;InitForFFT();/FFT初始化函数初始化函数MakeWave();/波形发生函数波形发生函数for(i=0;iN;i+)fWaveRi=INPUTi;fWaveIi=0.0;wi=0.0;Mum=(int)(0.5+log(
19、N)/log(2);/Mum为蝶形运算的级数为蝶形运算的级数,N=2MumFFT(fWaveR,fWaveI);for(i=0;iN;i+)DATAi=wi;while(1);1/26/202333山东大学控制学院 张东亮void InitForFFT()/FFT初始化函数,建立正余弦函数表初始化函数,建立正余弦函数表int i;for(i=0;iN;i+)sin_tabi=sin(PI*2*i/N);cos_tabi=cos(PI*2*i/N);void MakeWave()/波形发生函数波形发生函数int i;for(i=0;iN;i+)INPUTi=sin(PI*2*i/N*3)*102
20、4;/f=3Hz,正弦函数正弦函数1/26/202334山东大学控制学院 张东亮FFT函数包含的函数函数包含的函数finv(N,Xr,Xi)为倒序运算,函数代码如下。为倒序运算,函数代码如下。/倒序运算函数倒序运算函数finv(N1,Xr,Xi),对输入序列倒序,对输入序列倒序/N1为序列长度为序列长度;Xr,Xi 分别为输入序列的实部和虚部分别为输入序列的实部和虚部/倒序原理:倒序数的加倒序原理:倒序数的加1是在最高位加是在最高位加1,/满满2向次高位进向次高位进1,最高位变,最高位变0,依次往下,依次往下/从当前倒序值可求下一倒序值从当前倒序值可求下一倒序值void finv(int N1
21、,float*xr,float*xi)/倒序运算函数倒序运算函数f(N1,Xr,Xi),对输入序列倒序,对输入序列倒序int m,n,N2,k;/m为正序数;为正序数;n为到序数;为到序数;k为各个权值;为各个权值;N2为最高位的权值为最高位的权值float T;/临时变量临时变量TN2=N1/2;/最高位加最高位加1相当于十进制加上最高位的权相当于十进制加上最高位的权N1/2n=N2;/第一个倒序值第一个倒序值for(m=1;m=N1-2;m+)/第第0个和最后一个不倒序个和最后一个不倒序1/26/202335山东大学控制学院 张东亮if(mn)/为了避免再次调换,只需对为了避免再次调换,只
22、需对m=k)n=n-k;/次高位位次高位位1,继续上下进位,满,继续上下进位,满2置置0k=(int)(k/2+0.5);/向下权值依次比上级减半向下权值依次比上级减半n=n+k;/得到下一倒序值得到下一倒序值 1/26/202336山东大学控制学院 张东亮8.3.2 FIR数字滤波器数字滤波器 在数字信号处理中,数字滤波占有极其重要的地位。在数字信号处理中,数字滤波占有极其重要的地位。无限冲击响应无限冲击响应(Finite Impulse Response,FIR)数字滤波数字滤波器器(Digital Filter)是一种常用数字信号处理算法。利用是一种常用数字信号处理算法。利用窗函数法设计
23、窗函数法设计FIR滤波器,可以实现线性相位的数字滤滤波器,可以实现线性相位的数字滤波器波器。1.FIR数字滤波器的设计方法数字滤波器的设计方法设设FIR数字滤波器的单位冲击响应为数字滤波器的单位冲击响应为h(n),则传递函数则传递函数H(z)为为 1/26/202337山东大学控制学院 张东亮FIR数字滤波器的系数数字滤波器的系数h(n)w(n)为窗函数。理想单位冲击响应为窗函数。理想单位冲击响应h1(n)可以根据给定可以根据给定的理想频率响应求得的理想频率响应求得FIR数字滤波器的差分方程为数字滤波器的差分方程为 式中,式中,x(i)为输入序列,为输入序列,y(i)为输出序列为输出序列,N为
24、滤波器阶数。为滤波器阶数。1/26/202338山东大学控制学院 张东亮 滤波器差分方程为滤波器差分方程为y(i)=0.001x(i-2)-0.002x(i-3)-0.002x(i-4)+0.01x(i-5)-0.009x(i-6)-0.018x(i-7)+0.049x(i-8)-0.02x(i-10)+0.11x(i-11)+0.28x(i-12)+0.64x(i-13)+0.28x(i-14)-0.11x(i-15)-0.02x(i-16)-0.049x(i-17)-0.018x(i-18)-0.009x(i-19)+0.01x(i-20)-0.002x(i-21)-0.002x(i-22
25、)+0.001x(i-23 例,实现一个低通例,实现一个低通FIR数字滤波器。要求带通边缘频率为数字滤波器。要求带通边缘频率为10kHz,阻带边缘频率为阻带边缘频率为22kHz,阻带衰减为,阻带衰减为75dB,采样,采样频率为频率为fs=50kHz。数字滤波器程序参见教材。数字滤波器程序参见教材。1/26/202339山东大学控制学院 张东亮思考题与习题思考题与习题1.对于对于F2812 DSP,采用,采用RAM CY7C1021V33扩展扩展64KW程序与数据共用存储器程序与数据共用存储器(地址地址08 000008 FFFFH),请设计硬件电路。,请设计硬件电路。2.如何设计如何设计DSP的复位电路?的复位电路?3.如何设计如何设计DSP的时钟电路?的时钟电路?4.如何设计如何设计DSP的的JTAG电路?电路?5.数字运动控制应用领域一般要用到数字运动控制应用领域一般要用到F2812 DSP的哪的哪些片内外设?些片内外设?6.如何用如何用DSP C语言编程实现常用的语言编程实现常用的FFT与与FIR信号信号处理算法?处理算法?1/26/202340山东大学控制学院 张东亮