数字滤波器在DSP28335中的使用

合集下载

TMS320F28335教程

TMS320F28335教程

2个增强型的eCAN2.0B接口模块
DSP技术应用
2个多通道缓冲串口(MBSP) 1个12C总线接口 12位模数转换模块
80ns转换时间
2X8通道复用输入接口
两个采样保持电路
单/连续通道转换
高达88个可配置通用目的I/O引脚
先进的仿真调试功能
DSP技术应用
硬件支持适时仿真功能
DSP技术应用
(5) 军事——如保密通信、雷达处理、声纳处理、
导航、导弹制导等; (6) 仪器仪表——如频谱分析、函数发生、锁相环 、地震处理等; (7) 自动控制——如引擎控制、声控、自动驾驶、 机器人控制、磁盘控制等; (8) 医疗——如助听、超声设备、诊断工具、病人 监护等;
(9) 家用电器——如高保真音响、音乐合成、音调 控制、玩具与游戏、数字电话/视等。
C28x
TM
GPIO 16/32-bit
EMIF SPI
88
32x32-bit
Multiplier
通讯接口 32-bit Timers (3) Each McBSP configurable as SPI Real CAN 2.0b with 32 mailboxes Time 2C at 400 Kbps JTAG I 开发套件 SEED-DEC28335+SEED-XDSusb2.0 Code Composer Studio™ IDE V3.3 DSP技术应用 Software libraries
Sectored
A(18-0) 22 32 32 32
32-bit Auxiliary
Flash
RAM
ROM
D(15-0)
32x32 bit Multiplier

基于F28335的IIR低通数字滤波器设计与实现

基于F28335的IIR低通数字滤波器设计与实现

基于 F28335的 IIR低通数字滤波器设计与实现摘要:针对目前数字信号处理领域中的高频噪声滤除的需求,提出了一种基于DSP的IIR低通数字滤波器的解决方案。

首先在MATLAB中仿真出符合要求的二阶IIR低通数字滤波模型,然后通过SIMULINK中搭建仿真模型验证滤波器的正确性,最后在DSP中通过C语言实现滤波算法。

DSP的高性能、浮点运算快等特点可以很好的解决数字滤波算法工程实际应用的难题,该方法实现简单,稳定可靠,具有很好的工程实践价值。

关键词:高频噪声;DSP SIMULINK;IIR低通数字滤波1 引言数字滤波器分为经典滤波器和现代滤波器两大类[1],经典滤波器中包括IIR滤波器和FIR滤波器,现代滤波器中包括卡尔曼滤波和自适应滤波等。

IIR滤波器的特点包括:在低频段具有线性相位、需要的输入参数少、阶次低、计算量小、对硬件的要求较低等特点被广泛应用于低频信号处理领域[2]。

TI公司的F283xx系列的TMS320F28335(以下简称F28335)是一款高性能32位浮点DSP处理器,最高主频可达150MHZ[3],该器件精度高,成本低,功耗小,性能强,可以很好的实现IIR滤波算法。

2 IIR滤波器的设计原理IIR数字滤波器是一种无限脉冲响应的数字滤波器,是具有反馈结构的递归型滤波器,采用闭环设计结构相对简单,实现的阶次较低运算速度快、占用的存储空间少,具有较高的计算精度,在低频段具有很好的线性相位,可以很好的应用于低频滤波领域[4]。

一个N阶IIR数字滤波器的线性常系数差分方程为:(2-1)基于式(2-1)的差分方程可在DSP中通过C语言实现滤波算法。

首先根据滤波系统的输入得出滤波器的技术指标,如截止频率、采样频率、带宽、阶次等在MATLAB中设计得到的滤波器系统传递函数,再采用递推法将滤波器Z域的传递函数转换成式(2-1)所示的差分方程,最后在最后在F28335中通过C语言完成滤波算法的实现。

三相SPWM波在TMS320F28335中的实现

三相SPWM波在TMS320F28335中的实现

Realization of the three-phase SPWM wave in the TMS320F28335
WANG Xin1, LIU Yan2 (1. Harbin Regel Generator for Technology go. ,LTD, Harbin 150030, China;
第 21 卷 第 2 期 Vol.21 No.2
电子设计工程 Electronic Design Engineering
2013 年 1 月 Jan. 2013
三相 SPWM 波在 TMS320F28335 中的实现
王 鑫 1, 刘 岩 2 (1. 哈尔滨瑞格大电机技术有限公司 黑龙江 哈尔滨 150030; 2. 哈尔滨市卫生局 黑龙江 哈尔滨 150000)
所谓 SPWM[2],就 是 在 PWM 的 基 础 上改 变 了 调制 脉 冲 方 DSP(数字信号处理器)无疑是满足这一要求的理想选择。
式,脉冲宽度时间占空比按正弦规律排列,这样输出波形经 过适当的滤波可以做到正弦波输出。 它广泛地用于直流交流
1 SPWM 算法
逆变器等产品,比如高级 一 些 的 UPS 就 是 一 个典 型 应 用。 三
PWM[1]的 全 称 是 Pulse Width Modulation, 它 是 通 过 改 变 法灵 活 性 强,实 现 成 本 低 。 SPWM 波 的 实 时 计 算 对 控 制 器 的
输出方波的占空比来改变等效的输出电压。
运 算 速 度要 求 较 高 ,TI 公 司 出 品的 TMS320F28335 高 性 能 的
要采用查表法,计算量小,实时性高。 在工程实践中表明,该方法既能满足控制精度要求,又能满足实时性要求,可以

基于TMS320F28335的FIR-IFFT数字滤波方法

基于TMS320F28335的FIR-IFFT数字滤波方法

基于TMS320F28335的FIR-IFFT数字滤波方法刘牮;李彧;刘振;李静【摘要】针对现有数字滤波方法存在大量傅里叶变换以及卷积运算,在工业控制领域处理50 Hz信号时,易造成处理器消耗大量运算时间,导致在低端处理器上无法实现常规数字滤波算法的问题,介绍了一种修改后的数字滤波算法,综合短时采样序列与最优窗函数在TMS320F28335上可快速实现该算法.经过窗函数截取后的信号进行FFT分析,去除谐波频率后IFFT还原波形,与通用的IIR或FIR滤波器相比,大幅缩短了程序运行时间,同时减少通用滤波器的大量卷积运算,提高程序执行效率.【期刊名称】《电子科技》【年(卷),期】2016(029)005【总页数】4页(P101-104)【关键词】FIR窗函数;FFT参数;TMS320F28335处理器;采样精度【作者】刘牮;李彧;刘振;李静【作者单位】上海理工大学光电信息与计算机工程学院,上海200093;上海理工大学光电信息与计算机工程学院,上海200093;上海理工大学光电信息与计算机工程学院,上海200093;上海理工大学光电信息与计算机工程学院,上海200093【正文语种】中文【中图分类】TN911.72;TP311.1随着现代工业控制中检测设备的精密度逐渐提高,而外部输入信号被各种高频信号叠加然后形成畸变的正弦波形,实际工业测量仪器中经常需要测量电网的实时交流电压,根据检测值驱动保护设备断开负载,由于实际电网中存在高次谐波,需要滤去高次谐波后再做计算,这样就需要检测到真实的交流电压值,由于工频电压为50 Hz,本文提出一种滤去50 Hz以上杂波频率的数字方法,滤波效果趋于理想滤波器,并能确保精度。

FIR滤波器具有严格的相位线性特性,FIR的系统函数为由差分方程可看出,这是一个离散系统下的线性卷积过程,且该系统函数指出极点存在于z域单位圆内,是一个永恒稳定系统。

时域卷积等同于频域相乘,这样可通过将单位冲击响应与输入序列转换为频域的乘法运算,可调用FFT算法快速求出输出序列,完成滤波。

基于DSP28335的有源电力滤波器测控系统设计

基于DSP28335的有源电力滤波器测控系统设计

基于DSP28335的有源电力滤波器测控系统设计
惠亮亮;田铭兴;张俊强
【期刊名称】《测控技术》
【年(卷),期】2017(036)003
【摘要】为解决有源电力滤波器在现场工作中的准确监测与可靠控制问题,设计并实现了一种基于DSP28335的有源电力滤波器测控系统.主要对数据采集模块、通信模块、人机交互模块的硬件电路进行了详细介绍,对监测参数计算、SPI通信、故障处理的软件功能进行了阐述,给出了硬件结构和软件流程.实验结果表明系统满足设计要求,实现了对有源电力滤波器实时准确监测并可靠控制的目的.
【总页数】5页(P63-66,70)
【作者】惠亮亮;田铭兴;张俊强
【作者单位】兰州交通大学自动化与电气工程学院,甘肃兰州730070;兰州交通大学自动化与电气工程学院,甘肃兰州730070;兰州交通大学自动化与电气工程学院,甘肃兰州730070
【正文语种】中文
【中图分类】TM712
【相关文献】
1.基于模型预测控制的有源电力滤波器开关损耗优化设计 [J], 尚姝钰;陈豪;姜素霞;吕恒志;陶涛;崔光照
2.基于模型预测控制的有源电力滤波器开关损耗优化设计 [J], 尚姝钰;陈豪;姜素霞;
吕恒志;陶涛;崔光照;
3.基于预测控制与H∞控制的有源电力滤波器设计 [J], 马兴;刘会金;崔雪;郭晓云;汪文达
4.基于矢量谐振调节器的有源电力滤波器网侧电流检测控制方法研究 [J], 易皓;卓放;翟灏
5.基于切换系统的并联型有源电力滤波器指令电流预测控制 [J], 陈东毅;陈冲因版权原因,仅展示原文概要,查看原文内容请购买。

dsp SEED-DTK2833510个实验

dsp SEED-DTK2833510个实验

实验一(A)、CCS入门实验(C语言的使用)一、实验目的:1. 学习用标准C 语言编制程序;了解常用的C 语言程序设计方法和组成部分。

2. 熟悉使用软件仿真方式调试程序。

二、实验内容:1. DSP源文件的建立;2. DSP程序工程文件的建立;3. 掌握C语言在DSP中的应用。

三、实验背景知识:当使用标准C 语言编制的程序时,其源程序文件名的后缀应为.c。

CCS 在编译标准C 语言程序时,首先将其编译成相应汇编语言程序,再进一步编译成目标DSP 的可执行代码。

最后生成的是coff 格式的可下载到DSP 中运行的文件,其文件名后缀为.out。

由于使用C 语言编制程序,其中调用的标准C 的库函数由专门的库提供,在编译连接时编译系统还负责构建C 运行环境。

所以用户工程中需要注明使用C 的支持库。

(一)实验程序,包含文件:1. add.c:实验的主程序。

2. 28335.gel:系统初始化3. 28335.cmd: 声明了系统的存储器配置与程序各段的连接关系。

(二)实验准备:首先将光盘下03. Examples of Program \ 04. SEED-DTK28335实验程序\CCS使用实验目录下的3.1.2 c_add的文件夹拷贝到D:盘根目录下。

1. 将DSP仿真器与计算机连接好;2. 将DSP仿真器的JTAG插头与SEED-DEC28335单元的J18相连接;3. 打开SEED-DTK28335的电源。

观察SEED-DTK_MBoard单元的+5V,+3.3V,+15V,-15V的电源指示灯灯以及SEED-DEC28335的电源指示灯D2是否均亮;若有不亮的,请断开电源,检查电源。

(三)实验步骤:1. 双击图标进入CCS环境。

2. 按照下图所示添加工程pjt文件,点击Project →open命令3. 在弹出的对话框中选中cadd.pjt文件添加该工程文件。

4. 按照下图所示添加gel文件,即右键点击工程视窗中的GEL files,在弹出的菜单中选择laod gel 命令。

基于TMS320F28335芯片三相三线制有源电力滤波器APF实验平台设计

基于TMS320F28335芯片三相三线制有源电力滤波器APF实验平台设计

基于TMS320F28335芯片三相三线制有源电力滤波器APF实验平台设计【摘要】APF动态响应速度快,能对快速变化的谐波电流进行实时精确的补偿,是治理谐波污染最有效的方案之一,本文设计了一种采用高速数字信号处理DSP芯片TMS320F28335的APF实验样机,叙述了APF的核心硬件电路设计和软件设计,给出了部分关键硬件控制电路原理图,分析了电路设计原理,并对系统软件部分设计做了介绍,实验表明,该实验样机能有效补偿电网中的谐波电流及无功功率。

【关键词】有源电力滤波器(APF)TMS320F28335芯片;驱动电路;相位检测电路随着现代工业的发展,电力电子变流装置被广泛使用,随着电网中不可控整流及变频调速装置等非线性负荷的不断增加,电网的谐波成分剧增,严重影响了电能质量,有源电力滤波器(APF)以动态响应快,能快速精确补偿变化的所有谐波电流,其控制策略选择灵活,具有很大的性能提升潜力。

1.有源电力滤波器(APF)简介APF是一种动态抑制谐波、补偿无功和负序的新型电力电子装置,利用可控的功率半导体器件向电网注入与原有谐波电流幅值相等、相位相反的电流,使电源的总谐波电流为零,达到实时补偿谐波电流的目的2.实验平台样机设计根据有源滤波器构成原理,本文针对三相三线制非线性负载设计了容量为50KV A的有源电力滤波器实验平台。

主电路结构由非线性负载,IGBT逆变模块,LCL滤波器,直流电容,充放电路等组成,如图1所示。

2.1主电路设计主电路工作原理:三相电源给非线性负载供电,因为负载的特性电网会产生大量的非线性谐波电流,同时控制IGBT产生逆变电流,经过LCL滤波以后补偿负载产生的非线性谐波电流,逆变部分直流侧电容的作用是稳定逆变器的直流电压,类似直流电源的作用。

图1 APF主电路原理图控制电路中采样信号经过信号调理,除掉高频噪声,经A/D转换后进入DSP,DSP控制完成谐波电流计算,参考电流及参考电压的计算,产生IGBT驱动信号,经CPLD逻辑判断后,送入驱动芯片经过功率放大后来驱动IGBT模块,从而补偿负载产生的谐波电流,使流入到电网的电流波形近似为正弦波。

DSP实验二、TMS320F28335按键输入控制LED亮灭

DSP实验二、TMS320F28335按键输入控制LED亮灭

继续我的第二个实验;实现按键控制LED亮灭:功能描述:上电默认 LD3 亮;触动一次按键 SW12,LD3 灭再按一次按键 SW12, LD3亮再触动一次按键SW12,LD3 灭再按一次按键 SW12, LD3亮。

实现每触动一次按键, LED执行一次由亮到灭,或者由灭到亮,也就是实现一次状态反转。

电路连接说明:LD3 设置为通用 GPIO 上拉输出初始化后默认为输出 LD3 亮状态; LD3 控制LED灯的负极,如下图;SW12 设置为通用 GPIO 上拉输入该引脚应用滤波功能,且仅在按键抬起时控制 LD3状态发生变化。

按键电路如上图, GPIO53须输出 0,当按键按下时,读取 GPIO50端口值,为 0,当按键未按下时, GPIO50因为上上拉作用,其端口值为 1。

程序设计说明:按键的读取采用实时扫描的方式(非中断方式),功能要求在按键抬起后发生 LED状态翻转;所以要记录上一次按键值,并且将当前值==0&&上一次值==1 时,做为按键抬起有效,控制LED发生状态翻转。

主要程序如下:while(1){EALLOW;last_Key_SW12 = new_Key_SW12;// 保存旧值new_Key_SW12 = Key_SW12();// 读取新值if ( last_Key_SW12==0 && new_Key_SW12==1)LD3_TOGGLE();EDIS;}经实际测试,上述程序可以实现 LD3的翻转,基本达到设计要求。

但是在测试过程中,时好时坏,有时能够看见 LED快速翻转,说明按键有抖动的情况,这里可以考虑 IO 口滤波,即在初始化时,设置 IO 采样周期以及量化串口,设置如下:采样周期设置为 200 时,不再出现抖动现象,按键稳定操作。

源程序如下:#include"DSP2833x_Device.h"// DSP2833x Headerfile Include File#include"DSP2833x_Examples.h"// DSP2833x Examples Include File#define LD3_ON()GpioDataRegs.GPACLEAR.bit.GPIO0= 1#define LD3_OFF()GpioDataRegs.GPASET.bit.GPIO0= 1#define LD3_TOGGLE()GpioDataRegs.GPATOGGLE.bit.GPIO0= 1#define LD4_ON()GpioDataRegs.GPBCLEAR.bit.GPIO34= 1#define LD4_OFF()GpioDataRegs.GPBSET.bit.GPIO34= 1#define Key_SW12()GpioDataRegs.GPBDAT.bit.GPIO50/**main.c*/int main ( void ) {unsigned char last_Key_SW12=1; // 保留上一次扫描结果,上电默认为未按下状态unsigned char new_Key_SW12=1; // 保留当前扫描结果,上电默认为未按下状态InitSysCtrl();DINT;IER = 0x0000;IFR = 0x0000;InitPieCtrl();InitPieVectTable();InitGpio();EALLOW;//GPIO0 LD3控制 LED负极GpioCtrlRegs.GPAMUX1. bit. GPIO0= 0;//0 gpio modeGpioCtrlRegs.GPADIR. bit. GPIO0= 1;//1 output0 input GpioCtrlRegs.GPAPUD. bit. GPIO0= 0;//1 enable pullup 0 disable pullup//GPIO34 LD4控制 LED负极GpioCtrlRegs.GPBMUX1. bit. GPIO34 = 0;//0 gpio modeGpioCtrlRegs.GPBDIR. bit. GPIO34= 1;//1 output0 input GpioCtrlRegs.GPBPUD. bit. GPIO34= 0;//1 enable pullup 0 disable pullup//GPIO50按键矩阵 SW12输入端GpioCtrlRegs.GPBMUX2. bit. GPIO50= 0;//0 gpio modeGpioCtrlRegs.GPBDIR. bit.GPIO50= 0;//1 output0 input GpioCtrlRegs.GPBPUD. bit.GPIO50= 0;//1 enable pullup 0 disable pullup GpioCtrlRegs.GPBCTRL. bit. QUALPRD2= 200;// 采样周期 =2*Tsysclkout*200 GpioCtrlRegs.GPBQSEL2. bit. GPIO50 = 2;//采样窗内 3次采样结构相同//GPIO53按键矩阵负极输出0GpioCtrlRegs.GPBMUX2. bit. GPIO53= 0;//0 gpio modeGpioCtrlRegs.GPBDIR. bit.GPIO53= 1;//1 output0 input GpioCtrlRegs.GPBPUD. bit.GPIO53= 0;//1 enable pullup 0 disable pullup GpioDataRegs.GPBCLEAR. bit. GPIO53 = 1;LD3_ON(); // 默认输出亮状态LD4_OFF();EDIS;while(1){EALLOW;last_Key_SW12 = new_Key_SW12;// 保存旧值new_Key_SW12 = Key_SW12();// 读取新值if ( last_Key_SW12==0 && new_Key_SW12==1)LD3_TOGGLE();EDIS;}}。

DSP28335教学板使用说明

DSP28335教学板使用说明

• CCS 提供一个单一用户界面,指导用户完成应用程序开发流程的每一步骤。
• CCS 提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS 支持如下 所示的开发周期的所有阶段。
• CCS 集成的软件工具: – 代码生成工具(包括 C6000 的 C 编译器、汇编优化器、汇编器和连接器)
– 软件模拟器(Simulator)
第8页
HFQJ
TMS320F28335 使用说明
合肥求精科技有限公司
第9页
HFQJ
2.2 如何建立一个 28335 的工程
Step 1.新建工程
TMS320F28335 使用说明
合肥求精科技有限公司
第 10 页
HFQJ
TMS320F28335 使用说明
Step 2.在 controlSUITE 文件夹中按下图所示路径选择 DSP28335_common 和 DSP28335_headers 复制这两个文件夹
合肥求精科技有限公司
第6页
HFQJ
exp19_ds1302
ds1302 时钟实验
TMS320F28335 使用说明
exp20_I2C_24C32 EEPROM 存储实验
exp21_shagweijian 完整的三相交流异步电机程序(带上位机) dspwm
合肥求精科技有限公司
第7页
HFQJ
第二部分 CCS V5 开发环境介绍
Boot ROM: 8K×16-位
OTP ROM: 1K×16-位
其中 FLASH、OTP ROM 和 16K×16-位 SRAM 受密码保护,保护用户程序。
片上外设:
ePWM: 12 路
HRPWM:
6路

28335_DSP实验报告

28335_DSP实验报告

XXXXXX大学研究生实验报告课程名称:DSP技术应用综合设计名称:电量参数计算和发送学生姓名:班级学号:学科名称:2012年5月25日一、综合实验题目和要求1、实验设计要求要求1:对给定的波形信号,采用TMS320F28335的浮点功能计算该信号的以下时域参数:信号的周期T(频率f也需要计算),信号的均方根大小V rms、平均值V avg (即直流量)、峰峰值V pp。

其中,均方根V rms的计算公式(数字量的离散公式)如下:rmsV=式中,N为采样点数,u(i)为采样序列中的第i个采样点。

要求2:所设计的软件需要计算采样的波形周期个数,并控制采样点数大于1个波形周期,小于3个波形周期大小。

要求3:对采样的数据通过串口发送至PC界面。

2、实验目的主要考核学生对TMS320F28335浮点处理器、A/D模块、SCI模块和信号时域分析等知识的掌握。

产生的波形可选择正弦波,也可以是其它任意波形。

如果波形中添加了随机噪声,则建议采用软件设计中加入数字滤波算法,否则可能计算中产生较大的误差。

实验所需的频率不能太大,(建议范围:10Hz~100kHz),采样点建议在256点左右(自己任意设定也可,不少于32点)。

二、硬件框图图1 系统硬件框图图1 给出了该综合实验的硬件框图,首先通过小键盘设置波形的参数,包括频率、幅值以及波形等。

然后通过信号发生器产生模拟信号,由DSP28335的AD通道6进行采样处理。

DSP与PC机之间通过串口进行通信,由DSP28335的SCIb通道处理。

ADC模块有16个转换通道,可配置成两个独立的8通道转换模块,分别对应于管理器A和B,根据用户需求,两个独立的8通道转换模块可以级联成一个8通道模块,在ADC模块中尽管可以多通道输入和有两个排序器,但只有一个A/D转换器可以。

两个8通道模块可以自动对一系列转换进行排序,而且每个模块都可以通过多路复用开关选择任何一个通道。

在级联模式下,自动排序器将作为一个单一的8通道排序器。

绝密,DSPF28335实用板使用教程

绝密,DSPF28335实用板使用教程

绝密,DSPF28335实⽤板使⽤教程官⽅声明YXDSP-F28335系列开发板是南京研旭开发⽣产并直接进⾏销售及提供技术服务的产品,暂时未设置任何代理商。

如有其它任何⼚商或代理使⽤“YXDSP-F28335开发套件”的名义进⾏销售,均属于假冒产品。

南京研旭对您购买及使⽤此假冒产品过程中造成的所有损失均不承担任何责任。

官⽅指定销售⽹站:/doc/98ddcdb369dc5022aaea002f.html 中⽂名称:研旭商城官⽅指定销售⽹站:/doc/98ddcdb369dc5022aaea002f.html 中⽂名称:研旭淘宝商城YXDSP-F28335开发板是研旭电⽓科技有限公司⾃主研发的,针对⾼校、研究所和中⼩企业⼩批量设计的需求⽽研发的。

该开发板可以满⾜基于所有F28335开发时的所有应⽤。

YXDSP-F28335开发套件功能强⼤,代码丰富,⽅便使⽤。

在国内,我们的产品已经成为众多的国家级科研院所、⼤学、国家重点实验室、电⼒、通讯、⼯业、医疗类公司指定的开发⼯具。

TMS320F28335型数字信号处理器是TI公司的⼀款TMS320C28X系列浮点DSP控制器。

与以往的定点DSP相⽐,该器件的精度⾼,成本低,功耗⼩,性能⾼,外设集成度⾼,数据以及程序存储量⼤,A/D转换更精确快速等。

TMS320F28335具有150MHz的⾼速处理能⼒,具备32位浮点处理单元,6个DMA通道⽀持ADC、McBSP和EMIF,有多达18路的PWM输出,其中有6路为TI特有的更⾼精度的PWM输出(HRPWM),12位16通道ADC。

得益于其浮点运算单元,⽤户可快速编写控制算法⽽⽆需在处理⼩数操作上耗费过多的时间和精⼒,从⽽简化软件开发,缩短开发周期,降低开发成本。

采⽤六层核⼼板与底板的分拆形式,在听取⼴⼤DSP⼯程师意见的基础上,以保证DSP 能稳定独⽴运⾏、外设资源充分扩展为原则,优化结构设计,注重EMC处理,⽆论在设计还是在⼯艺上,均⽤⼼完成。

TI DSP28335 CAN中文使用手册介绍

TI DSP28335 CAN中文使用手册介绍

TMS320F2833x,2823x增强型局控制器域网(eCAN) Reference GuideLiterature Number:ZHCU039January2009内容Preface (6)1CAN概述 (10)1.1特性 (10)1.2方框图 (11)1.3eCAN与其他TI CAN模块兼容 (11)2CAN网络和模块 (12)2.1CAN协议概述 (12)3eCAN控制器概述 (13)3.1标准CAN控制器(SCC)模式 (14)3.2内存映射 (15)3.3eCAN控制和状态寄存器 (18)4消息对象 (19)5消息邮箱 (19)5.1发送邮箱 (23)5.2接收邮箱 (24)5.3CAN模块运行在正常配置中 (24)1eCAN寄存器 (25)1邮箱使能寄存器(CANME) (25)2邮箱方向寄存器(CANMD) (26)3发送请求设置寄存器(CANTRS) (27)4传输请求-复位寄存器(CANTRR) (28)5传输确认寄存器(CANTA) (29)6中断确认寄存器(CANAA) (30)7接收消息等待寄存器(CANRMP) (31)8接收信息丢失寄存器(CANRML) (32)9远程帧等待寄存器(CANRFP) (33)9.1远程帧的处理 (33)10全局接受屏蔽寄存器(CANGAM) (35)11主控制寄存器(CANMC) (36)11.1CAN模块在SUSPEND(中止)时工作 (37)12位-时序配置寄存器(CANBTC) (38)13错误和状态寄存器(CANES) (40)14CAN错误计数寄存器(CANTEC/CANREC) (42)15中断寄存器 (43)15.1全局中断标志寄存器(CANGIF0/CANGIF1) (43)15.2全局中断屏蔽寄存器(CANGIM) (45)15.3邮箱中断屏蔽寄存器(CANMIM) (48)15.4邮箱中断级别寄存器(CANMIL) (49)16写覆盖保护控制寄存器(CANOPC) (50)17eCAN I/O控制寄存器(CANTIOC,CANRIOC) (51)2内容ZHCU039–January200918定时器管理单元 (53)18.1时间戳功能 (53)18.2超时功能 (56)18.3用户应用程序中MTOF0/1位的运行状态/用法。

tms320f28335原理及其在电气工程中的应用

tms320f28335原理及其在电气工程中的应用

tms320f28335原理及其在电气工程中的应用TMS320F28335是一款基于32位定点数字信号处理器(DSP)的芯片,由德州仪器公司(Texas Instruments)生产。

它具有高速、高效、低功耗等优点,广泛应用于各种电气工程领域。

TMS320F28335基于C28x内核架构,拥有高达150MHz的最高工作频率,可以实现复杂的数字信号处理和控制算法,如矢量控制、PID调节、滤波、FFT等。

此外,它还拥有多种外设接口,如GPIO、CAN、SPI、I2C等,可以实现各种外部设备的连接和数据通信。

在电气工程领域中,TMS320F28335主要应用于电力电子、电机控制、光伏发电、电网无功补偿、智能电网等方面。

具体应用包括:
1. 电机控制:TMS320F28335内置了多种PWM输出模块和编码器接口,可以实现高性能的电机控制,如直接矢量控制、间接矢量控制等。

2. 电力电子:TMS320F28335可以实现各种电力电子开关器件的PWM控制,如IGBT、MOSFET、整流器等,实现电力变换、能量转换和电子调节等功能。

3. 光伏发电:TMS320F28335可以与光伏逆变器的控制器相结合,通过MPPT 算法实现对光伏电池板的最大功率追踪,提高光伏发电效率。

4. 智能电网:TMS320F28335可以与智能电网控制器相结合,实现对电网的无功补偿、电网状态监测、分布式发电控制等功能。

总之,TMS320F28335作为一款高性能的DSP芯片,具有广泛的应用前景,在电气工程领域中将有着越来越广泛的应用。

F28335基于MATLAB的低通滤波器的实现

F28335基于MATLAB的低通滤波器的实现

DSP28335基于MATLAB-FIR低通滤波器的实现1.任务目标:滤波器的截止频率为500HZ,采样频率为128000HZ,采样的点数为256,滤波器的阶数为32,输入信号如下:Sample[i]=511*(sin(2*pi*5*i/(a-1))+sin(2*pi*i*5*3/(a-1))/3+sin(2*pi*i*5*5/(a-1))/5)+5122.实现过程:由MAtlab的FDATOOL计算出滤波器的阶数,再由DSP程序进行卷积运算,最后由CCSV5的Graph功能进行输入前后的波形分析。

3.FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。

因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。

4.算法原理:离散信号序列通过一个离散滤波系统,得到离散输出信号,如果滤波系统的单位脉冲响应为h(n),信号序列为x(n),输出信号为y(n),则使用运算关系式表达他们之间的关系如下:5.MATLAB---FDATOOL参数设置:然后在FILE-EXPORT-ASCII输出文件打开就有滤波器系数了。

6.各种情况下输出的波形图图一:matlab滤波器截止频率Fc设置为5000HZ得到的波形图二:程序自带滤波器参数得到的波形图三:截止频率设置为2000HZ得到的输出波形图四:Fc=1200HZ时的波形图五:Fc=600HZ时的波形图六:FC=2700HZ图七:FC=6000H图八:FC=3500HzFC=4000hzFC=4500HZ卷积算法如下:void LinearConvolution(Uint16 xn,Uint16 hn,float *x,float *h,float *y) {Uint16 i,j,k,l;Uint16 yn; //输出序列y的长度yn=xn+hn-1;for(i=0;i<yn;i++) y[i]=0; //输出数组初始化k=yn-1;for(i=hn-1;i>0;i--) //将*h作为被乘数{l=k;for(j=xn-1;j>0;j--) //数组x[n]的1~(xn-1)与h[i]逐一相乘 {y[l]+=h[i]*x[j];l--;}y[l]+=x[0]*h[i];k--;}l=k;for(j=xn-1;j>0;j--){y[l]+=h[0]*x[j];l--;}y[l]+=x[0]*h[0];}void main(void){Uint16 i;InitSysCtrl();InitPieCtrl();IER = 0x0000;IFR = 0x0000;for(i=0;i<a;i++) //产生一个a点的三次谐波叠加而成的方波{Sample[i]=511*(sin(2*pi*5*i/(a-1))+sin(2*pi*i*5*3/(a-1))/3+sin(2*pi*i*5*5/( a-1))/5)+512;//三个正弦波由5个15个25个包含在256个点的时间中// DELAY_US(10);+sin(2*pi*i*5*5/(a-1)) +sin(2*pi*i*5*3/(a-1))/4sin(2*pi*5*i/(a-1))/100+}LinearConvolution(a,b,Sample,h,y1);//线性卷积while(1){//sample=sin(2*pi*5*n/(N-1))+sin(2*pi*15*n/(N-1))/3+sin(2*pi*25*n/(N-1))/5;/* dly[0]=sample;yn=0;for(i=0;i<N;i++) yn+=h[i]*dly[i];for(i=N-1;i>0;i--) dly[i]=dly[i-1];output[n]=yn;if(n==(N-1)) n=0;else n++;*/}}。

DSP28335软件实验讲解

DSP28335软件实验讲解

合肥零零电子科技有限公司 软件实验讲解程序所在目录Ex01_POP28335_Timer0_LED 在 CCS 环境中操作如下: 1、Project->Open,打开该目录中的工程文件。

1、内部定时器0 内部定时器0灯闪实验2、Project->Build 或Rebuild ALL,编译链接。

就是如下的按钮: (以下同) 说明:第一次使用时也可以跳过这步,直接到第 3 步加载 .out 文件。

3、File->Load Program5、Debug->GO Main 6、Debug->RUN(快捷键F5) 全速运行 则可看到板上 4个发光二极管(D14-D17)闪烁。

用户可根据自己想要的结果,来改变代码 得到自己想要的闪烁方式和闪烁时间。

注:1、用户可以参考这个文件作为其开发应用程序的模板,在这个程序基础上修改自己的 代码,这样可以减少很多设置的工作,避免因设置不对导致编译问题。

合肥零零电子科技有限公司 2、用户改变过的代码需要重新编译一下,进而在Debug 下生成新的.OUT 文件。

程序所在目录Ex02_POP28335_SPI_8SEG_Static。

在 CCS3.3 中的操作如下: 1、Project->Open,打开该目录中的工程文件。

2. SPI数码管 数码管静态 静态显示实验 SPI数码管 静态显示实验2、Project->Rebuild ALL,编译链接。

说明:第一次使用时也可以跳过这步,直接到第 3 步加载 .out 文件。

3、File->Load Program合肥零零电子科技有限公司 4、Debug->GO Main 5、Debug->RUN(快捷键F5) 全速运行 可以看到板上数码管显示数字“28”。

程序中Uint16 showdata=28; 可修改这个值显示不同 数字。

程序所在目录Ex03_POP28335_SPI_8SEG。

F28335基于MATLAB低通滤波器实现

F28335基于MATLAB低通滤波器实现

DSP28335基于MATLAB-FIR低通滤波器的实现1.任务目标:滤波器的截止频率为500HZ,采样频率为128000HZ,采样的点数为256,滤波器的阶数为32,输入信号如下:Sample[i]=511*(sin(2*pi*5*i/(a-1))+sin(2*pi*i*5*3/(a-1))/3+sin(2*pi*i*5*5/(a-1 ))/5)+5122.实现进程:由MAtlab的FDATOOL计算出滤波器的阶数,再由DSP程序进行卷积运算,最后由CCSV5的Graph功能进行输入前后的波形分析。

3.FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处置系统中最大体的元件,它能够在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因此滤波器是稳固的系统。

因此,FIR 滤波器在通信、图像处置、模式识别等领域都有着普遍的应用。

4.算法原理:离散信号序列通过一个离散滤波系统,取得离散输出信号,若是滤波系统的单位脉冲响应为 h(n),信号序列为 x(n),输出信号为 y(n),那么利用运算关系式表达他们之间的关系如下:5.MATLAB---FDATOOL参数设置:然后在FILE-EXPORT-ASCII输出文件打开就有滤波器系数了。

6.各类情形下输出的波形图图一:matlab滤波器截止频率Fc设置为5000HZ取得的波形图二:程序自带滤波器参数取得的波形图三:截止频率设置为2000HZ取得的输出波形图四:Fc=1200HZ时的波形图五:Fc=600HZ时的波形图六:FC=2700HZ图七:FC=6000H图八:FC=3500HzFC=4000hzFC=4500HZ卷积算法如下:void LinearConvolution(Uint16 xn,Uint16 hn,float *x,float *h,float *y) {Uint16 i,j,k,l;Uint16 yn; //输出序列y的长度yn=xn+hn-1;for(i=0;i<yn;i++) y[i]=0; //输出数组初始化k=yn-1;for(i=hn-1;i>0;i--) //将*h作为被乘数{l=k;for(j=xn-1;j>0;j--) //数组x[n]的1~(xn-1)与h[i]一一相乘 {y[l]+=h[i]*x[j];l--;}y[l]+=x[0]*h[i];k--;}l=k;for(j=xn-1;j>0;j--){y[l]+=h[0]*x[j];l--;}y[l]+=x[0]*h[0];}void main(void){Uint16 i;InitSysCtrl();InitPieCtrl();IER = 0x0000;IFR = 0x0000;for(i=0;i<a;i++) //产生一个a点的三次谐波叠加而成的方波{Sample[i]=511*(sin(2*pi*5*i/(a-1))+sin(2*pi*i*5*3/(a-1))/3+sin(2*pi*i*5*5/(a-1))/5 )+512;//三个正弦波由5个15个25个包括在256个点的时刻中// DELAY_US(10);+sin(2*pi*i*5*5/(a-1)) +sin(2*pi*i*5*3/(a-1))/4sin(2*pi*5*i/(a-1))/100+}LinearConvolution(a,b,Sample,h,y1);//线性卷积while(1){// sample=sin(2*pi*5*n/(N-1))+sin(2*pi*15*n/(N-1))/3+sin(2*pi*25*n/(N-1))/5;/* dly[0]=sample;yn=0;for(i=0;i<N;i++) yn+=h[i]*dly[i];for(i=N-1;i>0;i--) dly[i]=dly[i-1];output[n]=yn;if(n==(N-1)) n=0;else n++;*/}}。

DSP技术实验指导书28335

DSP技术实验指导书28335

DSP技术实验指导书28335中原工学院电子信息学院电能变换实验平台《DSP技术》课程实验指导书中原工学院电子信息学院2021-5-4第 1 页中原工学院电子信息学院电能变换实验平台《电能变换与控制试验平台―DSP技术》课程实验指导书一、课程的目的、任务本课程是电气工程及其自动化专业学生在学习电力电能变换及控制方向课程中的一门实践性技术课程,其目的在于通过实验使学生能更好地理解和掌握电能变换及控制基本理论,培养学生理论联系实际的学风和科学态度,提高学生的电工实验技能和分析处理实际问题的能力。

为后续课程的学习打下基础。

二、课程的教学内容与要求本试验平台可完成DSP技术CCS使用、时钟、中断、定时器、A/D转换、EV事件管理模块和通信等实验,可根据教学大纲的要求进行选取。

三、各实验具体要求见P2 四、实验报告学生结束实验后应完成相应的实验报告并交给指导老师。

其中实验报告的主要内容包括:实验目的,实验内容,实验结果和实验心得等。

第 2 页中原工学院电子信息学院电能变换实验平台实验一 CCS软件的认识实验目的1.熟悉 CCS 集成开发环境,掌握工程的生成方法; 2.掌握 CCS 集成开发环境的调试方法;实验内容:1. DSP 源文件的建立;2. DSP 程序工程文件的建立;3.学习使用 CCS 集成开发工具的调试工具;实验知识背景:CCS 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。

CCS 提供了基本的代码生成工具,它们具有一系列的调试、分析能力。

(1)CCS3.3的安装与配置和CCS3.1类似,先安装CCS3.3,路径可选择为C:\\CCStudio_v3.3,桌面上会出现和两个图标,然后安装硬件仿真器usb驱动SEED-XDSUSB_CCS3.3,路径仍为C:\\CCStudio_v3.3,C:\\CCStudio_v3.3\\drivers 出现Seedusb2.cfg文件,安装完毕后,先双击图标进入Code Composer Studio Setup,在Family下拉列表中选择C28xx。

数字滤波器的MATLAB设计与仿真及在DSP上的实现

数字滤波器的MATLAB设计与仿真及在DSP上的实现

数字滤波器的MATLAB设计与仿真及在DSP上的实现数字滤波器的MATLAB设计与仿真及在DSP上的实现概述:数字滤波器是数字信号处理(DSP)中的重要组成部分,常用于信号去噪、频率选择、滤波等应用。

本文将介绍数字滤波器的设计、仿真以及在DSP上的实现。

我们将使用MATLAB软件进行数字滤波器设计和仿真,并利用DSP芯片进行实现。

第一部分:数字滤波器的设计与仿真1. 信号基础知识在设计数字滤波器之前,我们需要了解信号的基础知识,如信号的采样率、带宽、频率等。

这些基础知识将有助于我们选择合适的滤波器类型和参数。

2. 滤波器类型数字滤波器可以分为两大类别:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。

IIR滤波器具有无限的冲激响应,因此可以实现更为复杂的频率响应特性;而FIR滤波器降低了系统的非线性,同时具有线性相位特性,适用于需要精确延迟的应用。

3. 滤波器设计方法常用的数字滤波器设计方法包括窗函数法、最小二乘法和频率抽取法等。

根据具体的应用需求,我们可以选择合适的设计方法,并通过MATLAB进行滤波器的设计和参数调整。

4. 滤波器性能评估在设计完成后,我们需要评估数字滤波器的性能。

常见的评价指标包括滤波器的频率响应、幅频特性、相频特性、群延迟等。

通过MATLAB的仿真,我们可以直观地观察并分析滤波器的性能。

第二部分:数字滤波器在DSP上的实现1. DSP概述数字信号处理器(DSP)是一种专门设计用于处理数字信号的微处理器。

与通用微处理器相比,DSP具有更高的运算速度和更低的功耗,适用于实时信号处理应用。

2. DSP开发环境搭建为了实现数字滤波器的DSP上的实现,我们首先需要搭建DSP开发环境。

选择合适的DSP芯片,安装开发工具,编写代码并进行调试。

在本文中,我们以TMS320F28335为例,使用CCS开发工具进行开发。

3. 数字滤波器的DSP实现根据数字滤波器的设计结果,我们可以将其转化为DSP上的实现代码。

基于DSP28335的有源滤波器数字控制系统的设计

基于DSP28335的有源滤波器数字控制系统的设计

基于DSP28335的有源滤波器数字控制系统的设计毛向德;王庆贤;董唯光;朱科;梁金平【摘要】为了提高有源电力滤波器(APF)响应速度和补偿精度,设计了并联型三相APF的一种基于数字信号处理器DSP28335的数字控制系统.首先介绍了APF原理、控制方法和系统总体设计,随后给出了控制系统各个主要部分的设计电路和软件的具体实现,最后给出了实验结果.实验表明,该控制系统较好地实现了对APF的实时控制,基于该控制系统的APF具有良好的滤波性能.【期刊名称】《电气传动》【年(卷),期】2014(044)011【总页数】6页(P15-20)【关键词】有源电力滤波器;数字信号处理器;数字控制系统【作者】毛向德;王庆贤;董唯光;朱科;梁金平【作者单位】兰州交通大学自动化与电气工程学院,甘肃兰州730070;兰州交通大学自动化与电气工程学院,甘肃兰州730070;兰州交通大学自动化与电气工程学院,甘肃兰州730070;兰州交通大学自动化与电气工程学院,甘肃兰州730070;兰州交通大学自动化与电气工程学院,甘肃兰州730070【正文语种】中文【中图分类】TM713随着电力电子装置应用日益广泛,自身所具有的非线性导致了电网中含有大量谐波,给电力系统带来了谐波污染和功率因数降低,导致无功需求增加和电网电压波动,多种电力运行指标的恶化[1]。

因此消除电网中的谐波污染已成为电能质量研究中的一个重要课题。

APF是一种消除电网谐波的有效工具,其核心部件是控制系统,它通过产生驱动开关器件的脉冲来控制APF的行为,实现谐波和无功的动态补偿[2]。

APF控制器的基本特点是检测处理的变量多且计算工作量大[3]。

目前APF控制系统的各个环节多数采用模拟元件,存在电路复杂、控制性能差、易受环境干扰等缺点。

如采用MCS51、96实现这些复杂的计算和控制,则实时性变差,也难以取得较好的性能。

DSP技术的迅速发展为APF装置的数字化实现提供了条件,它在保证控制器实时补偿的同时还可提供较高的计算精度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字滤波是数字信号处理中的重要环节。

为了用户更好的使用DSP进行数字信号处理,Ti 公司提供了数字滤波器程序模块和相应的matlab滤波器设计函数以加速我们的DSP程序设计。

但是,很不幸的是,该模块附带的说明文档过于简单,程序接口做得不是很好,不利于大家模块化编程。

因此,我写了一下文档,并自己写了一段更方便使用的代码,希望能给大家帮助。

一. M atlab滤波器设计函数的使用首先介绍两种数字滤波器FIR滤波器和IIR滤波器fir滤波器中文全称是有限冲激响应滤波器。

该滤波器是对理想滤波器的高度近似,滤波器的通带增益恒定,阻带增益几乎为零,相位特性好。

iir滤波器中文全称是无限冲激响应滤波器。

该滤波器是实际模拟滤波器的数字实现,通常我们定义在该滤波器的通带有‐3db的增益衰减,并且其相位特性不如fir滤波器。

最常见的iir滤波器有巴特沃思滤波器,切比雪夫滤波器,椭圆滤波器。

在计算量大致相同时,iir滤波器对阻带频率的衰减能力要远高于fir滤波器。

对于电力电子应用来说,数字滤波的目的通常是滤除信号中的部分频率或让信号中的特定频率通过,因此对滤波器的通带增益没有过多要求。

所以选用iir滤波器是合适的。

而在iir滤波器中,又以巴特沃思滤波器最为合适。

TI公司提供了两个基于matlab的IIR数字滤波器设计函数eziir16.m和eziir32.m。

eziir16.m 对应dsp程序内部运算为16位,运算速度较快,但是精度很成问题,所以在使用的时候强烈推荐eziir32.m,其程序内部运算为32位的,运算速度对于电力电子开关电源应用来说也相对可以接受。

现以巴特沃思低通滤波器设计为例,介绍整个设计流程。

1.打开matlab,运行程序 eziir32.m。

(\dsp_tbox\filter\matlab\ezIIR)2.依次选择滤波器类型1,滤波器响应1,采样频率(通常是你的开关频率)10000,通带增益下降3db,阻带增益衰减40db,转折频率,截止频率,最后命名输出文件名。

ezIIR FILTER DESIGN SCRIPTButterworth : 1Chebyshev(Type 1) : 2Chebyshev(Type 2) : 3Elliptic : 4Select Any one of the above IIR Filter Type : 1Low pass : 1High Pass : 2Band Pass : 3Band Stop : 4Select Any one of the above Response : 1Enter the Sampling frequency : 10000Enter the Pass band Ripples in dB(RP) : 3Enter the stop band Rippled in dB(RS) : 40Enter the pass band corner frequency(FP) : 40Enter the stop band corner frequency(FS) : 100Enter the name of the file for coeff storage : lpf3.datQ format of the IIR filter coefficients:29Input Scaling value:8.2760e‐004Number of Biquads:33.全部输入完,回车。

滤波器的增益和相位特性会显示出来。

检查是否符合设计要求。

记得把坐标轴改成log的4.查看lpf3.dat文件二. D SP程序接口及滤波器设计导入1.在dsp_tbox\filter\clib中找到.h头文件,.asm汇编源代码文件,拷贝到自己工程的对应目录中。

Fir16和iir16没有兴趣研究也可以不拷。

2.在\dsp_tbox\filter\cstb中可以找到官方的例程,有兴趣的同志可以研究,不过我推荐用我自己写的程序。

在\dsp_tbox\filter目录中,文件名分别是iir32d.c,fir16d.c,iir16d.c,如果只用iir32的话,将它拷贝到工程原代码目录下。

3.将.asm和.c文件加入工程,并在主程序.c中添加filter.h库。

4.主程序.c中添加如下变量定义(针对iir32)://///////////////////////////////////////////////////////////巴特沃思低通滤波器定义//该滤波器为无限冲激响应滤波器,因此使用IIR数据结构体,具体使用见相应文档//IIR16和IIR32均可用,但IIR32精度高很多。

/* Create an Instance of IIR5BIQD32 module and place the object in "iirfilt" section */#pragma DATA_SECTION(iir_5d, "iirfilt");IIR5BIQ32 iir_5d=IIR5BIQ32_DEFAULTS;//(自己定义变量名)/* Define the Delay buffer for the cascaded 6 biquad IIR filter and place it in "iirfilt" section */#pragma DATA_SECTION(dbuffer_5d,"iirfilt");long dbuffer_5d[2*IIR32_NBIQ];//(自己定义变量名)//或者:(针对iir16):/* Create an Instance of IIR5BIQD16 module and place the object in "iirfilt" section */#pragma DATA_SECTION(iir, "iirfilt");IIR5BIQ16 iir=IIR5BIQ16_DEFAULTS;/* Define the Delay buffer for the cascaded 6 biquad IIR filter and place it in "iirfilt" section */#pragma DATA_SECTION(dbuffer,"iirfilt");int dbuffer[2*IIR16_NBIQ];//或者:(针对fir16):/* Create an Instance of FIRFILT_GEN module and place the object in "firfilt" section */#pragma DATA_SECTION(fir, "firfilt");FIR16 fir= FIR16_DEFAULTS;/* Define the Delay buffer for the 50th order filterfilter and place it in "firldb" section */#pragma DATA_SECTION(dbuffer,"firldb");long dbuffer[(FIR_ORDER+2)/2];5.修改F28335.cmd或者28335_ram_lnk.cmd文件:ramL5可以换成page1上其他合适的地址SECTIONS{/* Setup for "boot to SARAM" mode:The codestart section (found in DSP28_CodeStartBranch.asm)re‐directs execution to the start of user code. */firfilt : >RAML5, PAGE = 1firldb : >RAML5, PAGE = 1iirfilt : >RAML5, PAGE = 1}6.最后,修改iir.h文件(fir的话修改fir.h文件)。

从刚才第一步中matlab的lpf3.dat(直接双击打开)中复制出matlab输出的参数,拷贝到对应地方#define IIR32_COEFF {\‐507448531,1043875122,27624,55249,27624,\‐515172922,1051596226,80359,160718,80359,\‐528825829,1065243324,766940522,1533881043,766940522}#define IIR32_ISF 444315#define IIR32_NBIQ 3#define IIR32_QFMAT 297.最后,主程序开头添加如下代码测试。

IIR32_LPF_Calculation函数的输入为Q15格式的int型,范围为[‐32768 32767],输出为Q14格式的int型,范围为[‐16384 16383]。

注意输入不要超过范围。

输出为输入的1/2。

IIR32_LPF_Initialisation(&iir_5d,dbuffer_5d);for(;;){i=‐20000;i=IIR32_LPF_Calculation(&iir_5d,i);}8.在测试时,将i的输入依次修改为‐30000,‐10,10,30000,如果输出均为输入的1/2时,可以认为程序配置正确,滤波器参数设置基本正确。

但是,根据滤波器参数的不同,在系统的输入为交流量时,输出的值有很大不同。

根据官方文档,某些滤波器参数会使输出产生自激振荡。

这个需要在实际系统中进行测试才能得到。

三. 函数的调用举例:下面给出在程序中调用的例子。

在函数定义时,可以先定义指向滤波器结构体的指针,然后调用:IIR5BIQ32_handle IIR_LPF;int16 filter_temp_val1;int16 filter_temp_val2;filter_temp_val1=(int16)control_park_d; //使用整数做中间格式转换filter_temp_val2=(int16)control_park_q;filter_temp_val1=(filter_temp_val1)<<3; //对转换后的dq值进行50阶低通滤波,输入为归一化Q15格式,因此需要进行位数转换filter_temp_val2=(filter_temp_val2)<<3; //从2048范围转换到16384,实际滤波器处理范围为32768IIR_LPF=&iir_5d; //对转换后的dq值进行50阶低通滤波filter_temp_val1=IIR32_LPF_Calculation(IIR_LPF,filter_temp_val1);IIR_LPF=&iir_5q;filter_temp_val2=IIR32_LPF_Calculation(IIR_LPF,filter_temp_val2);filter_temp_val1=(filter_temp_val1>>2); //滤波函数输出为Q14格式,因此回归原数据范围需要除4,而不是除8filter_temp_val2=(filter_temp_val2>>2);。

相关文档
最新文档