• 1
  • 2
  • 3
  • 4

首页 / 行业

DIY出一个高性能的掌中信号发生器

2021-11-08 14:17:00

DIY出一个高性能的掌中信号发生器

过去几年我最大的遗憾就是不会软件编程,作为一个资深板农,无法亲手让自己设计的硬件跑起来,那种心情是非常难受的。

自去年底树莓派基金会发布第一颗自己设计的IC - RP2040以及基于RP2040的核心模块PICO以来,从性能、灵活性、价格上看这是一颗会迅速火起来的器件,于是第一时间投入其中,于春节期间亲自设计了一款基于PICO的外设扩展板(当时还没有拿到Pico模块),并在电子森林平台发起了几次活动,迅速汇集了很多优秀的开源项目资源。

看好RP2040/Pico的原因不仅是因为树莓派强大的生态会迅速推起这颗器件的应用(现在海外知名网站上的各种基于RP2040的板卡和开源项目资源可以证明这一点),更是因为它的高性能、PIO的灵活性 + 对MicroPython的支持。

对我,PIO的灵活性可以在很多场合实现FPGA能实现的功能;而MicroPython这种优雅、易学易用的编程语言给我了很大的自信心。

前几天我看到一个小伙用Pico + 16颗电阻设计的任意信号发生器,

哇,RP2040太强大了!虽然自己不会编程,但花了一个下午竟然将这位小伙的代码移植到我自己设计的板子上,在示波器上看到了他产生的这些波形。

由此我在想,既然它能做任意波形发生器,为何不基于我们现有的梅林雀口袋仪器的框架用RP2040也做一款高速的信号发生器呢?

采用RP2040 + 高速DAC + 240*240的彩屏(ST7789控制器)制作一款便携式信号发生器?用KiCad迅速设计了一块板子:

做信号发生器的小伙只是提供了DDS部分的代码,并没有按键的控制以及菜单、波形的显示,要知道自己从头设计一个LCD上显示的控制界面并用按键操作起来,对我这种菜鸟来讲那是天方夜谭,估计要再苦练半年也未必能写出来。

直到,我看到另一篇文章,另一个小伙基于前面小伙的成果,再加上一款Micro-GUI就做成了下面的这个仪器:

太好了,我这个不会写代码的菜鸟顿时自信心来了,相信用不了多久,我也能自己DIY出一个高性能的掌中信号发生器。

于是我学习了一下Micro-GUI,太强悍、太好用了,必须给大家推荐!!!

它支持320*240以下分辨率的屏幕,无论我们硬禾常用的240*240的彩色LCD还是128*64/128*32的OLED显示屏都不在话下

它支持5个按键的输入或者2个按键+一个旋转编码器的输入,感觉就是为我们精心定制的!

它不仅支持RP2040/Pico还支持ESP32等等,因为是基于标准的MicroPython,未来任何支持MicroPython的处理器都可以用它

是不是很酷?很容易?

在Peter的Github页面上有非常详细的使用文档,我会逐步根据自己的使用体会汇总并完善在电子森林的百科页面。

并提供了各种信息的展示方式,比如绘制各种图形,并提供了丰富的案例,配合按键的控制:

很多人都知道的LVGL,也有国外的工程师移植到Pico上面,但这需要用C编译一下,至少我搞不定。而这个MicroGUI则可以轻松搞定,而且功能强大到应有尽有,配合DMA的屏幕操作,执行起来非常流畅。

应该不需要LVGL了。

另外,如果你使用的场景不需要这么多按键,可以使用消耗更少资源的nano-GUI,也是这位老先生写的。

他的Github页面:

Micro-GUI:https://github.com/peterhinch/micropython-micro-gui

Nano-GUI:https://github.com/peterhinch/micropython-nano-gui

在他的项目页面还有很多代码资源可以学习、使用。

向这位退休的大神致敬!

有了这些巨人的肩膀,我们可以看得更远、走得更快!MicroPython的出现对于嵌入式系统的学习和应用一定会起到巨大的改变,而开源Micro-GUI则给了我们更多的可能,即便在最终的产品中,也会大大节省开发的时间。

核心模块嵌入式基金会

  • 1
  • 2
  • 3
  • 4

最新内容

手机

相关内容

  • 1
  • 2
  • 3

猜你喜欢