你的工作台面,除了手机,电脑,稳压电源,万用表,示波器,电烙铁,仿真器,开发板,半成品,,,,,,+ \2 p' x {. {1 u+ V 看一看有没有一种叫做逻辑分析仪的东西,也许它被甩在了抽屉里面,也许找不到了,尺寸太小,,,,,,, 3 N/ k9 ?, H3 Y% ^% c8 n/ u 逻辑分析仪,这种“仪器”,若干年前还是非常高大上的,HP一套逻辑分析仪十万元不一定够用,太贵了。6 a }8 }, k X0 g+ n. Y/ u( V. V 可是现在,世界不同了,二十多元的小东西,充分体现了山寨精神之伟大。 我们买不起价格昂贵的逻辑分析仪,没得用。我们用一顿饭的钱,买个山寨货,克隆货,学习学习没有错吧。 (千万别想着自己DIY这种东西,已经烂大街了,工具是拿来用的) 5 K0 N/ ]$ K- o( I% c+ P 主角硬件出场:铛铛铛,铛! 这一种廉价的,20-30元的,原本应该是的Saleae公司的早期产品,现在该公司早就更新换代了,有时间可以崇拜一下: http://www.saleae.com/zh/! T" G$ f7 H) {" W Saleae现售的产品有100-500Msps,而我们这种便宜的东西,取样率只有24Msps。可以分析的最高信号频率为12MHz。, I+ A: u- Z8 h. Z2 ^4 b 其实,最大12MHz的信号频率已经很高了,能够应付许许多多常用的,比如UART,I2C,SPI,LCD,,,,) ~. X2 M+ ?- Y, |: N* c 实际工作中,硬件UART的调试,我就不建议使用。软件UART、I2C、SPI、LCD等等,一定要用的。 " R1 _3 ~8 J1 Y1 ~+ w4 u5 _ 主角的PC上位机软件,原厂网站可以下载,使用情况如下: ) `# g, N6 L5 e7 D+ E% h 9 Y% y$ t7 K% _! {- Y - s1 Z/ ?/ D0 `' P 下面重点来了,推荐给大家一个【开源】的软件叫PulseView。 ( \. S/ `/ h+ g$ o# W5 ] PulseView是sigrok开源软件组织的一款产品,就是我们常说的上位机软件。! b& g: _4 k2 v7 ? PulseView,支持的这种USB虚拟仪器,其中逻辑分析仪就达40多种,当然也包括上面的最便宜的。 PulseView,能够解析的通讯协议,多达90种。 PulseVew + Saleae,也能够解析40多种协议,其实常用的只是几种。 下面,看看我使用PulseVew + Saleae的情况, o w9 S: v; m 咱们来看一个12MHz的USB2.0的全速D+、D-信号,硬件情况如下: 左边就是Saleae逻辑分析仪,中间是我的CMSIS-DAP仿真器。 % @, C8 o1 ?) l3 q. Z 第一次使用,不会用,软件找不到逻辑分析仪,按照下图设定,很快上手:$ l0 q. ]$ o9 d* [0 a5 G ( n+ B8 p7 A4 H7 \7 O5 Y/ f0 v 打开Keil软件,运行程序于Debug模式,收到SWO的printf打印输出,也就是USB口正在传送数据。 看看我得到了什么,其实,那些数据我也没有搞懂呢,没关系,看起来很砖业就好。" A4 |2 M4 o2 a 就啰嗦这么多,还是你们自己试一试吧,PulseView真的功能强大。这么好,还是开源的。 顺便再说一下,PulseView,不仅可以连接逻辑分析仪,其实它还可以连接各种各样的仪器,比如DS1054Z示波器,电源,万用表,信号发生器,声压表,,,,; D% b8 K6 z0 e, k1 t; l PulseView安装程序有40MB,建议大家去sigrok网站自己直接下载:& z$ b/ `7 @: s( b% v http://sigrok.org/wiki/Downloads3 x% _4 W2 Y9 X* h8 M* Q - w2 f F; V4 Q+ _) r8 ?+ p. x7 ? " Z2 n8 g8 J e! `) } |
太多了,只要是有数据通讯协议的串行/并行数据线,这东西用来“调试软件”,比示波器要来得更加直观方便,事半功倍。
比如,调试UART,I2C,SPI,CAN,LCD驱动,等等,等等,很容易发现软件bug。
# ?! R- b! }1 v& j5 q- c
特别是移植别人的驱动程序,可能因为是不同平台的原始码,出现问题时,需要查找原因。
我上一次使用,就是调试一个I2C的接口程序,很快就搞定了。
有自定义协议功能,参考:
http://sigrok.org/wiki/Protocol_decoder_HOWTO
是不是简单易用我就不知道, 靠您了
评分
查看全部评分
好一点的就要10倍的价格,300元左右,可以有400MHz的采样率(4通道),和最多16通道(20MHz)。