| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 3568开发板android移植-配置 IO 电源域 -> 正文阅读 |
|
[嵌入式]3568开发板android移植-配置 IO 电源域 |
1?电源域的概念 其实就是管理?IO?输出的电平;假如硬件上?IO?电源域配置为?3.3V,则?IO?输出最大电平为?3.3V;同理?IO?电源域硬件配置为?1.8V,则?IO?输出最大电平是?1.8V;这样有利于?IO?电平 的灵活配置;IO?电源域一般都会接到?PMU?电源芯片不同组的?LDO,由?PMU(电源管理芯片) 配置输出电平,因为?PMU?的?LDO?可以在?DTS?上配置不同的电压;这样不至于把?IO?的输出 最大的电平写死,可动态调整;?RK356x?共有?10?个独立的?IO?电源域,分别为?VCCIO[1:7]和?PMUIO[0:2],从?rk3568 的数据手册可以看出,如下图所示: ? ? 其中: PMUIO0、?PMUIO1 为固定电平电源域,不可配置;?其余?IO domain 均可进行配置:PMUIO2?和?VCCIO1,VCCIO[3:7]电源域均要求硬件供电电?压与软件的配置(也就是 dts 配置信息)相匹配;VCCIO2?电源域的供电与?FLASH_VOL_SEL 状态关系必须保持一致。kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi?设备树配置?io 电源域如下所示: &pmu_io_domains { status = "okay"; pmuio1-supply = <&vcc3v3_pmu>; pmuio2-supply = <&vcc3v3_pmu>; vccio1-supply = <&vccio_acodec>; vccio3-supply = <&vccio_sd>; vccio4-supply = <&vcc_1v8>; vccio5-supply = <&vcc_3v3>; vccio6-supply = <&vcc_1v8>; vccio7-supply = <&vcc_3v3>; }; 那么是为啥要这样配置呢?接下来查看原理图一一进行讲解。 2 IO?电源域配置方法 首先我们在核心板原理图上找到相关的?IO?电源域,以下依次讲解。 2.1 VCCIO2?解析 RK3568_I(VCCIO2 Domain)原理图如下图所示: ? ? 由上图文字描述可知,VCCIO2?的供电电压由?FLASH_VOL_SEL(GPIO0_A7_u)的电平状态决定。也就是说,如果?GPIO0_A7_u 输入为高电平,VCCIO_FLASH?必须是?1.8V,VCCIO2 为1.8V;如果?GPIO0_A7_u 输入为低电平,VCCIO_FLASH?必须是?3.3V,VCCIO2?为?3.3V;那么?GPIO0_A7_u/FLASH_VOL_SEL 输入是多少呢?继续查看原理图,如下图所示: 从上面的原理图我们可以看到?FLASH_VOL_SEL?通过上拉电阻连到了?3v3?的电源上,因此这个引脚为高电平。那么?VCCIO_FLASH?必须是?1.8V,VCCIO2?为?1.8V,因此?VCCIO2?的?IO 电源域完全是由硬件决定,dts 上不需要配置。 2.2 VCCIO1?解析 接着来看?VCCIO1 的原理图,如下图所示: ? ? 由上图可知,VCCIO1?的?IO?电源域是?VCCIO_ACODEC,那么?VCCIO_ACODEC?是接到电源管理芯片?RK809?的?LDO4 上,如下图所示: 从上图不难看出,VCCIO1?的电源域接入的是?3.3V 电压,VCCIO1?的?IO?电源域是?3.3V。 VCCIO_ACODEC?是接到?rk809?上面音频编解码使用的。所以我们看看设备树里面?rk809?的配 置,如下图所示: rk809: pmic@20 { .................................. vccio_acodec: LDO_REG4 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vccio_acodec"; regulator-state-mem { regulator-off-in-suspend; }; }; .................................. }; 由上可知,regulator-min-microvolt?和?regulator-max-microvolt?是?3.3V,不是动态调整的。所以设备树上配置:vccio1-supply = <&vccio_acodec>; 3 VCCIO3?解析 接下来来看?VCCIO3?的原理图,如下图所示: 由上图可知,VCCIO3?的?IO?电源域是?VCCIO_SD,VCCIO_SD?是接到?rk809?的?LDO5?上,如 下图所示: ? 从上图可以看出,这部分是给?TF?卡外设使用的,我们继续查看设备树里面关于?rk809 的配置, rk809: pmic@20 { .................................. vccio_sd: LDO_REG5 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-name = "vccio_sd"; regulator-state-mem { regulator-off-in-suspend; }; }; }; 可看到?regulator-min-microvolt=1.8V?和?regulator-max-microvolt=3.3V,即?vccio_sd?的电压 范围为?1.8~3.3V,电压是可动态调整;假如?vccio_sd 的电压动态调整了,VCCIO3?的?IO?电源 域电压也会跟随?vccio_sd?的电压进行动态调整。所以?dts 上配置引用为:vccio3-supply = <&vccio_sd>; 4 VCCIO4?解析 VCCIO4 原理图如下图所示: ? 由上图可知,VCCIO4?连接的?1.8V,DNP 是不焊接的意思 ? VCC_1V8?是接到?PMU?的?BUCK5 上,如下图所示: ? BUCK5?是属于?DCDC_REG5,查看设备树如下图所示: rk809: pmic@20 { vcc_1v8: DCDC_REG5 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc_1v8"; regulator-state-mem { regulator-off-in-suspend; }; }; }; DCDC_REG5?动态调整的电压最小和最大值都为?1.8V,所以该路只输出?1.8V,不进行电压动态调整;即?dts 上配置为:vccio4-supply = <& vcc_1v8>; 5 VCCIO5?解析 VCCIO5 电路图如下图所示: ? 由上图可知,VCCIO5?的电源域是?VCC_3V3,VCC_3V3?连接到?rk809?的?2.1A SWOUT1,如 下图所示: ? 我们继续查看设备树里面关于?rk809?的配置,如下所示: rk809: pmic@20 { .................................. vcc_3v3: SWITCH_REG1 { regulator-always-on; regulator-boot-on; regulator-name = "vcc_3v3"; regulator-state-mem { regulator-off-in-suspend; }; }; }; 可看到?vcc_3v3?是?3.3V ,所以?dts 上配置引用为:vccio5-supply = <&vcc_3v3>; ?? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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:27:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |