当前位置: 首页 > news >正文

网站升级页面模板做最好的网站

网站升级页面模板,做最好的网站,seo好学吗,网站类型怎么分http://www.amobbs.com/thread-901041-1-1.html 问题一#xff1a;USB的传输线结构是如何的呢#xff1f; 答案一#xff1a;一条USB的传输线分别由地线、电源线、D、D-四条线构成#xff0c;D和D-是差分输入线#xff0c;它使用的是3.3V的电压#xff08;注意哦#xf…http://www.amobbs.com/thread-901041-1-1.html   问题一USB的传输线结构是如何的呢 答案一一条USB的传输线分别由地线、电源线、D、D-四条线构成D和D-是差分输入线它使用的是3.3V的电压注意哦与CMOS的5V电平不同而电源线和地线可向设备提供5V电压最大电流为500MA可以在编程中设置的至于硬件的实现机制就不要管它了。 问题二数据是如何在USB传输线里面传送的 答案二数据在USB线里传送是由低位到高位发送的。   问题三USB的编码方案 答案三USB采用不归零取反来传输数据当传输线上的差分数据输入0时就取反输入1时就保持原值为了确保信号发送的准确性当在USB总线上发送一个包时传输设备就要进行位插入***作即在数据流中每连续6个1后就插入一个0从而强迫NRZI码发生变化。这个了解就行了这些是由专门硬件处理的。   问题四USB的数据格式是怎么样的呢 答案四和其他的一样USB数据是由二进制数字串构成的首先数字串构成域有七种域再构成包包再构成事务IN、OUT、SETUP事务最后构成传输中断传输、并行传输、批量传输和控制传输。下面简单介绍一下域、包、事务、传输请注意他们之间的关系。 一域是USB数据最小的单位由若干位组成至于是多少位由具体的域决定域可分为七个类型1、同步域SYNC八位值固定为0000 0001用于本地时钟与输入同步2、标识域PID由四位标识符四位标识符反码构成表明包的类型和格式这是一个很重要的部分这里可以计算出USB的标识码有16种具体分类请看问题五。3、地址域ADDR七位地址代表了设备在主机上的地址地址000 0000被命名为零地址是任何一个设备第一次连接到主机时在被主机配置、枚举前的默认地址由此可以知道为什么一个USB主机只能接127个设备的原因。4、端点域ENDP四位由此可知一个USB设备有的端点数量最大为16个。5、帧号域FRAM11位每一个帧都有一个特定的帧号帧号域最大容量0x800对于同步传输有重要意义同步传输为四种传输类型之一请看下面。6、数据域DATA长度为0~1023字节在不同的传输类型中数据域的长度各不相同但必须为整数个字节的长度7、校验域CRC对令牌包和数据包对于包的分类请看下面中非PID域进行校验的一种方法CRC校验在通讯中应用很泛是一种很好的校验方法至于具体的校验方法这里就不多说请查阅相关资料只须注意CRC码的除法是模2运算不同于10进制中的除法。 二包由域构成的包有四种类型分别是令牌包、数据包、握手包和特殊包前面三种是重要的包不同的包的域结构不同介绍如下1、令牌包可分为输入包、输出包、设置包和帧起始包注意这里的输入包是用于设置输入命令的输出包是用来设置输出命令的而不是放据数的 其中输入包、输出包和设置包的格式都是一样的SYNCPIDADDRENDPCRC5五位的校验码   上面的缩写解释请看上面域的介绍PID码的具体定义请看问题五 帧起始包的格式SYNCPID11位FRAMCRC5五位的校验码2、数据包分为DATA0包和DATA1包当USB发送数据的时候当一次发送的数据长度大于相应端点的容量时就需要把数据包分为好几个包分批发送DATA0包和DATA1包交替发送即如果第一个数据包是DATA0那第二个数据包就是DATA1。但也有例外情况在同步传输中四类传输类型中之一所有的数据包都是为DATA0格式如下SYNCPID0~1023字节CRC16 3、握手包结构最为简单的包格式如下SYNCPID注上面每种包都有不同类型的USB1.1共定义了十种包具体请见问题五 三事务分别有IN事务、OUT事务和SETUP事务三大事务每一种事务都由令牌包、数据包、握手包三个阶段构成这里用阶段的意思是因为这些包的发送是有一定的时间先后顺序的事务的三个阶段如下1、令牌包阶段启动一个输入、输出或设置的事务2、数据包阶段按输入、输出发送相应的数据3、握手包阶段返回数据接收情况在同步传输的IN和OUT事务中没有这个阶段这是比较特殊的。 事务的三种类型如下以下按三个阶段来说明一个事务1、 IN事务 令牌包阶段——主机发送一个PID为IN的输入包给设备通知设备要往主机发送数据 数据包阶段——设备根据情况会作出三种反应要注意数据包阶段也不总是传送数据的根据传输情况还会提前进入握手包阶段1 设备端点正常设备往入主机里面发出数据包DATA0与DATA1交替2 设备正在忙无法往主机发出数据包就发送NAK无效包IN事务提前结束到了下一个IN事务才继续3 相应设备端点被禁止发送错误包STALL包事务也就提前结束了总线进入空闲状态。 握手包阶段——主机正确接收到数据之后就会向设备发送ACK包。2、 OUT事务 令牌包阶段——主机发送一个PID为OUT的输出包给设备通知设备要接收数据 数据包阶段——比较简单就是主机会设备送数据DATA0与DATA1交替 握手包阶段——设备根据情况会作出三种反应1设备端点接收正确设备往入主机返回ACK通知主机可以发送新的数据如果数据包发生了CRC校验错误将不返回任何握手信息2 设备正在忙无法往主机发出数据包就发送NAK无效包通知主机再次发送数据3 相应设备端点被禁止发送错误包STALL包事务提前结束总线直接进入空闲状态。3、SETUT事务 令牌包阶段——主机发送一个PID为SETUP的输出包给设备通知设备要接收数据 数据包阶段——比较简单就是主机会设备送数据注意这里只有一个固定为8个字节的DATA0包这8个字节的内容就是标准的USB设备请求命令共有11条具体请看问题七 握手包阶段——设备接收到主机的命令信息后返回ACK此后总线进入空闲状态并准备下一个传输在SETUP事务后通常是一个IN或OUT事务构成的传输 四传输传输由OUT、IN、SETUP事务其中的事务构成传输有四种类型中断传输、批量传输、同步传输、控制传输其中中断传输和批量转输的结构一样同步传输有最简单的结构而控制传输是最重要的也是最复杂的传输。1、中断传输由OUT事务和IN事务构成用于键盘、鼠标等HID设备的数据传输中2、批量传输由OUT事务和IN事务构成用于大容量数据传输没有固定的传输速率也不占用带宽当总线忙时USB会优先进行其他类型的数据传输而暂时停止批量转输。3、同步传输由OUT事务和IN事务构成有两个特殊地方第一在同步传输的IN和OUT事务中是没有返回包阶段的第二在数据包阶段所有的数据包都为DATA0 4、控制传输最重要的也是最复杂的传输控制传输由三个阶段构成初始设置阶段、可选数据阶段、状态信息步骤每一个阶段可以看成一个的传输也就是说控制传输其实是由三个传输构成的用来于USB设备初次加接到主机之后主机通过控制传输来交换信息设备地址和读取设备的描述符使得主机识别设备并安装相应的驱动程序这是每一个USB开发者都要关心的问题。1、初始设置步骤就是一个由SET事务构成的传输2、可选数据步骤就是一个由IN或OUT事务构成的传输这个步骤是可选的要看初始设置步骤有没有要求读/写数据由SET事务的数据包阶段发送的标准请求命令决定3、 状态信息步骤顾名思义这个步骤就是要获取状态信息由IN或OUT事务构成构成的传输但是要注意这里的IN和OUT事务和之前的INT和OUT事务有两点不同1 传输方向相反通常IN表示设备往主机送数据OUT表示主机往设备送数据在这里IN表示主机往设备送数据而OUT表示设备往主机送数据这是为了和可选数据步骤相结合2 在这个步骤里数据包阶段的数据包都是0长度的即SYNCPIDCRC16除了以上两点有区别外其他的一样这里就不多说 思考这些传输模式在实际***作中应如何通过什么方式去设置   问题五标识码有哪些 答案五如同前面所说的标识码由四位数据组成因此可以表示十六种标识码在USB1.1规范里面只用了十种标识码USB2.0使用了十六种标识码标识码的作用是用来说明包的属性的标识码是和包联系在一起的首先简单介绍一下数据包的类型数据包分为令牌包、数据、握手包和特殊包四种具体分类请看问题七标识码分别有以下十六种 令牌包 :0x01  输出(OUT启动一个方向为主机到设备的传输并包含了设备地址和标号0x09  输入 (IN) 启动一个方向为设备到主机的传输并包含了设备地址和标号0x05  帧起始SOF表示一个帧的开始并且包含了相应的帧号0x0d  设置SETUP启动一个控制传输用于主机对设备的初始化 数据包 :0x03  偶数据包DATA00x0b  奇数据包DATA1 握手包:0x02  确认接收到无误的数据包ACK0x0a  无效接收发送端正在忙而无法接收发送信息0x0e  错误端点被禁止或不支持控制管道请求 特殊包 0x0C  前导用于启动下行端口的低速设备的数据传输 问题六USB主机是如何识别USB设备的 答案六当USB设备插上主机时主机就通过一系列的动作来对设备进行枚举配置配置是属于枚举的一个态态表示暂时的状态这这些态如下        1、接入态Attached设备接入主机后主机通过检测信号线上的电平变化来发现设备的接入        2、供电态Powered就是给设备供电分为设备接入时的默认供电值配置阶段后的供电值按数据中要求的最大值可通过编程设置        3、缺省态DefaultUSB在被配置之前通过缺省地址0与主机进行通信        4、地址态Address经过了配置USB设备被复位后就可以按主机分配给它的唯一地址来与主机通信这种状态就是地址态        5、配置态Configured通过各种标准的USB请求命令来获取设备的各种信息并对设备的某此信息进行改变或设置。        6、挂起态Suspended总线供电设备在3ms内没有总线***作即USB总线处于空闲状态的话该设备就要自动进入挂起状态在进入挂起状态后总的电流功耗不超过280UA。   问题七刚才在答案四提到的标准的USB设备请求命令究竟是什么 答案七标准的USB设备请求命令是用在控制传输中的“初始设置步骤”里的数据包阶段即DATA0由八个字节构成请看回问答四的内容。标准USB设备请求命令共有11个大小都是8个字节具有相同的结构由5个字段构成字段是标准请求命令的数据部分结构如下括号中的数字表示字节数首字母bm,b,w分别表示位图、字节双字节bmRequestType(1)bRequest1wvalue2wIndex2wLength2 各字段的意义如下1、bmRequestTypeD7D6D5D4D3D2D1D0 D70主机到设备1设备到主机D6D500标准请求命令     01 类请求命令     10用户定义的命令      11保留值D4D3D2D1D000000 接收者为设备            00001 接收者为设备            00010 接收者为端点            00011 接收者为其他接收者            其他  其他值保留2、bRequest请求命令代码在标准的USB命令中每一个命令都定义了编号编号的值就为字段的值编号与命令名称如下要注意这里的命令代码要与其他字段结合使用可以说命令代码是标准请求命令代码的核心正是因为这些命令代码而决定了11个USB标准请求命令0 0  GET_STATUS用来返回特定接收者的状态1 1  CLEAR_FEATURE用来清除或禁止接收者的某些特性2 3  SET_FEATURE用来启用或激活命令接收者的某些特性3 5  SET_ADDRESS用来给设备分配地址4 6  GET_DEscriptOR用于主机获取设备的特定描述符5 7  SET_DEscriptOR修改设备中有关的描述符或者增加新的描述符6 8  GET_CONFIGURATION用于主机获取设备当前设备的配置值注同上面的不同  7 9  SET_CONFIGURATION用于主机指示设备采用的要求的配置8 10  GET_INTERFACE用于获取当前某个接口描述符编号9 11  SET_INTERFACE用于主机要求设备用某个描述符来描述接口10 12 SYNCH_FRAME用于设备设置和报告一个端点的同步帧 以上的11个命令要说得明白真的有一匹布那么长请各位去看书吧这里就不多说了控制传输是USB的重心而这11个命令是控制传输的重心所以这11个命令是重中之重这个搞明白了USB就算是入门了。   问题八在标准的USB请求命令中经常会看到Descriptor这是什么来的呢 回答八Descriptor即描述符是一个完整的数据结构可以通过C语言等编程实现并存储在USB设备中用于描述一个USB设备的所有属性USB主机是通过一系列命令来要求设备发送这些信息的。它的作用就是通过如问答节中的命令***作来给主机传递信息从而让主机知道设备具有什么功能、属于哪一类设备、要占用多少带宽、使用哪类传输方式及数据量的大小只有主机确定了这些信息之后设备才能真正开始工作所以描述符也是十分重要的部分要好好掌握。标准的描述符有5种USB为这些描述符定义了编号1——设备描述符2——配置描述符3——字符描述符4——接口描述符5——端点描述符 上面的描述符之间有一定的关系一个设备只有一个设备描述符而一个设备描述符可以包含多个配置描述符而一个配置描述符可以包含多个接口描述符一个接口使用了几个端点就有几个端点描述符。这间描述符是用一定的字段构成的分别如下说明1、设备描述符struct _DEVICE_DEscriptOR_STRUCT { BYTE bLength;          //设备描述符的字节数大小为0x12 BYTE bDescriptorType;  //描述符类型编号为0x01 WORD bcdUSB;           //USB版本号BYTE bDeviceClass;  //USB分配的设备类代码0x01~0xfe为标准设备类0xff为厂商自定义类型                        //0x00不是在设备描述符中定义的如HID     BYTE bDeviceSubClass;   //usb分配的子类代码同上值由USB规定和分配的    BYTE bDeviceProtocl;    //USB分配的设备协议代码同上    BYTE bMaxPacketSize0;   //端点0的最大包的大小    WORD idVendor;          //厂商编号    WORD idProduct;         //产品编号    WORD bcdDevice;         //设备出厂编号    BYTE iManufacturer;     //描述厂商字符串的索引    BYTE iProduct;          //描述产品字符串的索引    BYTE iSerialNumber;     //描述设备序列号字符串的索引    BYTE bNumConfiguration; //可能的配置数量    }2、配置描述符struct _CONFIGURATION_DEscriptOR_STRUCT { BYTE bLength;          //设备描述符的字节数大小为0x12 BYTE bDescriptorType;  //描述符类型编号为0x01 WORD wTotalLength;     //配置所返回的所有数量的大小BYTE bNumInterface;    //此配置所支持的接口数量BYTE bConfigurationVale;   //Set_Configuration命令需要的参数值BYTE iConfiguration;       //描述该配置的字符串的索引值BYTE bmAttribute;          //供电模式的选择BYTE MaxPower;             //设备从总线提取的最大电流}3、字符描述符struct _STRING_DEscriptOR_STRUCT { BYTE bLength;          //设备描述符的字节数大小为0x12 BYTE bDescriptorType;  //描述符类型编号为0x01 BYTE SomeDescriptor[36];          //UNICODE编码的字符串}4、接口描述符struct _INTERFACE_DEscriptOR_STRUCT { BYTE bLength;          //设备描述符的字节数大小为0x12 BYTE bDescriptorType;  //描述符类型编号为0x01 BYTE bInterfaceNunber; //接口的编号BYTE bAlternateSetting;//备用的接口描述符编号BYTE bNumEndpoints;    //该接口使用端点数不包括端点0 BYTE bInterfaceClass;  //接口类型BYTE bInterfaceSubClass;//接口子类型BYTE bInterfaceProtocol;//接口所遵循的协议BYTE iInterface;        //描述该接口的字符串索引值}5、端点描述符struct _ENDPOIN_DEscriptOR_STRUCT { BYTE bLength;          //设备描述符的字节数大小为0x12 BYTE bDescriptorType;  //描述符类型编号为0x01 BYTE bEndpointAddress; //端点地址及输入输出属性BYTE bmAttribute;      //端点的传输类型属性WORD wMaxPacketSize;   //端点收、发的最大包的大小BYTE bInterval;        //主机查询端点的时间间隔}
http://www.yutouwan.com/news/378269/

相关文章:

  • 网站建站主机网址大全查询
  • 甜品网站设计彩票网站建设柏
  • 呼和浩特企业网站网站建设公司哪家好?该如何选择
  • 霍山县网站建设公司wordpress 755权限
  • 网站建设实训意义微商城官网登陆入口
  • 顺德区网站设计施工效果图怎么做
  • html购物网站设计网站分享正能量
  • 网站建设凭证网页的分类
  • 南京网站设计公司哪儿济南兴田德润怎么联系仿珠宝首饰网站开发
  • .网站开发工具dw网页制作学习
  • 杭州网站制作工作室营销型企业网站的功能
  • 查网站空间商检察机门户网站建设自查报告
  • 网站开发调试工具邯郸科技有限公司
  • 虚拟主机上的网站上传方式局机关网站建设
  • 品牌网站开发网站建设公司推荐金石下拉网络
  • 天翼云主机怎么建设网站建筑工程施工合同电子版
  • 做个外贸网站多少费用昆明小程序开发公司
  • 二手车网站怎么做建设我们的网站教案
  • 企业科技网站建设wordpress4.x
  • 建站之星破解版自己怎么做网站首页
  • 模板建站和仿站东莞网站营销策划
  • 创业服务网网站建设方案项目书即刻搜索收录网站
  • 网站怎么做才购物网站建设款流程
  • 做建筑材料哪个网站好一点wordpress使用端口
  • 网站首页关键词优化制作微信公众号需要多少钱
  • 制作网站的最大公司如何申请成立公司
  • 建设网站宣传页微信网站网址
  • 网站后台html5模板wordpress d压缩
  • 找公司做网站建设公司网站征集信息的通知
  • 如何建设品牌网站郑州官方发布