Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExProbe MCU Examples

ExProbe 官方 MCU 示例工程:在目标板上集成 ExProbe-RTTExProbe-CAN,用于变量探针、高速录波与调试验证。

关键词

ExProbe · STM32 · RTT · CAN · J-Link · 变量探针 · 数据记录 · 波形录波 · 嵌入式调试 · IAR · Keil MDK

说明

示例工程将 ExProbe-RTT 与 ExProbe-CAN 集成在同一 MCU 工程中,可通过预处理器宏单独使能或禁用:

作用
USE_EXPROBE_RTT 设为 0 关闭 ExProbe-RTT
USE_EXPROBE_CAN 设为 0 关闭 ExProbe-CAN

测试环境

版本 / 型号
J-Link J-Link Pro V4
IAR Embedded Workbench 8402
Keil MDK 5.42(AC6 编译器)
CAN 分析仪 / 接口 与目标板 Classic CAN 1 Mbps 匹配

目标板与引脚

STM32G474VCT6(系统时钟 160 MHz)

引脚 功能 说明
PE14 TIM1_CH4 采样时基,20 kHz
PB7 GPIO 输出 输出脉冲,用于测量单次采样耗时
PD1 FDCAN1_TX ExProbe-CAN 通信
PD0 FDCAN1_RX ExProbe-CAN 通信

STM32F103CBT6(系统时钟 72 MHz)

引脚 功能 说明
PA11 TIM1_CH4 采样时基,20 kHz
PC13 GPIO 输出 输出脉冲,用于测量单次采样耗时
PB9 CAN1_TX ExProbe-CAN 通信
PB8 CAN1_RX ExProbe-CAN 通信

每个 MCU 提供 IARMDK(AC6) 两套工程;仓库内附带 ExProbe-RTT / ExProbe-CAN 的 .PrjExProbe 项目文件,可直接打开对应波形页面试录。使用 CAN 示例时,打开 Test_*_CAN*.PrjExProbe,并将 CAN 接口与目标板 TX/RX 对接。

MCU IAR 工程目录 MDK 工程目录 ExProbe-RTT 项目 ExProbe-CAN 项目
STM32G474VCT6 STM32G474VCT6/EWARM/ STM32G474VCT6/MDK-ARM/ Test_G474VC_IAR_RTT.PrjExProbe / Test_G474VC_MDK_RTT.PrjExProbe Test_G474VC_IAR_CAN.PrjExProbe / Test_G474VC_MDK_CAN.PrjExProbe
STM32F103CBT6 STM32F103CBT6/EWARM/ STM32F103CBT6/MDK-ARM/ Test_F103CB_RTT_IAR.PrjExProbe / Test_F103CB_RTT_MDK.PrjExProbe Test_F103CB_CAN_IAR.PrjExProbe / Test_F103CB_CAN_MDK.PrjExProbe

仓库中另含 STM32H533RET6 等后续示例板支持,用法与上述工程类似。

录波变量

RTT / CAN 两路示例采集相同的物理变量,共 24 路(含系统时间):

类型 数量 说明
float 18 6 路正弦、6 路三角、6 路梯形波,组内相移 60°
int64_t 2 正弦,两路反相
double 2 正弦,两路反相
uint8_t 枚举 1 exprobe_sim.stateSTATE_ASTATE_J,每 100 个采样点切换)
系统时间 1 RTT:exprobe_rtt_sys_time_us(必需);CAN:用于断流检测(波形页自动加入)

波形由 app_exprobe_sim.c 查表生成;PB7/PC13 在每次采样中断末尾翻转,可用示波器测量采样耗时。

快速开始

  1. ExProbe 官网 注册并下载 PC 端软件
  2. 用 IAR 或 MDK 打开对应 MCU 工程,编译并下载
  3. 连接调试器(RTT)或 CAN 接口(CAN),打开仓库中匹配的 .PrjExProbe 项目
  4. 绑定变量、配置触发后开始录波

ExProbe-RTT 实测参考

下表为 ExProbe-RTT 示例在上述测试环境下的实测参考值。分频比由 MCU 性能与编译器效率决定;「最大传输速率」为 J-Link 上传实测值,「采样时间」为单次采样中断耗时。实际数值与 J-Link 型号、USB 占用、优化等级有关,仅供参考。

序号 型号 频率 (MHz) IAR 最大传输速率 (KB/s) IAR 采样时间 (μs) MDK 最大传输速率 (KB/s) MDK 采样时间 (μs)
1 STM32G474VCT6 160 1340 5.04 1340 5.32
2 STM32F103CBT6 72 910 12.2 820 13.68

ExProbe-RTT 录波示例

触发方式: 使用系统时间变量 exprobe_rtt_sys_time_us 配置触发启动触发停止(下降沿)。分频比无固定值,由 MCU 性能与编译器代码效率决定,需根据界面「数据连续/断续」指示调整。

推荐步骤:

  1. 编译并下载对应 RTT 工程,连接 J-Link,打开 Test_*_RTT*.PrjExProbe
  2. 波形页绑定变量组并 激活本页面
  3. 配置触发启动:通道 [0] exprobe_rtt_sys_time_us,下降沿,阈值 20000000(μs),触发前保留 10000 点。

触发启动设置

  1. 配置触发停止:同样使用 exprobe_rtt_sys_time_us,阈值与启动不同(示例中为更大的时间值)。
  2. 开始记录,待触发启动后波形滚动;触发停止后自动停录。

触发启动前采样点数

触发停止设置

触发停止后采样点数

波形与变量显示:

示例波形

  • int64_tdouble 大动态范围变量可正常显示:

int64_t 变量

double 变量

  • 枚举变量 exprobe_sim.state 在波形页显示为 STATE_ASTATE_J 名称,而非原始整数值:

枚举变量显示名称

ExProbe-CAN 实测参考

下表为 ExProbe-CAN 示例在上述测试环境下的实测参考值。分频比固定为 1;单次录波最大点数由 app_exprobe_can_runtime.c流缓冲区大小与变量个数共同决定(G474 示例约 40 KB 缓冲,F103 约 6 KB)。表中「采样时间」为单次采样中断耗时。实际数值与 CAN 接口型号、优化等级有关,仅供参考。

序号 型号 频率 (MHz) IAR 采样时间 (μs) MDK 采样时间 (μs)
1 STM32G474VCT6 160 5.2 5.32
2 STM32F103CBT6 72 15.3 17

ExProbe-CAN 录波示例

触发方式: 使用枚举变量 exprobe_sim.state 配置触发启动(上升沿,示例阈值为 STATE_E (4))。分频比固定为 1;可录最大点数取决于 MCU 侧流缓冲区配置,而非 PC 端分频设置。

推荐步骤:

  1. 编译并下载对应 CAN 工程,连接 CAN 接口,打开 Test_*_CAN*.PrjExProbe
  2. 波形页绑定变量组并 激活本页面(界面提示 READY 后可开始记录)。
  3. 配置触发启动:通道 [23] exprobe_sim.state,上升沿,数值 STATE_E (4),按需设置触发前保留比例。

枚举变量触发启动

  1. 开始记录;当 exprobe_sim.stateSTATE_D 切换到 STATE_E 时触发启动,随后停录或等待缓冲区写满。

示例波形

变量显示:

int64_t 变量

double 变量

枚举变量显示名称

License

示例代码中 ExProbe 相关库与接口遵循各模块头文件中的 SPDX / MIT 说明;ST 固件库等第三方内容遵循其原有许可。

About

ExProbe official MCU examples (ExProbe-RTT / ExProbe-CAN) for STM32 variable probe and high-speed waveform logging.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages