armok 发表于 2009-7-23 21:06:26

测试roasn网友创作的100M开源逻辑分析仪

终于有时间能坐下来测试。

测试器材:

1. X200手提电脑
2. Agilent 33220A 信号源
3. roasn的100M逻辑分析仪(MicroLA)
4. 连接线若干



MicroLA的参数:

信号采样频率:100MHz(Max)
每路存储深度:512Kbit
输入阻抗:1MΩ
输入电压:0~5V
输入电平:TTL/CMOS
接口:USB2.0高速
触发位置:0~511K,单步1K
触发方式:低电平触发、高电平触发、总线数据触发、上升沿触发、下降沿触发、上升沿+总线数据触发、下降沿+总线数据触发



先下载:
驱动程序ourdev_459498.rar(文件大小:82K) (原文件名:驱动.rar)
上位机软件ourdev_459499.rar(文件大小:680K) (原文件名:软件.rar)


插入USB线到电脑与MicroLA, 提示安装驱动:

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463921.jpg
(原文件名:SNAG-0000.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463922.jpg
(原文件名:SNAG-0001.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463923.jpg
(原文件名:SNAG-0003.jpg)

点评:ZLG LA 与固纬均不需要安装驱动程序。 ZLG 使用的是人体学输入设备驱动。ZLG的方式简易、可靠。如果有可能,最好改用人体学输入设备驱动的方式。 另,我们论坛的网友 zhifeng 的下载器,也是使用人体学输入设备驱动。


软件很小巧,只有几百K。

双击运行。 可惜在右下角,看到的竟然是“设备没有连接”。检查了上面的USB驱动,已经在连接状态?

为什么? 难道是我没有插上电源?(注:ZLG LA 不需要插入电源也能工作。固纬甚至连电源口也没有)。

正在查原因。。。

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463924.jpg
(原文件名:SNAG-0004.jpg)

下载此新版本软件 ...

增加CSV格式与BIN格式文件导出功能ourdev_459580.rar(文件大小:681K) (原文件名:软件V11.rar)

下载后运行,仍提示:“设备没有连接” ..... 继续查原因。。。




终于看到使用说明书ourdev_459901.pdf(文件大小:349K) (原文件名:MicroLA1016使用说明.pdf)

上位机软件V1.2
修改V1.1版本删除总线时可能会出错的bug
修改光标放置方式

上位机软件V12ourdev_459902.rar(文件大小:682K) (原文件名:软件V12.rar)

说明书里也看不到电源的输入说明。 看到了接口的定义:

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463945.jpg
(原文件名:SNAG-0005.jpg)

在GND与通道1输入信号,仍显示没有连接。

拨走USB线,再插入,竟然提示:

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463948.jpg
(原文件名:SNAG-0006.jpg)

USB需要驱动,就会发生这类问题。所以,最好仍是改成人体学输入设备。再插入又正常了。


软件V1.21ourdev_459949.rar(文件大小:681K) (原文件名:软件V121.rar) 仍不能解决不能连接的问题

软件V1.22ourdev_460173.rar(文件大小:683K) (原文件名:软件V122.rar) 仍不能解决不能连接的问题

软件V1.23ourdev_460750.rar(文件大小:682K) (原文件名:软件V123.rar) 仍不能解决不能连接的问题


Cypress官方驱动ourdev_462960.rar(文件大小:17K) (原文件名:Driver.rar)
使用Cypress官方驱动的程序ourdev_462961.rar(文件大小:468K) (原文件名:软件V2.0.rar)
使用Cypress官方驱动的实时解码程序ourdev_462962.rar(文件大小:470K) (原文件名:软件V3.0beta.rar)

安装新的驱动程序,重启电脑,用2.0或3.0beta版本的软件,就能连接成功了。

但USB的连接十分不可靠。 再一次重申:绝对不要使用有驱动的USB方式。使用人体学输入设备,才是唯一可靠的。

我反复测试,USB连接很容易出问题:比如换一个电脑的USB口,就可能连接不上。插回原接口,就能连接。

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463955.jpg
(原文件名:SNAG-0009.jpg)


http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463953.jpg
(原文件名:SNAG-0007.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463954.jpg
(原文件名:SNAG-0008.jpg)




在GND与通道1输入信号。 用Agilent 33220A 产生20M的 Sync TTL 电平信号,能准确的显示出来19.999Mhz:

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463964.jpg
(原文件名:SNAG-0010.jpg)

不过如果能显示出整数,就更好。

但低频的测试,就比较有问题。

在390HZ以下,均显示是0HZ。

到390HZ,开始能显示频率,但是错误的。 而且不稳定,输入390HZ却显示在500HZ 左右飘动。

到500HZ时,开始显示正常。。但600HZ又不正常。我列一个表吧:

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463969.jpg
(原文件名:SNAG-0011.jpg)



Agilent 33220A 输出的频率 (HZ)         Micro LA 测出的频率
------------------------------------------------------------------------------
380                                       0
387                                       0
388                                       0 或 508 或 512 等 ..
400                                       0 或 526 等
500                                       500 或 600等
800                                       800 或 900等
1000                                    1.1K 等,仍飘动
2000                                    2.08K 等,仍飘动
5000                                    大部分时候4.999, 有时会是5.1飘动
10K                                       在部分时候10K,有时是10.1K飘动 ...
100K                                    在部分时候100K,有时是100.1K飘动。。。。



观察3只灯的工作情况 :

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463981.jpg
(原文件名:SNAG-0012.jpg)

平时电源灯会亮。

按下“GO”时,工作与命令灯同时会亮。 停止后,工作灯不亮。 但命令灯有时却仍保持长亮。查了一下说明书“命令指示灯在每次收到命令后翻转(亮变灭,或灭变亮)。”

发现的确是这样。执行一次"GO" 后,命令灯的状态变一次。 这个设计有点奇怪,不知道有什么意图?



刚才输入的100K Sync TTL波形, 无意发现竟然有数据错误,如下图的鼠标位置:

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463984.jpg
(原文件名:SNAG-0014.jpg)

放大后的图:
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463985.jpg
(原文件名:SNAG-0015.jpg)



研究我感兴趣的导出到CSV格式。

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463993.jpg
(原文件名:SNAG-0016.jpg)

在下面的工作参数下,第一个通道,只能取样到1052个波形,总长5,241,960ns

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463969.jpg
(原文件名:SNAG-0011.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463995.jpg
(原文件名:SNAG-0017.jpg)

将输入频率调整成1M,发现CSV能导出有10487个数据。总长5242630ns
调整成20M,能导出209714个数据,总长5242860ns

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_463997.jpg
(原文件名:SNAG-0018.jpg)


相比之下,ZLG的 timing-state 数据压缩方式十分成功。 它记录的是波形的数目。频率越低,记录的时间越长。在128K的深度下,记录100HZ竟然可以达到294秒:

频率             记录的数据量         128K采集到时间长度
----------------------------------------------------------------
100HZ            58985                  294.91309143000s
500HZ            58986                   58.98356283000s
1K               58985                   29.49136806000s
5K               58985                  5.89825362000s
10K            58985                  2.94906497000s
50K            58985                     589.81984000ms
100K             58986                     294.91588000ms
500K             58986                      58.98266000ms
1M               58985                      29.49134000ms



数据记录准确性分析:

按以下的缺省配置,对1M的波形进行记录。重复十次,导出成 csv 格式,在EXCEL里分析数据的准确性。

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_464013.jpg
(原文件名:SNAG-0019.jpg)

这十次数据的CSV格式打包上传上来:

点击此处下载 ourdev_464016.rar(文件大小:137K) (原文件名:MicroLA.rar)

我分析了前面5次数据,全部准确。 后面的5次就不分析了。有兴趣的网友可以研究一下。

注:ZLG 我之前的测试,数据有问题,通过不了这个测试。 ZLG据说目前已经修正了这个错误。明天我会再测试。

armok 发表于 2009-7-23 21:06:46

留位。。。。正在测试更新中。。。

stm32f103c8 发表于 2009-7-23 21:45:13

板凳./emotion/em080.gif

bad_fpga 发表于 2009-7-23 21:52:45

地板,呵呵

armok 发表于 2009-7-24 00:22:13

已经测试完成。全部更新到楼主位了。

aozima 发表于 2009-7-24 00:36:05

"使用人体学输入设备,才是唯一可靠的"

人体学输入设备貌似通信速度不怎么快,当然,不是实时地大量数据也不重要
至于可靠和用什么方式无关,如果出了问题一样会
./bbs_upload/files_16/ourdev_463948.jpg

不过看情况.roasn有BUG要捉了

armok 发表于 2009-7-24 00:42:12

【5楼】 aozima 残剑饮血
人体学输入设备貌似通信速度不怎么快,当然,不是实时也不重要
至于可靠和用什么方式无关,如果出了问题一样会
-----------------------------
我一直在观察与研究“人体学输入设备”。 我们的雕刻机项目,也会使用这种接口方式。

由于它是 windows 底层已经支持的,可靠性非常高。

至于速度,仍是很快的。留意一下ZLG的就知道了。

gzhuli 发表于 2009-7-24 00:44:58

HID设备的驱动是微软自己写的,比较成熟稳定,所以给人感觉可靠一点而已。
HID的缺点是速度慢,远达不到USB 2.0 HS的速度,所以不能因为驱动问题而过于依赖HID,需要高速的场合还是自写驱动好。

armok 发表于 2009-7-24 00:52:40

【7楼】 gzhuli 咕唧霖
---------------------------
1. 稳定是压倒一切。
2. 自行编写很难解决的。就算是使用FT232原厂的驱动,或其它类似芯片的原厂驱动,我一直都有测试,没有一款可靠的。
   (我们邮购部销售了大量的FT232与类似的其它品牌芯片)
3. 逻辑分析仪的数据量不大。目前开源的这个项目,一般就几百K数据量。

gzhuli 发表于 2009-7-24 01:07:57

1.嗯,小数据量用HID是比较省心。
2.原厂提供的驱动普遍很烂,比个人开发的还烂。

armok 发表于 2009-7-24 06:48:19

【9楼】 gzhuli 咕唧霖
2.原厂提供的驱动普遍很烂,比个人开发的还烂。
--------------------------------------------
我认为:仪器类追求的是100%的稳定性,然后才是速度。

原厂有巨大的经济利益驱动,都开发得比较烂。我们的开源活动有信心开发得比原厂更好? 恐怕极可能是解决了原厂的一些小问题,但导致更大的问题发生。

我相信无论 Zhifeng 也好,ZLG 也好,应该在这个问题上碰过壁。 如果 zhifeng 这个帖子,让他交流一下经验最好 :)

NJ8888 发表于 2009-7-24 07:28:38

我认为自己做与PC的USB接口仪器,用CDC类好,一个是速度快,2.0全速.大约8Mb用户数据,二是控制简单,上位就象操作串口一样,驱动程序通常所用的MCU厂家会提供INF,调用通用的DLL

ahfong2006 发表于 2009-7-24 08:10:11

USB类产品一直就没有不烂的东西过,只不过是很烂或者稍微有点烂的区别。就算是HID,你firmware写不好,照样会不可靠,不是只有PC的驱动可靠就能解决问题的。

P.S. 老款的ZLG的LA,使用的也是自己的驱动,而不是HID。我还有一台也是比较老的ZLG的编程器,也是使用自己的驱动程序。

roasn 发表于 2009-7-24 08:53:30

谢谢阿莫,我来回答问题。

1、不需要接电源接口,你手上的那个是世上第一台MicroLA。为了防止USB电力不足,我才把电源接口焊接上,但是我从来没有用过一次。

2、点评:ZLG LA 与固纬均不需要安装驱动程序。 ZLG 使用的是人体学输入设备驱动。ZLG的方式简易、可靠。如果有可能,最好改用人体学输入设备驱动的方式。 另,我们论坛的网友 zhifeng 的下载器,也是使用人体学输入设备驱动。
改成人体学输入设备驱动这个问题我要看看怎么改,因为我对驱动实在不是很在行。如果把程序改成发布的形式,倒是可以在安装软件的时候把驱动装上,这样就不需要手动安装驱动了。

3、用V1.x的驱动连接设备失败的问题我不打算再改了,因为V2.0后的都是用Cypress的驱动。V1.x软件所用的驱动是WinDriver生成的,按一个网友所说,在新的电脑上需要注册一个驱动,因为我手上的电脑都安装了WinDriver,所以没法测试。后来改成Cypress的驱动后我就没有管这个问题了。

4、关于低频的测试,把采样周期调高即可,例如调到100ns档或者1ms档。因为这个频率测试其实不是在底下硬件做的,而是在软件上计算。在采样一次后,软件计算频率,然后显示出来。390Hz的周期是2.5641ms,在10ns的采样周期下,只能采样2个时钟周期,而在软件中,需要两个时钟周期才会计算,所以出现390Hz下显示为0的现象。

5、至于低频频率不准,我想起了当时我测试I2C解码时出现过的问题。在写I2C解码程序的过程中,我发现在解码过程中,SCL或者SDA的上升沿与下降沿出现了很多毛刺,特别是在10ns档,20ns档少些,50ns档没有。这个问题我查了好久,后来接上示波器才发现,SCL与SDA真的是有毛刺,后来,我在软件上加了数字滤波就是基于这个原因。
阿莫能否用示波器看看,在低频的时候,是否在上升沿或者下降沿的时候有10ns~50ns的波动出现?还有,把LA打到50ns或者100ns看看频率是否会准确一些?

6、执行一次"GO" 后,命令灯的状态变一次。 这个设计有点奇怪,不知道有什么意图?
因为你一直采用的是10ns档,所以采样时间很快,命令灯改变一次就已经采样完成。如果你采样周期比较高,或者有触发条件,你看到的将是命令灯在闪烁。后面,我把它改成采样结束后命令灯也熄灭,采样过程中闪烁。不过,即使如此,命令灯与工作灯的作用的确是重复了。或者,把它改成其它的作用?有什么好的建议。

7、数据压缩方式实现起来其实一点都不难,不过这版要实现这个功能就有点勉强了,我尽量试试看吧,不过不抱太大的希望。因为这个FPGA的资源实在有限,现在基本上已经发挥到了极致。还有,我回答一下阿莫以前提出的固纬为什么在选择了数据压缩后深度只有原来的一半,我估计那是因为另外一半用来存储波形的数量。

8、驱动不稳定的问题,这个问题说出来我也不确定,但是的确是这样。我焊接了两套,一套是阿莫手上的那套,寄给阿莫后,我才重新焊接了一套。但是,有个问题比较奇怪,阿莫手上的那套在我这里测试的时候也会出现无法识别的问题,但是后来焊接的这套倒是没有再出现了,不知道是否与USB座有关。以前,我碰到过同样的问题,原因就是因为USB座有点问题。
【5楼】 aozima 残剑饮血说的“至于可靠和用什么方式无关,如果出了问题一样会”这是实话,即使用的是HID一样会有同样的问题。

armok 发表于 2009-7-24 09:03:09

谢谢。 我正在骑车运动 :)

一会回到公司后详细复你。

roasn 发表于 2009-7-24 09:07:56

有几套我正在焊接,焊好后我再测试看看是否还是出现这样的问题。

zcllsn 发表于 2009-7-24 09:09:18

终于等到测试的一天了.顶个

armok 发表于 2009-7-24 10:39:10

【15楼】 haper2001
---------这儿应该是插座接口不够可靠
--------------------------------------
我几乎可以绝对肯定,不是接口不可靠的问题。

另:我是使用原装 Agilent 的USB线测试的。



【13楼】 roasn 冰封的心
-----------------------------
HID驱动问题,我可以发个专帖,发动大家提供资料。如果 zhifeng 能提供协助最好。
在安装软件时安装上驱动,也无法解决这个问题。现在的USB驱动,真的没有一个不烂的。

你说的:“390Hz的周期是2.5641ms,在10ns的采样周期下,只能采样2个时钟周期”?是不是我理解错了。每10ns取样一次,2.5641ms 可以取样200多次啊。

“阿莫能否用示波器看看,在低频的时候,是否在上升沿或者下降沿的时候有10ns~50ns的波动出现?”,我使用的是 Agilent 33220A 的Sync TTL 电平输出。波形比较干净的。如果安捷伦的设备都不能相信的话,估计能相信的仪器就不多了:)
ZLG的处理方法是可以设置输入PODA的比较电平的。

“数据压缩方式实现起来其实一点都不难,不过这版要实现这个功能就有点勉强了”,如果这个版本有点勉强,建议就先不搞。



另: 我这套已经测试完了。 我先寄回给你? 等你有确定了线路的新版本后,再寄一台给我测试?

ivws 发表于 2009-7-24 11:11:56

做成HID 设备也不让人省心呀。。

最近我也在搞USB HID   在我的电脑上已经成功识别成为HID 人体输入设备,它死活说没有找到驱动文件。。搞了好久无果,上网查也是无果。。无奈换其它电脑,竟然可以正常识别,并说这是HID 设备,不用驱动。。,再换几台也是正常识别!!!


最后我不得不重新安装一个换的XP系统。。。终于可以正常识别成为HID 设备,并说不用驱动了!!

armok 发表于 2009-7-24 11:48:52

【19楼】 ivws
-----------------
USB 鼠标或键盘,从来没有发生这类问题。

roasn 发表于 2009-7-24 12:38:15

不是说你的线的问题,是板上座的问题。
这套你可以先寄回给我,地址我待会在邮购论坛发给你。
我找找hid的资料,希望能解决这个问题,另外,我再改改程序看看。
我手上这几套焊好后,如果没有发现问题,我再发一套给你测试?

roasn 发表于 2009-7-24 12:44:12

LA的深度是512k,按照10ns的采样周期,可以采集数据长度为512*1024*10=5,242,880ns=5.24288ms。即采集一次是5.24288ms。而390Hz的周期是2.5641ms,所以390Hz的周期在10ns档只能采集5.24288/2.5641=2.04个周期,少于390Hz采集到的就不足两个周期了。

armok 发表于 2009-7-24 12:45:57

【22楼】 roasn 冰封的心
我手上这几套焊好后,如果没有发现问题,我再发一套给你测试?
---------------------------
好啊。

软件还有一些小细节需要改进的。 另: 操作方式其实可以参考ZLG的,比如使用Ctrl + 鼠标左键是放大当前位置,右键是缩小。

你的软件的波形显示好像不太正确。移一下位置,跟前面的位置相比,可能显示得有不同 :)

roasn 发表于 2009-7-24 12:48:10

你指的移一下位置是怎么样的操作?波形跟前面如何不一样?

Damselfly 发表于 2009-7-24 13:09:03

稳定才好,USB不能识别,应该与晶体电路有很大关系

armok 发表于 2009-7-24 13:11:21

最新消息: 我刚才发现ZLG也是使用自编写的驱动:

http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_464125.jpg
(原文件名:SNAG-0020.jpg)

咦,我最近使用过的仪器,到底那一个才是HID ? 呵呵,有空我再慢慢证实吧。我记得在论坛上讨论过的。

kv2004 发表于 2009-7-24 14:01:01

同意【12楼】的“USB类产品一直就没有不烂的东西过,只不过是很烂或者稍微有点烂的区别”

即插即用带来的问题比串口麻烦多了。

usb接口只应该是用来偶尔必要时握握手。计算机和外设都应该--相对以前用串口情况下--更独立一些了,否则因为usb接口的捣乱,会觉得整个系统很差。

zhifeng 发表于 2009-7-24 14:16:14

看到armok 阿莫多次提到我,我讲讲自己的一些看法。
   对于,usb设备的稳定性,我一直认为挺高的。要不也不会有这么多的usb设备出来,相对其他总线usb能够胜出稳定性绝度是不错的。对于使用自己开发驱动还是使用微软的hid驱动需要根据项目的需要来决定。hid的优势很明显,但他不灵活。需要严格按照相关协议来操作。对于自己写驱动灵活性大了,但搞得不好确实会有稳定性的问题。我一直坚持使用hid是因为我的下载器也好编程器也好他们的速度要求并不是太高,大家都知道相对于编程芯片速度最大决定于写入flash的时间。usb设备不稳定的原因很多,如果使用的是官方提供的驱动,问题还依然很多应该多找找自己的原因,是不是自己的固件有问题?是不是硬件有问题?是不是设计的线路板有问题?这个可能是多方面的因素造成的。就微软的hid驱动我想不会有啥大问题,毕竟从win98就有这个驱动了,有问题微软也早就解决了,还等着我们来发现这种初级的问题?有问题也应该是自己的问题,比如你装的机器使用的是ghost版本的软件,这种版本的软件是被人家根据自己的思路从新整合的结果,好多驱动甚至其他的程序都被人修改过,这时可能会对使用hid的usb设备带来麻烦。
    建议如果roasn 冰封的心开发的逻辑分析仪数据量不大的话,建议是用hid设备,如果数据量大的话,还是使用自己的驱动,或官方提供的驱动(一般场合官方提供的驱动不会有问题,否则,人家会怀疑他的产品做得到低咋样?)。

armok 发表于 2009-7-24 14:18:03

谢谢 zhifeng 。

哈哈,果然将你引来了。

roasn 发表于 2009-7-24 14:54:11

每次传输512k,不知道hid的速度是多少?

armok 发表于 2009-7-24 15:03:15

对,zhifeng 能帮忙测试一下吗?

ivws 发表于 2009-7-24 15:36:30

【20楼】 armok 阿莫

USB 鼠标或键盘,从来没有发生这类问题


*************************************************

我的系统确实是用ghost版本,应该是有些做了改动,,所以才出现我所说的问题。。。

有些HID USB 鼠标或键盘 也有类似问题,你在网上查查就知道了,都没有解方法,除了重装系统!!

HID 的设备速度并没有RS232串口的快。。。

armok 发表于 2009-7-24 15:42:16

逻辑分析仪真的不需要这么快的速度。

roasn 发表于 2009-7-24 16:33:59

查了一下,HID在低速与全速的情况下,速度实在太慢了,慢得不可忍受,低速是800Byte/s,全速是64000Byte/s,高速倒是不错,能到24.576MB/s,但是这是理论上的最大速度,同时也说了“速度不能保证”。
所以,如果zhifeng方便的话,是否可以麻烦一下,测测看实际能达到多少的速度。我觉得,读一次数据需要几秒甚至十几、几十秒是不可忍受的。
PS:我测试了手上这台,不断拔插几十次,没有一次出现无法识别的情况,除非只拔了一半(USB已经断开,但是设备的电还没有断)再插上就会有这个问题。所以,我估计这只是个别现象。等过几天吧,焊接好后我再测测另外的几台,看看情况如何。

roasn 发表于 2009-7-24 16:38:42

另外,再次麻烦一下阿莫,如果那台机还没有发回来的话,可否再测试一下。
分别把低频数据(如390Hz、450Hz、500Hz、1KHz、1.5KHz、2KHz)保存为dat格式后发上来,让我分析一下?

armok 发表于 2009-7-24 16:44:17

三环的分析仪也是自己写驱动:

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_459872.jpg
(原文件名:SNAG-0020.jpg)

这是泰克的TDS1012B-SC示波器的驱动:

http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_464214.jpg
(原文件名:SNAG-0033.jpg)

奇怪,Agilent 33220A 也是使用同样的驱动?

http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_464215.jpg
(原文件名:SNAG-0034.jpg)

roasn 发表于 2009-7-24 17:00:59

补充一下,测试数据还是用10ns档吧,谢谢

zhifeng 发表于 2009-7-24 17:01:24

to:【36楼】 roasn 冰封的心
   低速是800Byte/s从那里看到的?显然是错误的,我的下载器能够做到4-5kbyte/s.全速的理论应该是12mbits/s,速度如果软件写的好的话500kbytes/s我想应该问题不大,这方法资料可以查阅老的u盘与mp3,通讯速度在6-700kbytes/s。hid协议和自己写驱动的协议对于速度上来说差异很小的。也就是分包不同吧,hid的严格按照协议封包。速度与固件的关系非常大。

    我没看过你的分析仪的硬件,但我建议你采集端采集的数据先放到fifo中通讯直接从fifo中取数据,这样速度应该能够提高很多。

roasn 发表于 2009-7-24 17:09:14

网上看到的:
每一笔事务可以携带小量或中量的数据。低速设备每一笔事务最大是8个字节,全速设备每一笔事务最大是64个字节,高速设备每一笔事务最大是1024个字节。一个报表可以使用多笔事务。
主机可以保证低速的中断端点,每10ms内不会有超过1笔事务,每一秒最多800个字节。主机可以保证全速端点,每1ms1笔事务,每一秒最多是64000个字节。主机可以保证高速端点,每125us3笔事务,每一秒最多24.576MB。

yyccaa 发表于 2009-7-24 17:11:09

关于usb驱动热插拔的问题,微软不至于连这么点小事至今都没做好的(虽然windows的驱动开发确实挺烦人的,这点我赞成以前watercat的意见)。
建议应用程序里加入针对此设备的WM_DEVICECHANGE消息处理,这样当热插拔时,应用程序可以接收到WM_DEVICECHANGE消息,然后对设备句柄做关闭等释放资源的处理。
另外,应当看下windriver生成的驱动是否限定了只能有一个此GUID设备连接,因为如果有这限定,在设备移除后,应用程序未关闭设备句柄,可能导致驱动中限定设备数量的计数变量未释放,而无法添加新设备。

armok 发表于 2009-7-24 17:15:13

我是使用如下的参数进行记录:

http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_464228.jpg
(原文件名:SNAG-0035.jpg)

我前面提到的数据显示波形的问题,在50K的DAT文件里你查一下,鼠标的位置

http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_464231.jpg
(原文件名:SNAG-0037.jpg)

我记录了如下的频率波形:

http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_464234.jpg
(原文件名:SNAG-0038.jpg)

点击此处下载 ourdev_464235.rar(文件大小:32K) (原文件名:MicroLA_dat.rar)

armok 发表于 2009-7-24 17:19:50

这台设备就先放在我这里两天。我下周一再寄给你吧。

如果还有什么数据你需要你测试与提供的话,在这里留言就行。 当然最好发短信到我手机也说一下 :)

我出门先。今天事情较多。

armok 发表于 2009-7-24 17:23:00

越研究,就越发现,ZLG的软件真的做得不错。

roasn 发表于 2009-7-24 17:24:40

好的,谢谢

roasn 发表于 2009-7-24 17:26:57

【45楼】 armok 阿莫
越研究,就越发现,ZLG的软件真的做得不错。
这是肯定的,本来这就是他们的卖点。
他们那么多人做这个做了那么多年,我才一个人用业余时间做了几个月,我是不敢跟他们比的。

capron 发表于 2009-7-24 17:33:54

好东西,一齐顶上去,关注 roasn 的逻辑分析仪。。。

zhifeng 发表于 2009-7-24 17:44:38

呵呵!软件是非常重要的,要不我的zf-008咋敢与atmel的龙比速度比稳定性。

    to:roasn 冰封的心,你就上面的速度问题,一定是查阅的有问题,我用实例已证明了hid的速度,这个不用再怀疑的。关键是你可能没有仔细看清楚使用的是那种通讯模式,是中断模式,还是大量模式,还是...

    就逻辑分析仪来说,我认为最关键的是触发方式,保证采集的数据的正确性,将数据传输到pc这个本身就是滞后的。只要完整的将数据传到pc就行了。但我还是倾向使用usb高速模式。这样给采集端压力少些。不需要非常大的存储器,高速采集的数据放到fifo中,再高速的传出去就行了。到pc端可以使用简单的通讯协议就行了。

xgame 发表于 2009-7-24 18:10:17

周立功一开始就代理PHILIPS的D12 1581等 在USB驱动方面经验丰富 凡用到他们的产品 USB出错的概率极低 这个我了解 这跟设计者的经验有关系 而不是USB

gzhuli 发表于 2009-7-24 18:11:27

【10楼】 armok 阿莫
原厂有巨大的经济利益驱动,都开发得比较烂。我们的开源活动有信心开发得比原厂更好? 恐怕极可能是解决了原厂的一些小问题,但导致更大的问题发生。
-----------------------------------
原厂驱动其实并没有什么经济利益的,纯粹为了提高产品附加价值,连USB认证的费用都得给用户贴进去。
大批量应用,都会自己开发驱动程序,例如tek也是用cypress的USB接口,他们肯定不会用厂家驱动。
所以原厂驱动只是给小客户一个参考,相当于范例代码,某些程度上可以直接使用,但并没有太大的技术保障的。
其实USB驱动开发并不是很难的,反而设备固件开发更困难,因为通常设备要面对的问题更复杂,而相对于PC较少的资源,使设备固件的开发更复杂。

无法识别的设备问题,排除布线和外部元件误差后,99%是线和插座问题。尤其是使用USB供电的设备,尤其容易出现这种问题。
因为USB插座的电源和地只比数据线长一点点,如果插座不好,很可能数据线已经接触到,电源还没稳定,此时PC开始枚举设备,而设备还没进入状态,就会出现无法识别的设备。
一般设计好点的设备,会由软件控制上拉或终结电阻,使设备稳定上电后才触发PC枚举动作。直接外部电阻接死的,插座和线差点就很容易出问题。

还有tek和agilent的驱动,是做得比较规范的:使用了专门的测试和测量设备类型。现在看来,除了HID外,测试设备也是系统自带驱动的,同时也提供更好的性能,应当优先考虑使用。

roasn 发表于 2009-7-24 18:29:39

谢谢zhifeng,说句心里话,我也倾向于用高速方式读写数据,因为速度高了,对很多操作都方便很多。
原厂的驱动,据我所知,的确存在一些问题,但是决不至于无法识别硬件。我刚才又测试了一下,连续拔插USB,直到我手软而且握电路板的手都发疼了,也没有发生过一次无法识别的问题。
所以,很抱歉地说,估计是寄给阿莫的机器硬件有问题,也许是USB座,也许是焊接。

armok 发表于 2009-7-24 19:31:13

【51楼】 gzhuli 咕唧霖
现在看来,除了HID外,测试设备也是系统自带驱动的,同时也提供更好的性能,应当优先考虑使用。
------------------------------------
你是说我在38楼帖的Agilent与TEK的USB驱动,是windows 自带的吗? 如果是的话,真的优先使用啊。

也有一种可能,我的电脑安装过NI labview ,是不是它附带的?


【52楼】 roasn 冰封的心
------------------------------------
USB使用何种驱动,真的是一个值得讨论的问题。

dragonathust1 发表于 2009-7-24 19:57:41

CY7C68013的板子和固件我做过,cypress提供的驱动是很稳定的,我测试过bulk高速传输24小时,吞吐量在30多MByte/s,未出现过错误。
硬件和固件做的不够完善也会导致不稳定的。

roasn 发表于 2009-7-24 20:02:54

【53楼】armok 阿莫
USB使用何种驱动,真的是一个值得讨论的问题。
我也同意你的这个看法,所以现在大家才在讨论这个问题。但是,我的意思是那个官方驱动其实也是很稳定的

gzhuli 发表于 2009-7-25 23:06:16

【53楼】 armok 阿莫
你是说我在38楼帖的Agilent与TEK的USB驱动,是windows 自带的吗?
------------------------------------
不太确定,双击设备看看驱动厂商就知道了。

roasn 发表于 2009-7-25 23:47:25

阿莫,分析了你测出的数据,最主要的问题是出现了一个毛刺,这个肯定是MicroLA的问题,不过,我不确认是RAM的问题还是逻辑程序的问题。所以,再麻烦你一下,把参数设置为10ns4k512k(从左到右,即采集周期10ns,触发位置4k,采样深度512k),再测一次然后把dat数据发上来看看,这样就知道是什么问题了。
我手上没有信号发生器,不方便测试,再次麻烦了。

最新情况,已经找到问题所在,不需要阿莫测试了,谢谢

armok 发表于 2009-7-27 10:11:39

【57楼】 roasn 冰封的心
----------------------
抱歉,现在才看到 :)

有急事,你可直接打我的电话。


注: 我的信号发生器是 Agilent 33220A, 23000元级别的,比较权威。

roasn 发表于 2009-7-27 10:43:38

没关系,我用Mega16写了个小程序产生方波,还原了问题,经过两天的努力,终于找到了问题所在现在问题已经解决。不过我现在在上班,晚上再测试看看。

armok 发表于 2009-7-27 10:51:44

好的。你迟些将新软件上传,我再测试一下。

还有什么改动吗?没有的话,测试完我就寄回给你。

roasn 发表于 2009-7-27 10:58:58

不是上位机软件的问题,是硬件程序的问题,过两天我测试好后再寄一台给你。
那台你可以先寄回来,或者以后到时再寄回来也行,我手上现在还有机器,所以没关系的

armok 发表于 2009-7-27 11:12:26

【61楼】 roasn 冰封的心
-----------------------------
硬件程序? 是不是升级板上的固件软件就能解决?

roasn 发表于 2009-7-27 11:19:16

是的,就是FPGA的程序,硬件不需要改动

armok 发表于 2009-7-27 13:19:49

新的改动后,现在最低能测得多少HZ的频率?

roasn 发表于 2009-7-27 13:34:39

测低频率还是要把采样周期调高点才行,我有点不太明白的是,为什么测低频也要用10ns档呢?

armok 发表于 2009-7-27 13:40:05

【65楼】 roasn 冰封的心
测低频率还是要把采样周期调高点才行,我有点不太明白的是,为什么测低频也要用10ns档呢?
-----------------------
作为使用者,不会关心信号源的情况,只想获得最佳的信号波形。(波形是千变万化的,你经常无法判断要测量的是什么)

采样的频率越高(最高10ns),表示波形测量出来的误差越少(最大是20ns,绝大部分情况一般是10ns)。


所以,按我的习惯,任何情况我都会使用最高取样频率的10ns档。 这方面ZLG做得不错。

roasn 发表于 2009-7-27 13:44:35

如果一定要使用10ns档测量低频,那就必须使用数据压缩模式,我先测试一下能否够空间加上去。
现在解决的是毛刺的问题,就是导致本来390Hz却测出来500Hz的问题。
看了阿莫很在意数据压缩模式,呵呵

roasn 发表于 2009-7-27 13:48:21

我试试能否加上数据压缩的功能吧,明天再回答你这个问题

QZDZ 发表于 2009-7-27 14:59:05

数据压缩功能确实是很有用的功能。

谢谢 roasn 冰封的心和阿莫为网友所做的一切。

armok 发表于 2009-7-27 15:22:24

roasn 冰封的心
看了阿莫很在意数据压缩模式,呵呵
我试试能否加上数据压缩的功能吧,明天再回答你这个问题
----------------------------------------------------------

压缩功能只是我的个人特殊应用要求。台湾固纬也没有的(号称有,但我测试后发现没有什么用)。 ZLG的做得很好。

我认为开源活动,重点是向大家描述原理,并且做出一个演示版。

开源活动的目标,不是产品。 所以,我建议roasn 只需要修正目前的错误,并对软件的细节作出一些调整,就已经足够。 不需要将压缩功能做在上面。

roasn 发表于 2009-7-27 16:16:31

好。
这个开源活动的另外一个好处是,大家可以根据自己的需要修改源码,达到既能学习新知识,又能根据自己的需要打造一款适合自己的仪器。我只是开个头,后面不断完善的工作需要大家一起去完成,我觉得这才是开源活动的真谛。

weihua 发表于 2009-7-27 16:38:08

usb 的HID是比较好的,免驱动,接口标准通用,

现在做东西,基本都用这种了

roasn 发表于 2009-7-29 09:05:42

阿莫,机器我测试得差不多了,明天寄给你

psocfans 发表于 2009-7-30 17:02:53

实物图呢?

pb486 发表于 2009-7-31 18:06:33

看看

chunk 发表于 2009-7-31 22:39:20

我一出道就是开发USB设备,10年了。什么样有趣的现象我都见过。:)

HID驱动速度不高,特别是走“控制传输”。用点小手段可以走“中断传输”。如果做成使用U盘驱动的设备,可以有较高的效率。效率最高的就是编写一个私有的驱动程序。

jetbo 发表于 2009-8-1 11:23:04

请问频率低于390Hz时显示为0,这个问题解决了吗?谢谢

roasn 发表于 2009-8-1 12:40:24

【77楼】jetbo
可以测试390Hz以下频率,把档位调高就行

QZDZ 发表于 2009-8-12 09:38:19

个人感觉数据压缩功能还是很有用处的,
比如测试两路相关联的信号,一路频率高的,另外一路频率低的。(题外话:本人平常测试串行信号多过并行信号。)
这时使用高的采样率,因为采集深度有限,可能采集不到低频信号的变化。
反之如果使用低的采样率,则无法很好(准确)反应高频信号的变化时间。
如果,有数据压缩功能,应该可以解决这个问题。
所以向“roasn 冰封的心”建议:有时间可以去研究一下数据压缩,编个有压缩功能的程序,造福网友。

本人学浅,以上论断仅是推想,未实践过,如果有什么错误,欢迎斧正。

liurangzhou 发表于 2009-8-18 16:01:54

【13楼】 roasn 冰封的心
积分:758
派别:
等级:------
来自:广州
谢谢阿莫,我来回答问题。

1、不需要接电源接口,你手上的那个是世上第一台MicroLA。为了防止USB电力不足,我才把电源接口焊接上,但是我从来没有用过一次。

2、点评:ZLG LA 与固纬均不需要安装驱动程序。


我可以肯定固纬的肯定是自己的驱动程序员

kingsabbit 发表于 2009-8-23 01:13:21

阿莫,一般的逻辑分析仪第一个Channel都是带有频率计功能的

roasn 发表于 2009-9-5 15:32:38

【82楼】 zjiafu
我也想过这个问题,目前没有找到很好的解决办法。原因四鼠标放开的时候,稍稍动一下滚动条就变化位置了。
你有什么好的建议吗?

NJ8888 发表于 2009-9-5 15:50:21

83楼,可以在程序上滑条10个单位对应屏上一列像素,即:DISPLAY=POSITION/10

roasn 发表于 2009-9-8 12:17:44

【85楼】 zjiafu
我看了看你的代码,又试了一下,好似把你OnScroll事件改为OnChange就可以了,原OnScroll不要.
-----------------------------------------------------------------------------------
好的,我有空就试试看,非常感谢!
希望越来越多的网友能参与进来

roasn 发表于 2009-9-9 21:08:46

【88楼】 zjiafu
试了,应该可以。这几天比较忙,没有来得及发布新的版本

roasn 发表于 2009-9-9 21:41:33

【90楼】 zjiafu
-------------------------------
新版本已经更新,V3.2在V3.1的基础上按照你的方法修改。
再次感谢zjiafu

yuanjian79 发表于 2009-12-10 18:51:15

cy7c68013找不到设备和上层驱动(.sys或dll)关系不大,基本上有一下两方面问题:
1.usb d+, d-没有严格按datasheet上说明走线。480M嘛,有些要求的。眼图看的出来信号质量。
2.Firmware有问题。建议做一下WHQL的第九章测试。

astudent 发表于 2009-12-10 21:53:36

持续更新,赞一个。

d-link 发表于 2011-1-23 04:30:43

如果能搭配 usbee ax pro 使用^.^

feiyang_zc 发表于 2011-2-28 20:19:44

mark

hopefly 发表于 2011-3-30 12:39:58

mark

stmfun 发表于 2011-8-26 10:06:43

以前也来ourdev,主要是下载些元器件封装,刚看到这个主题,连续看了4个小时,个人觉得这个主题从上位机软件、驱动、到硬件电路都有借鉴之处,只是现在这个主题有些冷啊。

dujun168 发表于 2011-10-24 16:44:07

mark

qingyin2009 发表于 2011-12-15 13:40:32

没米,买个几十块的得了

hw020411317 发表于 2012-4-6 12:08:44

很强大,很给力,16通道,适合用来做各种通信协议的破解,没有这东西,目前只能用示波器捕捉,不过要麻烦多了!

richyhuang 发表于 2013-5-20 11:32:20

很好,就是这样的项目一个人开发太不容易了,上位机,下位机,FPGA,还要设计PCB,加上还要焊板。
如果有几个人一起搞比较好。
页: [1]
查看完整版本: 测试roasn网友创作的100M开源逻辑分析仪