手撕原理图之微雪BME688模块

微雪的BME688模块资料:BME688 Environmental Sensor – Waveshare Wiki
原理图:https://www.waveshare.net/w/upload/c/ca/BME680_Environmental_Sensor.pdf

这里之所以选择了这个BME688的模块作为手撕的第一个原理图,第一也是想学习这个传感器的外围电路应该如何设计,以便后续可以使用,另外就是我觉得这种传感器模块的原理图非常简单,简单程度仅次于LED模块(led灯珠+电阻,笑)。

模块拓扑

模块整体来说还是比较简单的,总的来说包含以下部分:电源、BME688、输出端口。

大致拓扑如下,非常简单

file

前面一个稳压器用于兼容5V的电压输入,后面通过两个端口来决定使用IIC还是SPI。

稳压部分

在立创商城中,没有直接找到RT9193-33芯片,所以之类使用了引脚定义完全相同的RICHTEK(立锜)的RT9193-33GB,这是一个LDO,用于把5V的输入稳压为3.3V的输出。根据这款芯片的技术手册,RT9193后面的33即意为输出标准电压为3.3V,后面的GB,G意为GREEN,即绿色无铅,B表示为SOT-23-5封装。这样符合了微雪商城中“可兼容3.3V/5V的工作电平”的描述。

这里为了方便分析和修改,把原理图用立创EDA抄了一份

file

这是一个非常典型的LDO稳压电路。
VIN为电压输入引脚
GND为接地引脚
EN为使能引脚(注意根据立锜RT9193-33GB的技术文档描述,此引脚为高阻抗。当控制信号浮动时,应有一个下拉 100kΩ 电阻连接到 GND)
VOUT是电源输出引脚
BP是一个用于降低噪声的引脚。可以被浮空,但是如果想使其拥有最低的噪声,则需要连接一个22nF的电容然后接地(技术文档中描述)。

技术文档中典型使用如下

file

这也和本模块的使用基本一致,区别就是,本模块直接讲EN连到了VCC,使其强制开启,并且在输入电源的远端连接了一个10uF的电容用于过滤低频噪声,讲输出测文档中的1uF的电筒换为了10uF的电容,可能是处于过滤低频纹波考虑,提高输出稳定性。

BME680/BME688

这是博世公司的一个高精度温度、湿度、气压、气体传感器。

这里模块的原理图如下

file

传感器本身不需要什么外部连接,将SDO、SDI、CSB、SCK引出供后续使用,VDD和VDDIO连接3.3v电源,两个GND接地即可。然后根据技术手册中的说明,电源处连接两个100nF的电容,这里应该也是起到滤波作用。(技术手册的连线图太太太抽象了)

file

但是在此技术上,将上面引出的四个引脚分别连接了四个NMOS(实际上是两个NDC7002N),原理图如下(这里做了一些连接顺序的修改)

file

对于这部分,主要是利用NMOS处理了双向通信的逻辑。

IIC的上拉电阻,这样默认输出是高电平,G端给高电压后,开关联通,此时输出电平高低就看S端了。
S端是低电平,则输出就是低电平(相当于S端接地了)。这就是从主端到从端的输出。如果s端是高电平,则电压差变小,mos关闭,D端是被拉起的高电平
如果是从端到主端的输出,即D端的电平可以变化,S端是被动的 ,则主端会释放,即S端会是一个被上拉到3V3的高电平
那么由于S端也被添加了连接到3V3的上拉电阻,所以S端默认是高电平,此时和G端的电压差变小,mos就断开了,D和S不直接相通
此时如果D端输出低电平(接地),那么S和D就会产生电压差,nmos内部的寄生二极管就会在一瞬间导通D和S,此时s端短暂的变为低电压,G和S产生电压差,通路打开,S端继续维持低电压。
至于4.7k的上拉电阻阻值,也是根据技术手册中确定的。除此之外4.7k也是被广泛应用于IIC通讯的上拉电阻阻值。

在技术手册中表述,CSB可以用于选择通信模式,当使用IIC模式的时候,需要把VSB连到VDDIO上去。在这里的连接中,CSB给了一个上拉到3V3的电阻,而3V3又连接到VDD和VDDIO上去了,所以这里是默认联通的状态,即默认是IIC模式。但是如果输出的CS端口被连接,在默认情况下,G端和S端都是3V3电压,MOS是断开的,当D端的CS被连接在外部电路上的时候,形成了有效的汇率,VCC给输出的CS一个电压,此时给CS一个低电压(接地),D和S之间形成电势差,就按照上述类似的逻辑,是开关持续导通,CSB也变为低电压,最终就变为了SPI模式。这也就是外部提供了两中针脚可以提供协议选择的原理。

除此之外,原理图中还有一处测试点,连接的是传感器的SDO引脚。根据微雪的文档描述,测试点短接,可以用于设定IIC地址。根据传感器的技术文档,这里SDO引脚在IIC模式下,接地可以用于使用默认地址,这也就是切换地址的原理。

file

最后就是使用4pin 6pin两种将前面引出的输出接在外面,用于模块使用。

file

传感器的外围电路

借助上述模块,可以分析出该模块的外围电路,也就是实际集成在工程pcb中的电路。

对于外围电路来说,可以将模块大幅简化,减少重复元件的使用,减少成本。

固定使用IIC,不使用SPI,则把CSB接电源,如下

file

删掉测试端点,固定使用地址0x76,把SDO接地(如果需要另外一个BME680连接在总线上,就将其接电源)

file

这里一个电路应当有统一的电源管理,这里传感器的输入固定为3.3V,所以可以去掉电源芯片以及点评转换电路。由于删掉了电平转换,所以这里用一个4.7K的电阻把SDA和SCL上拉到3.3V

file

最终的外围电路如下(在实际工程中,应当删掉4pin,将其连接到其他电路中即可)

file

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇