RK3588平台开发系列讲解(硬件篇-功能外设2)
USB2.0/USB3.0 电路
RK3588 芯片内置两个USB3.0 OTG控制器(内嵌2个USB2.0 OTG,下图绿色处),1个USB3.0 HOST 控制器,2个USB2.0 HOST控制器。 这些控制器与PHY的内部复用图如下:

USB3.0 OTG0 控制器支持SS/HS/FS/LS, 内嵌的USB2.0(HS/FS/LS)信号采用USB2.0 OTG PHY, 信号名见下图的红色方框内;RK3588目前仅此接口支持做Fireware的Download,应用中请务必要预留出

USB 3.0 的 SS信号(5Gbps)与 DP1.4复用,采用USB/DP的Combo PHY;信号如下图的红色方框内。

由于USB3.0的OTG和USB2.0的OTG是同一个USB3.0的控制器,因此USB3.0和USB2.0的OTG 只能同时做Device或者做HOST,不能USB3.0的OTG做HOST,USB2.0的OTG做Device或者USB3.0 的OTG做Device而USB2.0的OTG做HOST。 USB3.0 Controller0 和 DP1.4 Controller0 通过USB3.0/DP1.4的Combo PHY0组合成一个完整的TYPEC 口,此Combo PHY支持Display Alter mode,Lane0 和 Lane2 在 DP mode 下做TX,在 USB mode下做RX;
TX和RX共享Lane0和Lane2。 USB3.0 Controller1 和 DP1.4 Controller1 组成的 TYPEC1 口同 TYPEC0 口一样,不再做重复描述。 这个USB3.0/DP1.4 的 Combo PHY 支持Lane间的交换(SWAP),因此一个TYPEC标准口可以有如 下五种的配置:
配置一:Type-C 4Lane(with DP function)

配置二:USB2.0 OTG+DP 4Lane(Swap OFF)

配置三:USB2.0 OTG+DP 4Lane(Swap ON)

配置四:USB3.0 OTG0+DP 2Lane(Swap OFF)

配置五:USB3.0 OTG+DP 2Lane(Swap ON)

USB2.0/USB3.0 设计中请注意:
TYPEC0_USB20_OTG_DP/TYPEC0_USB20_OTG_DM 是系统固件烧写口,如果产品不用这个接 口,在调试与生产过程中必须要预留此接口,不然会无法调试及生产烧写固件;
TYPEC_USB20_OTG0_ID内部有大概200Kohm电阻上拉到USB20_AVDD_1V8;
TYPEC_USB20_VBUSDET是OTG和Device模式检测脚,高有效,2.7-3.3V,TYP:3.0V,建议 在管脚放置一个100nF电容。
OTG模式可以设置以下三种模式:
OTG模式:根据ID脚状态自动切换是device模式或HOST模式,ID高为device,ID拉低为HOST, 处在device 模式时,还会判断VBUSDET脚是否为高(大于2.3V),如果为高,才会拉高DP, 开始枚举;
Device 模式:设置为这个模式时,无需ID脚,只需判断VBUSDET脚是否为高(大于2.3V), 如果为高,才会拉高DP,开始枚举;
HOST模式:设置为这个模式时,ID和VBUSDET状态都无需要关心。(如果产品只需要HOST 模式,但是由于仅TYPEC0_USB20_OTG_DP/ TYPEC0_USB20_OTG_DM是系统固件烧写口,在 调试与生产过程都需要用这个口,烧写和 adb 调试时,需要设置成 device 模式,因此 TYPEC_USB20/1_VBUSDET 信号也必须接)。

TYPEC 协议要求在SSTXP/N线上增加100nF交流耦合电容,AC耦合电容建议使用0201封装,更低 的ESR和ESL,也可减少线路上的阻抗变化。 TYPEC 座子所有信号都必须增加ESD器件,布局时靠近USB连接器放置。对于SSTXP/N,SSRXP/N 信号,ESD寄生电容不得超过0.3pF。
SATA3.0 电路
RK3588 芯片拥有3个SATA3.0控制器,和PCIe以及USB3_HOST2控制器复用PIPE PHY0/1/2,具体路 径请见下图。
支持SATA PM功能,每个port可以支持5个设备;
支持SATA 1.5Gb/s,SATA 3.0Gb/s,SATA 6.0Gb/s speeds ;
支持eSATA。

SATA设计中请注意:
Slot设计时,外围电路及电源需要满足Spec要求;
PCIE20_SATA30_0/1_AVDD_0V85/PCIE20_SATA30_USB30_2_AVDD_0V85 这三路 0.85V 合并 供电,需放置1x10uF+1x1uF +1x100nF去耦电容, 布局时,靠近RK3588管脚放置。 PCIE20_SATA30_0/1_AVDD_1V8/PCIE20_SATA30_USB30_2_AVDD_1V8 三路 1.8V 合并供电, 需放置2x1uF +1x100nF去耦电容,布局时,靠近RK3588管脚放置。
SATA接口的TXP/N,RXP/N 差分信号上串接的10nF交流耦合电容,AC耦合电容建议使用0201 封装,更低的ESR和ESL,也可减少线路上的阻抗变化;
eSATA接口座子所有信号都必须增加ESD器件,布局时靠近座子放置,ESD寄生电容不得超过0.4pF
PCIe2.0
Slot设计时,外围电路及电源需要满足Spec要求;
PCIe2.0接口的TXP/N差分信号上串接的100nF交流耦合电容,AC耦合电容建议使用0201封装, 更低的ESR和ESL,也可减少线路上的阻抗变化;
PCIE2.0_CLKREQn和PCIE20_WAKEn必须使用功能脚,不能用GPIO替代,特别说明:选择时, 必须都是选择_M0或_M1或_M2,不能一个_M0一个_M1;
PCIE20_PERSTn 可以选择功能脚也可以使用 GPIO 替代,选择功能脚时,必须和 PCIE20_CLKREQn 和PCIE20_WAKEn同一组_Mx;
标准的PCIe Slot:PCIE20_CLKREQn,PCIE20_WAKEn,PCIE20_PERSTn为3.3V 电平;
PCIE20_PRSNT为Add In Card插入检测脚,可以使用GPIO;
使用PCIE20功能时候,复用的SATA/USB30功能无法使用,SATA/USB30对应的功能模块说明;
PCIe2.0 功能模块没有使用,数据线 PCIE20_TXP/TXN、PCIE20_RXP/RXN 和参考时钟线 PCIE20_REFCLKP/ REFCLKN 悬空即可;
PCIe2.0接口匹配设计推荐如下表所示:

PCIE30_REF_CLKP/N 仅支持输入:
需要提供HCSL电平时钟输入;
必须提供满足PCIe3.0以上的时钟要求;
RK3588 PCIe3.0 X4Lane RC 模式。兼容PCIe3.0 X2Lane RC 模式,
兼容PCIe3.0 X1Lane RC 模式。
相关文章:
RK3588平台开发系列讲解(硬件篇-功能外设2)
USB2.0/USB3.0 电路 RK3588 芯片内置两个USB3.0 OTG控制器(内嵌2个USB2.0 OTG,下图绿色处),1个USB3.0 HOST 控制器,2个USB2.0 HOST控制器。 这些控制器与PHY的内部复用图如下: USB3.0 OTG0 控制器支持SS/H…...
SpringBoot学习记录
SpringBoot是用于加速Spring开发的。 我们先来看看如何使用SpringBoot来创建一个基于Web的程序,可以发现相较于SpringMVC其有巨大改变。 3.开发控制器类 GetMapping("/{id}")public String getById(PathVariable Integer id){System.out.println("…...
财富池指标--通达信顾比均线实战指标免费源码
顾比均线是由两组均线构成,短期组为3、5、8、10、12、15。长期组为:30、35、40、45、50、60。顾比均线由澳大利亚的投资家戴若-顾比先生发明,因此叫顾比线。 顾比均线可以广泛运用于股票、期货和外汇交易中,只要是能运用K线图的投…...
AJAX(一):初识AJAX、http协议、配置环境、发送AJAX请求、请求时的问题
一、什么是AJAX 1.AJAX 就是异步的JS和XML。通过AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。 2.XML 可扩展标记语言。XML被设计用来传输和…...
idea常用的快捷键总结:
idea常用的快捷键总结: Ctrl相关的: Ctrl F 在当前文件进行文本查找 (必备) Ctrl R 在当前文件进行文本替换 (必备) Ctrl Z 撤销 (必备) Ctrl Y 删除光标所在行 或 删除选中的…...
LeetCode 热题 100 题解(一):哈希部分
《LeetCode热题 100》 经过了两个多月,终于刷完了代码随想录的题目,现在准备开始挑战热题一百了,接下来我会将自己的题解以博客的形式同步发到力扣和 c 站,希望在接下来的征程中与大家共勉! 题组一:哈希 题…...
C语言 | qsort()函数使用
目录: 1.qsort介绍 2.使⽤qsort函数 排序 整型数据 3.使⽤qsort函数 排序 结构体数据 4. qsort函数的模拟实现冒泡排序 qsort()函数 是一个 C语言编译器函数库自带的排序函数, 它可以对指定数组(包括字符串,二维数组&#x…...
继承的特点 | java
/*Java中继承的特点:A:Java只支持单继承,不支持多继承。 B:Java支持多层继承(继承体系),间接继承 */class Father(){} class Mother(){}class son extends Father(){} // 正确 class son2 extends Father , Mother {} // 不正确 1. Java只支持单继承…...
6、jenkins项目构建类型-项目类型介绍
文章目录 一、自由风格项目1、拉取代码2、演示改动代码后的持续集成二、Maven项目构建三、Pipeline流水线项目构建(☆☆☆)1、Pipeline简介(1)概念(2)使用Pipeline有以下好处(3)如何创建Jenkins Pipeline呢?2、安装Pipeline插件3、Pipeline语法快速入门(1)Declarati…...
指针函数的应用——找出哪些学生有不及格的科目
下面的代码实现了以下功能: 定义了一个函数 getFailStudent,它接收一个指向整数数组的指针,并遍历该数组,查找是否存在不及格的成绩。如果找到了不及格的成绩,就返回指向不及格学生所在行的指针;否则返回 N…...
【微服务】Gateway
文章目录 1.基本介绍官方文档:https://springdoc.cn/spring-cloud-gateway/#gateway-starter1.引出网关2.使用网关服务架构图3.Gateway网络拓扑图(背下来)4.Gateway特性5.Gateway核心组件1.基本介绍2.断言3.过滤 6.Gateway工作机制 2.搭建Gat…...
王道C语言督学营OJ课后习题(课时14)
#include <stdio.h> #include <stdlib.h>typedef char BiElemType; typedef struct BiTNode{BiElemType c;//c 就是书籍上的 datastruct BiTNode *lchild;struct BiTNode *rchild; }BiTNode,*BiTree;//tag 结构体是辅助队列使用的 typedef struct tag{BiTree p;//树…...
Filter、Listener、AJAX
Filter 概念:Filter 表示过滤器,是JavaWeb三大组件(Servlet、Filter、 Listener)之一。 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。 过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感…...
FastAPI+React全栈开发04 FastAPI概述
Chapter01 Web Development and the FARM Stack 04 Introducing FastAPI FastAPIReact全栈开发04 FastAPI概述 Now we will look at a brief introducion to the Python REST-API framework of choice - FastAPI. Additionally, we will go over a high-level overview of t…...
基于单片机的二维码LCD显示控制设计
**单片机设计介绍,基于单片机的二维码LCD显示控制设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的二维码LCD显示控制设计是一个集硬件、软件与通信于一体的综合性项目。此设计的主要目标是实现单片机…...
Ubuntu20.04下PCL安装,查看,卸载等操作
Ubuntu20.04下PCL安装,查看,卸载等操作 项目来源 https://github.com/PointCloudLibrary/pclhttps://pointclouds.org/documentation/modules.htmlhttps://pcl.readthedocs.io/projects/tutorials/en/master/ 点云学习: https://github.c…...
Android TargetSdkVersion 30 安装失败 resources.arsc 需要对齐且不压缩。
公司项目,之前targetSDKVersion一直是29,近期小米平台上架强制要求升到30,但是这个版本在android12上安装失败,我用adb命令安装,报错如下图 adb: failed to install c: Program Files (x86)(0A_knight\MorkSpace \Home…...
c++20中的jthread再谈
一、介绍 在前面的C20新功能中,简单的介绍过相关的std::jthread的应用。当时觉得它虽然比std::thread方便一些,但也没有多大的优势。可在后面的不断的学习中,发现std::jthread的使用上确实有优秀之处,相对于传统的线程编程&#…...
Fastgpt 无法启动或启动后无法正常使用的讨论(启动失败、用户未注册等问题这里)
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景! FastGPT是非常实用并且相当厉害的个人知识库AI项目,项目是非常…...
Rust 实战练习 - 7. FFI, 库, ABI, libc
FFI FFI(Foreign Function Interface)是这样一种机制:用一种编程语言写的程序能调用另一种编程语言写的函数(routines)。 调用约定,类型表示和名称修饰这三者的统称,即是众所周知的应用二进制…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...
React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?
系列回顾: 在上一篇《React核心概念:State是什么?》中,我们学习了如何使用useState让一个组件拥有自己的内部数据(State),并通过一个计数器案例,实现了组件的自我更新。这很棒&#…...
【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录
#工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…...
