前言: 昨个帮同事忙, 应下了一个Android 与PC端通信的Demo,遂今早上折腾了一会,也算是写出来了,而且发现了一个比较严重的问题:参考资料都是12年,13年的,很多的Sample 都是不能用的...---- Android Code 首先是清单文件中的权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE
1 USB系统组成 主机:提供USB接口和接口管理功能的硬件、软件、固件的复合体。...协议 6.1 USB基本规范 USB在逻辑上被分为三层:信号层、协议层、数据传输层。...PID) 奇数据包(PID) 握手 (handshake) 确认(ack) 不确认(nack) 停止(stall) 0x4B 0x5A 0x1E 接收器无错的接收数据包 接收设备忙不能接收数据 设备出错通信不上...isochronous transfers):周期性,持续性的传输,用于传输与时效相关的信息,并且在数据中保存时间戳的信息 中断传输(interrput transfers):周期性,低频率,允许有限延迟的通信...大容量数据传输(bulk transfers):非周期性,大容量突发数据的通信,数据可以占用任意带宽,并容忍延迟 6.6 USB枚举过程 当一个USB设备插入主机后,会有以下活动: 供电 复位
主机与设备之间通信时最终会总用于设备上的各个端点,它是主机与设备间通信流的一个逻辑终端。...USB设备进行访问。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...管道与USB设备中的端点逐个对应,并且各个管道的数据传输是相互独立的。 2、管道的格式分类 管带的通信格式分为两种,一种为流,另一种为消息,这两种通信格式不同且互斥。...数据从流通道一端流进的顺序与它们从流通道另一端流出时的顺序是一样的(先进先出),并且流通道中的通信流总是单向的。 2)、“消息”指具有某种USB定义格式的数据流。
一、环境介绍 操作系统: ubuntu18.04 64位 二、usbmon使用方法 2.1 功能介绍 usbmon 即 usb monitor,是 linux 内置的 usb 抓包工具。.../linux_c/usb_dev_ubuntu# 如果提示忙,表示当前系统已经默认挂载。...2.4 查看usbmon可以识别到的USB总线编号 root@wbyq:/mnt/hgfs/linux-share-dir/linux_c/usb_dev_ubuntu# ls /sys/kernel...root@wbyq:/mnt/hgfs/linux-share-dir/linux_c/usb_dev_ubuntu# lsusb Bus 004 Device 001: ID 1d6b:0003 Linux...root@wbyq:/mnt/hgfs/linux-share-dir/linux_c/usb_dev_ubuntu# cat /sys/kernel/debug/usb/usbmon/3u ffff9bbbaf235b00
USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。 1....包(Packet) 包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。数据在 USB总线上的传输以包为单位,包只能在帧内传输。...高速USB 总线的帧周期为125us,全速以及低速 USB 总线的帧周期为 1ms。帧的起始由一个特定的包(SOF 包)表示,帧尾为 EOF。...注意:虽然高速USB总线和全速/低速USB总线的帧周期不一样,但是SOF包中帧编号的增加速度是一样的,因为在高速USB系统中,SOF包中帧编号实际上取得是计数器的高11位,最低三位作为微帧编号没有使用,...输出(OUT)事务处理 输出事务处理:表示USB主机把一个数据包输出到总线上的某个USB设备接收的过程。
USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。 2....包(Packet) 包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。数据在 USB总线上的传输以包为单位,包只能在帧内传输。...高速USB 总线的帧周期为125us,全速以及低速 USB 总线的帧周期为 1ms。帧的起始由一个特定的包(SOF 包)表示,帧尾为 EOF。...注意:虽然高速USB总线和全速/低速USB总线的帧周期不一样,但是SOF包中帧编号的增加速度是一样的,因为在高速USB系统中,SOF包中帧编号实际上取得是计数器的高11位,最低三位作为微帧编号没有使用,...输出(OUT)事务处理 输出事务处理:表示USB主机把一个数据包输出到总线上的某个USB设备接收的过程。
可以和FPGA搭配使用的USB3.0 PHY芯片 通过之前的介绍,我们大致了解到USB3.0整个协议异常复杂,就连物理层都需要SerDes(FPGA实现的情况...USB3.0 PHY简介 首先我们需要了解PHY具体完成哪些工作以及我利用FPGA能 实现哪些工作才能实现USB通信。...LEVEL0 通信连接示意图 升级的UTMI+接口 ULPI(UTMI+ Low Pin Interface) 通信连接示意图 以上三种接口都是和USB2.0 PHY通信的接口(如果还不理解的话,这三种接口类似网口中媒体接口...举例如下:我用FPGA实现USB2.0通信,我使用逻辑实现cntroller+外挂USB PHY的方式,那么我的接口基本使用ULPI接口(降低pin的数量); USB3316 芯片逻辑框图 (来源:芯片数据手册...,这里在多说一句,目前市场上为了方便开发,USB3.0芯片内部会放置一个单片机,主要还是方便扩展接口,以方便芯片不单单只在USB3.0通信方面应用。
好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信,一直忙到最近,才慢慢闲下来,趁着这个周末不忙,记录下usb转串口通信开发的基本流程...我们开发使用的是usb主机模式,即:安卓平板作为主机,usb外设作为从机进行数据通信。...2.打开设备 接下来,我们需要打开刚刚搜索到的usb设备,我们可以将平板与usb外设之间的连接想象成一个通道,只有把通道的门打开后,两边才能进行通信。...3.数据传输 到这里,我们已经可以与usb外设进行数据传输了,首先来看怎么向usb设备发送数据。...转串口通信的基本流程,有些地方写的不是很全面,比如接收usb外设数据的方法应该还有别的,不足之处欢迎指正。
gadget 功能前关闭 adb 功能时却报异常的解决办法 4 附录 4.1 Linux-4.x/Linux-5.4 Gadget 配置示例 4.1.1 小机做 mass storage 4.1.2...1.3 适用范围 表 1-1: 适用产品列表 内核版本 驱动文件 Linux-4.9 drivers/usb/* Linux-5.4 drivers/usb/* 2 模块介绍 2.1 模块功能介绍...USB 总线采用树形结构,在一条总线上只能有唯一的主机设备。Linux 内核从主机和设备两个角度观察 USB 总线结构。...Linux 有原生 gadget 框架,通用的配置流程可参考下文。...图 2-11: linux-4.x usb gadget 配置选择 2.6.2 linux-4.x/linux-5.4 USB Gadget 配置流程 Linux-4.x/Linux-5.4 使用 configfs
Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1....BUS/DEV/DRV 模型 "USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口": USB 控制器或 Hub 识别出 USB 设备后,会创建、...注册 usb_device usb_device 被"drivers\usb\core\generic.c" 驱动认领后,会选择、设置某个配置 这个配置下面的接口,都会分配、设置、注册一个 usb_interface...左边的 usb_driver 和右边的 usb_interface 如果匹配,则调用 usb_driver.probe 2....接口函数 在 USB 设备驱动程序中,能使用的 USB 函数都在这个头文件里:include\linux\usb.h。
问题描述:今天在调试 VHDL 串口通信,当使用 Quartus II 13.0 综合好的文件下载到 FPGA 开发板时发现,没有识别到下载USB_Blaster,如下图所示。...图片中高亮的部分只有显示No Hardware,并没有显示我们需要的USB-Blaster[USB-0]。那么遇到这种情况该如何解决呢?...幸运的是 Quartus II 13.0 为我们提供了 USB-Blaster 驱动程序,接下来我们就为它加载相应的驱动更新一下就OK了。...右键单击USB-Blaster,然后点击更新驱动,此时出现对话框如下。 单击浏览计算机以查找驱动程序软件的目录,在你安装 quartus 的文件夹下,如下所示。 安装驱动程序,如下所示。...成功安装后,如下所示: 点击Programmer 现在能检测到下载接口 USB_Blaster 了,选择 sof 文件,下载到 FPGA 开发板。 下载程序成功后,进行串口通信调试,结果如下:
开发板的串口,不能直接与电脑的USB相连,中间需要一个串口转USB的芯片,这个芯片集成到了开发板上,因此可以直接使用USB线将电脑与开发板连接进行通信。...USB下载,可以使用板子的USB Device连接电脑下载; 启动选择开关; 对开发板上电启动,出厂的时候默认烧写一个Linux系统。...我们上电后可以看到Linux的企鹅图标,然后自动启动Qt。...再将开发板的串口与电脑相连,自动/手动安装好串口驱动后,使用MobaXterm软件的Serial功能,即可通过串口 输入Linux命令。 连接示意图如下: ?...操作步骤如下: eop连接到PC; 安装驱动; 安装APP; 开发板的排线连接到eop,eop的USB接口连接到电脑; 执行:oflash xxx.bin 开发板断开eop,eop的USB接口最好也断开电脑
我们在用串口进行调试的时候,需要用JZ2440自带的一根USB线连接电脑USB口和开发板的USB-com1口。...在单片机开发板上一般都用这个芯片,它的作用就是USB转TTL电平,经过PL2303的转换之后,电脑和开发板即可通信,设置好参数后也就能够显示出开发板的打印信息了。...JZ2440在这一点上还有一处可以说说,就是它没有使用其他品牌开发板常用的RS232 DB9接口,这在很大程度上减小了开发板的体积,同时也节减了USB转串口线的花费,可谓一举两得。...其他开发板一般是使用哪种接口呢?...如果直接在 电脑与开发板之间接一条线是肯定不行的。原因很简单嘛,电平不一样,两者是无法通信的。仿照原有电路,我找到了下面的几个设备: 有了这两个设备不就成了?
可编程 USB 转串口适配器开发板的详细接口与功能可编程 USB 转 UART/I2C/SMBus/SPI/CAN/1-Wire 适配器 USB2S(USB To Serial ports)是多种数字接口物理层协议转发器...可编程 USB 转串口适配器开发板 S2S 功能介绍 USB2S 支持基于 STC 单片机的二次开发,若有需要,可参照原理图和单片机型号手册自行开发具有特殊功能的固件程序。...可编程 USB 转串口适配器开发板 USB 转 UART I2C 应用 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S USB 转 UART 应用...可编程 USB 转串口适配器开发板 UART 转 SPI 应用 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S UART 转 SPI 应用 1.1...可编程 USB 转串口适配器开发板芯片驱动文件说明 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S 芯片驱动文件说明 芯片选择下拉框内列出的每一个备选芯片的驱动文件和数据手册位于
可编程 USB 转串口适配器开发板 USB 转 UART I2C 应用 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S USB 转 UART 应用...1.1驱动安装 USB2S 内置了 USB 转UART 芯片,可使用CH340/CH341 驱动程序。...图片驱动安装成功后,若将 USB2S 插入计算机 USB 接口,在“设备管理器”中会发现新的 COM 接口, 如下图示。...图片1.2 USB 转UART 原理驱动程序安装后,计算机通过 COMx 与 MCU 进行通讯,当 USB2S 的 UART 透明传输功能为开启状态时(默认),MCU 可将 UART1 与UART2 的双向数据进行透明转发...可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S UART 转 I2C 应用 1.1 AT24CxxEEPROM 芯片 1.1.1 芯片介绍
usb主机检测到USB设备插入后,就要对设备进行枚举了。枚举的作用就是从设备是那个读取一些信息,知道设备是什么样的设备,如果通信,这样主机就可以根据这些信息选择合适的驱动程序。.../usb.h> 4.2 USB设备注册框架示例 #include #include #include //定义...鼠标驱动(中断传输方式) 5.1 USB驱动注册框架代码 #include #include #include ...#include #include #include #include .../init.h> #include #include #include #include <linux/slab.h
全志T113-S3/D1s主控 支持WIFI和蓝牙,屏幕连接 Type-C正反插切换otg和uart 适配全志Tina-Linux 支持快启 作为面向初学者学习使用的多功能开发板,作者本人也面面俱到的配上了...硬件设计 FunnyPi开发板内置了丰富的外设接口,包括USB、GPIO、I2C、SPI、UART等,方便用户连接各种传感器、执行器和其他外围设备,同时板载了标准RGB接口、PMIC芯片、串口转USB芯片等...此外,这款开发板还具有强大的网络功能,支持板载WIFI和蓝牙模块,可实现无线网络连接和数据传输。最重要的一点是,本开发板所有阻容使用0603封装且将绝大部分元件放在了正面,非常方便手焊!...成本:约60(打板免费) 主控:T113-S3/D1s WIFI+BT模组:RTL8723BS 串口转USB:CH343P 背光驱动:RY3730 芯片供电:EA303 设计FunnyPi最初的目的是想满足日常学习...软件适配 作者本人给FunnyPi适配了Tina Linux,并十分详尽地介绍了在开发板上搭建环境的教程,内容包括Tina Linux移植、Uboot配置、debug串口配置、点灯教程、WiFi蓝牙通信适配等
/Mac等系统上与OpenHarmony设备(或模拟器)进行连接调试通信。...① 获取HDC工具 官方或者社区链接下载均可,压缩包里包含windows和linux两个版本。...3、连接电脑和开发板 在开发板断电情况下按住烧录键,通过双USB数据线连接电脑和开发板,再给开发板通电。...可以通过USB或其他接口与PC通信,进行数据传输和命令执行。 用于紧急恢复固件,只能通过特定的硬件接口(通常是USB)与PC通信,进行最低级别的数据传输。...3、烧录工具未发现设备 要严格按照下述操作,才可以进入开发板的烧录模式。 在开发板断电情况下按住烧录键,通过双USB数据线连接电脑和开发板,再给开发板通电。
通过扫描以下目录获取物理节点所有 USB 设备: /sys/bus/usb/devices/usb* /sys/bus/usb/devices/usb*/$busnum-* 从该文件系统收集某一个设备的主要信息如下..."level": 1, "manufacturer": "QEMU", "port": 0, "prodid": "0001", "product": "QEMU USB...: 产品 serial: USB 硬件设备序列号 ,例如 0000:00:01.2 定位方法# 定位某一个 USB 设备的方法有两种: busnum + devnum idVendor + idProduct...设备类bDeviceClass、bDeviceSubClass、bDeviceProtocol By USB 中文网 USB设备描述符中的idVendor、idProduct和bcdDevice By...USB 中文网 USB 硬件设备的序列号 By IBM 注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
十分方便的是,ElfBoard官方已经提供了一个联网脚本,elf1_cmd_wifi.sh,应用程序开发工程师可以很方便地调用这个脚本进行互联网链接,对于使用嵌入式Linux+Qt开发的应用程序,ElfBoard...本项目关于Wi-Fi联网的部分参考代码,如下图所示: 3 – 边(ELF 1S开发板中控) 边缘计算设备(边缘中控)采用ELF 1S开发板进行设计,运行嵌入式Linux操作系统,采用Qt进行UI界面开发...边缘计算设备(边缘中控)通过一个USB无线扩展模块,与端侧设备进行无线通信。 USB无线扩展模块支持AT指令集,支持从机设备管理,支持控制命令透传,等等。...界面5是ELF 1S开发板边缘中控的参数设置界面,在这个界面里面,可以对开发板边缘中控本身进行程序升级(未完成),同步网络时间,设置USB无线模块,端侧从机扫描,以及重置USB无线模块,开发者还可以在这个界面扩展更多有趣好玩的参数配置功能...手机APP应用是通过涂鸦云的间接转发方式,与ELF 1S开发板边缘中控进行端对端通信的,开发板边缘中控可以转发手机APP的控制指令到无线网络模块,以及接收边缘中控上报的环境监测数据。
领取专属 10元无门槛券
手把手带您无忧上云