搜索
bottom↓
回复: 9

开源逻辑分析仪的奇怪现象

[复制链接]

出0入0汤圆

发表于 2009-9-21 22:54:48 | 显示全部楼层 |阅读模式
首先感谢Roasn的辛勤劳动。今天逻辑分析仪到手就迫不及待地测试了下串口,结果显示很奇怪。发字符串时都不能分析出来,单独发偶数都可以,奇数都不能识别。请教下是什么原因呢?每次重复测试出现的结果都一样。用的是晓奇的电平转换电路,在这里也谢谢晓奇,电路很好用,下载程序到stc单片机飞快。


串口发送0123456789字符串时显示 (原文件名:0123456789.jpg)


串口单独发字符0时显示 (原文件名:0.jpg)


串口单独发字符1时显示 (原文件名:1.jpg)


串口发0x01时显示 (原文件名:0x01.jpg)


串口发0x02时显示 (原文件名:0x02.jpg)


串口发0xfd时显示 (原文件名:0xfd.jpg)


串口发0xfe时显示 (原文件名:0xfe.jpg)


(原文件名:串口电平转换.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-9-22 00:22:50 | 显示全部楼层
哪个版本的上位机程序?
波特率是多少?看了一下你的波形,应该是波特率比设置的高了一点,软件没有认出来。
这里只说一下你说的发送0x31的情况:
首先,软件检查起始位,例如波特率9600,起始位应该是低电平持续104.67us,我在软件上设置了2%的容错,也就是说,软件在检测到起码104.67*0.98=102.08us的低电平时,才认为是有效的起始位。你现在的情况就是低电平不到102.08us,所以软件认为你的起始位无效,于是导致解码出错。
你分析一下波形,看看是否我是我说的这种情况?逻辑分析仪的UART解码支持任意波特率,你把解码波特率稍稍设置高一些,解码就会正确了,同时你也可以看到你电路真正的波特率。

出0入0汤圆

 楼主| 发表于 2009-9-22 00:44:34 | 显示全部楼层
软件版本是3.2的,串口发出的是9600,刚试了下软件改成9900确实可以了

出0入0汤圆

 楼主| 发表于 2009-9-22 00:58:27 | 显示全部楼层
还是有点疑惑,便用单片机随便发个了波形出来,频率计显示33.840K,而逻辑分析仪显示55.229,不过已经能正常分析了,谢谢

(原文件名:频率测试.jpg)

出0入0汤圆

发表于 2009-9-22 00:59:37 | 显示全部楼层
其实你测量一下低电平的宽度就可以算出波特率

出0入0汤圆

发表于 2009-9-22 01:03:30 | 显示全部楼层
我现在用手机上的网,看不清图片,明天再回答你3楼的问题。另外,最好把数据保存后传上来,光看图片我不一定能找到问题

出0入0汤圆

 楼主| 发表于 2009-9-22 01:15:30 | 显示全部楼层
实际测量了下波形宽度,为1461,换算成频率应该为34.223K,这个值就非常接近真实值了。不过还是有点偏高。这个频率和哪个方面有关系呢?我用什么方法可以使他降下来呢

出0入0汤圆

 楼主| 发表于 2009-9-22 01:18:18 | 显示全部楼层
好的,数据已上传
点击此处下载 ourdev_483689.rar(文件大小:2K) (原文件名:频率测试.rar)

出0入0汤圆

发表于 2009-9-22 09:21:49 | 显示全部楼层
我看了你的数据,频率不准是毛刺造成的。

先来看看你采集到得数据放大后的图像:

毛刺图像 (原文件名:毛刺.JPG)
本来这里应该是一个漂亮的上升沿,但是在这里出现了一个毛刺。软件计算的时候就算多了一个周期,你的数据中总共有220个毛刺,所以算出来的频率就高了许多。

我们再来分析一下毛刺产生的原因,先看看接口芯片74LVC16245的说明:

74LV16245输入电平标准 (原文件名:16245.JPG)
在3.3V供电的情况下,Vi>2V为高电平,Vi<0.8V为低电平,但是在0.8V和2V之间的电压值就可能是高电平也可能是低电平。
于是,我们可以这样认为,这个毛刺是上升时间太长导致的(或者,甚至有可能说,这个上升沿不太干净,有个“台阶”)。如果你有示波器可以看看是不是像我所说的一样。这个上升时间其实也不是很长,但是,由于你采样是采用10ns档,所以,只要上升时间大于10ns,就有可能出现这样的情况。如果上升沿不干净,有点毛刺,那就更不用说了。而10ns对于单片机来说,那是很短很短的时间(你的单片机没有运行到100MHz吧?)。
曾经,我在测试I2C的时候,也发现这样的情况,后来用示波器一测,原来还真的是原来的信号就有毛刺。阿莫之前测试V1.0固件程序时,用安捷伦的信号发生器发现测量有时频率不准,那是固件问题,在V1.1后已经解决这个问题。
有两个方法可以测试是否我说得这种情况,一是用示波器看看波形是否存在沿太长和沿存在毛刺的情况;二是MicroLA设置低一点的采用周期,如20ns或者50ns,这样应该会没有问题,因为这次采样跟下次采样之间的时间(20ns或者50ns)已经足够上升沿或者下降沿稳定。如果你还是想用10ns采样,那可以把数字滤波打开,软件会把毛刺滤去,这样也是一个办法。

出0入0汤圆

 楼主| 发表于 2009-9-22 17:33:19 | 显示全部楼层
确实是波形的问题,现在用好的方波就没问题了。逻辑分析仪非常好用,试了下I2C,非常准。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-9 04:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表