自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 88、合并两个有序数组

创作纪念日就以一道简单题结束吧哈哈哈。

2023-11-24 10:16:59 445

原创 十四、USB PD之状态机

简单来讲状态机,就是做出某个动作或执行某一个行为满足了某一条件就进入或切换到某一个状态,比如:人.饿 ->吃饭->人.饱饿 就是人的状态,吃饭就是人的动作或行为,吃饱了满足条件,进入到另一个饱的状态,这是对状态机的简单举例。

2023-11-23 20:00:00 1443 1

原创 十三、USB PD之Power Supply(电源供应)

USB PD Source表现出以下行为:Source大容量电容不得放置在收发器隔离阻抗与USB插座之间。Source大容量电容包括如下图所示的C1和C2。欧姆连接可能包括用于电源分配或电源开关设备的PCB走线。欧姆连接也可能是由Source实施的电路的一部分,用于限制其VBUS输出电压(OVL),如“输出电压限制”中所述。虽然Source应限制其输出电压,但根据“输入过压保护”中所述,Sink应实施Sink过压保护以防止过高的VBUS输入电压。电容可能是单一电容、电容组或分布电容。如果电源供应共享在多个端

2023-11-22 20:00:00 1111

原创 十二、USB PD之设备策略管理器

设备策略管理器负责管理或USB电源传输端口使用的。为了有足够的信息来完成这项任务,它需要有关的。首先,它对设备有,包括每个端口上的电源和插座的能力,因为这些电源和插座例如具有特定的额定电流。它还必须从USB-C端口控制模块了解有关电缆插入、电缆类型和额定值等的信息。它还必须获得有关其的电源信息,并能够请求。利用所有这些信息,能够有关特定端口可用功能的,并设备内的。在计算给定源端口的功能时,设备策略管理器将端口插座的,以及插入的电缆是PD额定值还是非PD额定值,如果是,插头的功能是什么。

2023-11-21 20:00:00 309

原创 十一、USB PD 之 Policy Engine(策略引擎)

每个端口有一个策略引擎实例与设备策略管理器交互,以便为该特定端口实现当前本地策略。各种操作的消息序列。包括Source、Sink和电缆插头操作的状态图。设备策略引擎基于预期的消息序列和当前本地策略来驱动消息序列和响应。AMS应定义为以PE_SRC_Ready或状态开始和/或结束的消息序列(见第8.3.3.2节“策略引擎源端口状态图”、第8.3.3.3节“策略发动机接收端口状态图“和第8.3.3.26节“电缆插头特定状态图”)。此外,第8.3.3.24.3节中规定的电缆插头发现顺序应定义为AMS。

2023-11-18 00:00:00 529 2

原创 十、USB PD协议层之Reset

重置是对协议或其他错误条件的必要响应。USB电源传输定义了四种不同类型的重置:•,重置协议。•,用于重置USB通信。•,可重置电源和协议•,用于重置电缆。

2023-11-17 18:00:00 820

原创 九、USB PD协议层之counters

触发USB电源传输功能的源重新发送Source_Capabilities消息,该Source此前已停止发送Source_Cabilities消息。被实现并且Source检测到Sink被连接时,那么在nCapsCountSource_Capabilities消息被发送之后,Source应确定Sink没有响应,停止发送Source_Capability消息并禁用PD。的实现是可选的,但任何希望在一段时间后不发送Source_Capabilities消息来保持电源的Source都可以使用。

2023-11-16 20:45:00 255

原创 八、USB PD协议层之定时器

定时器的作用就是在限定消息传递的时间范围,比如我要发一个Message,发送之后我就等待接收,在Message最后一位发送完成时,就需要开启一个定时器,在这个定时器到期之前完成接收,否则需要进行相应的处理。以下所有定时器都是根据总线上的位来定义的,而不管它们在逻辑体系结构的何处实现。这是为了确保定时器的启动和停止有一个固定的参考。由实现者来确保在实际系统中遵守这个时间安排。

2023-11-16 09:06:26 778

原创 七、USB PD协议层之扩展消息

扩展消息应包含一个扩展消息头(由正在设置的消息头中的扩展字段指示),后面跟着零个或多个数据字节。在本规范的未来版本中,可能添加到现有消息中的其他字节应被忽略。扩展消息的格式由消息头的消息类型字段定义,并在表6.54“扩展消息类型”中进行了总结。“发送者”列表示可以发送给定消息的实体(源、接收器或电缆插头);未列出的实体不得发布相应的消息。“数据包的有效开始”列表示只能在SOP数据包中发布的消息和可以在SOP*数据包中发出的消息。

2023-11-16 07:00:00 622

原创 六、USB PD协议层之数据消息

一旦保证能力源对能力不匹配做出响应,它就不应随后在较低的PDP上发送另一个Source_Capability消息或EPR_Source_Capabilities消息,除非Sink所需的功率(如其信宿能力消息、EPR_Sink_Capabilitys消息或信宿能力扩展消息中所示)也已降低。Sink负责不获取比它所请求的更多的电流。每次USB电源传输Source发送包括功率储备能力的能力,然后接受来自Sink的包括由其最大工作电流/功率指示的功率储备的请求时,它确认功率储备是与Sink的明确合同的一部分。

2023-11-15 19:45:00 1640

原创 五、USB PD协议层之控制消息

GoodCRC消息应由接收方发送,以确认之前的消息已经被正确的接收,GoodCRC消息应返回消息的MessageID,以便发送方可以确定正在确认正确的消息。DR_Swap消息用于在端口伙伴之间交换DFP和UFP操作,同时保持VBus上功率的流向,端口合作伙伴可以使用DR_Swap流程,无论他们是否支持USB通信功能,支持USB通信功能的DFP作为USB Host连接,支持USB通信功能的UFP作为USB Device连接。Not_Support消息应通过端口或电缆插头发送,以响应其不支持的任何消息。

2023-11-13 14:40:16 796

原创 四、USB PD协议层之消息

先来看看协议层主要做什么事情:本章描述了USB电源传输规范协议层的要求,包括:先来了解一下Message,本规范定义了三种类型的Message:所有消息应由消息头和可变长度(包括零)数据部分组成。消息源自协议层并传递到物理层,或者它由物理层接收并传递到协议层。下图说明了一个控制消息作为一帧数据包的一部分,显示了由协议层和物理层提供的部分。下图说明了一个数据消息作为一帧数据包的一部分,显示了由协议层和物理层提供的部分。下图说明了一个扩展消息作为一帧数据包的一部分,显示了由协议层和物理层提供的部分。如下表“消息

2023-11-10 10:37:25 654

原创 二、USB PD架构概述

简单了解一下USB PD协议大致框架是怎么样的,以及它的协议是怎么样在整个链路中传输的,内容摘自USB PD3.2协议文档。此外,可以作为USB设备操作的USB供电设备可以通过USB进行通信(见下图“USB供电通信通过USB”)。通过USB使用根端口与PD设备通信,通过USB Hub树管理各个端口到端口的连接。以提供和更新USB域中的PD相关信息。注意PD设备不需要具有USB设备接口。(端口对)之间的逻辑块。对话,以管理Provider或Consumer中的资源。架构,其中每个USB电源传输能力的设备由。

2023-11-09 15:23:52 794 2

原创 三、USB PD物理层

物理层(PHY层)定义了USB电源传输的信令技术。本章定义了USB PD设备之间的互操作性所需的PD物理层的电气要求和参数。

2023-11-08 16:06:00 842

原创 一、USB PD协议简介

本规范定义了USB设备如何通过USB电缆协商比[USB 2.0]、[USB 3.2]、[USBBC 1.2]规范中定义的USB电缆(使用USB类型-C®CC线作为通信通道)更多电流或更低的电压。它允许比当今规范更强大的设备从VBUS获得运行所需的电力,并与外部电源(例如,壁墙)协商。此外,它允许源和接收器交换电源角色,这样设备就可以向主机提供电源。例如,一个显示器可以为笔记本电脑供电,给电池充电。本规范定义了发现输入和退出由标准或特定供应商定义的模式的机制。

2023-11-08 15:41:49 1823

原创 【CSDN Markdown 用法】

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2023-11-06 11:38:29 28

原创 USB协议入门

USB入门

2023-08-07 11:26:33 546

原创 五、IMX6ULL主频和时钟配置

本章学习IMX6U时钟和主频配置图中一共分为三部分1、CLOCK SWITCHER:时钟切换器 7路PLL 8路PFD2、CLOCK ROOT GENERATOR:时钟根发生器 给外设选择合适的时钟源3、SYSTEM CLOCKS:系统时钟 外设时钟。

2023-07-19 21:39:47 721

原创 四、IMX6ULL按键输入

一、IMX6LL裸机点亮一颗LED二、移植IMX6ULL_SDK点亮LED三、IMX6ULL BSP工程管理。

2023-07-18 19:56:27 146

原创 三、IMX6ULL BSP工程管理

第一章 IMX6LL裸机点亮一颗LED第二章 移植IMX6ULL_SDK点亮LED。

2023-07-13 10:31:19 98

原创 二、移植IMX6ULL_SDK点亮LED

从裸机到系统。

2023-07-13 10:00:51 175

原创 一、IMX6LL裸机点亮一颗LED

励志做一名合格的嵌入式Linux软件工程师,努力学习驱动和应用开发。裸机就是使用操作寄存器的方法,控制GPIO等外设,当然也需要启动文件。启动文件一般是汇编写的,用于设置堆栈指针等。

2023-07-08 12:02:58 207

原创 ARM汇编基础,寄存器及汇编基础指令讲解

我现在将R0~R9这10个寄存器压栈,当前的SP指针指向0x80000000,堆栈是是向下增长的,10个寄存器的大小为0x28,SP指针当前的指向为0x80000000-0x28=0x7FFFFFD8,此时再将R10压入栈中,那么出栈的时候,要先将R10取出,也就是先取出栈顶的值。ARM 不能直接访问存储器,比如 RAM 中的数据,一般先将要配置的值写入到 Rx(x=0~12)寄存器中,然后借助存储器访问指令将 Rx 中的数据写入到RAM 类型寄存器中。共用的,剩下的 7 个分别对应 7 种不同的模式。

2023-06-17 23:01:03 729

原创 使用vim + ctags + cscope在Linux中阅读代码

为了方便在Linux下,快速阅读修改代码,可以使用vim+ctags+cscope的方式。

2023-06-17 12:15:51 1088

原创 C语言实现函数strcpy(),strcat(),strstr()

C库函数源码

2023-06-16 09:33:01 177

原创 USB PD 3.1协议学习

USB PD 快充 协议

2023-06-14 15:58:08 3749 6

原创 【Linux交叉编译链安装】

交叉编译开发环境搭建

2023-06-11 10:20:46 158

原创 Linux应用开发之高级IO

对于这两个概念,我是这样的理解的,IO就好比通道,那么阻塞IO就是阻塞的通道,那如果通道被阻塞了,车辆只能停下来休息,那么非阻塞正好相反。阻塞IO:当资源不可获取时,程序会进入到休眠状态,让出cpu资源,直到资源可以获取才被唤醒非阻塞IO:不管资源是否可以获取都会立即返回I/O 多路复用技术是为了解决:在并发式 I/O 场景中进程或线程阻塞到某个 I/O 系统调用而出现的技术,使进程不阻塞于某个特定的I/O 系统调用。监视多路IO系统调用 select()可用于执行 I/O 多路复用操作,调用 selec

2023-04-21 18:33:20 89

原创 Linux应用开发之线程

多线程编程已经是大多数应用软件的必备技能,下面将学习一些线程编程的基础知识提示:以下是本篇文章正文内容提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2023-04-16 13:44:04 119 2

原创 ARM Linux驱动开发

作者用的是正点原子linux阿尔法开发板emmc版本驱动开发接口汇总。

2023-04-06 09:32:59 645 1

原创 系统镜像烧写与制作

本文使用正点原子Linux开发板(imx6ull)进行测试1、windows下使用OTG烧写系统,在windows使用NXP提供的mfgtool来向开发板烧写系统,需先将开发板的USB_OTG接口连接到电脑上,mfgtool是先向开发板下载一个系统,然后通过系统完成烧写2、ubuntu通过脚本烧写系统,首先向SD卡烧写系统,启动系统后再从SD卡烧写到nand中2.uboot源码目录分析3.uboot启动流程分析太难了,以后有时间再继续学吧

2023-03-15 11:31:13 778

原创 Linux应用知识总结

Linux软件接口知识总结

2023-03-13 16:59:45 453

Java成神之路,Java基础

Java成神之路,Java基础

2023-11-07

USB4&2 :USB4规范 USB2规范

USB4&2 :USB4规范 USB2规范

2023-11-06

DSView-v1.3.1-x64-setup.exe

逻辑分析仪软件DSView

2023-11-06

USB PD R3.2 V1.0-0.zip

USB PD R3.2 V1.0_0

2023-11-06

【ARM汇编基础】汇编语法参考文件

ARMv7汇编语法参考文件

2023-06-17

USB Type-C 2.3 Release 202310

USB Type-C 2.3 Release 202310

2023-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除