前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Keil虚拟仿真仪和真实逻辑仪(SaleaLogic16)分析TTL电平和串口输出信号

使用Keil虚拟仿真仪和真实逻辑仪(SaleaLogic16)分析TTL电平和串口输出信号

原创
作者头像
AnieaLanie
修改2021-12-08 17:08:09
1.4K0
修改2021-12-08 17:08:09
举报
文章被收录于专栏:铁子的专栏铁子的专栏

1. 使用Keil虚拟仿真仪

1.1 配置仿真仪

勾选 Use Simulator,将下列的参数改为对应参数:

  • Dialog DLL:DARMSTM.DLL
  • Parameter:-pSTM32F103C8,这里安装自己的芯片配置

使用Keil仿真uC/OSIII程序,需要再加上一个配置,创建一个config.ini文件,放在MDK-ARM目录下,文件中添加如下内容:

代码语言:javascript
复制
map 0x40000000, 0x40007FFF read write // APB1
map 0x40010000, 0x400157FF read write // APB2
map 0x40020000, 0x4007FFFF read write // AHB1
map 0x50000000, 0x50060BFF read write // AHB2
map 0x60000000, 0x60000FFF read write // AHB3
map 0xE0000000, 0xE00FFFFF read write // CORTEX-M4 internal peripherals

导入仿真仪中,点击Debug,就可以进行仿真了:

1.2 查看引脚电平变化

进入Debug界面后,打开逻辑分析仪:

再点击右上角的Setup进行引脚配置:

本程序使用到了PB14和PB1分别作为以1s和3s为周期的Led电平反转输出引脚,PA9作为Usart1串口输出引脚,所以输入 GPIOB_IDR.14,GPIOB_IDR.15 和 USART1_SR ,并且将展示方式更改为Bit:

点击全速运行,在Keil的逻辑分析仪上设置引脚并查看电平变化:

1.3 查看串口通信

将该处信号放大可以看到它由多个信号起伏组成,

串口一次发送的数据是"hello uc/OS!",对于信号如下:

2. 使用SaleaeLogic16真实逻辑仪分析协议

2.1 简介

1.Saleae16逻辑分析仪,界面操作简单,易学,易用,是电子开发人员调试、分析的好工具

2.Saleae16是将采样出来的实时数据送入电脑内存中,应用压缩算法,深度最高可达10G

3.Saleae16可以自动分析多种常用通信协议,直接得到分析数据,其中SaleaeLogic_1.1.15 支持10种协议解释,SaleaeLogic_1.1.16支持17种协议解释,包括: AtmelSWI,Biss ,CAN,DMX-512, I2C, I2S/PCM, JTAG,LIN,Manchester,MDIO,1-Wire,PS/2Keyboard/Mouse,AsyncSerial,Simple Parallel, SPI, UNI/O,USB1.1

4.Saleae16采用资源动态复用,3个通道最高采样率100M,6个通道最高采样率50M,9个通道最高采样率32M,16个通道最高采样率16M

5.Saleae16使用的USB接口,必须是USB2.0接口

6.Saleae16采集的数据可以选择存储, 导出表格,数据显示支持数据显示成为10进制、16进制、二进制、ASCII码,便于进行数据分析和数据比较

7.支持上升沿、下降沿、高电平、低电平等多种触发方式,也可选取多个通道“与逻辑”的关系进行触发选择,方便、实用

8.软件支持多种采集频率和采集深度, 可根据实际应用需求自由结合

9.还支持模拟输出功能,可以对软件本身支持的协议格式进行模拟演试输出

2.2 使用方法

将逻辑仪的USB口插上电脑,打开Logic.exe,会看到左上角由Start Simulation变为Start。

点击Start右侧的小箭头,修改使用设备Logic16,修改速率为50MS/s,点击使用0,1,2三个通道:

修改使用上升沿触发方式:

接下来进行实际连线,查看逻辑仪的通道的接线,这里我们选择了通道0,1,2作为我们三个信号的输出接口,将ch0和ch1连接到STM32的两个Led灯的输出接口 PB14 和 PB15 上,将 ch2 连接到串口输出接口 PA9 上:

点击右侧的Analyzers,三个接口均选择选择串口协议:

配置波特率:

点击Start,即可开始分析。

2.3 协议分析

这里我们有三个信号,第一个是以1s为周期反转的电平信号,第二个是以3s为周期反转的电平信号,第三个是串口输出信号:

放大最后一行的串口信号,可以看到它有多个电平波动组成,逻辑仪在上方显示了串口的文本输出—"hello uc/OS!\r\n"

3. 参考

[1] 使用Keil虚拟仿真逻辑仪和真实逻辑仪(SaleaeLogic16)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 使用Keil虚拟仿真仪
    • 2. 使用SaleaeLogic16真实逻辑仪分析协议
      • 3. 参考
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档