精华内容
下载资源
问答
  • Robopeak mini USB显示器,是一份有关于USB接口协议说明
  • 对于台式电脑、个人笔记本,最常用的接口就是USB接口、串口、并口、PS2接口、网口。在我们电子设计中的PC终端软件的通信,应用最多的就是串口、其次是USB接口、再就是网口。(对于现在大部分笔记本没有了串口,我们...

    一、PC终端概述

    PC终端,Personal Computer 智能终端,通俗的讲,就是利用电脑GUI界面控制我们的外部硬件电路。

    因此设计到了PC与外部硬件电路的通信接口。对于台式电脑、个人笔记本,最常用的接口就是USB接口、串口、并口、PS2接口、网口。在我们电子设计中的PC终端软件的通信,应用最多的就是串口、其次是USB接口、再就是网口。(对于现在大部分笔记本没有了串口,我们可以用USB专串口线来代替。)这三种接口速度和性质不同,各有千秋:

    (1)电子产品中,很多低速的数据采集,一些点阵系统的配置,GPRS模块的调试等,都用串口来实现跟PC的通信。甚至一些单片机(宏晶STC)的配置都用串口实现通信。串口最高可以达到128000bps的速率,在低速场合下,完全能够实现与PC的通信,来满足我们各种要求,来实现对数据的实时处理。

    (2)设计到高速的数据传输、视频图像传输等的,一般用USB接口来交换数据。比方说我们的硬盘、U盘、各种硬件下载器(USB BLUSTERO(∩_∩)O哈哈~)、以及实时图像采集、视频采集等,都是用USB接口来实现的。目前USB已经发展到了USB 3.0,但还是以USB 2.0为主,最高能够达到480Mbps(60MB/s)高速,足够的带宽满足我们对高速、海量数据的采集处理。

    (3)最后就是网口的通信,一般网口用来上网传输数据,但是也可以用来硬件和PC之间的数据传输。一般网络,千兆的能力,NetFPGA,用FPGA实现的通信协议,早已不是梦想。近年来流行的网络摄像头,就是通过网络来传输(当然也有通过WiFi飞);现在超市、广场的超大真彩点阵是数据传输,由于数据量之大,一般采用网络传输,来达到显示的实时性。

    最后,我们的PC终端软件,就是通过C++、MFC、C#等语言编写软件,对这些接口的驱动,来对数据的采集处理,从而达到用户预期的要求。本章中主要讲解FPGA硬件平台的UART、USB通信接口的软硬件设计,并且对Bingo的代码设计稍作分析,希望对你有用。

    二、UART通信接口设计

    1、UART通信协议

    UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,所谓异步,就是说发送和接受不能同时进行,是单工的。对于UART的verilog设计,简单的说就是需要“波特率发生器”与“数据传输时序”两个模块,如下:

    (1)波特率

    在UART通信协议中很重要的一个定义,就是“波特率”,即传输数据时的速率。波特率一般有以下这些:

    clip_image002

    (2)数据传输时序

    对于UART数据传输的协议,如下所示。其中奇偶校验位与停止位不是必须的。而“起始位、资料位、停止位”则是必须的。一般资料位为8 bits。

    定义

    起始位

    先发出一个逻辑”0”的信号,表示传输字符的开始。

    资料位

    紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。

    奇偶校验位

    资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。

    停止位

    它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。

    空闲位

    处于逻辑“1”状态,表示当前线路上没有资料传送。

    具体的时序图如下所示。A-b为起始位,b-c为资料位,c-d为停止位。

    clip_image004

    2、UART硬件设计

    UART是计算机中串行通信端口的关键部分。在计算机中,UART相连于产生兼容RS232规范信号的电路。RS232标准定义逻辑“1”信号相对于地为-3到-15伏,而逻辑“0”相对于地为3到15伏。所以,当一个微控制器中的UART相连于PC时,它需要一个RS232驱动器来转换电平。

    如下图所示,UART硬件电路灰常的简单,只需要一块电平转换芯片即可。电平转换芯片一般用Max3232、Max232,SP3232等,其中Maxim公司的电平转换芯片比较常用。跟PC和处理器相连接的,只要相应的TXD、RXD两根信号线即可。

    clip_image006

    3、UART Verilog设计

    基于FPGA的UART设计,其实在单片机中没有这么一说。单片机中早已有了UART的IP,我们只要调用函数即可,但FPGA中,纯硬件设计电路上,我们想要使用串口来调试,那我们就必须了解彻底UART通信协议,必须自己动手写UART的硬核。利用硬件描述语言,相当的方便。

    UART驱动代码的编写,算是比较简单的设计了。Bingo当年用VHDL编写串口通信,后来学了Verilog,重新来过,最后修改串口,改善得到稳定的版本,经过多次测试,上万数据传输未出现过错误,已应用于多个项目中,在此献丑,希望对你有用。

    以下是相关的下载信息:

    (1)串口调试助手

    http://www.chinaaet.com/lib/detail.aspx?id=86809

    (2)uart_io_test工程

    http://www.chinaaet.com/lib/detail.aspx?id=86812

    (3)uart_fifo_design工程

    http://www.chinaaet.com/lib/detail.aspx?id=86813

    对于基于FPGA的Verilog设计UART通信接口的代码分析,如下所示:

    (1)波特率发生器

    如果您看过前面章节,那您是否还记得“第九章 为所欲为——教你什么才是真正的任意分频”?此处我们为了达到标准的频率,最大极限的不想出现任何误差,Bingo利用自己设计的“相位控制分频原理”,来完成此模块的设计。具体的分频原理请看第九章,此处不再做累赘的阐述,谢谢。

    关于本模块的主要代码,如下:

    /*************************************************

    * Module Name : clk_generator.v

    * Engineer : Crazy Bingo

    * Target Device : EP2C8Q208C8

    * Tool versions : Quartus II 11.0

    * Create Date : 2011/01/27

    * Revision : v1.0

    * Description :

    **************************************************/

    module clk_generator

    (

    input clk,

    input rst_n,

    output clk_bps,

    output clk_smp

    );

    //------------------------------------------

    /************clk_smp = 16*clk_bps************

    Freq_Word1 <= 32'd25770; Freq_Word1 <= 32'd412317; //300 bps

    Freq_Word1 <= 32'd51540; Freq_Word2 <= 32'd824634; //600 bps

    Freq_Word1 <= 32'd103079; Freq_Word2 <= 32'd1649267; //1200 bps

    Freq_Word1 <= 32'd206158; Freq_Word2 <= 32'd3298535; //2400 bps

    Freq_Word1 <= 32'd412317; Freq_Word2 <= 32'd6597070; //4800 bps

    Freq_Word1 <= 32'd824634; Freq_Word2 <= 32'd13194140; //9600 bps

    Freq_Word1 <= 32'd1649267; Freq_Word2 <= 32'd26388279; //19200 bps

    Freq_Word1 <= 32'd3298535; Freq_Word2 <= 32'd52776558; //38400 bps

    Freq_Word1 <= 32'd3693672; Freq_Word2 <= 32'd59098750; //43000 bps

    Freq_Word1 <= 32'd4810363; Freq_Word2 <= 32'd76965814; //56000 bps

    Freq_Word1 <= 32'd4947802; Freq_Word2 <= 32'd79164837; //57600 bps

    Freq_Word1 <= 32'd9895605; Freq_Word2 <= 32'd158329674; //115200bps

    Freq_Word1 <= 32'd10995116; Freq_Word2 <= 32'd175921860; //128000bps

    Freq_Word1 <= 32'd21990233; Freq_Word2 <= 32'd351843721; //256000bps

    *****************************************************/

    //only want to generate beautiful clk for bsp and sample

    reg [31:0] bps_cnt1;

    reg [31:0] bps_cnt2;

    always@(posedge clk or negedge rst_n)

    begin

    if(!rst_n)

    begin

    bps_cnt1 <= 0;

    bps_cnt2 <= 0;

    end

    else

    begin

    bps_cnt1 <= bps_cnt1 + 32'd9895605;

    //Bps=115200bps

    bps_cnt2 <= bps_cnt2 + 32'd158329674;

    //Bps=115200bps*16

    end

    end

    //------------------------------------------

    //clk_bps sync bps generater

    reg clk_bps_r0,clk_bps_r1,clk_bps_r2;

    always@(posedge clk or negedge rst_n)

    begin

    if(!rst_n)

    begin

    clk_bps_r0 <= 0;

    clk_bps_r1 <= 0;

    clk_bps_r2 <= 0;

    end

    else

    begin

    if(bps_cnt1 < 32'h7FFF_FFFF)

    clk_bps_r0 <= 0;

    else

    clk_bps_r0 <= 1;

    clk_bps_r1 <= clk_bps_r0;

    clk_bps_r2 <= clk_bps_r1;

    end

    end

    assign clk_bps = ~clk_bps_r2 & clk_bps_r1;

    //------------------------------------------

    //clk_smp sync receive bps generator

    reg clk_smp_r0,clk_smp_r1,clk_smp_r2;

    always@(posedge clk or negedge rst_n)

    begin

    if(!rst_n)

    begin

    clk_smp_r0 <= 0;

    clk_smp_r1 <= 0;

    clk_smp_r2 <= 0;

    end

    else

    begin

    if(bps_cnt2 < 32'h7FFF_FFFF)

    clk_smp_r0 <= 0;

    else

    clk_smp_r0 <= 1;

    clk_smp_r1 <= clk_smp_r0;

    clk_smp_r2 <= clk_smp_r1;

    end

    end

    assign clk_smp = ~clk_smp_r2 & clk_smp_r1;

    endmodule

    代码中Bingo设置了多个选项的bps,根据您的需要,可以直接修改代码,来达到自己的要求。本模块的功能主要功能是生成两个时钟:

    a) clk_bps : UART TXD信号线数据发送的波特率

    b) clk_smp: UART RXD信号线数据接受的采样速率,以对已波特率的16倍速度采样,捕获数据的中点,在数据最稳态读取数据,达到最大限制的稳定。

    (2)TXD发送模块

    这部分代码比较简单,因为FPGA是主控,只要根据固定的时序给数据即可。Bingo设计了一个状态机来完成时序,状态机代码如下:

    always@(posedge clk or negedge rst_n)

    begin

    if(!rst_n)

    begin

    txd_state <= T_IDLE;

    txd_flag_r <= 0;

    txd <= 1'b1;

    end

    else

    begin

    case(txd_state)

    T_IDLE:

    begin

    txd <= 1;

    txd_flag_r <= 0;

    if(txd_en == 1)

    txd_state <= T_SEND;

    else

    txd_state <= T_IDLE;

    end

    T_SEND:

    begin

    if(clk_bps == 1)

    begin

    if(txd_cnt < 4'd9)

    txd_cnt <= txd_cnt + 1'b1;

    else

    begin

    txd_cnt <= 0;

    txd_state <= T_IDLE;

    txd_flag_r <= 1;

    end

    case(txd_cnt)

    4'd0: txd <= 0;

    4'd1: txd <= txd_data[0];

    4'd2: txd <= txd_data[1];

    4'd3: txd <= txd_data[2];

    4'd4: txd <= txd_data[3];

    4'd5: txd <= txd_data[4];

    4'd6: txd <= txd_data[5];

    4'd7: txd <= txd_data[6];

    4'd8: txd <= txd_data[7];

    4'd9: txd <= 1;

    endcase

    end

    end

    endcase

    end

    End

    数据发送的状态机设计如下:

    image

    同时,为了软件调试,数据识别等的方便,Bingo在此模块设置了数据发送标志位。此部分主要参考了Bingo“第七章 你想干嘛——边沿检测技术”的方法,此处不再做累赘阐述,若有不懂请看上文。此部分代码如下:

    //-------------------------------------

    //Capture the falling of data transfer over

    reg txd_flag_r0,txd_flag_r1;

    always@(posedge clk or negedge rst_n)

    begin

    if(!rst_n)

    begin

    txd_flag_r0 <= 0;

    txd_flag_r1 <= 0;

    end

    else

    begin

    txd_flag_r0 <= txd_flag_r;

    txd_flag_r1 <= txd_flag_r0;

    end

    end

    assign txd_flag = txd_flag_r1 & ~txd_flag_r0;

    (3)RXD发送模块

    由于接收数据的时候,主控是PC,从机是FPGA,因此FPGA需要采样数据。以上波特率发生器中讲到过,采样时钟clk_bps = 16*clk_bps。FPGA硬件描述,通过计数,当采样到RXD数据起始位信号有效时,0-7-15开始计数,,其中7为数据的中点,最稳定的时刻。因此在此时采样数据,能够达到最稳定的效果。Bingo设计代码如下:

    always@(posedge clk or negedge rst_n)

    begin

    if(!rst_n)

    begin

    smp_cnt <= 0;

    rxd_cnt <= 0;

    rxd_data <= 0;

    rxd_state <= R_IDLE;

    end

    else if(clk_smp == 1)

    begin

    case(rxd_state)

    R_IDLE:

    begin

    rxd_cnt <= 0;

    if(rxd_sync == 1'b0)

    begin

    smp_cnt <= smp_cnt + 1'b1;

    if(smp_cnt == 4'd7) //8 clk_smp enable

    rxd_state <= R_SAMPLE;

    end

    else

    smp_cnt <= 0;

    end

    R_SAMPLE:

    begin

    smp_cnt <= smp_cnt +1'b1;

    if(smp_cnt == 4'd7)

    begin

    rxd_cnt <= rxd_cnt +1'b1;

    if(rxd_cnt == 4'd7)

    rxd_state <= R_IDLE;

    case(rxd_cnt)

    3'd0: rxd_data[0] <= rxd_sync;

    3'd1: rxd_data[1] <= rxd_sync;

    3'd2: rxd_data[2] <= rxd_sync;

    3'd3: rxd_data[3] <= rxd_sync;

    3'd4: rxd_data[4] <= rxd_sync;

    3'd5: rxd_data[5] <= rxd_sync;

    3'd6: rxd_data[6] <= rxd_sync;

    3'd7: rxd_data[7] <= rxd_sync;

    endcase

    end

    end

    endcase

    end

    end

    同样,发送部分状态机如下如下所示:

     

    image

    4、USB代码测试图:

    三、USB通信接口设计

    1、USB通信协议

    USB : Universal Serial BUS(通用串行总线)的缩写,而其中文简称为“通串线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。

    USB发展经过了以下几个阶段:

    (1)USB1.0:1.5Mbps(192KB/s) 低速(Low-Speed) 500mA……1996年1月

    (2)USB1.1:12Mbps(1.5MB/s) 全速(Full-Speed) 500mA……1998年9月

    (3)USB2.0:480Mbps(60MB/s) 高速(High-Speed) 500mA……2000年4月

    (4)USB3.0:5Gbps(640MB/s) 超速(Super-Speed) 900mA……200年11月

    相对于UART的设计,USB就要复杂得多了。USB属于全双工器件,速度之快,指令之多,目前直接用Verilog设计的硬核在理论上能够实现,实际上还不常见。一般USB通信接口的驱动,用Nios II软核来实现。

    2、USB硬件设计
    3、USB Nios II 驱动
    4、USB代码测试图

    由于Bingo这方面的设计,尚未成熟,因此本节内容未完待续……

    展开全文
  • 简单介绍USB接口与USB协议
  • USBHID协议中文版——USB接口HID设备.pdf
  • USB规范范中文版 规范了USB工业标准、USB总线特征、USB协议USB接口编程等
  • USB_HID协议中文版——USB接口HID设备
  • usb3.0中文接口协议

    2020-10-16 16:27:51
    第 3 章 USB 3.0 体系结构概览 第 4 章 超高速数据流模型 第 5 章 机械结构 第 6 章 物理层 第 7 章 链路层 第 8 章 协议层 第 9 章 设备框架 第 10 章 集线器,主机下行口以及设备上行口规范
  • “简述USB接口工作原理”由电蜂优选为您整理,采购连接器,上电蜂优选.USB接口工作原理:USB接口是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,USB接口即插即用和热插拔功能。USB接口可连接127种外设,...

    “简述USB接口工作原理”由电蜂优选为您整理,采购连接器,上电蜂优选.

    7391f4973496913522f22492bf8e6913.png

    USB接口工作原理:

    USB接口是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,USB接口即插即用和热插拔功能。USB接口可连接127种外设,如鼠标和键盘等。USB是在1994年底由英特尔等多家公司联合在1996年推出后,已成功替代串口和并口,已成为当今电脑与大量电子智能设备的必配接口。

    USB版本经历了多年的发展,对于大多数工程师来说,开发USB2.0接口产品主要障碍在于:要面对复杂的USB2.0协议、自己编写USB设备的驱动程序、熟悉单片机的编程。这不仅要求有相当的VC编程经验、还能够编写USB接口的硬件(固件)程序,所以大多数人放弃了自己开发USB产品。为了将复杂的问题简单化,有些连接器厂家特别设计了USB2.0协议转换模块。USB20D模块可以被看作是一个USB2.0协议的转换器,将电脑的USB2.0接口转换为一个透明的并行总线,就象单片机总线一样,从而几天之内就可以完成USB2.0产品的设计。

    cddd2ea5bc95ad5ffd7ef678426a29e2.png
    展开全文
  • USB2.0接口协议转换模块 USB20D ■ 型号:USB20C,USB20D关键词:关键词:USB2.0、USB接口、USB总线、USB协议、USB标准、数据采集、USB从设备、USB驱动、USB开发■ 简 介对于大多数工程师来说,开发USB2.0
    USB2.0接口协议转换模块 USB20D

     

     

     

     

     

     

     

     

     

     

    ■ 型号:USB20C,USB20D

    关键词:关键词:USB2.0、USB接口、USB总线、USB协议、USB标准、数据采集、USB从设备、USB驱动、USB开发

    ■ 简 介
    对于大多数工程师来说,开发USB2.0 接口产品主要障碍在于:要面对复杂的USB2.0协议、自己编写USB设备的驱动程序、熟悉单片机的编程。这不仅要求有相当的VC编程经验、还能够编写USB接口的硬件(固件)程序。所以大多数人放弃了自己开发USB产品。为了将复杂的问题简单化,西安达泰电子特别设计了USB2.0协议转换模块。这个模块可以被看作是一个USB2.0协议的转换器,将电脑的USB2.0接口转换为一个透明的并行总线,就象单片机总线一样。从而几天之内就可以完成USB2.0产品的设计。
    ■ 特 征 ■ 应 用

    ◎SMT工艺、小体积嵌入式模块
    ◎提供16位或8位数据总线
    ◎高速USB2.0接口读写速度大于25MB/Sec
    ◎提供所有Windows版本驱动程序
    ◎提供各种高级语言编程源代码
    ◎提供大量单片机控制实例源代码
    ◎提供FPGA控制VHDL编程代码
    ◎模块尺寸:35×55×10mm

     

    ◎便携式USB接口数据采集系统
    ◎USB逻辑分析仪、USB数字示波器
    ◎USB接口工业控制产品
    ◎USB2.0高速图像传输

    ■ 订货信息

    产品型号
    说 明
    USB20D USB2.0接口升级产品
    USB20C USB2.0,8bit总线
    展开全文
  • 从 Spec 来看,USB4 其实并没有什么新东西,而更像是一次对 USB3,特别是在 Type-C 型接口出现后 USB 接口、设备与协议混乱化的一次整合。由于目前没有更多的资料和产品供参考,这里我只想说几个想法:...

    USB-IF 在昨天正式公布了 USB4 规范,相信大家都已经知道了。这其实是继今年三月四号 Intel 宣布将 Thunderbolt 开放给 USB-IF 后的一件水到渠成的事情。
    从 Spec 来看,USB4 其实并没有什么新东西,而更像是一次对 USB3,特别是在 Type-C 型接口出现后 USB 接口、设备与协议混乱化的一次整合。由于目前没有更多的资料和产品供参考,这里我只想说几个想法:

    1d5075342f238ecc20adf65eb3e5e599.png

    1. USB4 的物理接口统一在 Type-C 下,所以说以后你的电脑如果说带了 USB4 接口,那么它一定是 Type-C 的。而不像是现在 USB3(包括 3.0,3.1 gen1/gen2) 存在两种接口的情况。这是在物理接口上进行统一。
    2. USB4 在命名方面,将以前的一众让人头晕的命名法归一,这样其实利于商业推广。
    3. USB4 的出现将以前一众 Alternative Mode 协议,如 DP,Dock,Thunderbolt 3, VirtualLink 等一勺烩,归到一个统一的版本下。
    乍一看,USB4 真的是一个 Universal 的终极实现,但是现实其实并不是这样。

    7408f0c2bea20b364c7c1f6bd690611b.png

    1. USB4 虽然囊括了众多 Alternative Mode,但是并非强制,因为现在我还没有看到一个 Base Line 的说明,也就是说,即便是 USB4 接口,但是能够支持的协议也要看具体实现,这个跟目前的 USB-C Alternative Mode 没区别。所以我很还是要等一个基准特性列表。
    2. USB4 分为三种协议速率,10Gbps,20Gbps 和 40Gbps。这个与现在的情况类似,所谓的 10Gbps,就是现在 USB 3.1 gen2,所谓的 20Gbps,在目前的 USB 3.1 gen2 下无法实现,这是一个新的,名为 USB 3.1 gen2 2x2 的实现。线材其实和目前的 3.1 gen2 全功能线材一样,但是可以多使用一条 Lane 实现 20Gbps 的翻倍传输速率。其实在目前支持 Thunderbolt 3 协议的 USB-C 接口上,用普通 USB-C 3.1 gen2 线缆连接两个 Thunderbolt 3 设备也是 20Gbps 的速率,这就是所谓的半速 Thunderbolt 3. 不过这两种 20Gbps 有本质区别。40Gbps 即 Thunderbolt 3,它使用了全部四条 Lane 实现全速率传输。在 USB4 Spec 中我们可以看到,使用这个功能需要特殊的线缆,其实就是指目前的 Thunderbolt 3 线缆。
    所以你看啊,这个新的 USB4 其实并没有什么特殊的地方,只不过是把现在的 Alt. mode 的混乱情况掩盖掉了。所以短期内你指望 USB4 统一江湖是非常困难的,它更多的是一个商业推广上的操作而已。不过,我们依然可以从 USB4 获益:

    909d29dc81cdf8e5afc3dff46493706d.png

    1. 物理接口的统一,这不再多说了。
    2. Thunderbolt 3 设备的普及和价格降低,因为授权开放,所有厂商都可以参与进来,而不是 Intel 一家说了算。
    3. 最重要的是,由于 Thunderbolt 的引入,USB4 最为重要的一个特性是带宽的动态负载。目前,USB-C 在 3.1 gen2 下,带宽是根据使用的 Alt. mode 不同,存在一个硬性的分配。这也就是你看 UltraFine 显示器上的下行 USB-C 端口是 USB 2.0 传输速率的原因。因为是硬性规定,所以即便显示器 DP 信号用不了那么多带宽,这些多余的带宽也不能被分配到其他端口或协议上去。但是 Thunderbolt 3 由于本身要支持菊链,所以它天生就带有了动态带宽负载的特性,那么在 Thunderbolt 3 加入 USB4 后,这个特性也就自然而然的带到 USB4 中,这是 USB4 在实现上最大的一个改变。
    4. USB4 端口支持 PD,这次是一个硬性规定了。也就是说,USB4 的端口一定是 Type-C,而这个端口一定是支持 PD 的。这对于用户来说也是福音,我们不需要再去端口上的图标来分辨这个 Type-C 是不是能够支持 PD 协议了。

    展开全文
  • USB(Universal Serial Bus:通用串行总线)USB功能有3个:数据传输电源管理分配连接系统与外设USB接口外形有3个系类:Type(汉意:类型,品种,模范)Mini(汉意:微型的,袖珍的,迷你型)Micro(汉意:微)USB...
  • USB_HID协议中文版_USB接口HID设备报文描述符详解 HID(Human Interface Device,人机接口设备)是 USB 设备中常用的设备类型,是 直接与人交互的 USB 设备,例如键盘、鼠标与游戏杆等。在 USB 设备中,HID 设备的...
  • 分析 USB HID 设备接口协议 工具: OllyDbg,Bus hound 程序识别USB HID外设的方法:调用HidD_GetHidGuid函数获取HID设备的类标识,调用SetupDiGetClassDevs函数查询所有已安装的HID设备,得到一个指向该HID设备集合...
  • USB核心协议定义了主机控制器接口,用来完成事物传输。而主机控制器接口(Host Controller Interface, HCI)目前形成了两种规范,Enhanced HCI和Open HCI。 本资源包含了EHCI和OHCI的规范,为进行HCI层设计以及...
  • 先看看USB的传输协议: 来源:https://www.bybusa.com/community/usb-interface-detailed-explanation 前端时间一直烦恼怎么检测自己笔记本的USB是不是3.0的,搜了好久没有找到解决方法 后来终于找到了一款方便...
  • USB控制器是一种集成了USB总线协议的微控制器,利用USB控制器,用户可以在不深入了解USB协议的情况下设计完整的USB接口,这也促进了USB接口的广泛应用。为了满足更高的测控及数据传输速率的要求,提出并设计一种基于...
  • USB接口的HID类协议

    2009-07-30 14:20:49
    本使用手册说明如何使用USB接口的HID (人机接口设备)演示应用程序。其目标应用是提供一个基于Windows的主机应用软件和一个容易理解的例子,说明交换数据使用的HID类协议
  • 科普 | USB 协议接口

    2020-03-22 11:41:40
    USB 接口
  • 用VC++编写USB接口通讯协议PDF格式.
  • USB全称Universal Serial Bus(通用串行总线),目前USB 2.0接口分为四种类型A型、B型、Mini型还有后来补充的Micro型接口,每种接口都分插头和插座两个部分,Micro还有比较特殊的AB兼容型,本文简要介绍这四类插头和...
  • 设计一个使用高速信号进行数据传输的系统有时是十分困难的,尤其是...由于支持多种类型的数据传输和高功率充电,USB协议已成为一种更通用的高速数据协议接口和电缆规范。图1展示了USB自1998年发布以来的发展历程。...
  • USB接口

    2019-08-18 09:54:16
    USB接口介绍 USB现在是我们日常使用最多的连接器件,无论是手机还是别的东西,使用...USB2.0协议下规范的USB接口标准 Type A 最为常见的接口,一般U盘、硬盘等都是这样,可以直接连接电脑端口; Type B 这个我们日...
  • 基于USBTMC协议USB接口虚拟仪器的研究
  • 硬件标准电路——android 平台下 基于USB2.0协议的TYPE-C接口电路
  • USB协议及其接口实现

    2013-07-08 21:59:00
    本文介绍了USB协议的开发技术,介绍了串行总线的实现方法
  • HID-USB设备接口开发协议,这个文档对于初学者有很大的帮助,讲解的很详细也很丰富,在这里分享给大家,希望大家共同学习共同进步。
  • 为了实现遥控遥测地面接收机的测控信息和关键信道参数的实时备份、显示以及测控指令的准确发送,提出一种基于USB2.0协议的通用测控通信接口的设计方案,并完成了系统的软硬件设计。该系统的硬件部分主要包含FPGA与CY...
  • USB_HID协议中文版_USB接口HID设备.pdf

    热门讨论 2016-08-09 16:27:28
    USB HID开发必备的资料,包括底层固件的枚举描述符配置,上位机HID设备枚举、查找、连接及通讯
  • 苹果最新上市的Macbook Pro 16取消了USB-A、读卡器和HDMI等传统接口,全部换成了USB Type-C形态的雷电3(苹果官方叫雷雳3)。...就此机会,我们不妨重新回顾一下USB接口的历史和现状吧。混乱伊始 重新认识未来的USB...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,555
精华内容 1,022
关键字:

usb接口协议