乐鑫技术交流
直播中

刘悌耀

7年用户 1078经验值
私信 关注
[问答]

使用ESP32-WROOM-32模组迁移到ESP8684-MINI-1模组遇到的技术问题求解

我们原本使用ESP32-WROOM-32模组,现在迁移到ESP8684-MINI-1模组,有技术问题想请教和确认。

器件手册中描述晶振为40MHz,模组使用了26MHz晶振,我们已修改config文件并可以成功运行。
以下问题,在官方资料和论坛中都没有找到。
问题1:
如邮件最后的图中,IDF的rtc_clk_cpu_freq_mhz_to_config中,代码中其实是保留了80/120这样的数字,并且宏定义CLK_LL_PLL480M_FREQ_MHz,即锁相环是先倍频到480MHz。
想确认:使用esp_pm_configure函数,设置
min_freq_mhz=80MHz
max_freq_mhz=80MHz
尽管C2启动后打印log为80MHz,是否实际CPU频率为52MHz,APB总线频率为52MHz?

问题2:
config文件里设置为26MHz,串口设置115200,实测为74800,即115200*26/40。
想确认:该config设置26Mhz,会实际影响哪些需要我们手动计算频率并更改?哪些已经在代码中兼容不影响,不需要我们手动更改频率?
例如:
1、我们代码中设置SPI频率10MHz,是否实际频率为10*26/40=6.5MHz?
2、I2C以及其他外设?
3、对蓝牙有何影响?
4、对WIFI有何影响?
5、对RTC有何影响?
6、对定时器有何影响?

问题3:
想确认:使用esp_pm_configure函数,设置
min_freq_mhz=13MHz
max_freq_mhz=80MHz
是否实际的min_freq=13MHz,max_freq=52MHz?
C2是否会在13MHz和52MHz自适应变频?
可以设置的最低min_freq是多少,以保证蓝牙稳定通信
可以设置的最低min_freq是多少,以保证蓝牙和WIFI同时稳定通信?

问题4:
是否有函数供我们调用,可以获取当前的CPU频率、APB总线频率?

问题5:
我们原本使用ESP32(IDF 4.2.3),现在迁移到ESP32C2(IDF 5.0.1)。目前初步来看,已经可以正常运行。
还在进行长期稳定性测试。
有没有什么可以提醒我们注意的地方或者建议?


回帖(1)

陈丽

2024-6-12 17:31:11
1. 晶振频率问题:ESP8684-MINI-1模组使用的是26MHz晶振,而ESP32-WROOM-32使用的是40MHz晶振。在这种情况下,您需要修改配置文件以适应新的晶振频率。您已经成功修改了配置文件并可以正常运行,这说明您已经解决了这个问题。

2. 锁相环频率问题:在ESP32中,锁相环(PLL)可以将晶振频率倍频到480MHz。但是,实际的CPU频率是由esp_pm_configure函数设置的。在您的情况下,您设置min_freq_mhz=80MHz和max_freq_mhz=80MHz。这意味着CPU将在80MHz的频率下运行。

3. 关于实际CPU频率的问题:尽管C2启动后打印的日志显示为80MHz,但实际上CPU的频率可能不是80MHz。这是因为ESP32的CPU频率是晶振频率乘以一个系数。在您的情况下,晶振频率为26MHz,而锁相环将频率倍频到480MHz。如果设置min_freq_mhz和max_freq_mhz为80MHz,那么实际的CPU频率将是26MHz * 80 / 120 = 17.33MHz。这个值与您期望的80MHz有较大差距。

为了解决这个问题,您可以尝试调整esp_pm_configure函数中的参数,以使实际的CPU频率更接近80MHz。例如,您可以将min_freq_mhz和max_freq_mhz设置为120MHz,这样实际的CPU频率将是26MHz * 120 / 120 = 26MHz。虽然这个值仍然不是80MHz,但它更接近您期望的频率。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分