搜索
bottom↓
楼主: jonyzhu

记录我的 STM32 示波器的研发经历

  [复制链接]

出0入0汤圆

发表于 2014-9-13 15:05:20 来自手机 | 显示全部楼层
牛,支持

出0入0汤圆

发表于 2014-9-13 15:37:35 | 显示全部楼层
强大!顶起!!!

出0入0汤圆

发表于 2014-9-13 16:14:46 | 显示全部楼层
jonyzhu 发表于 2014-9-13 14:29
运放部分太像了!

春风那个好像是黑金出的老版AD/DA模块
我感觉做示波器,FPGA+ARM才是正道,目前这种方案没啥发展前景的,不过调试单片机基本应用倒是够了
如果自己做示波器的话,魏坤那个是重点参考对象, 最近正在边仿造魏坤的板子边研究他的程序,刚学FPGA看起来很吃力

出0入0汤圆

发表于 2014-9-13 16:15:03 | 显示全部楼层
jonyzhu 发表于 2014-9-13 14:29
运放部分太像了!

春风那个好像是黑金出的老版AD/DA模块
我感觉做示波器,FPGA+ARM才是正道,目前这种方案没啥发展前景的,不过调试单片机基本应用倒是够了
如果自己做示波器的话,魏坤那个是重点参考对象, 最近正在边仿造魏坤的板子边研究他的程序,刚学FPGA看起来很吃力

出0入0汤圆

发表于 2014-9-13 16:22:41 | 显示全部楼层
抱歉,网速不好,重复发帖了

出0入0汤圆

发表于 2014-9-13 16:26:05 | 显示全部楼层
mubei 发表于 2014-9-13 16:15
春风那个好像是黑金出的老版AD/DA模块
我感觉做示波器,FPGA+ARM才是正道,目前这种方案没啥发展前景的, ...

是黑金的板子,双路65Mbps   12bit  ADC   就是配套FPGA来使用的

出0入0汤圆

发表于 2014-9-13 16:34:55 | 显示全部楼层
支持

出0入0汤圆

发表于 2014-9-13 20:02:47 | 显示全部楼层
支持。赞下楼主 。
做个记号。

出0入24汤圆

发表于 2014-9-13 20:25:27 | 显示全部楼层
学习一下 谢谢楼主分享

出0入0汤圆

 楼主| 发表于 2014-9-13 21:14:10 | 显示全部楼层
kdtcf 发表于 2014-9-13 16:26
是黑金的板子,双路65Mbps   12bit  ADC   就是配套FPGA来使用的

谢谢你!不过,FPGA 对我来说有点儿陌生了,让我先把简单的弄出来吧。否则,你这块板子在我这里恐怕也要先闲置一段时间了 。我想用 OpenCV 配合 ARM Cortex-A 系列的平台做个机器人,这个示波器是前期的开发工具+练手用的。保持这个示波器的简单设计,一方面是因为我的确刚起步,另外一个方面,简单的设计容易验证想法。

出0入0汤圆

 楼主| 发表于 2014-9-13 21:18:36 | 显示全部楼层
mubei 发表于 2014-9-13 16:14
春风那个好像是黑金出的老版AD/DA模块
我感觉做示波器,FPGA+ARM才是正道,目前这种方案没啥发展前景的, ...

你说的对,这个就是我调试单片机用的。10M 左右采样率基本够用了。加上这个设计的简单,所以可以让我较快的验证一些想法。我自己的感受是:做出来显示波形,容易;做出来能够稳定的触发显示波形,有点儿难;做出来能够显示参数,更难;做出来能够用旋钮、按键调整参数,起停波形、暂停查看等功能,比前面这些加起来还难。

FPGA 我还没开始,不过我估计以后会上的

出0入0汤圆

发表于 2014-9-13 21:22:14 | 显示全部楼层
学习一下 谢谢楼主分享

出0入0汤圆

 楼主| 发表于 2014-9-13 21:26:54 | 显示全部楼层
本帖最后由 jonyzhu 于 2014-9-13 21:28 编辑

I2C
I2C 其实是一个挺复杂的协议,以前用 AVR 的时候我最得意的事情就是把它的 I2C 搞得非常透彻,然后还用这个协议设计制作了一款 “4芯” 的 ATMega8 开发板可以4个芯片互相通信(真的是 4 芯啊!正面两颗,背面两颗。)


今天用示波器测试了一下 STM32 的 I2C(同一块板,I2C1 发送,I2C2 接收),不得不说,比 AVR 的配置容易多了。不过有件事情我不太明白,怎么波形出来是下面这个样子的呢(但数据收发都是正常的),有人知道为什么吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出100入0汤圆

发表于 2014-9-13 21:33:40 来自手机 | 显示全部楼层
mark 赞一个!其实我也很想整一个~

出0入0汤圆

发表于 2014-9-13 21:52:39 | 显示全部楼层
jonyzhu 发表于 2014-9-13 21:26
I2C
I2C 其实是一个挺复杂的协议,以前用 AVR 的时候我最得意的事情就是把它的 I2C 搞得非常透彻,然后还用 ...

这个应该是正常的波形,个人觉得原因是由于I2C为开漏引脚,在MCU将引脚由拉低转为悬空时,上啦电阻会对芯片引脚的内部的寄生电容充电,从而产生这种积分波形。时间常数应该就是t=RC

出0入0汤圆

发表于 2014-9-13 21:56:26 | 显示全部楼层
然后从你的波形上看,时间常数大概为20us,假设你的上啦电阻为10K,那么I2C引脚的寄生电容应该就是2nf了

出0入0汤圆

发表于 2014-9-13 22:00:24 | 显示全部楼层
至于数据发送正常的问题,你可以看看芯片手册关于的I2C说明,就你图分析,黄色为时钟信号,红色为数据,那么时钟信号应该是在下降沿采的样,然后只要在下降沿时刻数据线的电平大于0.7vcc就判定为高电平,否则为低,你可以对比一下波形图看看,时序是满足要求的大于0.7Vcc。

出0入0汤圆

 楼主| 发表于 2014-9-13 22:38:50 | 显示全部楼层
hantnt 发表于 2014-9-13 21:52
这个应该是正常的波形,个人觉得原因是由于I2C为开漏引脚,在MCU将引脚由拉低转为悬空时,上啦电阻会对芯 ...

嗯,有道理。但我关了I2C的模拟滤波器波形没有变化,还是这个样子。屏幕上看到的时间宽度是 36us 多一点儿,大约16个完整时钟周期(黄色的波形),分到上升沿的部分差不多刚好 1us,按照 70% 的时间常熟计算 t=0.69*RC,R是10K,1us=0.69*10K*C 计算,C大约是145pF。有点儿意思,可我怎么测量以验证这个计算结果呐?

出0入0汤圆

发表于 2014-9-13 22:43:47 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2014-9-13 23:06:44 | 显示全部楼层
jonyzhu 发表于 2014-9-13 22:38
嗯,有道理。但我关了I2C的模拟滤波器波形没有变化,还是这个样子。屏幕上看到的时间宽度是 36us 多一点 ...

很简单,换上啦电阻

出0入0汤圆

发表于 2014-9-13 23:07:48 | 显示全部楼层
感谢分享。。。
学习~

出0入0汤圆

发表于 2014-9-13 23:21:57 | 显示全部楼层
mark,神贴

出0入0汤圆

 楼主| 发表于 2014-9-14 12:37:38 | 显示全部楼层
10K 上拉电阻改成 2.5K,波形略微“方”一点儿了,而且传输速率也变快了。据说I2C最高可以到5Mbit/s,嗯,我会考虑用它来做总线,当然,在我搞定 CAN 以后再说。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-9-14 14:05:38 | 显示全部楼层
看起来不错。

出0入0汤圆

发表于 2014-9-14 23:25:17 | 显示全部楼层
顶楼主期望看到楼主走的更远。

出0入0汤圆

发表于 2014-9-14 23:50:21 | 显示全部楼层
STM32 示波器

出0入0汤圆

发表于 2014-9-17 11:51:04 | 显示全部楼层
这是要火的节奏,STM32也有示波器了

出0入0汤圆

发表于 2014-9-17 17:32:54 | 显示全部楼层
不错的~~

出0入0汤圆

发表于 2014-9-17 18:56:55 | 显示全部楼层
谢谢分享,支持一下

出0入0汤圆

发表于 2014-9-17 19:24:52 | 显示全部楼层
好有前途,哈哈,顶

出0入0汤圆

发表于 2014-9-17 19:26:52 | 显示全部楼层
哈哈,很不错的哈,回头有问题可以咨询你么

出0入0汤圆

发表于 2014-9-19 16:27:48 | 显示全部楼层
火钳刘明

出0入0汤圆

 楼主| 发表于 2014-9-20 08:20:20 | 显示全部楼层
gwalle 发表于 2014-9-17 19:26
哈哈,很不错的哈,回头有问题可以咨询你么

欢迎发帖讨论!

出0入0汤圆

发表于 2014-9-20 09:15:49 | 显示全部楼层
楼主厉害啊 支持

出0入0汤圆

发表于 2014-9-20 09:49:52 | 显示全部楼层
楼主“钱”程远大

出0入0汤圆

发表于 2014-9-20 10:36:23 | 显示全部楼层
LZ 高手,佩服

出0入0汤圆

发表于 2014-9-20 10:54:04 | 显示全部楼层
牛X,真的是给你提鞋都不行.

出0入0汤圆

发表于 2014-9-20 14:08:39 来自手机 | 显示全部楼层
果然历害啊!

出0入0汤圆

发表于 2014-9-20 14:30:28 | 显示全部楼层
收藏,学习

出0入0汤圆

发表于 2014-9-20 15:53:36 | 显示全部楼层
收藏,学习   

出0入0汤圆

 楼主| 发表于 2014-9-20 17:46:13 | 显示全部楼层
本帖最后由 jonyzhu 于 2014-9-20 17:48 编辑

设计经验

为什么不买一台示波器?
因为我想自己经历一遍产品的设计、实现的过程。另外我看上的示波器都要好几万,所以,暂时先自己做个简单的用着。

为什么选择 STM32F303VCT6?
  • STM32 Cortex 内核,可以重用现有的设计、开发经验。曾经也尝试用 LPC1769,无奈开发环境太难用,实在是没有时间精力去和开发环境搞。
  • 采样率高。12bit 时一个 ADC 即可实现 5M/s 的采样率,而且还有 4 个ADC 可以同时采样(4 通道 5M/s,降低采样精度速度更快)。以调试 STM32F4 上面的 SPI 为例,在主频 168MHz 的时候,SPI 最慢可以 1/256 分频,这样 SPI 的时钟频率 656KHz,要想看到正常的波形,采样率选 10 倍的话,就是 6.5M/s 的采样率,所以 STM32F303VCT6 刚好够用。
  • 官方开发板非常便宜,不到 90 元即可买到。
  • 要做100M/s的示波器,我得先有10M/s的示波器。


为什么要自己设计PCB
因为一堆散件(开发板)用线接在一起太丑了。从实现功能原型,到整合进入一块PCB,这之间有巨大的工作量;前者如果要用1个月,那么后者需要3个月。整个人得到的能力提升完全不可同日而语。

为什么不用虚拟示波器来实现?
虚拟示波器手感、使用体验不好,摸旋钮的感觉比用鼠标点那要好太多了。我愿意为好的使用体验付费。

有哪些超出意料的性能?
  • +/- 5v 电源超稳定!接上负载输出电压纹丝不动(额,是10mv级别上没有变化),长时间工作也仅仅是温温的。
  • 锡浆超好用!手工焊接 100 Pin 的芯片非常轻松!
  • 把自己的项目 Logo 印在PCB上面了,乐呵呵的对着看了半天。
  • Altium Designer 手动布线非常好用!451根连线轻松布完,非常愉快。
  • 自制的信号线还行。



有哪些意料不到的问题?
  • ADC 通过 DMA 保存采样数据的时候,会出现 Overrun 的情况。这在以前用 STM32F4 调试3通道交替采样(7.2M/s)的时候都是没有出现过的情况。这个问题随着采样率的提高而越发明显,导致实测 6bit 分辨率时,理论上的 18M/s 采样率只能到 13.5M/s,而且波形偶尔会有“撕裂”的情况。至今无解,我的判断是 SysTick 的干扰,但目前还没有进行验证。
  • ADC 控制线路上的干扰比想像中大很多。设计时,我安排了一些通过 ADC 直接接电位器的控制电路,比如波形的水平轴移动。但是,这样做法得到的电压波动比想像中大很多,导致水平移动波形时,即使停止转动电位器,采样的电压还会波形,波形不能稳定。最后没办法,改成了用+/-按钮来调整,但是使用体验就远不如转动电位器的旋钮了。所以,下一个版本会换成旋转编码器。
  • PCB 布线完成以后,自己作死又去手动改了几根GND的宽度,结果导致其中一根和另外的线路短路了,还好我焊接的时候发现了。以后千万别再这么干了。


下一个版本会有哪些改进?
  • 控制电路会引入旋转编码器,杜绝干扰。
  • 更大的显示屏,目前心中极其希望做 5寸,800x480 的。采用保守方案的话,至少也是 480x272 的那种。
  • 重新设计触发电路,采用独立的触发放大通道。这个太重要了。
  • 希望是4通道的,调试步进电机、SPI 其实还是需要的。
  • 加入频率计。
  • 总体方案1:让 STM32F3 专心做 ADC,会用单独的 MCU 来做控制电路(甚至可能考虑单独的显示用MCU,即“显卡”)。这是最稳妥的升级方案。
  • 总体方案2:放弃 STM32F3,改用 TI 的更高采样率的专用 IC,但这样研发时间就长了。这是最激进的升级方案。但仍然不用 FPGA,因为我还不会用。。。
  • 总体方案3:采用单片 STM32F303VCT6,全集成,甚至模拟部分都用它自带的运放。这是最省钱的方案,如果出套件,估计这款最受欢迎吧。


我最终到底想做什么?
Jibo

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-9-20 17:49:21 | 显示全部楼层
好帖子啊,厉害啊!

出5入42汤圆

发表于 2014-9-20 17:51:09 来自手机 | 显示全部楼层
楼主牛人,学习了。

出0入0汤圆

发表于 2014-9-20 22:30:00 | 显示全部楼层
支持
学习了

出0入0汤圆

发表于 2014-9-22 09:05:38 | 显示全部楼层
最终到底想做什么?

出0入0汤圆

发表于 2014-9-22 09:19:36 来自手机 | 显示全部楼层
这个的认真学习

出0入0汤圆

发表于 2014-9-22 09:25:05 | 显示全部楼层
找到了图片是家用机器人Jibo

出0入0汤圆

发表于 2014-9-23 12:54:41 | 显示全部楼层
kdtcf 发表于 2014-9-13 10:12
非常支持楼主,希望楼主能做出非常酷的示波器来,接下来可能楼主要玩高大上一点的了,春风哥有个板子可以借 ...

春风。。。只闻其人不见其人的传说中的人物

出0入4汤圆

发表于 2014-9-23 12:57:10 | 显示全部楼层
学习了  谢谢分享 很好的资料 做的很漂亮

出0入0汤圆

发表于 2014-9-23 13:05:06 | 显示全部楼层
mark,向楼主学习

出0入0汤圆

发表于 2014-9-23 13:05:16 | 显示全部楼层
论坛好像有开源的口袋示波器。

出0入0汤圆

发表于 2014-9-23 13:37:18 来自手机 | 显示全部楼层
佩服,是个牛人

出0入0汤圆

发表于 2014-9-23 14:42:43 | 显示全部楼层

出0入0汤圆

发表于 2014-9-23 15:03:14 | 显示全部楼层
楼主做的也挺好的

出0入0汤圆

发表于 2014-9-24 14:31:53 | 显示全部楼层
牛人呀,学习学习。

出0入0汤圆

发表于 2014-9-24 14:37:53 | 显示全部楼层
楼主神人啊。

出0入0汤圆

发表于 2014-9-24 16:11:20 | 显示全部楼层
好牛的样子

出0入0汤圆

发表于 2014-9-24 17:25:48 | 显示全部楼层
风格不错啊,值得学习,等开发板出来

出0入0汤圆

发表于 2014-10-7 23:05:27 | 显示全部楼层
jonyzhu 发表于 2014-9-13 22:38
嗯,有道理。但我关了I2C的模拟滤波器波形没有变化,还是这个样子。屏幕上看到的时间宽度是 36us 多一点 ...

你还忽略了你示波器探头引入的电容呢。

出0入0汤圆

发表于 2014-10-7 23:08:42 | 显示全部楼层
用他的运放最好了。带宽貌似至少有1Mhz还带片内pga的。还有几路比较器可以做硬件触发,不知道好不好做等效采样。

出0入0汤圆

发表于 2014-10-7 23:09:57 | 显示全部楼层
还有一个单芯片的方案是lpc4370  204-MHz ARM Cortex -M4  带一个12bit  80M采样的ADC  片上还有两个同样是204Mhz的M0做协处理器。

出0入0汤圆

 楼主| 发表于 2014-10-7 23:14:48 | 显示全部楼层
wx85105157 发表于 2014-10-7 23:09
还有一个单芯片的方案是lpc4370  204-MHz ARM Cortex -M4  带一个12bit  80M采样的ADC  片上还有两个同样是 ...

LPC 我试过了,开发环境(IDE)实在是恶劣。。。我宁可用独立的 ADC,也不想碰 LPC 的东西了。

出0入0汤圆

发表于 2014-10-7 23:18:49 | 显示全部楼层
都是牛人啊,学习了

出0入0汤圆

发表于 2014-10-8 00:11:27 | 显示全部楼层
不错。学习了!

出0入0汤圆

发表于 2014-10-8 00:56:39 | 显示全部楼层
卧槽,真有意思,火钳留名

出0入0汤圆

发表于 2014-10-8 00:57:10 | 显示全部楼层
横河的东西确实好

出0入0汤圆

发表于 2014-10-8 08:49:08 | 显示全部楼层
牛逼哄哄的

出0入8汤圆

发表于 2014-10-8 09:09:42 | 显示全部楼层
楼主为什么要用STM32这个平台做示波器呢,

出0入0汤圆

发表于 2014-10-8 09:12:44 | 显示全部楼层
楼主,加油,精神可嘉!

出0入0汤圆

发表于 2014-10-8 09:12:50 | 显示全部楼层
顶楼主,虽然这个的实用性不高,但是能做出来这个程度,足以说明楼主是很厉害的。

出30入54汤圆

发表于 2014-10-8 10:08:34 | 显示全部楼层
不错~~~围观看看

出0入0汤圆

发表于 2014-10-8 13:23:01 | 显示全部楼层
记错了  片内的运放带宽有8.2M,PGA模式有2 4 8 16.   今天研究了下stm32的dma   最少需要8个hclk的时钟开销,和cpu没有竞争的情况下只有72M/8=9M的带宽。只够搬运一个ADC全速转换的数据。四个ADC同事全速转换的话需要32M的带宽,两个时钟cpu就要搬运一个adc的数据。cpu应该忙不过来吧。

出0入0汤圆

发表于 2014-10-16 22:20:15 | 显示全部楼层
支持楼主搞下去

出0入0汤圆

发表于 2014-10-18 11:29:10 | 显示全部楼层
这贴非火不可!

出0入0汤圆

发表于 2014-10-18 13:42:18 | 显示全部楼层
留名等直播!!

出0入0汤圆

发表于 2014-10-18 13:43:18 | 显示全部楼层

出0入0汤圆

发表于 2014-10-18 18:30:29 | 显示全部楼层
楼主的开发步骤非常正规,非常有潜力

出0入0汤圆

发表于 2014-10-20 15:25:22 | 显示全部楼层
支持楼主!

出0入0汤圆

发表于 2014-10-20 15:36:38 | 显示全部楼层
强悍,不服不行

出0入0汤圆

发表于 2014-10-26 12:37:30 | 显示全部楼层
这是要火吗

出0入0汤圆

发表于 2014-10-26 16:39:08 来自手机 | 显示全部楼层
楼主太厉害了!也想自己折腾折腾示波器,一直狠不下心来开始

出0入0汤圆

 楼主| 发表于 2014-10-26 21:17:47 | 显示全部楼层
机器人
为两轮平衡车的底盘做了准备,找时间开工了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-11-7 15:00:11 | 显示全部楼层
记录的很详细,学习

出0入0汤圆

发表于 2014-11-7 15:05:28 来自手机 | 显示全部楼层
看来真需要下决改用stm32了,总停留在51里面不行了

出0入37汤圆

发表于 2014-11-7 15:32:01 | 显示全部楼层
mark,等楼主更新

出0入0汤圆

发表于 2014-11-7 15:37:05 | 显示全部楼层
谢谢分享。。。

出0入0汤圆

发表于 2014-11-18 23:27:26 | 显示全部楼层
Mark ... ....

出0入0汤圆

发表于 2014-11-19 00:12:34 | 显示全部楼层
厉害,很受用

出0入0汤圆

发表于 2014-11-23 00:02:04 | 显示全部楼层
很好的分享,谢谢

出0入0汤圆

发表于 2014-11-25 15:39:45 | 显示全部楼层
谢谢楼主分享!

出0入0汤圆

发表于 2014-12-13 16:03:17 | 显示全部楼层
楼主牛逼

出0入0汤圆

发表于 2014-12-13 22:25:17 | 显示全部楼层
佩服楼主的精神。

出0入0汤圆

发表于 2014-12-13 23:09:12 | 显示全部楼层
牛啊,可以用PC显示吗

出0入0汤圆

发表于 2014-12-14 17:14:50 | 显示全部楼层
楼主太牛逼了

出0入0汤圆

发表于 2014-12-14 17:15:31 | 显示全部楼层
    从硬件到软件,而后能够慢熟悉这一套流程,学习LZ!

出0入0汤圆

发表于 2014-12-14 18:51:55 | 显示全部楼层
洞洞板看着挺不错!用起来方便吗?

出0入0汤圆

 楼主| 发表于 2014-12-14 19:51:28 | 显示全部楼层
heyueming0 发表于 2014-12-14 18:51
洞洞板看着挺不错!用起来方便吗?

洞洞板极不方便!难以检查和出错,制作效率很低,乐趣也很低,纯体力活。只要有可能,最好是用开发板或者自己打板。

出0入0汤圆

发表于 2015-1-1 22:04:52 | 显示全部楼层
太牛逼了
---字数补丁。

出0入0汤圆

发表于 2015-1-1 22:44:22 | 显示全部楼层
楼主是真正电子爱好者

出0入0汤圆

发表于 2015-1-2 13:43:03 | 显示全部楼层
楼主继续努力,学一下FPGA,把采样率弄上去,100M模拟带宽吧,做一个真正的手持示波器。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 22:28

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

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