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

西南交通建设集团网站电销系统哪家好

西南交通建设集团网站,电销系统哪家好,谁能给我个网址,四川住房和城乡建设网站Q1. USB的传输线结构是如何的呢#xff1f; A1: 一条USB的传输线分别由地线、电源线、D、D-四条线构成#xff0c;D和D-是差分输入线#xff0c;它使用的是3.3V的电压#xff08;注意哦#xff0c;与CMOS的5V电平不同#xff09;#xff0c;而电源线和地线可向设备提供…Q1. USB的传输线结构是如何的呢 A1: 一条USB的传输线分别由地线、电源线、D、D-四条线构成D和D-是差分输入线它使用的是3.3V的电压注意哦与CMOS的5V电平不同而电源线和地线可向设备提供5V电压最大电流为500MA可以在编程中设置的至于硬件的实现机制就不要管它了。 Q2. 数据是如何在USB传输线里面传送的 A2: 数据在USB线里传送是由低位到高位发送的。 Q3. USB的编码方案 A3: USB采用不归零取反来传输数据当传输线上的差分数据输入0时就取反输入1时就保持原值为了确保信号发送的准确性当在USB总线上发送一个包时传输设备就要进行位 插入***作即在数据流中每连续6个1后就插入一个0从而强迫NRZI码发生变化。这个了解就行了这些是由专门硬件处理的。 Q4. USB的数据格式是怎么样的呢 A4: 和其他的一样USB数据是由二进制数字串构成的首先数字串构成域有七种域再构成包包再构成事务IN、OUT、SETUP事务最后构成传输中断传输、并行传输、批量传输和控制传输。下面简单介绍一下域、包、事务、传输请注意他们之间的关系。 一域是USB数据最小的单位由若干位组成至于是多少位由具体的域决定域可分为七个类型 1、同步域SYNC八位值固定为0000 0001用于本地时钟与输入同步 2、标识域PID由四位标识符四位标识符反码构成表明包的类型和格式这是一个很重要的部分这里可以计算出USB的标识码有16种具体分类请看Q5。 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、SETUP事务 令牌包阶段——主机发送一个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 除了以上两点有区别外其他的一样这里就不多说 思考这些传输模式在实际***作中应如何通过什么方式去设置 Q5. 标识码有哪些 A5: 如同前面所说的标识码由四位数据组成因此可以表示十六种标识码在USB1.1规范里面只用了十种标识码USB2.0使用了十六种标识码标识码的作用是用来说明包的属性的标识码是和包联系在一起的首先简单介绍一下数据包的类型数据包分为令牌包、数据、握手包和特殊包四种具体分类请看问题七标识码分别有以下十六种令牌包 :0x01 输出(OUT启动一个方向为主机到设备的传输并包含了设备地址和标号0x09 输入 (IN) 启动一个方向为设备到主机的传输并包含了设备地址和标号0x05 帧起始SOF表示一个帧的开始并且包含了相应的帧号0x0d 设置SETUP启动一个控制传输用于主机对设备的初始化数据包 :0x03 偶数据包DATA00x0b 奇数据包DATA1握手包:0x02 确认接收到无误的数据包ACK0x0a 无效接收发送端正在忙而无法接收发送信息0x0e 错误端点被禁止或不支持控制管道请求特殊包 0x0C 前导用于启动下行端口的低速设备的数据传输Q6. USB主机是如何识别USB设备的 A6: 当USB设备插上主机时主机就通过一系列的动作来对设备进行枚举配置配置是属于枚举的一个态态表示暂时的状态这这些态如下1、接入态Attached设备接入主机后主机通过检测信号线上的电平变化来发现设备的接入2、供电态Powered就是给设备供电分为设备接入时的默认供电值配置阶段后的供电值按数据中要求的最大值可通过编程设置3、缺省态DefaultUSB在被配置之前通过缺省地址0与主机进行通信4、地址态Address经过了配置USB设备被复位后就可以按主机分配给它的唯一地址来与主机通信这种状态就是地址态5、配置态Configured通过各种标准的USB请求命令来获取设备的各种信息并对设备的某此信息进行改变或设置。6、挂起态Suspended总线供电设备在3ms内没有总线***作即USB总线处于空闲状态的话该设备就要自动进入挂起状态在进入挂起状态后总的电流功耗不超过280UA。Q7. 刚才在答案四提到的标准的USB设备请求命令究竟是什么 A7: 标准的USB设备请求命令是用在控制传输中的“初始设置步骤”里的数据包阶段即DATA0由八个字节构成请看回问答四的内容。标准USB设备请求命令共有11个大小都是8 个字节具有相同的结构由5个字段构成字段是标准请求命令的数据部分结构如下括号中的数字表示字节数首字母bm,b,w分别表示位图、字节双字节bmRequestType(1)bRequest1wvalue2wIndex2wLength2各字段的意义如下1、bmRequestTypeD7D6D5D4D3D2D1D0D70主机到设备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就算是入门了。 Q8. 在标准的USB请求命令中经常会看到Descriptor这是什么来的呢 A8: Descriptor即描述符是一个完整的数据结构可以通过C语言等编程实现并存储在USB设备中用于描述一个USB设备的所有属性USB主机是通过一系列命令来要求设备发送这 些信息的。它的作用就是通过如问答节中的命令***作来给主机传递信息从而让主机知道设备具有什么功能、属于哪一类设备、要占用多少带宽、使用哪类传输方式及数据量的大小只有 主机确定了这些信息之后设备才能真正开始工作所以描述符也是十分重要的部分要好好掌握。标准的描述符有5种USB为这些描述符定义了编号1——设备描述符2——配置描述符3——字符描述符4——接口描述符5——端点描述符上面的描述符之间有一定的关系一个设备只有一个设备描述符而一个设备描述符可以包含多个配置描述符而一个配置描述符可以包含多个接口描述符一个接口使用了几个端点就 有几个端点描述符。这间描述符是用一定的字段构成的分别如下说明1、设备描述符struct _DEVICE_DEscriptOR_STRUCT{BYTE bLength; //设备描述符的字节数大小为0x12BYTE bDescriptorType; //描述符类型编号为0x01WORD bcdUSB; //USB版本号BYTE bDeviceClass; //USB分配的设备类代码0x01~0xfe为标准设备类0xff为厂商自定义类型//0x00不是在设备描述符中定义的如HIDBYTE 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; //设备描述符的字节数大小为0x12BYTE bDescriptorType; //描述符类型编号为0x01WORD wTotalLength; //配置所返回的所有数量的大小BYTE bNumInterface; //此配置所支持的接口数量BYTE bConfigurationVale; //Set_Configuration命令需要的参数值BYTE iConfiguration; //描述该配置的字符串的索引值BYTE bmAttribute; //供电模式的选择BYTE MaxPower; //设备从总线提取的最大电流}3、字符描述符struct _STRING_DEscriptOR_STRUCT{BYTE bLength; //设备描述符的字节数大小为0x12BYTE bDescriptorType; //描述符类型编号为0x01BYTE SomeDescriptor[36]; //UNICODE编码的字符串}4、接口描述符struct _INTERFACE_DEscriptOR_STRUCT{BYTE bLength; //设备描述符的字节数大小为0x12BYTE bDescriptorType; //描述符类型编号为0x01BYTE bInterfaceNunber; //接口的编号BYTE bAlternateSetting;//备用的接口描述符编号BYTE bNumEndpoints; //该接口使用端点数不包括端点0BYTE 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://wiki.neutronadmin.com/news/275191/

相关文章:

  • 餐饮网站建设研究问题中国女排联赛排名
  • 深圳做网站网络营销公司哪家好科技公司简介范文
  • 网站店铺的图片怎么做的网站空间的价格
  • 中国制造网网站wordpress多级菜单
  • 兰州市城乡和住房建设局网站重庆网站制作1000
  • 深圳品牌网站建设2345网址导航app官网下载
  • 网站建设与网页制作模拟试题深圳市做网站的企业
  • 做企业规划的网站wordpress删除所有文章
  • 乒乓球网站建设目标小说网站开发对影成三人小说
  • 灵动网站建设免流网站开发
  • 帝国cms网站名称哪个公司网络最好
  • 网站开发兼容局机关网站建设
  • 网站 百度认证查看网站模板
  • 商务网站内容维护和管理的范围网站80端口备案
  • 如何把做的网站与域名连接用易语言做抢购网站软件
  • 嘉兴网站建设服务东莞企业名录大全
  • 网站建设推广人员淘宝网站建设手机版
  • 黑龙江省住房和建设厅网站首页庐江县住房和城乡建设局网站
  • 聊城手机网站建设方案怎么运行自己做的网站
  • 网站开发需要的技术的流程郑州做网站推广地址
  • 国精产品999国精产品视频北京seo推广
  • 土特产 网站源码wordpress语言设置
  • 常见c2c网站有哪些马克杯在线设计网站
  • 代制作网站网站建设有哪些项目
  • 怎么设置网站支付功能长沙营销型网站制作
  • 文档阅读网站模板下载wordpress文章首页
  • 清远网站推广优化公司网站怎么做微信接口
  • 购物网站源代码中小学网站建设规范
  • 如何制作个人网站新能源汽车公司
  • 适合平面设计师的网站昆明网站建设公司排行