逻辑分析仪使用教程.docx
《逻辑分析仪使用教程.docx》由会员分享,可在线阅读,更多相关《逻辑分析仪使用教程.docx(18页珍藏版)》请在冰豆网上搜索。
逻辑分析仪使用教程
声明:
本文来自
-4232738-1-1.html
另外,将68013制作逻辑分析仪的原理说明简单整理了一下,大家可以看看,如果想DIY也就不难了。
点击此处下载 ourdev_578200.pdf(文件大小:
203K) (原文件名:
逻辑分析仪开发手册.pdf)
前言
一、什么是逻辑分析仪
二、使用介绍
三、安装说明
四、Saleae软件使用方法
五、逻辑分析仪硬件安装
六、使用Saleae分析电视红外遥控器通信协议
七、使用Saleae分析UART通信
八、使用Saleae分析IIC总线通信
九、使用Saleae分析SPI总线通信
十、Saleae逻辑分析仪使用问题和注意事项
淘宝地址:
(原文件名:
21.jpg)
前言:
工欲善其事,必先利其器。
逻辑分析仪是电子行业不可或缺的工具。
但是由于一直以来,逻辑分析仪都属于高端产品,所以价格居高不下。
因此我们首先要感谢Cypress公司,提供给我们68013这么好的芯片,感谢俄罗斯毛子哥将这个Saleae逻辑分析仪开源出来,让我们用平民的价格,就可以得到贵族的待遇,获得一款性价比如此之高的逻辑分析仪,可以让我们在进行数字逻辑分析仪的时候,快速查找并且解决许多信号、时序等问题,进一步提高我们处理实际问题的能力。
原本计划,直接将Saleae的英文版本使用手册直接翻译过来提供给大家,我花费半天时间翻译完后,发现外国人写的东西不太符合我们国人的思维习惯,当然,也是由于我的英语水平有限,因此,我根据自己摸索这个Saleae的过程,写了一份个人认为符合中国人习惯的Saleae,提供给大家,希望大家在使用过程中少走弯路,快速掌握使用方法,更快的解决自己实际遇到的问题。
由于个人水平有限,因此在文章撰写的过程中难免存在问题和错误,如果有任何问题,希望大家能够提出来,我会虚心接受并且改进,希望通过我们的交流,给越来越多的人提供更加优秀的资料,共同进步。
一、 什么是逻辑分析仪:
逻辑分析仪是一种类似于示波器的波形测试设备,它通过采集指定的信号,并通过图形或者数据统计化的方式展示给开发人员,开发人员通过这些图形化时序信号按照协议来分析硬件或者软件中的错误。
逻辑分析仪是设计中不可缺少的设备,通过它,可以迅速定位错误,发现并解决问题,达到事半功倍的效果,尤其在分析时序,比如1wire、I2C、UART、SPI、CAN等数据的时候,应用逻辑分析仪解决问题非常快速。
如果在你的工作中有数字逻辑信号,你就有机会使用逻辑分析仪。
因此应选好一种逻辑分析仪,既符合所用的功能,又不太超越所需的功能。
用户多半会找一种容易操作的仪器,它在功能控制上操作步骤较少,菜单种类也不多,而且不太复杂。
而Saleae就是一种低端的,比较适合大众化的逻辑分析仪,价格便宜,而且常用的逻辑分析功能足够,人机界面人性化,非常适合实用。
以下是一个Saleae分析I2C时序的一个典型例子:
从图中我们可以清晰的看到,起始信号start,从地址是0x50的器件中去读取数据,第一个字节是0xc0,第二个字节是0x50,有了逻辑分析仪,我们可以快捷的找出我们的I2C时序读写数据的正确与否,可以很快将问题解决。
后边的讲解中,我会详细讲解逻辑分析仪分析红外遥控器,UART时序,I2C时序的具体方式方法。
(原文件名:
1.jpg)
二、 使用介绍
1、 saleae的带宽是24M,也就是所谓的最高采样频率是24M,根据乃奎斯特采样定律,12M以下都可以还原信号。
但就实际系统来讲,采样频率至少要保持在信号频率的5倍以上,一般在10倍以上会比较准确。
也就是说,信号频率在2M以下,采样会很准。
Ps:
论坛有人说可以采12M,6M,3M等等。
24M采12M的标准方波,风险极大,稍有误差就会出错,如果12M的上升沿和下降沿较缓也容易出错。
因此,根据理论,在10倍于信号频率的情况下基本没问题,一般应该采2M以下的波形,对于常见的通信,2M的信号速率已经很高了。
2、 采样深度:
理论上,这个Saleae逻辑分析仪的采样深度是1000M,也就是说,可以保存的最大数据量是1G,实际使用的设置太大等待时间长,所以通常使用10M到50M就差不多了,只要能够抓够我们需要的是数据量就可以了。
3、 经测试,在XP系统、win7系统、VISTA系统下都可以正常使用。
三、 安装说明
安装之前,务必要确认,你的电脑是USB2.0高速的,低速的USB是不可能正常工作的
1. 由于saleae的上位机软件是基于.net开发的软件平台,所以在安装之前,先要安装.NETFramework3.5SP1,这个可以直接安装在光盘里边wcu文件夹里边的dotNetFx35setup.exe的离线安装包。
2. 安装saleae.exe的软件就可以,安装以后,插上Saleae逻辑分析仪后会再次提示自动安装插件,直接点“是”,直到自动安装完毕。
3.安装后,可以通过桌面快捷方式打开Saleae的软件,打开后,可以在当前图像上清楚的看到你的逻辑分析仪是否成功连接,如果你已经在电脑上插上你的逻辑分析仪,图形最上侧会显示“connected”和“start”,当前是没有插逻辑分析仪状态,显示“disconnected”和“startsimulation”。
(原文件名:
2.jpg)
四、 Saleae软件使用方法
在左侧第一个下拉栏,可以选择采样数据的存储深度,意思即为我将要保存多少采样数据,第二个下拉栏,是采样频率,即1秒时间内,我要采样多少次。
一般情况下,数据存储深度,根据具体情况,够用就可以,采样频率呢,保证在信号频率的10倍以上即可。
在右侧的8个通道,我们可以根据自己的喜好,改变每个通道的名字,也可以不动。
我们先拔下逻辑分析仪,在模拟的情况下采集一帧数据看看,我们设置逻辑分析仪模拟采样的深度是1M,采样频率是16M,点一下“startsimulation”,大家看,这个波形就是一个模拟的波形,我们可以在图形上直接看到数据。
(原文件名:
3.jpg)
观察更多数据的方法:
1、可以用鼠标拖动下边的这两个带箭头的按钮或者这个小滑块。
2、在一侧摆动鼠标,即可实现数据左右查看。
放大缩小数据图形的方法:
1、 使用鼠标的滚轮,即可实现图形的缩放。
2、 点击鼠标左键,就是放大,右键就是缩小。
观察具体的波形数据的时间标记的办法
1、 在图形的最上侧,可以直接观察到当前的时间标签的等级,如是ms级别还是s级别,可以作为放大缩小图形的依据,会随着你缩放的设置自动变化,并且有从0时刻到当前位置的具体时间标识。
2、 可以将鼠标放到图形的位置上直接在右下的小窗口处观察到图形的具体时间标识。
3、 点击右下小窗口的T1或者T0,即可在图形的任何位置放置这两个时间标签,并且可以在小窗口观察到这两个时间标签之间的差值。
五、 逻辑分析仪硬件安装
1、安装逻辑分析仪硬件
逻辑分析仪有一根USB线,1组逻辑分析仪打标线,还有一组逻辑分析仪夹子线,USB线是用来将逻辑分析仪连接到电脑上的,打标线和夹子线可根据你的实际需求任选其一,其中每组线里是10条线,有2条GND线,8条数据线分别代表逻辑分析仪的8个通道,插上逻辑分析仪后软件如下图所示,刚才的“disconnected”变成“connect”,刚才的“startsimulation”变成了“start”,并且我们可以在当前页面,设置数据保存深度,采样频率,可以输入通道名称,设置触发等等,还可以得到当前的时间标签,右下的具体时间等信息。
(原文件名:
4.jpg)
2、使用触发
绝大多数情况,我们都不是上来就抓数据,而是数据波形满足一定条件后,我们才开始捕获,这可以让我们更容易找到我们所需要的数据。
大家从下图可以看到,每个通道,都有4级触发深度,触发在默认情况下是破折号状态,破折号状态即“不关心触发”,也就是说,我们点了“start”后就开始捕获数据,我们可以人为的设置为“1”,“0”或者“-”。
其工作原理是,一旦点了“start”,逻辑分析仪开始工作,它首先会去匹配第一个触发条件,当符合第一个触发条件后,马上再去匹配第二个触发条件,以此类推,直到满足共4个触发条件后,马上开始捕获并且保存数据。
(原文件名:
5.jpg)
3、保存和加载当前设置
(原文件名:
6.jpg)
当我们设置好了逻辑分析仪的参数后,下次打开软件,我们还想继续以当前的参数进行测量,我们可以通过保存当前设置的方法得以实现,保存方法很简单,只要点击Options->SaveSession,如下图所示,一旦保存设置,将会保存以下信息:
1> 当前采样捕获到的数据
2> 当前的图形位置,缩放比例,时间标签设置
3> 当前窗口位置和大小
4> 当前设置好的采样深度,采样率和触发设置等。
当然了,加载设置和保存设置是一一对应的,我们可以随时加载以前保存好的设置。
加载设置有三种方式:
1> 直接选择Options->LoadSession
2> 将保存的设置文件直接用鼠标拖到saleae软件中
3> 双击打开以前保存的设置文件。
六、 使用Saleae分析电视红外遥控器通信协议
下图是我自制的一个USB转红外通信模块,它可以通过电脑上的串口调试助手以标准的波特率发送或接收红外通信数据,但是由于遥控器编码芯片的编码方式比较特殊,不符合标准的波特率模式,因此我只能通过把逻辑分析仪夹在红外接收模块上的办法,来得到遥控器红外的数据信息。
(原文件名:
7.jpg)
我们插上逻辑分析仪,打开Saleae软件,设置采样深度是1M,采样频率1M,使用通道1,设置为0触发,点“start”,用我手中的遥控器,对着这个接收模块按下按键1,就得到一串数据流。
(原文件名:
8.jpg)
然后我们根据遥控器编码芯片协议来分析这串数据流。
我使用的是海信电视遥控器,这种遥控器的编码特征是先是一段长时间持续低电平,然后是一段高电平,然后是数据,而数据的特点,一段宽1.65ms的高脉冲表示1,一段宽0.52ms的高脉冲表示0,最后以一个低电平到高电平作为结束。
编码比较特殊,没办法,我们只能从逻辑分析仪的波形中一个脉冲一个脉冲数了,低位到高位分别是 01001001 ,那么我们再按下2键,把数据抓出来看看,看看按键与按键之间的区别和联系。
(原文件名:
9.jpg)
那我们可以从图中数了,低位到高位分别是 00110110,分别将两次的数据转换成16进制,那么遥控器上的1的编码是0x01,0xfd,0x92,0x6d,遥控器2的编码是0x01,0xfd,0x93,0x6c。
那么现在1和2的编码全部就出来了,这样通过分析出遥控器的所有按键,我们就可以通过发射管,然后通过单片机,自己制作一个遥控器了。
实际上电视遥控器的编码特征是这样,前2个字节是用户编码,用来区分不同品牌的电视或者不同的家电,第3个字节是按键编码,而第四个字节是按键编码的反码。
大家看,有了逻辑分析仪,搞定电视遥控器就是这么轻松。
所以说,有了工具的帮助,我们就可以快速的解决问题。
七、 使用Saleae分析UART通信
UART、I2C、SPI通信,是最常用的通信方式,所以这个逻辑分析仪除了可以捕获波形外,还带有协议分析的功能。
下图是我自制的一个USB转串口模块,可以用逻辑分析仪的夹子,直接夹在插针上,分析UART通信。
(原文件名:
10.jpg)
Saleae逻辑分析仪可以利用内部做好的协议分析仪,直接分析UART的协议,点options->Analyzer1->AsynchronousSerial:
(原文件名:
11.jpg)
选择后就会出现下图
(原文件名:
12.jpg)
其中1点可以设置波特率,当前选择的是9600,也可以选择自动波特率(不推荐),2点选择一次传几位(通常选择标准的是8位),3点选择停止位的长度(通常选择1位),4点选择是否有校验位,5点选择先收低位还是高位(通常是标准的低位),6点选择不传输信号的时候电平(通常是高),7点选择输出数据格式,在这里我们选择HEX,16进制显示,然后点Save,8点是通道选择。
随后选择触发模式,毋庸置疑,UART通信是下降沿触发,因此通道1就可以设置为0----。
使用串口调试助手,设置波特率9600,发送数据E4,进行捕获,就可以直接得到下图所示,我们不仅可以看到数据的波形,还可以直接看到逻辑分析仪给我们将结果分析出来,得到的数据直接以16进制显示在我们的图形界面上,非常方便。
(原文件名:
13.jpg)
八、 使用Saleae分析IIC总线通信
I2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。
I2C总线在传送数据过程中共有三种类型信号,它们分别是:
开始信号、结束信号和应答信号,I2C总线的协议,大家自己学习一下即可,今天这里重点是用Saleae分析I2C。
点击options->Analyzer1->I2C,出现如下界面,其中1,2分别是I2C总线的SDA和SCL通道选择,3是选择数据输出方式,我们还是选择16进制输出,然后我们使用I2C读取一个EEPROM时序看看。
(原文件名:
14.jpg)
(原文件名:
15.jpg)
(原文件名:
16.jpg)
从上图,我们不仅可以清楚的看到SDA和SCL的时序图,软件还可以直接给我们将数据分析出来。
首先是个其实信号,然后从器件地址是0x50的EEPROM中读取数据,从第一个地址中读取的数据是0xc0……,非常清晰,便于我们分析我们的通信整个过程。
九、 使用Saleae分析SPI总线通信
SPI通信是同步通信的一种重要手段,具体的通信方式和通信内容大家可以查找相关资料,这里我只讲一下SPI通信的逻辑分析仪设置问题,具体的逻辑分析仪抓取数据,SPI部分和前边的UART、I2C类似,具体我也不举例分析了,大家可以自己尝试一下,1,2,3,4分别是同道选择,5是输出格式,6是选择高位在前还是低位在前,7选择通信位数,8选择时钟无效的时候是高还是低,9选择数据在时钟的上升沿有效还是下降沿有效,10是选择Enable是高有效还是低有效。
(原文件名:
17.jpg)
十、 Saleae逻辑分析仪使用问题和注意事项
1、关于最大24M的采样频率
绝大多数情况来说,只要您的电脑速度够快,并且没有其他USB设备
干扰的基础上,逻辑分析仪达到24M的采样频率是没有任何问题的。
但是
如果当前的USB设备正在被其他设备所使用,那么最大采样频率可能会低
一两个等级,比如16M,12M等。
1>逻辑分析仪使用的是USB2.0的标准,在这种标准下,理论上最大
的平均带宽达到24M,但是逻辑分析仪的优先级比较低,这样就意味着有
可能“撞”到其他USB设备的通信。
2>逻辑分析仪拥有4个512字节的缓冲区,在这4个缓冲区都被填满之前,USB必须将部分数据读出,也就是说,4个缓冲区不可以同时填满,否则数据就无法进入了,逻辑分析仪会直接报错。
这就意味着,如果工作在24M的情况下,USB设备不仅要给出24M的
通信速率,而且必须在4个缓冲区被填满之前,保证其他设备部占用USB资源。
基于这些原因,逻辑分析仪不能够长时间一直工作在24M的采样频率下,具体取决于计算机性能,USB带宽的可用性和延迟情况,以及正在占用USB驱动的其他设备等诸多因素。
为了让您的计算机可以最大限度提高采样率,尽可能保证以下条件:
1> 确保没有其他较大程序占用CPU的时间较长
2> 确保有足够大的内存空间,否则计算机将会没有足够的RAM获取逻辑分析仪的数据
3> 尽可能直接连接计算机的USB接口,而不是通过一个USB集线器
4> 尽可能让其他使用USB的设备少占用USB的资源
5> 要想让逻辑分析仪拥有足够的动力增大采样频率,尽可能不用其它USB设备。
2、安装过程中可能出现的问题
1、有的朋友在安装后,可以显示出来,显示如下图所示,但是上位机软件却始终连接不上,这个问题可能的原始是:
一是电脑的USB速度太慢,不是USB2.0高速模式,二是USB通信速率很快,阻抗不匹配,可以考虑换一根质量比较好的线,或者更换使用电脑。
(原文件名:
18.jpg)
2、如果在使用的时候出现以下情况
(原文件名:
19.jpg)
原因1:
有些电脑主板的芯片组的USB速度不够高,导致偶尔会出现这种情况,或者是USB端口上其他的设备占用带宽等等导致上位机软件与下位机通信不成功,解决的办法是:
原则上选择几次重复实施,是可以捕获的,再不行,降低采样速率,实在不行换一台电脑试试吧。
原因2:
在刚刚插上USB设备枚举的过程中,如果点击开始启动,则会出现该现象。
避免的方法就是枚举成功稳定几秒后,再点击开始启动。
即使出现了该现象,重复几次也是可以成功捕获的。
3、我遇到的还有个别情况出现,其他通道悬空,但是有信号出现。
这种情况是由于空间耦合或者是空气中静电干扰造成的,一般无大碍,只要把悬空的引脚接地就没事的。