社区导航

 

搜索
查看: 935|回复: 6

[原创] ESP32-S2开发之坑(1)--开填

[复制链接]

1021

TA的帖子

6

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-5-10 20:30 | 显示全部楼层 |阅读模式
本帖最后由 RCSN 于 2020-5-15 22:25 编辑

    乐鑫出了这款带USB的无线MCU-ESP32S2,已经有一段时间,而楼主开始时候也是想利用这款新品开个USB相关的设备出来,但是无奈的是,乐鑫官方至今对USB这块,好像维护的不是很好,device端也是Tinyusb在维护,host迟迟还没着落。除了USB这块,其他一些功能也在慢慢补充当中,楼主用esp32s2已经有一个多月有余,在此期间也用官方的esp32s2模组开发了个二维码识别,但是esp32的浮点运算实在不敢恭维,比起STM32F4甚至还要差。后面陆陆续续也用来识别数据矩阵码,apritags码,还有相关圆形和方形检测等图像小处理,再利用esp32s2本身的wifi,建立个tcp server或者http或者USB与PC进行相关交互。

    ESP32-S2 集成了丰富的外围设备,有 43 个可编程 GPIO,可以灵活配置为 USB OTG、LCD 接口、摄像头接口、SPI、I2S、UART、ADC、DAC 等常用功能。ESP32-S2 具有 LCD 接口和 14 个可配置的电容触摸 GPIO,可为基于触摸屏和触摸板的设备提供良好的 HMI 解决方案。

   官方介绍中,也挺多外设,但是不少外设都是复用性,比如LCD和DVP共用一个数据口,也跟I2S共用一个资源,SPI与IIC不少冲突。ADC和DAC尚不可用。电容触摸IO也有部分跟DVP和LCD冲突,不过作为esp32系列中,可扩展的IO多了不少,长达43个IO。

  ESP32-S2使用单核Xtensa LX7内核,运行频率高达240 MHz,目前ESP32使用单核或双核LX6。 这些核心之间的差异隐藏在营销演讲和新闻稿中,但看起来LX7核心能够在每个周期进行更多浮点运算:LX6显然有2个FLOPS /周期,但LX7有64个FLOPS /周期。 这对于DSP和其他计算量很大的应用来说非常棒。 芯片上的其他功能包括320 kB SRAM,128 kB ROM和16 kB RTC存储器。

   楼主开发ESP32是用官方的SDK,借助ESP-IDF开发平台,freertos作为RTOS,开发起来确实比较容易。Linux下编译开发也很不错。

   楼主DIY的用了积木式的板子,以方便各种资源搭配。屏幕是2.4寸,SPI接口,分辨率为320*240,摄像头为OV2640,走的DVP接口,中间带有下载电池升压充电板。官方目前的esp-camera框架适用于esp32而不适用esp32s2,楼主在参考乐鑫内部员工的esp32s2 demo板上的代码,把原有的lcd 8080接口和DVP共用的一套代码抽离出dvp代码,不过目前乐鑫官方已经有了对于esp32s2的camera驱动代码。

   楼主所用的二维码识别算法是quirc算法,这个代码量少,比较适用于嵌入式的MCU平台,但是esp32系列的浮点运算实在太差,可以参考此链接对比 https://blog.classycode.com/ esp32 -float ... 9f6f567a69https://blog.classycode.com/ esp32 -float ... 9f6f567a69  

  esp32s2的SPI速度还可以,可以达到26M,并且支持DMA传输,用来刷图,拉窗效果不明显。

  二维码识别效果:

   TIM图片20200510202529.gif

OV2640图像显示

BD81B0C8518053C08B3A0C5B20EE003C.png



回复

使用道具 举报

1998

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2020-5-10 21:29 | 显示全部楼层

我以为小手指头上带了很大一个黄金戒指,仔细一看原来是电池

点评

要是我戴的起黄金戒指,我也不干电工了  详情 回复 发表于 2020-5-10 21:37
人已离开,无事别找,找也找不到。


回复

使用道具 举报

1021

TA的帖子

6

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2020-5-10 21:37 | 显示全部楼层
freebsder 发表于 2020-5-10 21:29 我以为小手指头上带了很大一个黄金戒指,仔细一看原来是电池

要是我戴的起黄金戒指,我也不干电工了



回复

使用道具 举报

1万

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2020-5-10 22:15 | 显示全部楼层

效果不错。



回复

使用道具 举报

1021

TA的帖子

6

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2020-5-11 07:34 | 显示全部楼层

https://maker.pro/esp8266/tutorial/a-comparison-of-the-new-esp32-s2-to-the-esp32   这里有个国外的说明esp8266 esp32 esp32s2的区别



回复

使用道具 举报

1289

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2020-5-11 12:06 | 显示全部楼层

"看起来LX7核心能够在每个周期进行更多浮点运算:LX6显然有2个FLOPS /周期,但LX7有64个FLOPS /周期" 但楼主仍然说"esp32系列的浮点运算实在太差",为何?



回复

使用道具 举报

1021

TA的帖子

6

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2020-5-11 13:35 | 显示全部楼层
cruelfox 发表于 2020-5-11 12:06 "看起来LX7核心能够在每个周期进行更多浮点运算:LX6显然有2个FLOPS /周期,但LX7有64个FLOPS /周期" ...

TIM截图20200511133047.png

https://blog.classycode.com/ esp32 -float ... 9f6f567a69https://blog.classycode.com/ esp32 -float ... 9f6f567a69   国外的一个帖子,与STM32F7的浮点对比,运算耗时都是差大约一两个数量级,esp32s2再提升esp32 32多倍能力其实也比不上,我对比了esp32和esp32s2,同个分辨率同个格式,也是RGB565,识别二维码起来,确实esp32s2快点,但是都没有stm32f4快。esp32估计1到2fps,esp32s2还能可以3fps+ 



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/8 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-5-29 12:10 , Processed in 0.243160 second(s), 27 queries , Gzip On, MemCache On.

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