Camera BSP之GPIO/I2C/PMIC简介

3b154f0a282cfafcaddf09a2228f66d2.gif

和你一起终身学习,这里是程序员Android

经典好文推荐,通过阅读本文,您将收获以下知识点:

一、GPIO介绍
二、I²C 总线概括
三、PMIC 概括
四、思考

一、GPIO介绍

  • GPIO:General Purpose Input Output (通用输入/输出)

  • GPIOs are I/O pins that provide peripheral connections to the MSM™ chipset.

  • GPIOs can be configured as a general purpose I/O pin or alternative functions.

  • GPIOs can act as an interrupt source.

  • In a multiprocessor MSM, GPIO pins can be controlled by any master

b82c2b2a882af3872e5b3c8097ffe80f.jpeg

  • MSM GPIO 内部结构

a6d29d875b8c91c67c47159bbb0090d5.jpeg

二、I²C 总线概括

  • I²C 是Inter-Integrated Circuit的缩写,它是一种两线接口,一条 Serial Data Line (SDA) ,另一条Serial Clock (SCL)。

    • 内部结构如下图:

c02b97ff4d256042e5a120c8d8d11adb.jpeg

  • 速率:

  • 普通模式:100kHz;

  • 快速模式:400kHz;

  • 高速模式:1.0MHZ,3.4MHz;

  • I2C协议:

  • SDA传输数据是大端传输,每次传输8bit,即一字节。

  • 支持多主控(multimastering),任何时间点只能有一个主控。

  • 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.

  • 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定。

  • 空闲状态

  • I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。

  • 起始位与停止位的定义:

5525779eb7f9085047ca1fadae8c4624.jpeg

  • 起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。

  • 停止信号:当SCL为高期间,SDA由低到高的跳变;停止信号也是一种电平跳变时序信号,而不是一个电平信号。

81c163ea42823cfc37cb617da50ab442.jpeg

  • I2C位传输

  • SDA传输数据是大端传输,每次传输8bit,即一字节。

  • 地址会左移一位加上读写位发出去。注意停止位(master发送stop)(0:写;1:读)。

  • 数据传输:SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据bit;(高电平时候数据采样)若SDA发生跳变,则用来表示一个会话的开始或结束。

  • 数据改变:SCL为低电平时,SDA线才能改变传输的bit;

6bfd7c13f38bfb29fe8b39971a2eda1b.jpeg

  • I2C应答信号:

  • Master每发送完8bit数据后等待Slave的ACK。

  • 即在第9个clock,若从IC发ACK,SDA会被拉低。(写的ACK是0,读的ACK是1)

  • 若没有ACK,SDA会被置高,这会引起Master发生RESTART或STOP流程,如下所示:

  • 9d76ff1ecd5cd7a128326e6f4731cb41.jpeg

  • 两个实践例子

  • 下图为失败时i2c波形,由波形可看出主机端发送完i2c从端地址0x38后,从端未响应。

8936bf365e2424d7c6d8be929dc8299b.jpeg

  • 下面我们再看一下写成功时候的波形,由波形可看出i2c主机端发送从端地址0x38后,从端有ACK, 主机端继续发送要写入的寄存器地址0xA5, 从端ACK; 主机端继续发送写入寄存器的值0x03, 从端ACK。通信完成。

2eccedfcb511560bb119ab8a000864de.jpeg

三、PMIC 概括

  • PMIC:Power Management IC(电源管理芯片)

  • 包括以下主要功能

  • 1) Input Power Management

  • 2) Output Power Management

  • 3) General Housekeeping

  • 4) User Interfaces

  • 5) IC-level Interfaces

  • 6) PMIC Configurable I/Os

  • 以PM8941为例,框图如下:

1b6fbb37eed0996cbb6388d184a7d98b.jpeg

  • 输入电源管理:

  • 双充电和电压保护(OVP)

  • 快速切换充电路径

  • 自主充电

  • 反向升压模块和效率

  • 反向升压开关模式电池充电器(SMBB)架构和总结

c49808a23e5f05e92215cb926143f9e2.jpeg

  • SMBB Architecture:

71d54089d960108f1b0db127fb5fba7e.jpeg

  • SMBB的结构和特性总结

  • 快速自动充电路径切换的双充电路径

  • USB充电的OVP是+30V,充电电压范围是4.35~9.5V。

  • DC充电路径集成了+15V的OVP,充电电压范围是4.5V~9.5V,还可以外扩OVP的FET达到+30V的保护

  • 完全集成高效的开关模式充电器

  • 高达3A的充电电流。

  • 3.2MHz的开关频率。

  • 1A时效率90%,2.5A时效率85%。

  • 高电流压降补偿。

  • 升压电路可提供2A的电流到Vchg

  • 支持USB OTG,HDMI开关,LED,flash LED。

  • Output Power Management Content:

  • 输出包括多路降压BUCK和LDO供给不同的模块使用

  • BUCK电路如原理如下:

7f45df3ac429b5326a74ab8efcad2b8c.jpeg

  • 图中,VIN为输入电压,VOUT为输出电压,L为储能电感,VD为续流二极管,C为滤波电容,R1、R2为分压电阻,经分压后产生误差反馈信号FB,用以稳定输出电压和调输出电压的高低。电源开关管V既可采用N沟道绝缘栅场效应管(MOSFET),也可采用P沟道场效应管,当然也可用NPN型晶体管或PNP型晶体管,实际应用中,一般采用P沟道场效应管居多。

  • 降压式DC/DC变换器的基本工作原理是:V开关管在控制电路的控制下工作在开关状态。开关管导通时,VIN电压经开关管S、D极、储能电感L和电容C构成回路,充电电流不但在C两端建立直流电压,而且在储能电感L上产生左正、右负的电动势;开关管截止期间,由于储能电感L中的电流不能突变,所以,L通过自感产生右正、左负的脉冲电压。于是,L右端正的电压→滤波电容C一续流二极管VD→L左端构成放电回路,放电电流继续在C两端建立直流电压,C两端获得的直流电压为负载供电。因此,降压式DC/DC变换器产生的输出电压不但波纹小,而且开关管的反峰电压低。

  • 高通PMU采用同步整流技术,利用导通电阻很低的专用功率MOS管来取代整流二极管,可以降低整流损耗,能大大提高DC/DC的效率。要求MOS管的G极电压和被整流的电压相位要同步,所以称为同步整流。当输出电压降低时,二极管的正向压降就变得很重要,因为这个电压很难降到0.3V以下,会大大影响转换效率。采用导通电阻很低的功率MOS管,在MOS管上损耗的压降会比二极管小很多,大大提高转换效率。

  • 高通BUCK电路内部结构

78c4022b3e1c93716cce3def36718e69.jpeg

  • LDO是low dropout regulator,意为低压差线性稳压器,是相对于传统的线性稳压器来说的。传统的线性稳压器,如78xx系列的芯片都要求输入电压要比输出电压高出2v~3V以上,否则就不能正常工作。但是在一些情况下,这样的条件显然是太苛刻了,如5v转3.3v,输入与输出的压差只有1.7v,显然是不满足条件的。针对这种情况,才有了LDO类的电源转换芯片。具有成本低,噪音低,静态电流小,需要的外接元件少等优点。缺点是效率偏低。LDO的输入电流基本上是等于输出电流,效率等于输出电压/输入电压,如果压降太大,损耗就很大。

  • LDO的基本电路如下:该电路由串联调整管VT、取样电阻R1和R2、比较放大器A组成。取样电压加在比较器A的同相输入端,与加在反相输入端的基准电压Uref相比较,两者的差值经放大器A放大后,控制串联调整管的压降,从而稳定输出电压。当输出电压Uout降低时,基准电压与取样电压的差值增加,比较放大器输出的驱动电流增加,串联调整管压降减小,从而使输出电压升高。相反,若输出电压Uout超过所需要的设定值,比较放大器输出的前驱动电流减小,从而使输出电压降低。

1f6559c16c1fc7b46d657cbda7f27ca2.jpeg

  • General Housekeeping:

  • HK/XO ADC circuits 如下图:

  • 包括系统时钟和ADC

c96a0c5f1b58415061d32d614667425a.jpeg

  • User interface

  • Light pulse generators(LPG)

  • RGB LED driver

  • flash driver

  • White LED support

  • Keypad interface

  • Vibration motor driver

e2202c7c85a8bef5b6332b8620d1d3cf.jpeg

  • IC-level Interfaces:

  • OPT hardware configuration controls

  • programmable boot sequence (PBS)

  • Poweron/poweroff sequence

  • Reset

  • Under-voltage lockout

  • Sudden momentary power loss (SMPL)

  • SPMI and interrupt managers

  • Modem power management support

665ee63a4c41642a2125690414184f5d.jpeg

  • PMIC Configurable I/Os

  • GPIO

  • MPP


四、思考

1、 高通的处理器GPIO可以设置成哪些模式?
2 、I2C的起始信号在什么时候发生?
3 、I2C完整传传输一个字节有多少bit?
4 、PMIC的主要作用是什么?
5、 请说明BUCK和LDO的优缺点。

来源: 影像技术栈
文章作者: Abalone
文章链接: https://camerastacker.com/2022/071028925.html

参考文献:

【腾讯文档】Camera学习知识库
https://docs.qq.com/doc/DSWZ6dUlNemtUWndv

至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

a0b0734b364ac25bf62759334987b70d.jpeg

点击阅读原文,为大佬点赞!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/140113.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3实现在element Dialog 对话框中预览pdf文件

最近有一个需求就是点击按钮在弹框中去预览pdf文件,于是发现了一个HTML中比较重要的标签:embed,前面说的需求就可以用这个标签来实现,一起来学习一下吧。 embed标签是HTML中的一个非常重要的标签,它可以在你的网页上插…

《golang设计模式》第三部分·行为型模式-01-责任链模式(Chain of Responsibility)

文章目录 1 概念1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1 概念 责任链(Chain of Responsibility)是指将客户端请求处理的不同职责对象组成请求处理链。 客户端只需要将请求交付到该链上,而不需要关心链上含有哪些对象。请求…

音频录制和处理软件 Audio Hijack mac中文版说明

Audio Hijack mac是一款功能强大的音频录制和处理软件,它可以帮助用户从各种来源捕获和处理音频。 首先,Audio Hijack具有灵活的音频捕获功能。它支持从多个来源录制音频,包括麦克风、应用程序、网络流媒体、硬件设备等等。你可以选择捕获整个…

华为云应用中间件DCS系列—Redis实现(电商网站)秒杀抢购示例

云服务、API、SDK,调试,查看,我都行 阅读短文您可以学习到:应用中间件系列之Redis实现(电商网站)秒杀抢购示例 1 什么是DEVKIT 华为云开发者插件(Huawei Cloud Toolkit)&…

MySQL-逻辑架构

MySQL-逻辑架构 1.逻辑架构剖析 1.1服务器处理客户端请求 MySQL属于典型的C/S架构,客户端进程发送请求,服务端进程处理请求。处理的基本流程如下。 MySQL的逻辑架构如下: Connectors:与服务端程序连接的程序。 Manager Servic…

网络工程师知识点7

111、IS-IS路由器的三种类型? Level-1路由器(只能创建level-1的LSDB) Level-2路由器(只能创建level-2的LSDB) Level-1-2路由器(路由器默认的类型,能同时创建level-1和level-2的LSDB)…

竞赛 深度学习乳腺癌分类

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度,召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

NFTScan 支持非 EVM 公链的 NFT Collection 的认证功能

截止到 2023 年 10 月份,NFTScan 已经支持了 18 条区块链网络,其中有 14 条 是 EVM 兼容的区块链网络: Ethereum、BNBChain、Polygon、zkSync、Base、Linea、Arbitrum、Optimism、Avalanche、Fantom、PlatON、Cronos、Gnosis、Moonbeam。 另…

线性代数-Python-01:向量的基本运算 -手写Vector -学习numpy的基本用法

文章目录 代码目录结构Vector.py_globals.pymain_vector.pymain_numpy_vector.py 一、创建属于自己的向量1.1 在控制台测试__repr__和__str__方法1.2 创建实例测试代码 二、向量的基本运算2.1 加法2.2 数量乘法2.3 向量运算的基本性质2.4 零向量2.5 向量的长度2.6 单位向量2.7 …

ChatGPT快速入门

ChatGPT快速入门 一、什么是ChatGPT二、ChatGPT底层逻辑2.1 实现原理2.2 IO流程 三、ChatGPT应用场景3.1 知心好友3.2 文案助理3.3 创意助理3.4 角色扮演 一、什么是ChatGPT ChatGPT指的是基于GPT(Generative Pre-trained Transformer)模型的对话生成系…

WordPress 常规设置页面调用媒体中心上传图片插入URL(新版可用)

首先,我们需要在主题或插件文件夹中创建一个 JavaScript 文件(如:media-uploader.js),该文件中包含如下代码。 /*** 媒体中心上传 js **/ jQuery(document).ready(function($){var mediaUploader;$(#upload_image_but…

大数据开发中的秘密武器:探索Hadoop纠删码的奇妙世界

随着大数据技术的发展,HDFS作为Hadoop的核心模块之一得到了广泛的应用。为了系统的可靠性,HDFS通过复制来实现这种机制。但在HDFS中每一份数据都有两个副本,这也使得存储利用率仅为1/3,每TB数据都需要占用3TB的存储空间。因此&…