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.mzph.cn/news/110052.shtml

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

相关文章

互联网Java工程师面试题·Java 总结篇·第八弹

目录 72、用 Java 的套接字编程实现一个多线程的回显(echo)服务器。 73、XML 文档定义有几种形式?它们之间有何本质区别?解析XML 文档有哪几种方式? 74、你在项目中哪些地方用到了 XML? 72、用 Java 的套…

为网站配置SSL

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS…

【AI视野·今日Robot 机器人论文速览 第五十五期】Mon, 16 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Mon, 16 Oct 2023 Totally 27 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚***AcTExplore, 对于未知物体的主动触觉感知。基于强化学习自动探索物体的表面形貌,增量式重建。(from 马里兰…

uni-app通过 vuedraggable 创建上下拖动排序组件

我们右键项目 选择 使用命令行窗口打开所在目录 然后 在终端中输入 npm install vuedraggable --save导入 vuedraggable 然后组件编写代码如下 <template><view class"container"><draggable v-model"list" :options"dragOptions&…

ios设备管理软件iMazing 2.17.11官方中文版新增功能介绍

iMazing 2.17.11官方中文版(ios设备管理软件)是一款管理苹果设备的软件&#xff0c; Windows 平台上的一款帮助用户管理 IOS 手机的应用程序&#xff0c;软件功能非常强大&#xff0c;界面简洁明晰、操作方便快捷&#xff0c;设计得非常人性化。iMazing官方版与苹果设备连接后&…

Chrome 115之后的版本,安装和使用chromedriver

在Python中使用selenium 时报如下错误&#xff1a; 1. 老版本chrome对应的chromedriver 下载地址&#xff1a;CNPM Binaries Mirror 2. 新版本chrome对应的chromedriver 下载地址&#xff1a;Chrome for Testing availability

sd卡的坏块管理与负载均衡

坏块管理 坏块是指在存储介质中出现物理损坏或不可靠的数据块。由于SD卡使用的是闪存技术&#xff0c;它也面临着坏块的问题。 SD卡通过实现坏块管理机制来处理坏块。具体的坏块管理方法可能因制造商和产品型号而有所不同&#xff0c;但通常会采取以下策略&#xff1a; 坏块标…

Python 网络爬虫

爬虫原理 计算机一次Request请求和服务器端的Response回应&#xff0c;即实现了网络连接。 爬虫需要做两件事&#xff1a;模拟计算机对服务器发起Request请求。 接受服务器的Response内容并解析、提取所需的信息。 多页面爬虫流程 ​​​​​​​多页面网页爬虫流程

PLC 学习day02 硬件输入/输入的知识

1.资料来源 1.链接&#xff1a;三菱PLC视频教程全集之FX3U基本单元输入接线_哔哩哔哩_bilibili 2. 链接&#xff1a; 三菱plc视频教程全集之FX3U基本单元输出接线_哔哩哔哩_bilibili 2. PLC 的输入部分器件连接。 2.1 PLC输入部分的硬件知识 1. 一般输入部分是PLC获取信息的地…

WhatsApp 私域营销指南

当涉及到WhatsApp私域营销时&#xff0c;企业正逐渐意识到这个强大工具的潜力&#xff0c;为建立与用户之间更紧密的关系、提供个性化的服务和推广&#xff0c;以及增加用户忠诚度&#xff0c; WhatsApp已成为一个不可或缺的营销渠道。在如今竞争激烈的市场中&#xff0c;私域营…

基于SSM的仓库管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【SpringCloud微服务项目实战-mall4cloud项目(4)】——mall4cloud-rbac

mall4cloud-rbac角色权限访问控制模块 系统架构与模块介绍系统架构rbac模型介绍 相关代码权限校验接口代码 补充 代码地址 github地址 fork自github原始项目 gitee地址 fork自gitee原始项目 系统架构与模块介绍 系统架构 从图中可以看到&#xff0c;微服务集群中&#xff0c;…

03 里氏替换原则

官方定义&#xff1a; 里氏替换原则&#xff08;Liskov Substitution Principle&#xff0c;LSP&#xff09;是由麻省理工学院计算机科学系教授芭芭拉利斯科夫于 1987 年在“面向对象技术的高峰会议”&#xff08;OOPSLA&#xff09;上发表的一篇论文《数据抽象和层次》&#…

『Linux升级路』基本指令

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;Linux &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、认识操作系统 &#x1f4d2;1.1什么是操作系统 &#x1f4d2;1.2操作系统…

如何处理前端路由懒加载?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

js实现红包雨功能(canvas,react,ts),包括图片不规则旋转、大小、转速、掉落速度控制、屏幕最大红包数量控制等功能

介绍 本文功能由canvas实现红包雨功能&#xff08;index.tsx&#xff09;本文为react的ts版。如有其他版本需求可评论区观赏地址&#xff0c;需过墙 import React, { Component } from react; // import ./index.css; import moneyx from /assets/images/RedEnvelopeRain/bal…

算水质TDS加温度补偿

先上图&#xff0c;就图里这款水质检测&#xff0c;用树莓派3/4的话&#xff0c;要配个温度检测作为温度校正&#xff0c;以及一个adc 元器件。我选ds18b20和ads1115。 再把模拟数据计算过程放一下&#xff1a; 温度检测元器件在农历钟那里提过&#xff0c;就是同款。此处先测个…

Android11 移植memtester压测内存

需求如题&#xff0c;从网上下载了memtest源码压缩包&#xff0c;准备放到系统源码编译&#xff0c;然后push到板子上执行&#xff0c;结果&#xff0c;编译出来一堆问题&#xff0c;报build err。 做如下代码改动&#xff1a; external/memtester-4.5.1/Android.mk | 16 exte…

机器学习基础之《回归与聚类算法(4)—逻辑回归与二分类(分类算法)》

一、什么是逻辑回归 1、逻辑回归&#xff08;Logistic Regression&#xff09;是机器学习中的一种分类模型&#xff0c;逻辑回归是一种分类算法&#xff0c;虽然名字中带有回归&#xff0c;但是它与回归之间有一定的联系。由于算法的简单和高效&#xff0c;在实际中应用非常广…

使用cpolar内网端口映射技术实现U8用友ERP本地部署的异地访问

文章目录 前言1. 服务器本机安装U8并调试设置2. 用友U8借助cpolar实现企业远程办公2.1 在被控端电脑上&#xff0c;点击开始菜单栏&#xff0c;打开设置——系统2.2 找到远程桌面2.3 启用远程桌面 3. 安装cpolar内网穿透3.1 注册cpolar账号3.2 下载cpolar客户端 4. 获取远程桌面…