在往期的文章中,我们介绍过PWM,SPWM,还有SVPWM的实现,另外还有PID输入输出的时间响应。
对不同滤波算法的测试,这些如果只通过单纯的数据就变得十分的不直观。这时候,有一个图形化显示软件就显得尤为重要。
当然,我前面通常使用的是串口虚拟示波器软件,即把单片机上的数据通过串口通讯发送到PC上,然后PC上的软件将串口数据绘制成相应的波形,虽然也很方便,但却有几个缺点:
因此,我们这时候没有串口,并且需要抓取的波形需要很高的采样频率;另外,CPU没有额外的资源让我们去跑串口发送的任务,这时候JSCOPE可以满足需求。
不过,需要配合jlink一起使用。对于V8固件的jlink仿真器,采样速度比较慢,这里推荐使用V9固件的jlink仿真器。
经过我之前这么长时间的使用来看,虽然JSCOPE还有很多地方需要完善,还有很多功能需要优化,但就目前来说,它的采样频率还是很高的,相信大家都听说过香农采样定理:
[size=4em]“
香农采样定理说采样频率大于两倍信号频率分量中的最大频率就可以从采样信号中不失真的恢复原连续信号。
下面开始言归正传。
例如要采样周期100us正弦波形的电流,通过图形化显示出来,这里有两个方案:
下面,简单介绍一下如何使用 J-scope。
J-Scope介绍J-Scope可以像示波器一样显示多个变量的值。它读取一个elf文件,并允许选择多个变量以使其可视化。我们可以简单地将目标微控制器连接到J-Link,刷新应用程序并启动J-Scope。
通过几个步骤,您可以配置J-Scope,并选择要显示的变量。可以将配置存储在项目文件中,以方便重用和可移植性。
在J-Scope中选择的每个符号都可以单独配置。上下移动图形以更改零基线或更改其分辨率。选择是使图形中的符号可视化还是仅在监视面板中显示其值。
分析收集的数据,在可视化的图形中滚动,放大和缩小或将数据保存到文件中以进行进一步分析。
J-Scope可以与调试环境并行使用,并扩展了IDE的调试经验。
本文基于STM32F103C8T6的硬件平台,使用的软件是J-Scope V5.10d。
另外,我们还需要一个J-Link仿真器,V8版本采样频率高到50Hz,比较慢。这时候就需要V9版本,采样频率可以到1MHz;另外,V9可观察变量也多一些,基本够用。
J-Link驱动下载链接:https://www.segger.com/downloads ... ndDocumentationPack
J-Scope下载链接:https://www.segger.com/j-link-j-scope.html
测试部分的代码使用的是上次实现SVPWM的工程代码,在本次我做了些许的改动,在后面会简单演示 一下整体效果。
双击打开软件并新建工程,具体如下图所示:
选择相应的目标设备Specify Target Device,我们这里使用的是STM32F103C8T6,找到相应选项即可。
下一步就是选择elf文件,如果使用ARMCC进行编译,最终生成的文件是.axf文件,所以根据自己的实际情况选择即可。
最终整体如下图所示:
在正确设置相应的硬件,加载固件之后,就能添加我们需要观察的变量,最终会通过图形化的形式显示到可视区域。
这里我设置了SVPWM调制中的Ta,Tb,Tc变量,点击工具栏的红色按钮,开始仿真,下面就能显示出变量的波形。
下面是视频操作流程:
欢迎光临 谷动谷力 (http://bbs.sunsili.com/) | Powered by Discuz! X3.2 |