IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 超低功耗MCU--Apollo 3 Blue 硬件开发之BLE断联故障分析与解决(晶振波形畸变与矫正,谐振电容匹配) -> 正文阅读

[嵌入式]超低功耗MCU--Apollo 3 Blue 硬件开发之BLE断联故障分析与解决(晶振波形畸变与矫正,谐振电容匹配)

前言

最近开发Apollo 3 Blue MCU(业界超低功耗MCU)硬件设备,用了近3周时间一个解决了BLE断联的故障。
Apollo 3 Blue MCU配置
在这里插入图片描述
Features
Ultra-low supply current:

  • 6 μA/MHz executing from FLASH or RAM at 3.3 V
  • 1 μA deep sleep mode (BLE in shutdown) with RTC at 3.3 V
    High-performance ARM Cortex-M4 Processor:
  • 48 MHz nominal clock frequency, with 96 MHz high performance TurboSPOT? Mode
  • Floating point unit
  • Memory protection unit
  • Wake-up interrupt controller with 32 interrupts
    Integrated Bluetooth1 5 low-energy module:
  • RF sensitivity: -93 dBm (typical)
  • TX: 3 mA @ 0 dBm, RX: 3 mA
  • TX peak output power: 4.0 dBm (max)
    Ultra-low power memory:
  • Up to 1 MB of flash memory for code/data
  • Up to 384 KB of low latency/leakage SRAM for code/data
  • 16 KB 2-way Associative/Direct-Mapped Cache
    Ultra-low power interface for on- and off-chip sensors:
  • 14 bit ADC at up to 1.2 MS/s, 15 selectable input channels
  • Voltage Comparator
  • Temperature sensor with +/- 3oC accuracy after calibration
    ISO7816 Secure interface
    Flexible serial peripherals:
  • 1x 2/4/8-bit SPI master interface (MSPI)
  • 6x I
    2C/SPI masters for peripheral communication
  • I
    2C/SPI slave for host communications
  • 2x UART modules with 32-location TX and RX FIFOs
  • PDM for mono and stereo audio microphone
  • 1x I2S slave for PDM audio pass-through
    Rich set of clock sources:
  • 32.768 kHz XTAL oscillator
  • Low frequency RC oscillator – 1.024 kHz
  • High frequency RC oscillator – 48/96 MHz
  • RTC based on Ambiq’s AM08X5/18X5 families
    Wide operating range: 1.755-3.63 V, –40 to 85°C
    Compact packages:
  • 5 x 5 mm (<0.5mm thick pkg) 81-pin BGA with 50 GPIO
  • 3.37 x 3.25 mm (<0.35mm thk pkg) 66-pin WLCSP with 37
    GPIO
  • 3.37 x 3.25 mm (<0.30mm thk pkg) 66-pin WLCSP with 37
    GPIO (Apollo3 Blue Thin MCU)

故障描述

设备在开机之后连接上蓝牙后 数据传输5-6s之内就断联了,之后蓝牙ID也搜索不到,设备上的一橙绿双色LED 在固件设置下 橙灯闪烁 最后常亮,指示出现故障。

故障排除

查了Apollo3 EVB的BOM发现有几个是与原元件差别很大的
在这里插入图片描述
选了推荐的电感元件之后次日安装调试

效果有改善 但是运行1h30min之后还是出现故障

之后怀疑是晶振问题 (硬件设计上32K晶振附近的电容差别很大)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b7CHktbO-1648293081812)(6A11D8CD0C5B46938625A88800679BAE)]

探索的过程如下:

*去掉32M和32k晶振的15pF电容(EVB上电容为NC)


之后测量32M和32K波形:

32M

32K
在这里插入图片描述
设备橙灯常亮时32K波形:
设备橙灯常亮时32K波形

看起来与正常运行时相差不大

对比另一台相同原理图设备的32K晶振波形图片

在这里插入图片描述

*显示故障设备32K的波形存在畸变(猜测主要原因是谐振电容不匹配)

查阅相关资料 猜测如果晶振波形畸变之后可能导致内部时基电路分频不准

进而CPU工作异常

后搜索 晶振 波形畸变→晶振电容匹配及晶振电路设计注意事项

附:晶振电路设计注意事项

  1. 当晶振输出波形出现削峰或畸变时,可增加负载电阻调整(几十K到几百K);若要稳定波形,则可尝试并联一个1M左右的反馈电阻。

  2. 使晶振、外部电容器(如果有)与 IC之间的信号线尽可能保持最短。当非常低的电流通过IC晶振振荡器时,如果线路太长,会使它对 EMC、ESD 与串扰产生非常敏感的影响,而且长线路还会给振荡器增加寄生电容。

尝试添加1M电阻

*效果不明显(测不出来)

查看周围电路后分析:


图中1路径的线长大于2路径 可能会导致晶振两端的谐振电容不匹配

路径长的一段电容值大,(谐振电容值很小 pF量级

因此在尝试在较短的路径上增加电容容量
在这里插入图片描述

到这里实验时 设备已经可以正常运行12h以上 没有出现BLE Crash现象了

之后为了方便组装换成47pF 波形表现

换成47pF
在这里插入图片描述

看起来波形曲线更加接近正弦曲线

问题应该是得到了解决

但是问题是如何导致的?以及以后如何进行预防等才是更加重要的部分

首先回归问题本身

波形畸变→蓝牙出现运行问题(连接之后运行不正常)

添加适当的谐振电容

波形近似拟合正弦→ 设备运行正常 蓝牙正常

那么 问题转换成:

为什么波形畸变可以导致蓝牙断联消失 设备运行故障?

可以从晶振辅助MCU工作的原理上查找

百度百科:晶体振荡器工作原理

晶振具有压电效应。

即在晶片两极外加电压后晶体会产生变形,反过来如外力使晶片变形,则两极上金属片又会产生电压。

如果给晶片加上适当的交变电压,晶片就会产生谐振

(谐振频率与石英斜面倾角等有关系,且频率一定)。

晶振利用一种能把电能和机械能相互转化的晶体,在共振的状态下工作可以提供稳定、精确的单频振荡。

在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。

利用该特性,晶振可以提供较稳定的脉冲,广泛应用于微芯片的时钟电路里。晶片多> 为石英半导体材料,外壳用金属封装。

晶振常与主板、南桥、声卡等电路连接使用。

晶振可比喻为各板卡的“心跳”发生器,如果主卡的“心跳”出现问题,必定会使其他各电路出现故障。

简单来说就是晶振可以给各种处理器一个时基信号

但是回看最早的畸变波形图,即便是有些畸变似乎也是可以提供时基信号的

那么,这个时基信号是如何提供给MCU这种典型的处理器呢?

博客园:单片机:晶振与MCU关系

通常一个单片机系统共用一个晶振,便于各部分保持同步,现在也有部分单片机有两个晶振。

有些通讯系统的基频和射频使用不同的晶振,我们可以通过电子调整频率的方法保持同步。

单片机系统中晶振的主要作用就是为系统提供基本的时钟信号,晶振通常与 ++锁相环电路++ 配合使用,来提供系统所需的时钟频率。

如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。

所以说,单片机中没有了晶振,也就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作,程序也就无法烧入。

因为单片机工作时,是一条一条地从RoM中取指令,然后逐步执行。我们把单片机访问一次存储器的时间称之为一个机器周期,这是一个时间基准。

从上文的描述中大致知道了MCU与晶振工作的基本原理

中间的联系指向:锁相环电路

CSDN: PLL(锁相环)电路原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1wo5Ptp8-1648293081815)(19942EEA801347CEB80FF50307906326)]

简单来说就是,数字信号中各种信号的相位可能会不同(主要是方波) 12Mhz 80Mhz

不仅是不同频率的相位不同 相同频率的相位也有可能不同,那么就需要一种电路将相位对准

锁相环就是做这个的(类似交流电并网输电也是用的这个原理,将正弦相位对准)

还是没解释波形畸变为什么会导致运行故障

但是好像数量级有点不对:

Apollo官网

在这里插入图片描述
32K的晶振如何可以产生96Mhz的频率呢?

首先是晶振出来的正弦波,转换成方波 方波经过锁相环变为高频方波

CSDN:时钟分频原理 - 时钟分频原理详解

[
等等,正弦波是如何变为方波的呢?

过零比较器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCkSl36d-1648293081816)(D0D44B3E64BA4EBA88C42B68D7B3B4DD)]
假如此时波形畸变

此时产生的方波占空比就远小于50%,有可能影响后续倍频电路工作

在这里插入图片描述

因此在后续开发时要注意晶振出来的信号是否近似接近正弦曲线

至此问题应该是找到原因和出错机理了。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:41:35  更:2022-03-30 18:45:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:46:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码