USB
文章平均质量分 68
huangkangying
这个作者很懒,什么都没留下…
展开
-
Ubuntu 16.04为普通用户增加ttyACM读写权限
sudo echo KERNEL=="ttyACM*", OWNER="root", GROUP="users", MODE="0666" > /etc/udev/rules.d/my_usb_dev.rulessudo service udev restart原创 2020-11-24 20:45:43 · 1325 阅读 · 0 评论 -
USB2.0 Chirp J, Chirp K and SE0 state
J态, K态,SE0低速设备与高速设备的J/K态是相反的。下面主要介绍全速和高速设备。J态:DP = ‘1’, DM = ‘0’K态:DP= ‘0’, DM = ‘1’SE0 (Single-ended 0): DP = ‘0’, DM = ‘0’低速设备(Low speed)的空闲状态(Idle)是K态全速设备(Full speed)的空闲状态(Idle)是J态高速设备(High speed)的空闲状态(Idle)是SE0USB全速,高速切换 (Chirp Handshake)对于F原创 2020-10-09 17:52:21 · 3163 阅读 · 0 评论 -
USB OTG 学习笔记
https://www.cnblogs.com/cainiaoaixuexi/p/3994453.html仅仅看了半天SPEC写的笔记,有些乱,等调试完毕再次整理,思路不是很成熟,推测成分较多,可能有不对的地方,欢迎拍砖交流指正。1. 概要 OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USB Host,A-Device始终为总线提供电力,ID悬空被称作为B-Device,为连接时候的USB Device,设备的USB Hos...转载 2020-09-17 20:43:39 · 710 阅读 · 0 评论 -
USB系列(4) ULPI协议简介
什么是ULPI协议?ULPI协议的全称是UTMI+Low Pin Interface。从名字上就可以看出ULPI是UTMI的Low Pin版本。UTMI(USB2.0 Transceiver Macrocell Interface)是一种用于USB controller和USB PHY通信的协议。相对于ULPI,UTMI有更多的控制信号,支持8bit/16bit 数据接口。UTMI 接口信号...原创 2020-02-12 16:19:19 · 22371 阅读 · 2 评论 -
USB系列(3) Windows USB枚举过程
枚举是决定何种设备连接到总线的过程,同时也决定了何种参数需要配置给这种设备,这些参数包括:功率,端点数量,产品分类等等。在写USB firmware的时候要对枚举过程中Host的response了然于胸,而不仅限于USB spec中的通用描述。不同的OS在USB枚举过程的具体操作会有一些差异,下面主要介绍的是Windows操作系统在USB设备枚举过程中Host的具作操作步骤:Host/Hub...原创 2020-02-04 15:56:18 · 1195 阅读 · 0 评论 -
USB系列(2)协议简介
USB通信的层次结构Frame 从时间的维度看,USB通信是由一系列的帧组成的Transaction 每一帧又可以分成不同的TransactionIN/Read/Upstream Transaction 输入(Host)事务OUT/Write/Downstream Transaction 输出(Host)事务Control Transaction 控制事务Packet 每一次...原创 2019-12-16 22:52:13 · 1863 阅读 · 0 评论 -
USB系列(1) NRZI及Bit Stuffing
什么是NRZI?NRZI的全称是Non-Return-to-Zero, Inverted, 翻译成中文是翻转不归零码。什么意思呢,先看spec截图:不归零的意思是编码方式相对于归零码(正电平,负电平,0电平)而言,还是只有两种电平,不用每次编码完都回到0电平。翻转是指当出现逻辑0时,电平翻转,因此不需要负电平来表示0。总结一下编码方式:0变1不变为什么要用NRZI?没有归0步骤...原创 2019-12-15 21:13:15 · 2037 阅读 · 0 评论 -
对USB同步传输feedback的一点理解
这段时间一直在做USB Audio Device(UAC)设备的开发工作。由于UAC采用的是isochronous endpoint来传输数据,对时钟的要求较高。但无奈我们的嵌入式平台的时钟并不准,数据同步就成了问题。经过研究,发现只能使用异步模式来解决这个问题。 所谓异步模式,就是建立一个feedback endpoint在一个固定的时间间隔反馈本地时钟给host, 从而使得host端能够实时的原创 2016-11-13 22:29:21 · 6650 阅读 · 5 评论 -
USB设备请求命令
USB设备请求命令 :bmRequestType + bRequest + wValue + wIndex + wLength 编号 值 名称(0) 0 GET_STATUS:用来返回特定接收者的状态(1) 1 CLEAR_FEATURE:用来清除或禁止接收者的某些特性(x) 2 为将来保留(2) 3 SET_FEATURE:用来启用或激活命令接收者的某些特转载 2016-11-14 10:51:43 · 909 阅读 · 0 评论