USB2.0规范(3) 数据流模型
数据流模型 本章介绍了数据是如何在 USB 上移动的。 开发者视角 USB 提供了主机和设备之间的通信服务。与普通用户看到的关系不同的是,实际上 USB 是个更复杂的模型,如下图所示。有四个需要重点关注的区域: USB Physical Device:通过 USB 连接的可实现某些功能的设备。 Client Software:在上位机上运行的与 USB 设备相对应的客户端程序。下文称之为客户端。 USB System Software:特定操作系统中支持 USB 的软件。下文称之为 USB 驱动 。 USB Host Controller(Host Side Bus Interface):允许 USB 设备连接到主机上上的软/硬件。下文称之为主机控制器。 总线拓扑 一共有四种主要总线拓扑: 主机和设备拓扑。 物理拓扑。 逻辑拓扑。 客户端软件到功能关系。 USB 主机拓扑: 如下图所示,USB 主机逻辑上的拓扑包括 上位机 一系列驱动 主机控制器。 主机扮演了一个独一无二的角色——协调 USB 中全部的实体。具体来说 主机控制器控制着对总线的访问权限,只有主机...
SSH
SSH 安全外壳协议(Secure Shell Protocol,SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。 SSH 通用命令 无论是 win 还是 Linux 远程连接命令都是相同的。 12ssh [-P <port>] <user>@<addr>ssh -J <user0>@<addr0>:<port0> <user1>@<addr1> # 以 user0 为跳板登录 user1 默认端口 22 。 密钥 现代加密技术常常使用非对称加密,当发送者使用私钥对一段信息加密后,接收者可使用公钥来快速解密。ssh 也可以使用这种加密方式来验证身份。 12cd ~/.sshssh-keygen -t Ed25519 # 生成密匙 DSA - ❌ 已经从数学层面被证明不安全,所以永远不要用它 RSA - 在各种设备、各种 SSH 客户端中有广泛悠久的支持历史,且目前依然能提供...
USB2.0规范(2) 结构总览
USB 结构总览 USB 系统描述 USB系统由三个维度描述: USB host USB devices USB 互连(interconnect) USB互连指 host 与 devices 连接和通信的方式, 包括: 总线拓扑:USB 设备与主机之间的连接结构。 层间关系:USB 系统中,每一层技术栈的功能。 数据流模型:USB 系统中,数据在生产者和消费者之间移动的方式。 USB调度:USB提供了共享互连。互连访问以调度的方式实现来支持等时数据传输并消除仲裁开销。 总线拓扑(Bus Topology) USB 物理互联结构为星型分层拓扑。其根节点为 Host 。由于集线器(hub)和电缆传输的时间消耗限制,最多为七层。 USB Host 在任一USB系统中有且只有一个主机(Host)。主机集成了控制器(Host Controller)以及一个根集线器。详见。 挂载结构: CPU --> PCIE --> USBHost(Controller -> RootHub) --> OtherDevices 比较有趣的的是笔者的一个拓...
USB2.0规范(0) 概述
USB 概述 各笔记导航 [[_posts/日拱一卒/开发随笔/USB/USB2_0/0_概述|USB2.0规范 (0)概述]] [[_posts/日拱一卒/开发随笔/USB/USB2_0/1_术语和缩写|USB2.0规范 (1)术语和缩写]] [[_posts/日拱一卒/开发随笔/USB/USB2_0/2_结构总览|USB2.0规范 (2)结构总览]] 规范文件说明 笔者学习 2.0 规范时从官网下载的版本为 20240927 。其目录结构如下所示 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182└───usb_20_20240927 └───usb_20_20240927 | # 2002年5月28日发布的勘误表,修正了USB 2.0规范中的错误。 │ 2002_05_28_...
USB2.0规范(1) 术语和缩写
术语和缩写 英文 中文 ACK 确认信号 Active Device 正在使用的设备 Asynchronous Data 异步数据 Asynchronous RA 异步自适应速率 Asynchronous SRC 异步抽样转换率 Audio Device 音频设备 AWG#(American Wire Gauge) 美国电线标准 Babble 帧传输中的总线动作 Bandwidth 带宽 Big Endian 大端 Bit 比特 Bit Stuffing 数据填充,以使PLL可以提取时钟信号 b/s 每秒多少比特 B/s 每秒多少字节 Buffer 缓冲区 Bulk Transfer 批量传送 Bus Enumeration 总线标号 Byte 字节 Capabilities 能力 Characteristics 特征 Client 客户端 Configuring Software 配置软件 Control Endpoint 控制端口 Control Pipe 控制通道 ...
Linux功能优化
Linux功能优化 命令行美化 oh-my-posh 历史记录补全 修改文件 /etc/inputrc 将下方两条取消注释即可。 123# alternate mappings for "page up" and "page down" to search the history# "\e[5~": history-search-backward# "\e[6~": history-search-forward
Linux字体管理
Linux字体管理 安装字体 以安装微软雅黑为例 添加 ttf 文件。 1234cd /usr/share/fontssudo mkdir /usr/share/fonts/yaheisudo cp <file> /usr/share/fonts/yahei/sudo chmod 644 /usr/share/fonts/yahei/*.ttf 123mkfontscalemkfontdirfc-cache -fv # 没有的话安装一个 wsl 安装 win 字体 12sudo ln -s /mnt/c/Windows/Fonts /usr/share/fonts/fontfc-cache -fv
Linux清理缓存
Linux清理缓存 排名 在使用一段时间 wsl 后发现其映像文件由不足 10G 增大至 29.G 。故对其解包后分析各文件大小。 esp32 (esp-idf + .espressif) 10.3G STM32CubeMX(本体 + 缓存) 4.6G vscode 1.4G 其他比较值得注意的文件夹有 /var/log/journal 808M puthon 虚拟环境 500M 字体文件 1.2G 因为缺少字体笔者干脆把 win11 所有字体都扔进去了。。。。 清理 日志 12journalctl --vacuum-size=100M # 保留 100Mjournalctl --vacuum-time=10d # 保留 10d apt 缓存 apt缓存文件位于 ‘/var/cache/apt’ 。 1234sudo apt-get autoclean # 清理...
