版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 集线器集线器 (复合设备)(复合设备) 游戏杆游戏杆 USB设备设备 (根阶梯根阶梯) 阶梯阶梯0 扫描仪扫描仪鼠标鼠标集线器集线器 USB设备设备 阶梯阶梯1 阶梯阶梯2 PC主机主机 (根集线器)(根集线器) 图图16-1 USB主机和主机和USB设备的连接设备的连接 表表16-1 USB缆线的信号与颜色缆线的信号与颜色 123 4 12 43 A型连接头型连接头 B型连接头型连接头 图图16-2 USB连接头连接头 图16-3 在USB电缆上使用双向不归零编码和差动信号的传输 NRZI编码器 电缆段 差分驱动器 NRZI解码器差分驱动器 D+ D- USB的数据包使用反向不归零编码(的
2、数据包使用反向不归零编码(NRZI)。图)。图16-3描述了在描述了在 USB电缆段上传输信息的步骤。反向不归零编码由传送信息的电缆段上传输信息的步骤。反向不归零编码由传送信息的 USB代理程序完成;然后,被编码的数据通过差分驱动器送到代理程序完成;然后,被编码的数据通过差分驱动器送到 USB电缆上;接着,接收器将输入的差分信号进行放大,将其送电缆上;接着,接收器将输入的差分信号进行放大,将其送 给解码器。使用该编码和差动信号传输方式可以更好地保证数据给解码器。使用该编码和差动信号传输方式可以更好地保证数据 的完整性并减少噪声干扰。的完整性并减少噪声干扰。 图16-4 反向不归零编码 空闲 数
3、据 反 向 不 归零码 0 110 1 000 1110 10 使用反向不归零编码方式可以保证数据传输的完整性,而且不使用反向不归零编码方式可以保证数据传输的完整性,而且不 要求传输过程中有独立的时钟信号。反向不归零编码不是一个要求传输过程中有独立的时钟信号。反向不归零编码不是一个 新的编码方式。它在许多方面都有应用。图新的编码方式。它在许多方面都有应用。图16-4给出了一个数给出了一个数 据流和编码之后的结果。在反向不归零编码时,遇到据流和编码之后的结果。在反向不归零编码时,遇到“0”转换,转换, 遇到遇到“1”保持。反向不归零码必须保持与输入数据的同步性,保持。反向不归零码必须保持与输入数
4、据的同步性, 以确保数据采样正确。反向不归零码数据流必须在一个数据窗以确保数据采样正确。反向不归零码数据流必须在一个数据窗 口被采样,无论前一个位时间是否发生过转换。解码器在每个口被采样,无论前一个位时间是否发生过转换。解码器在每个 位时间采样数据以检查是否有转换。位时间采样数据以检查是否有转换。 图图16-5在在USB电缆上使用双向不归零编码和差动信号的传输电缆上使用双向不归零编码和差动信号的传输 00011111111011 数据数据 空闲空闲 双向不归零码双向不归零码 填充后数填充后数 据据 填充位填充位 若重复相同的若重复相同的“1”信号一直进入时,就会造成数据长时间无法转换,逐渐的积
5、累,信号一直进入时,就会造成数据长时间无法转换,逐渐的积累, 而导致接收器最终丢失同步信号的状况,使得读取的时序会发生严重的错误。因此,在而导致接收器最终丢失同步信号的状况,使得读取的时序会发生严重的错误。因此,在 NRZI编码之间,还需执行所谓的位填充的工作。位填充要求数据流中如果有连续的六个编码之间,还需执行所谓的位填充的工作。位填充要求数据流中如果有连续的六个 “1”就要强行转换。这样接收器在反向不归零码数据流中最多每七个位就检测到一次跳就要强行转换。这样接收器在反向不归零码数据流中最多每七个位就检测到一次跳 转。这样就保证了接收器与输入数据流保持同步。反向不归零码的发送器要把转。这样就
6、保证了接收器与输入数据流保持同步。反向不归零码的发送器要把“0”(填(填 充位)插到数据流中。接收器必须被设计成能够在连续的六个充位)插到数据流中。接收器必须被设计成能够在连续的六个“1”之后识别一个自动跳之后识别一个自动跳 转,并且立即扔掉这六个转,并且立即扔掉这六个“1”之后的之后的“0”位。位。 图图16-5的第一行是送到接收器的原始数据。注意数据流包括连续的八个的第一行是送到接收器的原始数据。注意数据流包括连续的八个“1”。第二。第二 行表示对原始数据进行了位填充,在原始的第六个和第七个行表示对原始数据进行了位填充,在原始的第六个和第七个“1”之间填入了一个之间填入了一个“0”。 第七
7、个第七个“1”延时一个位时间让填充位插入。接收器知道连续六个延时一个位时间让填充位插入。接收器知道连续六个“1”之后将是一个填充之后将是一个填充 位,所以该位就要被忽略。注意,如果原始数据的第七个位是位,所以该位就要被忽略。注意,如果原始数据的第七个位是“0”,填充位也同样插入,填充位也同样插入, 在填充过的数据流中就会有两个连续的在填充过的数据流中就会有两个连续的“0”。 USB 主机主机 USB 低速低速 设备设备 USB数据线数据线 +5V D+ D- 15千欧千欧 1.5千欧千欧 Vcc D+ D- 地地 15千欧千欧 USB 主机主机 USB 全速全速 设备设备 USB数据线数据线
8、+5V D+ D- 15千欧千欧 1.5千欧千欧 Vcc D+ D- 地地 15千欧千欧 主机主机 (PC)(PC) USBUSB 设备设备 1. IN1. IN令牌封包令牌封包 2. DATA12. DATA1数据封包数据封包 3. ACK3. ACK握手封包握手封包 图图16-816-8控制读取的控制读取的ININ数据交换的过程示意图数据交换的过程示意图 主机主机 (PC)(PC) USBUSB 设备设备 1.OUT1.OUT令牌封包令牌封包 2. DATA12. DATA1数据封包数据封包 3. ACK3. ACK握手封包握手封包 图图16-916-9控制写入的控制写入的OUTOUT数据
9、交换的过程示意图数据交换的过程示意图 该请求中的该请求中的wValue表示特性选择器,它对应的值为:表示特性选择器,它对应的值为:0端点,端点,1设设 备。当某个特点不允许取消,或该特性根本不存在,或者是指向一个根备。当某个特点不允许取消,或该特性根本不存在,或者是指向一个根 本不存在的接口或端点时,该请求将会导致设备请求失败。如果端点被本不存在的接口或端点时,该请求将会导致设备请求失败。如果端点被 固件设为停止状态,主机软件固件设为停止状态,主机软件(总线驱动程序总线驱动程序)也可以发送一个值为也可以发送一个值为0的的 CLEAR_FEATURE命令清除该端点的停止状态,本实例中就是这样使用
10、命令清除该端点的停止状态,本实例中就是这样使用 该请求的。该请求的。 该请求中的该请求中的wValue的高字节表示要取的描述符类型,低字节表示描述符的索引的高字节表示要取的描述符类型,低字节表示描述符的索引 值,描述的类型有:值,描述的类型有:1表示设备描述符,表示设备描述符,2表示配置描述符,表示配置描述符,3表示字符串描述符,表示字符串描述符, 4表示接口描述符,表示接口描述符,5表示端点描述符。表示端点描述符。wIndex的值为的值为0或语言或语言ID;当要取的描;当要取的描 述符是字符串描述符时,该域的值为语言述符是字符串描述符时,该域的值为语言ID;当为其他的描述符时,该域为;当为其
11、他的描述符时,该域为0。 wLength表示要返回的数据长度,如果表示要返回的数据长度,如果SETUP阶段的地址使用的是预设地址阶段的地址使用的是预设地址0 (ENDP字段为字段为0),这时的),这时的wLength值会大于实际的描述的值。这是为什么呢?值会大于实际的描述的值。这是为什么呢? 原因是用户以预设的地址原因是用户以预设的地址0来取得设备描述符时,不管设多少字节,用户最多只来取得设备描述符时,不管设多少字节,用户最多只 取其前取其前8字节,即在控制传输过程只有一次数据阶段。但是,如果用户以新的地字节,即在控制传输过程只有一次数据阶段。但是,如果用户以新的地 址(址(ENDP字段不为字
12、段不为0)来取得设备描述符时,这时)来取得设备描述符时,这时wLength的值就要注意了。的值就要注意了。 该请求与其他的请求有一个重要的不同点,该请求下,该请求与其他的请求有一个重要的不同点,该请求下,USB设备一直不改变它设备一直不改变它 的地址,直到该请求的状态阶段被成功地完成,而其他请求的操作都是在状态阶的地址,直到该请求的状态阶段被成功地完成,而其他请求的操作都是在状态阶 段之前完成,可以阅读本实例加深对该点的理解。若特定的设备地址大于段之前完成,可以阅读本实例加深对该点的理解。若特定的设备地址大于127, 或者或者wIndex 或或wLength为非为非0值,那么该请求不执行。值,
13、那么该请求不执行。 该请求中的该请求中的wValue域的低字节表示设置的值,该值必须为域的低字节表示设置的值,该值必须为0或者与配置描述符或者与配置描述符 中的配置值相匹配。如果设置值等于中的配置值相匹配。如果设置值等于0,表示设备在地址状态。如果,表示设备在地址状态。如果wIndex 或或 wLength为非为非0值,那么该请求不执行。值,那么该请求不执行。 JB8具有具有20、28、44三三 种封装形式,不同封装种封装形式,不同封装 只是引脚数量和形式有只是引脚数量和形式有 所区别,其它方面是一所区别,其它方面是一 致的,致的,JB8单片机的封单片机的封 装见图装见图16-10所示,其所示
14、,其 中中a,b,c分别给出了分别给出了28, 20,44三种封装形式的三种封装形式的 管脚图。管脚图。 $0000 $003F $0040 $013F $0140 $DBFF $DC00 $FBFF $FC00 $FDFF $FE00 $FE0F $FE10 $FEDF $FFE0 $FFEF $FFF0 $FFFF 64字节的字节的I/O寄存器区寄存器区 256字节的字节的RAM区区 56000字节未定义区字节未定义区 8192字节字节Flash存储器区存储器区 512字节监视字节监视ROM区区1 控制及状态寄存器区控制及状态寄存器区 464字节监视字节监视ROM区区2 16字节字节Fla
15、sh向量区向量区 16字节保留区字节保留区 图16-11 JB8存储映像图 USB控制控制 逻辑逻辑 收收 发发 器器 USB寄存器寄存器 D+ D- USB 接口接口 CPU总线总线 USB功能模块图功能模块图 数据位数据位D7D6D5D4D3D2D1D0 定义定义R2SEQTXACKTXANKTXSTLRP2SIZ3RP2SIZ2RP2SIZ1RP2SIZ0 复位复位00000000 端点端点0接收数接收数 据产生的中断据产生的中断 USB初始化初始化 开始开始 Y SETUP事务事务? N N 端点端点0接收数接收数 据产生的中断据产生的中断 Y N 复位产生的中断?复位产生的中断? 调
16、用处理端点调用处理端点0OUT 事务处理事务处理 Y N 退出中断退出中断 调用处理端点调用处理端点0IN 事务处理事务处理 调用调用SETUP事事 务处理务处理 Y Y 查询方式接收数据查询方式接收数据 UIR1 的的BM_RXD2F位为位为1 禁止端点禁止端点2输入(将输入(将UCR2 的的BM_RX2E位置位置0) 清清RXD2F位(将位(将UIR2 的的 BM_RXD2FR位置位置0) 从端点从端点2的接收缓冲区中读取数据的接收缓冲区中读取数据 允许端点允许端点2输入(将输入(将UCR2 的的BM_RX2E位置位置1) N 开始开始 查询方式发送数据查询方式发送数据 UIR1 的的BM_TXD1F位为位为1 禁止端点禁止端点1输出(将输出(将UCR1 的的BM_TX1E位置位置0) 清清TXD1F位(将位(将UIR2 的的 BM_TXD1FR位置位置0) 向端点向端点1的数据缓冲区中写入数据的数据缓冲区中写入数据 设置发送数据的个数和设置发送数据的个数和TES1Q位位,允许端点允许端点1输出输出 (将(将UCR2 的的BM_RX2E位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咏雪课件教学课件
- 2024年度生物医药研发与生产合同
- 2024年建筑工程施工进度保障协议
- 学校元旦课件教学课件
- 04设计定制专属塔吊设计制造合同
- 2024专利申请权的转让合同书
- 2024年度技术开发与委托生产合同
- 2024工矿产品的加工合同
- 2024年大型超市送货员岗位职责合同
- 2024系统集成合同模板
- 港口现场装卸指导员工作职责
- 牧业设备-TMR标准化操作流程-培训课件
- 2024新人教版初中英语单词表汇总(七-九年级)中考复习必背
- 邮政快递员劳务合同范本
- 建筑工程质量通病防治手册样本
- 2024软件代码自主率测评方法
- 广告投放运营述职报告
- 小学一年级简单的语文阅读理解(八篇)
- 2024年贵州省职业院校技能大赛中职组《导游服务》赛项备考试题库(含答案)
- 2024年云南黄金矿业集团股份有限公司招聘笔试参考题库含答案解析
- 2024年1月浙江丽水市人才引进面试题及参考答案
评论
0/150
提交评论