《通过以太网延长USB系统传输距离的方法及装置.pdf》由会员分享,可在线阅读,更多相关《通过以太网延长USB系统传输距离的方法及装置.pdf(9页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103178872 A (43)申请公布日 2013.06.26 CN 103178872 A *CN103178872A* (21)申请号 201310124730.8 (22)申请日 2013.04.11 H04B 3/02(2006.01) (71)申请人 江苏沁恒股份有限公司 地址 210012 江苏省南京市雨花台区宁双路 18 号 (72)发明人 王朝阳 (74)专利代理机构 南京众联专利代理有限公司 32206 代理人 顾进 (54) 发明名称 通过以太网延长 USB 系统传输距离的方法及 装置 (57) 摘要 本发明提供一种通过以太网延长 USB 系统传。
2、 输距离的方法及装置。针对目前 USB 系统中, USB 电缆不能超过 5m, 在串联最多 5 级 USB-HUB 时, 最 远距离也只有 30m 的问题。本发明的通过以太网 延长USB系统传输距离的装置, 包括与USB主机连 接的 UP 端和与 USB 设备连接的 DOWN 端, 所述的 UP 端和所述的 DOWN 端通过以太网技术实现互联 互通。本发明可以延长 USB 系统传输距离到几十 米、 几百米、 几千米甚至更远。 (51)Int.Cl. 权利要求书 1 页 说明书 5 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书5页 附图2页。
3、 (10)申请公布号 CN 103178872 A CN 103178872 A *CN103178872A* 1/1 页 2 1. 一种通过以太网延长 USB 系统传输距离的装置, 其特征是 : 包括与 USB 主机连接的 UP端和与USB设备连接的DOWN端, 所述的UP端和所述的DOWN端通过以太网传输介质连接 在一起。 2. 根据权利要求 1 所述的通过以太网延长 USB 系统传输距离的装置, 其特征是 : 所述 的以太网传输介质, 采用以太网常用的网线或者光纤。 3. 根据权利要求 1 所述的通过以太网延长 USB 系统传输距离的装置, 其特征是 : 所述 的 UP 端和所述的 DO。
4、WN 端分别包括 USB 模块、 网络模块、 仲裁器以及 RAM 组成, 所述的 USB 模块和所述的网络模块共享内部总线, 通过仲裁器连接随机存储器。 4. 根据权利要求 1 所述的通过以太网延长 USB 系统传输距离的装置, 其特征是 : 所述 的UP端和所述的DOWN端分别包括USB模块、 网络模块以、 双口RAM, 所述的USB模块和所述 的网络模块分别连接到双口 RAM。 5. 根据权利要求 3 或 4 所述的通过以太网延长 USB 系统传输距离的装置, 其特征是 : 所述的USB模块包括USB复合设备, 可以同时解析多个设备地址 ; 分析并记录USB事务、 USB 命令、 USB 。
5、设备的连接状态、 USB 设备的拓扑结构 ; 执行 USB 事务、 USB 命令、 USB 帧管理、 USB 事务调度。 6. 根据权利要求 3 或 4 所述的通过以太网延长 USB 系统传输距离的装置, 其特征是 : 所述的网络模块, 把需要处理的 USB 事务或者 USB 事务的处理结果或者 USB 命令打包, 通过 以太网发送出去 ; 从接收到的以太网数据还原出需要处理 USB 事务或者 USB 事务的处理结 果或者 USB 命令。 7.一种通过以太网延长USB系统传输距离的方法, 其特征是 : 该方法为 : 在USB主机上 连接所述的 UP 端, 在 USB 设备上连接所述的 DOWN。
6、 端, UP 端和 DOWN 端采用以太网技术实现 互联互通, 由 DOWN 端检测 USB 设备的连接状态, 采用设备映射机制, 把 DOWN 端的 USB 设备 映射到离 USB 主机近的 UP 端, UP 端虚拟映射的 USB 设备, 由 UP 端虚拟映射的 USB 设备负 责和 USB 主机的通讯, 由 DOWN 端负责和 USB 设备的通讯。 8. 根据权利要求 7 所述的通过以太网延长 USB 系统传输距离的方法, 其特征是 : 所述 的设备映射机制,是指由DOWN端检测USB设备的连接状态, 通过以太网发送到UP端, UP端 模拟 USB 设备, 如果 DOWN 端连接的是 US。
7、B-HUB, 分析 USB-HUB 的拓扑结构, 记下所有连接的 USB 设备的连接关系图, 记录每个节点的 USB 设备地址。 9. 根据权利要求 7 所述的通过以太网延长 USB 系统传输距离的方法, 其特征是 : 所述 的UP端和DOWN端采用以太网技术实现互联互通, 是指在USB通讯时, UP端记下USB系统的 所有操作, 转换成以太网数据进行远距离传输, DOWN 端根据以太网传过来的数据, 还原 USB 主机的所有操作, 操作结果再由 DOWN 端转换成以太网数据发送到 UP 端, UP 端根据操作结 果在 USB 系统中作出相应的响应。 权 利 要 求 书 CN 10317887。
8、2 A 2 1/5 页 3 通过以太网延长 USB 系统传输距离的方法及装置 0001 技术领域 : 本发明涉及一种通过以太网延长 USB 系统传输距离的方法及装置, 属于信息科学技术 领域。 0002 背景技术 : 目前 USB 技术的优越性越来越明显, 支持 USB 技术的设备越来越多, USB 设备跟 USB 主 机之间的距离不能超过 5m, 即使再串联 5 个 USB-HUB, 最远距离也不能超过 30m, 况且这种 方法布线也不方便, 这给需要远距离使用的场合带来诸多不便。 0003 在 USB 通讯时, 如果 USB 主机或 USB 设备所接收到的信息包有错误, 则它们会丢弃 该信。
9、息包并不作任何应答。 也就是说, 信息包的发送方将得不到任何响应, 这时它就会认为 该信息包在传输过程中发生了错误, 这种错误情况称为总线超时。 0004 为了能够检测出总线超时错误, USB 主机和 USB 设备必须知道从其发送信息包结 束时算起, 直至开始接收到对方应答的信息包时为止, 共经过了多长时间, 这段时间被称为 总线转向时间。对于低 / 全速事务, 其从 USB 总线上出现两个单端零信号 (SE0) 到空闲 (J) 状态的转换 (EOP) 时开始记时, 而在其检测到 USB 总线从空闲状态转换到 K 状态 (SOP) 时 停止记时。对于高速事务, 其从 USB 总线返回到压制电平。
10、时 (总线空闲) 开始记时, 而当 USB 总线脱离压制电平时 (总线非空闲) 停止记时。总线转向时间主要包括电缆线延时, USB-HUB 延时和包间延时。 0005 USB 电缆把数据从其一端传输至另一端所需要的时间称为电缆线延时, 对于全 / 高速, 其单向传输延时最长为 26ns, 对于低速, 其单向传输延时最长为 18ns。USB-HUB 把 数据从其上 / 下行端口传输至下 / 上行端口所需要的时间称为 USB-HUB 延时, 对于全速 USB-HUB, 其最大延时为44ns, 对于高速USB-HUB, 其最大延时为4ns加36个高速位时间 (1/ (480Mb/s)=2.083ns。
11、) 。USB 是一种共享型的串行总线, 它可以连接多个外设, 为了保证 USB 主机和 USB 设备在发出一个信息包之后, 还能有足够的时间来关闭输出缓冲区, 并发送 EOP 信号来驱动 USB 总线处于空闲状态, 它们必须在一个事务处理的各个信息包之间保留一定 的时间间隔, 该时间间隔称为包间延时。对于低 / 全速事务, 其最小延时为 2 个位时间, 最 大延时为 7.5 个位时间 (低速 : 1/(1.5Mb/s) =666.67ns ; 全速 : 1/(12Mb/s) =83.3ns) , 对于 高速事务, 其最小延时为 8 个位时间, 最大延时为 192 个位时间 (1/(480Mb/。
12、s)=2.083ns) 。 0006 如果信息包发送方在最坏的情况下的总线转向时间过后仍没有接收到任何应答, 则它会认为 USB 总线超时, 且该信息包传输失败。USB 规定, 对于低 / 全速事务处理, USB 主 机和 USB 设备在判定其信息包发生超时错误之前必须至少等待 16 个低 / 全速位时间, 但不 能超过 18 个低 / 全速位时间 ; 对于高速事务处理, USB 主机和 USB 设备在判定其信息包发 生超时错误之前必须至少等待 736 个高速位时间, 但不能超过 816 个高速位时间。 0007 受上述总线转向时间的限制, USB 系统规定, USB 电缆不能超过 5m, 在。
13、串联最多 5 级 USB-HUB 时, 最远距离也只有 30m。 0008 发明内容 : 本发明的目的是针对上述存在的问题提供一种通过以太网延长 USB 系统传输距离的 说 明 书 CN 103178872 A 3 2/5 页 4 方法及装置, 可以延长 USB 系统传输距离到几十米、 几百米、 几千米甚至更远。 0009 上述的目的通过以下的技术方案实现 : 通过以太网延长 USB 系统传输距离的装置, 包括与 USB 主机连接的 UP 端和与 USB 设备 连接的 DOWN 端, 所述的 UP 端和所述的 DOWN 端通过以太网传输介质连接在一起。 0010 所述的通过以太网延长 USB 。
14、系统传输距离的装置, 所述的 UP 端和所述的 DOWN 端 分别包括 USB 模块、 网络模块、 仲裁器以及 RAM 组成, 所述的 USB 模块和所述的网络模块共 享内部总线, 通过仲裁器连接随机存储器。所述的仲裁器以及 RAM 也可以使用双口 RAM 替 代, 如果使用双口 RAM 替代, 所述的 USB 模块和所述的网络模块分别连接到双口 RAM。 0011 所述的通过以太网延长 USB 系统传输距离的装置, 所述的以太网传输介质, 可以 是以太网常用的网线、 光纤。 0012 所述的通过以太网延长 USB 系统传输距离的装置, 所述的 USB 模块, 包括 USB 复合 设备, 可以。
15、同时解析多个设备地址 ; 分析并记录 USB 事务、 USB 命令、 USB 设备的连接状态、 USB 设备的拓扑结构 ; 执行 USB 事务、 USB 命令、 USB 帧管理、 USB 事务调度。 0013 所述的通过以太网延长 USB 系统传输距离的装置, 所述的网络模块, 把需要处理 的USB事务或者USB事务的处理结果或者USB命令打包, 通过以太网发送出去 ; 从接收到的 以太网数据还原出需要处理 USB 事务或者 USB 事务的处理结果或者 USB 命令。 0014 一种通过以太网延长 USB 系统传输距离的方法, 该方法是 : 在 USB 主机上连接所 述的 UP 端, 在 US。
16、B 设备上连接所述的 DOWN 端, UP 端和 DOWN 端采用以太网技术实现互联互 通, 由 DOWN 端检测 USB 设备的连接状态, 采用设备映射机制, 把 DOWN 端的 USB 设备映射到 离 USB 主机近的 UP 端, UP 端虚拟映射的 USB 设备, 由 UP 端虚拟映射的 USB 设备负责和 USB 主机的通讯, 由 DOWN 端负责和 USB 设备的通讯。 0015 所述的一种通过以太网延长USB系统传输距离的方法, 所述的设备映射机制,是 : 由 DOWN 端检测 USB 设备的连接状态, 通过以太网发送到 UP 端, UP 端模拟 USB 设备, 如果 DOWN 端。
17、连接的是 USB-HUB, 分析 USB-HUB 的拓扑结构, 记下所有连接的 USB 设备的连接关系 图, 记录每个节点的 USB 设备地址。 0016 所述的一种通过以太网延长 USB 系统传输距离的方法, 所述的 UP 端和 DOWN 端采 用以太网技术实现互联互通, 是 : 在 USB 通讯时, UP 端记下 USB 系统的所有操作, 转换成以 太网数据进行远距离传输, DOWN 端根据以太网传过来的数据, 还原 USB 主机的所有操作, 操 作结果再由 DOWN 端转换成以太网数据发送到 UP 端, UP 端根据操作结果在 USB 系统中作出 相应的响应。 0017 有益效果 : 本。
18、发明使用 UP 端连接 USB 主机, DOWN 端连接 USB 设备, 通过以太网实现互联互通, 这 样 USB 系统的传输距离就取决于以太网的传输距离, 而以太网的传输距离依据不同的传输 介质可以实现几十米、 几百米、 几千米甚至更远。还可以通过交换机、 路由器等现有以太网 设备进行扩展。 0018 附图说明 : 图 1 是本发明的模块之间的连接关系示意图。 0019 图 2 是本发明的另一种实施方案的模块示意图。 0020 图 3 是本发明的网络模块内部结构关系示意图。 说 明 书 CN 103178872 A 4 3/5 页 5 0021 图 4 是本发明的 USB 模块内部结构关系示。
19、意图。 0022 图 5 是本发明的 USB 设备拓扑结构示意图。 0023 图 6 是本发明的 USB 复合设备的逻辑设备示意图。 0024 图中, 1、 UP 端, 2、 DOWN 端, 3、 传输介质, 4、 USB 模块, 5、 网络模块, 6、 仲裁器, 7、 双口 RAM, 10、 网络收发器, 11、 网络 PHY 接口, 12、 网络帧接收模块, 13、 网络帧发送模块, 14、 接收 DMA, 15、 发送 DMA, 16、 接收 FIFO, 17、 发送 FIFO, 18、 控制逻辑模块, 20、 USB 收发器, 21、 USB PHY 接口, 22、 USB 引擎, 2。
20、3、 USB FIFO,24、 主机状态控制模块, 25、 DMA 控制模块, 26、 复合设 备状态控制模块。 0025 具体实施方式 : 为了详细阐述本发明的技术内容, 特举以下实施例。 特别地, 本实施例的电路结构仅是 基于本发明思想的一种实现形式, 事实上任意一种电路结构只要能够符合本发明的方法, 一样可以实现本发明。 0026 图 1 中的 USB 主机可以是 PC 机或其他带 USB HOST 的主机, USB 设备部分可以通 过 USB-HUB 来连接多个 USB 设备, 可以是 U 盘、 USB 摄相头、 USB 键盘、 USB 鼠标、 USB 打印机 等。 0027 图 1 。
21、中的 UP 端和 DOWN 端可以采用自适应机制, 实现连接方式的自动判别, 从而实 现 UP 和 DOWN 的不同功能。 0028 图 1 中的传输介质可以是以太网常用的网线、 光纤等。 0029 图 1 中的 UP/DOWN 端由 USB 模块、 网络模块、 仲裁器以及 RAM 组成。图 2 中的 UP/ DOWN 端由 USB 模块、 网络模块以及双口 RAM 组成。 0030 图 1 中的 USB 模块和网络模块共享内部总线, 通过仲裁机制和 DMA 方式访问 RAM 数据。 0031 图 1、 2 中的网络模块, 把需要处理的 USB 事务或者 USB 事务的处理结果或者 USB 命。
22、令打包, 通过以太网发送出去 ; 从接收到的以太网数据还原出需要处理 USB 事务或者 USB 事务的处理结果或者 USB 命令。 0032 图 3 是图 1、 2 中网络模块的一种内部结构关系示意图, 包括但不限于图 3, 由网络 收发器、 网络PHY接口、 网络帧接收模块、 网络帧发送模块、 接收DMA、 发送DMA、 接收FIFO、 发 送 FIFO、 控制逻辑模块组成。 0033 图 3 中的网络收发器可以采用 MII/GMII/RGMII 等接口, 可以使用外部的网络 PHY 芯片 (如 RTL8211E, IP1001) , 也可以集成在芯片内部。 0034 图 3 中的网络收发器。
23、负责将 MII/GMII/RGMII 等接口发送过来的打包好的以太网 帧并行数据转换成串行数据, 然后转换成电信号传输到介质上, 传输介质上的电信号经网 络收发器转换成串行数据, 再由串行数据转成并行数据到 MII/GMII/RGMII 等接口。 0035 图 3 中的网络帧发送模块负责发送以太网帧, 数据帧经发送 FIFO 缓冲、 网络帧发 送打包, 添加包头、 包尾、 CRC 校验码等。网络帧接收模块负责接收以太网帧, 去掉包头、 包 尾、 CRC 校验码等, 并校验数据帧的正确性, 把正确接收到的数据帧保存到接收 FIFO, 通过 接收 DMA 写入 RAM。 0036 图 3 中的控制。
24、逻辑模块, 负责查询 buffer 描述符, 把需要处理的 buffer 描述符打 包, 通过以太网帧发送模块发送出去, 对于接收到的数据帧去掉附加协议, 保存相应端点的 说 明 书 CN 103178872 A 5 4/5 页 6 数据, 更新buffer描述符。 同时把USB模块传过来的复位、 挂起等命令, 封包成USB命令帧, 传送出去, 从收到的 USB 命令帧解析出 USB 复位、 挂起等命令, 控制 USB 模块执行相应总线 操作。 0037 图 1、 2 中的 USB 模块, 包括 USB 复合设备, 可以同时解析多个设备地址 ; 分析并记 录 USB 事务、 USB 命令、 U。
25、SB 设备的连接状态、 USB 设备的拓扑结构 ; 执行 USB 事务、 USB 命 令、 USB 帧管理、 USB 事务调度。 0038 图 4 是图 1、 2 中 USB 模块的一种内部结构关系示意图, 包括但不限于图 4, 由 USB 收发器、 USB PHY 接口、 USB 引擎、 USB FIFO、 主机状态控制模块、 DMA 控制模块、 复合设备状 态控制模块组成。 0039 图 4 中的 USB 收发器可以采用 ULPI/UTMI/PIPE 等接口, 可以使用外置的 USB PHY (如 ISP1507, USB3500, TUSB1310) , 也可以集成在芯片内部。 0040。
26、 图 4 中的 USB 引擎负责 USB 事务处理。USB 事务处理是 USB 主机和 USB 设备之间 数据传输的基本单位, 由一系列具有特定格式的信息包组成, 如SETUP包、 ACK包等。 它由三 个阶段组成 : 令牌阶段、 数据阶段和握手阶段, 其中数据阶段和握手阶段是可选的。USB 引 擎根据不同的事务种类、 不同的端点类型来组建USB事务各阶段的信息包, 负责USB各信息 包之间的状态流程控制, 总线转向时间的检测, 设备地址端点解析, 大尺寸端点的分包事务 管理, 包间延时控制以及各种错误状态处理。 0041 图 4 中的主机状态控制模块负责主机事务的调度, USB 帧号管理, 。
27、通过 DMA 读取端 点的 buffer 描述符, 分析 buffer 描述符, 端点大小, 读写操作, 缓冲区地址等, 决定是否和 USB 设备的某个端点之间进行一个事务处理, 并向 USB 引擎发出控制命令, 控制 USB 引擎执 行 USB 事务, 把结果通过 DMA 再写回端点的 buffer 描述符, 负责执行 USB 复位、 挂起等控制 命令。 0042 图 4 中的复合设备状态控制模块, 所谓复合设备, 是指多个 USB 设备组合在一起, 如图 6 所示。USB 引擎从总线上接收到信息包后对它们进行解码, 解析出需要通讯的设备 地址和端点号, 根据 USB 引擎解析出的设备地址和。
28、端点, 查询端点地址映射表, 确定端点 buffer描述符的RAM地址, 通过DMA读取端点的buffer描述符, 分析buffer描述符, 确定端 点特性, 是否需要进行事务处理等, 如果需要进行事务处理, 根据不同的事务类型控制 USB 引擎执行USB事务, 如果是SETUP事务, 获取端点描述符的, 还需要分析事务的数据阶段, 记 录端点大小、 类型, 分配合适的 buffer 缓冲区, 建立端点映射关系, 生成 buffer 描述符。如 果是 USB-HUB 命令, 要根据 USB-HUB 报告的端口状态以及主机发的复位、 设置地址等事务, 建立 USB 设备的拓扑结构, 如图 5 所。
29、示, 记录每个节点的 USB 设备地址, 在该节点 USB 设备 断开的时候要断开该节点的 USB 设备以及所有连接在该节点后面的 USB 设备。 0043 本发明工作时, 先由 DOWN 端检测 USB 设备的连接 / 断开, 如果是检测到 USB 设备 连接后, 由 DOWN 端对 USB 设备进行复位, 来确定 USB 设备的最高工作速度, 然后把连接状态 和最高工作速度经过以太网传输到 UP 端, UP 端根据 DOWN 端传过来的 USB 设备的连接 / 断 开状态, 改变与 USB 主机相连的 USB 端口相关信号线, 使 USB 主机能够检测到 USB 设备的连 接和断开。USB。
30、 主机在检测到 USB 设备连接后, 会对 USB 设备进行复位, 来确定 USB 设备的 速度状态 (如全速、 低速、 高速) , UP 端根据复位的过程确定 USB 主机所能支持的设备的速度 (如, 全速主机、 高速主机) , 然后给 DOWN 端发送复位命令并指明主机支持的速度状态, 收到 说 明 书 CN 103178872 A 6 5/5 页 7 复位命令后, DOWN 端会对 USB 设备再次进行复位, 以使 USB 设备工作在与 USB 主机匹配的 速度下。 0044 在 USB 系统正常工作时, USB 主机会对 USB 设备进行枚举, 设置地址、 配置、 接口 等, 所有这些。
31、操作会用到复合设备状态控制模块, 分析设备的各种描述符, 为每个端点分 配一定数量的缓冲, 建立端点映射关系, 确保每个操作的正确性。如果 DOWN 端连接的是 USB-HUB, 这时候还需要对USB-HUB的拓扑结构进行分析, 分析USB-HUB的操作, 记下所有连 接的 USB 设备的连接关系图, 记录每个节点的 USB 设备地址, 在该节点 USB 设备断开的时候 要断开该节点的 USB 设备以及所有连接在该节点后面的 USB 设备。该状态控制机制支持多 个 USB 逻辑设备, 所有这些 USB 逻辑设备都是虚拟的, 与 DOWN 端所连接的 USB 物理设备有 一一对应关系, 负责 U。
32、SB 系统中 USB 设备功能的实现。 0045 在 USB 通讯过程中, UP 端会记下 USB 系统的所有操作, 通过网络模块转换成以太 网数据进行远距离传输。DOWN 端根据网络模块传过来的数据控制 USB 模块, 还原 USB 主机 的所有操作。操作结果再由 DOWN 端的网络模块打包发送到 UP 端, UP 端会根据操作结果在 USB 系统中作出相应的响应。 0046 本发明方案所公开的技术手段不仅限于上述技术手段所公开的技术手段, 还包括 由以上技术特征任意组合或者等同替换所组成的技术方案。本发明的未尽事宜, 属于本领 域技术人员的公知常识。 说 明 书 CN 103178872 A 7 1/2 页 8 图 1 图 2 图 3 说 明 书 附 图 CN 103178872 A 8 2/2 页 9 图 4 图 5 图 6 说 明 书 附 图 CN 103178872 A 9 。