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)。 调用约定,类型表示和名称修饰这三者的统称,即是众所周知的应用二进制…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...