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)。 调用约定,类型表示和名称修饰这三者的统称,即是众所周知的应用二进制…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
