查看原文
其他

树莓派搭档逻辑分析仪,测试I2C信号

妮mo 达尔闻说 2021-01-17

不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我!


上实验,简单看一下逻辑分析仪的操作实例:

完整视频点击阅读原文,1小时干货收藏

达尔闻特邀请资深工程师张泽为大家详解逻辑分析仪,数字电源、示波器等仪器的使用,如:

可调直流稳压电源如何选型;

万用表的常规操作;

示波器常用功能、按键讲解;

示波器探头表笔矫正补偿电容的方法;

示波器的解码功能操作;

使用信号发生器输出制定波形。

点击阅读原文查看完整视频讲解,无论你是学生,还是工程师,都是你做硬件设计必备的技能!(特别鸣谢:RIGOL提供的全部测试测量仪器赞助

本文我们重点讲解通过逻辑分析仪演示I2C数据总线分析的过程

一直以来,逻辑分析仪都披着神秘面纱。绝大多数人对示波器非常熟悉,对逻辑分析仪却很陌生,原因在于逻辑分析仪的应用场景相对较少,当出现问题时,你才会想起来去查找。

一组常用示波器和逻辑分析的对比,帮助你快速了解逻辑分析仪的功能:

逻辑分析仪最主要用于时序判定单片机、MCU、FPGA这些相关的开发板都是数字电路,都有时序的约定。比如,在一个嵌入式系统中,我们可以用逻辑分析仪分析各类总线的时序,如USB、SPI、I2C等。

接下来,我们就通过一个实验,进一步掌握:

实验目的

用逻辑分析仪教大家测试I2C的协议分析,通过对可读可写的寄存器操作,观察数据是否一致,并分析读写协议


需要准备的硬件

树莓派、扩展板、ADXL345加速度计、逻辑分析仪DSLogic Plus(一款基于USB的逻辑分析仪,支持最大采样率高达400MHz,stream模式下最大采样深度16G。


硬件连接

ADXL345的I2C两根信号,连接树莓派的I2C的上,并完成器件的供电。逻辑分析仪的2信号。上位机通过操作树莓派来读取、写入ADXL345的内部寄存器。


为什么是树莓派来搭档呢

I2C-tools可以访问标准I2C接口的设备,只要外面的设备用的是I2C从机接口的,那它就能够访问到。而树莓派的SOC芯片里面带I2C主机的控制器,然后软件层调用I2C-tools的工具,之后用这个工具就可以访问ADXL345。ADXL345接口是带有I2C设备端译码逻辑,能够响应树莓派主机发出的I2C的信号,响应反馈的数据就通过树莓派的iic-tool显示在命令行界面上。这样就实现通信了,但这只是在操作ADXL345的寄存器,用来演示仪器使用,并没有读取ADXL345这个传感器采集的环境数据,所以也就没有用编写代码。

实验操作步骤

第一步,建立一个远程访问,登陆到树莓派内。

第二步,尝试扫描树莓派的I2C总线:

命令行:i2cdetect -y -r 1

就可以看到,设备地址列表上0x53地址响应了,说明该地址具有一个设备。

第三步,在ADXL345的手册中,我们找到0x53的位置,手册中写到:可以选择备用I2C地址0x53(随后为R/W(上划线)),这样说明ADXL345的基地址是0x53,这样说明硬件已经成功连接上。

标准的I2C的数据格式:(I2C的详细解决查看:超链)

第四步:打开逻辑分析仪软件,无论使用哪款,基本都包含了这些功能,设置逻辑分析仪模式。

通过设置逻辑分析仪为Buffer模式,使得采集的时间更长,采样率更高。在我们长时间连续测试的时候,选择stream。在一次测试的时候,选择Buffer模式。
第五步,在树莓派内,通过查看寄存器的值,可以看到实际寄存器的状态
命令行:i2cdump -f 1 0x53

通过ADXL345的数据手册中的寄存器映射,地址0x00是读寄存器,为11100101,即为0xe5,说明树莓派可以正常读取ADXL345内部寄存器的值。

第六步:树莓派读取0x00寄存器的值,并在虚拟仪器中查看时序,是否为e5。

命令行:i2cget -y 1 0x53 0x00

通过对照,ADXL345的数据手册,我们发现逻辑分析仪的值和器件的I2C器件寻址完全一致。

第七步:对ADXL345寄存器0x1d进行写操作,写入0x01

命令行:i2cset -y 1 0x53 0x1d 0x01

以上操作,就完成了使用逻辑分析仪对I2C协议的时序数据分析了。如果手边有逻辑分析仪的小伙伴可以操作起来了。

最后,我们要提醒几个大家在使用逻辑分析仪的时候需要注意的点:

一定注意输入电压范围,它是损坏仪器的主要原因。比如在实验中用的这个逻辑分析仪的电压输入范围比较窄,内部通过一个钳位二极管,把电压限制在0-3.3v。如果超出这个范围,都可以钳住。但是当电压范围超出一定程度时,这个二极管会被击穿,失去钳位的作用。

✦ 采样率与存储深度,如果通道越多,采样率越高,存储深度会被很快的占满。防止数据的丢失,需要注意存储的深度。

✦ 专用逻辑分析仪与通用逻辑分析仪的区别,通用逻辑分析仪可以达到几百M。而专用的逻辑分析仪,可以针对传输协议进行高速解码,比如USB协议分析仪,可以针对高速的USB接口进行数据解码。

除以上详细的介绍逻辑分析仪之外,像示波器的基本功能介绍、指定型号的测试,都有详细的介绍和演示,点击阅读原文就可以看到视频

预告:得捷17节毕设系列课程下节课还是继续由张工给大家测试测量仪详细案例分析,请在10月29日下午3:00锁定达尔闻,提前占座。

END

达尔闻联合全球知名元器件分销商Digi-Key陪伴大家大学生涯的最重要也是最后一堂课:毕设!

毕设课程共17讲:从“选题——基础知识点补足——项目拆分讲解——优秀作品分享”逐个帮你解决从开题到最终答辩过程中的各个问题。

得捷-毕业设计17节免费课程高能回顾:

开篇介绍:毕业设计“包过”秘籍,附板卡白piao

毕设第1课:如何选题,哪类毕设适合自己 

毕设第2课:毕设读题案例分析

毕设第3课:毕设开发平台选择

毕设第4/5课:2小时用AD19画STM32核心板

毕设第6课:C语言/Verilog语言基础补给

毕设第7课:用Tensorflow搭建神经网络(阅读原文,进毕设第7课查看)


课程福利:

福利一:硬件免费送,定制PCB尺;Seeeduino 数块;Xilinx PYNQ粉板;STM32板卡等

获得方式,可加入交流群查看详情:

QQ群搜索:657307701 加入“毕业设计-得捷”

微信群加妮姐微信459888529,拉你入群!

福利二:超大资料库已备好,电子书、传家资料、完整项目(高达3G)

获取方式:识别下方二维码,点击链接进入,下拉至文末。

戳原文,查看课程全部详情!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存