许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  CCS Graph模块数据导出及MATLAB绘图基础

CCS Graph模块数据导出及MATLAB绘图基础

阅读数 4
点赞 0
article_banner


本推文主要介绍CCS的Graph模块的基础使用方法,CCS数据导出设置和MATLAB使用CCS导出的数据进行绘图处理的一般方法。

本推文使用软硬件资源为:研旭28335B PLUS开发板、研旭小功率带载控制试验箱、100W永磁同步电机、研旭XDS100V3仿真器、信号发生器、CCS9.2、MATLAB2017b。

本推文主要实验过程如下所示:

  1. 使用28335B PLUS开发板采集信号发生器产生的波形信号;
  2. 将采集到的信号通过CCS的Graph模块绘制出图形;
  3. 将通过CCS采集到的信号数据导出为.dat文件,使用MATLAB的脚本读取.dat文件并绘制图形;
  4. 使用研旭小功率带载控制实验箱驱动永磁同步电机;
  5. 将相电流IA的数据通过CCS的Graph模块绘制出图形;
  6. 将通过CCS采集到的相电流IA的数据导出为.dat文件,使用MATLAB的脚本读取.dat文件并绘制图形

图1.1 MATLAB采集100Hz正弦波信号

图1.2 MATLAB采集IA相电流信号

一、使用CCS的Graph采集信号发生器

因为我们的小功率带载控制试验箱常用PWM控制频率为10KHz,100W永磁同步电机为5对极,根据f=n*p/60(f:三相电流的电频率Hz; n:电机的实际机械转速rpm; p:电机极对数)可知,当转速为500转/分时,三相电流的电频率约为42Hz(500*5/60);当转速为3000转/分时,三相电流的电频率约为250Hz(3000*5/60)。综上所述,我们实验信号发生器产生一个40-300Hz的正弦波信号是较为合理的。

信号发生器具体设置如下:

波形:正弦波;

频率10KHz;

幅度:3V;

偏置:1.5V;

占空比:50%;

注:28335B PLUS开发板ADC输入范围为0-3V,请勿将超量程的信号接入ADC采样通道,以免造成芯片损坏。

图1.3 信号发生器参数设置

将信号发生器接入28335B PLUS开发板,如图1.4所示;

图1.4 28335B PLUS接线示意图

打开CCS,将本推文附带的例程“AD_TEST”烧录到28335B PLUS开发板,并运行程序。

在CCS中选择CCS-Tools-Graph-Single Time,打开Graph模块。Acquisition Buffer Size设置为512;Dsp Data Type设置为32-bit floating point;Start Address设置为adc_buffer(例程中将数据存放在数据容量为512,名称为adc_buffer的数组中);Display Data Size设置为512;其余参数保持默认,Graph Properties设置如图1.5所示。点击“OK”。


图1.5 Graph Properties配置参数

点击“OK”即可打开相应的Single Time。如下图1.6所示,程序中有DELAY_US(100),该函数延时100us,所以该例程的理论采样频率为10KHz。从图中可知,相邻两个波谷之间的差值约为100个采样点,则所测信号的频率为10KHz/100=100Hz,与信号发生器的设置相符合。

注:用户可在Single Time的右上脚点击Enable Continuous Refresh,打开Graph的连续刷新按钮,这样就可以获得一个持续变化的波形。


图1.6 Single Time界面

将信号发生器频率修改为300Hz,Single Time界面如图1.7所示。相邻两个波谷之间的差值约为34个采样点,则所测信号的频率约为300Hz。

例程的while(1) 循环包含了:执行 ADCa_Start_COV()函数(配置寄存器、等待 ADC 转换完成、16次浮点乘法运算)+ DELAY_US(100) + 循环跳转指令。这意味着真实的采样周期会比 100us 略长一点(比如102us)。这就导致真实的采样频率会略低于10kHz。在图上读出的单周期点数可能会略小于100(比如 98 左右)。

这种使用 DELAY 延时来控制采样率的方式会导致频率计算存在轻微误差。在工业级开发中,我们通常不会使用DELAY_US来控制采样,而是使用CPU定时器中断(CPU Timer Interrupt) 或 ePWM 触发 ADC 来保证采样频率的绝对精确。


图1.7 Single Time界面

二、CCS数据导出

①在Graph中观察到满意的完整波形后,点击 CCS 顶部工具栏的黄色暂停按钮 (Suspend)。必须让DSP暂停运行,以保证导出的数组数据是静态且完整的,防止在导出过程中数据被新一轮的采样覆盖。

②点击顶部菜单栏 View -> Memory Browser,打开内存浏览器窗口。

③在 Memory Browser 窗口右上角的工具栏中,找到并点击一个带绿色向外箭头的芯片图标(Save Memory)。

④配置导出参数:

File: 选择你想保存的文件路径,并给文件命名,例如D:\adc_data.dat(名称为adc_data,后缀为.dat的文件保存在D盘根目录下)。

File Type:下拉选择TI Data。


⑤点击 Next。

⑥配置导出参数二:

Format:下拉选择32-Bit Floating Point;

Start Address: 输入数组变量名 adc_buffer。

Memory Page: 保持默认(通常是Data)。

Length: 输入需要导出的数据点数,这里输入定义的缓冲长度512。


⑦点击 Finish,数据就会被保存到你指定的路径下。

三、使用MATLAB脚本绘图

①打开MATLAB R2017b;

②将本推文附件中MATLAB_ADC.txt的内容复制到MATLAB的命令行窗口。


③点击回车键,MATLAB会根据在D盘根目录下保存的文件“adc_data.dat”,生成一个图表;图标的横坐标为“采样点数 (Sample Index)”,纵坐标为“电压幅值 (V)”。

注:导出的.dat 文件包含了带有TI专用文件头的数据。如果您需要对这些离散的采样点进行频谱分析 (FFT)、滤波或重新绘制高质量的图表,可以直接在 MATLAB 中读取并解析这个 .dat 文件。


四、小功率带载控制实验箱相电流采集与显示

用户可以使用该推文附带的例程“YXDSP-EMBOXC-01 PMSM-100W-6002-TEST”,请参考该推文之前的介绍对目标参数进行设置,这里不再赘述。

当设置目标转速为1500转/分时,CCS的Graph如图3.1所示;相电流IA的幅值为1.6A左右,频率为125Hz。


图3.1

转动磁粉控制器,设置加载后,CCS的Graph如图3.2所示;相电流的幅值为4.4A左右(磁粉控制器加载的值不同,相电流幅值也不相同);


图3.2

将相电流IA对应的数据导出,并使用MATLAB绘图,可以得到如图3.3所示的图标;用户可以在例程的基础上,添加滑动平均滤波或一阶低通滤波,获得更平滑的波形。


图3.3

该推文为针对多数用户反馈的Graph及数据导出和处理问题所编写的一种解决方式,欢迎各位读者提供您的思路。同时也欢迎您反馈在使用研旭开发板和试验箱的过程中遇到的问题。如果您对于“基础教程”系列推文有任何想法或者建议,可以在该推文下留言。

资料下载地址:私xin



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空