ROBOT & AI

首页 | 新闻 | 产品 | 竞赛 | 学苑 | 读书 | 硬件 | 软件 | 智能 | 制作 | 项目 | 资源 | 论坛
 您的位置:首页 >> 软件 >> 机器人控制 >> 正文
站内搜索:   

基于USB总线的机器人上下位机通信

来源:电子技术应用  孔凡超 言勇华 字体:[ ]  2007-01-08

关键词:通信

摘要介绍一种基于USB总线的数字机器人控制系统的软件结构以及其上位机与下位机通信的实现机制。

关键词:USB 教学机器人 通信

EDUROBOT-680 -II型教学机器人是上海交通大学机器人研究所采用世界银行贷款研制的一种五自由度多关节的机器人。它具备工业机器的基本功能、良好的开放性以及舒适的使 用界面,主要大专院校和科研机构提供教学和科研工具。学生可以通过亲手操作了解和学习工业机器人,它具备工业机器人的基本功能、良好的开放性以及舒适的使 用界面,主要为大专院校和科研机构提供教学和科研工具。学生可以通过亲手操作了解和学习工业机器人,科研人员还可对它进行二次开发。

教学机器人的上位机 (主控计算机)和下位机(运动控制器)原先采用并行口(LPT1)的SPP方式进行通信。利用LPT1的状态寄存器(Status Port)具有的读能力和每次传送半字节(Nibble)来实现数据的双向传送功能。每次传送的时序(次序)由软件建立,在控制字的协调下按照教学机器人 的通信协议接收和发送数据。

目前USB越来越普及,正逐渐取代串口和并口在计算机接口中的地位。为了研究USB在实时通信时的性能,笔者已将教学机器人上下位机通信改用USB端口实现。

图1(点击可查看)

1 USB特点及其应用

通用串行总线USB Universal Serial Bus)是1994年底由CompaqIBMMicrosoft等多家公司联合提出的一种计算机接噪覆亡,目前已发展到USB2.0。由于USB具有 以下几方面的特点,所以迅速普及,逐渐确定了在计算机接口中的主导地位。

1)易用性。USB支持热插拔和即插即用。

2)可扩展性。用户可以通过连接USB集线器到一个已有的端口来增加USB端口数量,集线器上还可以连更多的集线器。理论上可以连接127个外设到USB总线上。

3)快速性。USB1.1版规定了两种传输速率:低速传输和全速传输。低速传输的速率是1.5Mbps,全速是12Mbps。这不但远远高于传统的串口传输速率,也比并口传输快了好多倍。最近推出的USB2.0允许的最高传输速率高达480Mbps

4)可靠性。USB的可靠性来自硬件设计和USB数据传输协议两方面的保证。USB驱动器、接收器和电缆的硬件规范消除了大多数可能引起数据错误的噪声;USB协议使用了差错校验和数据重传机制,可以最大程度保证数据传输的准确性。

5)内置电源。USB总线内置电源线,可以给外设提供5V和最多500mA的电源供应,满足大部分低功耗外设的电源要求。

由于USB具有这些 突出的优点,不但一些传统外设开始提供USB接口,而且大量新型外设也把USB接口作为首先甚至唯一的接口,如MP3播放器、移动硬盘等。由于USB的高 可靠性和足够快的通信速率,USB开始应用于工业级的实时通信和控制,例如机器人系统中示教盒与控制器的通信。本文论述的用USB端口实现机器人上位机与 下位机的通信也属于这些方面的应用。

2 USB实现计算机双机通信

由于USB模型是一 种Host-Slave(主机-外设)主从式结构,没有办法使两台主机不通过外设而直接通过USB总线通信。然而可通过增加外设控制器的方法使两台主机利 用它们的USB端口通信。每个外设控制器连接到不同的主要,并利用共享的缓冲器交换数据。Cypress公司的EZ-LinkProlific公司的 PL-2301把两个外设控制器和共享缓冲区集成到一块芯片上,作为两台主机通过USB总线通俗诉桥梁。其它公司也提供类似的控制芯片。在教学机器人中, 采用PL-2301

PL-2301是台湾Prolific公司生产的一种全速USB控制芯片。PL-2301的结构框图如图1所示。

PL-2301包括 两套独立的USB控制单元。在握手信号的协调下,它们通过两个FIFO缓冲器无阻塞地交换数据。PL-2301包含四个终端:缺省的控制终端(地址 00H)、中断终端(地址81H)、块输出终端(地址02H)、块输入终端(地址83H)。控制传输用于在主机列举阶段完成对PL-2301的配置及在两 台主机通信时控制PL-2301的握手信号;中断传输用于PL-2301定期(每毫秒一次)向主机报告握手信号的状态;块传输用于两台主机之间实时地交换 数据。块传输支持错误检测,这对实时通信和控制很重要。控制传输被确保拥有10%USB总线带宽,中断传输和等时传输最多可以使用90%的带宽,块传输 使用剩余的最大可用带宽(最多95%)。当总线不太忙时,由于块传输只有一个很小的协议头(13字节),它是所有传输类型中最快的。为了确何教学机器人上 下位机以最快的速度通信,满足实时性要求,最好不要在USB总线上挂接过多的USB外设。

PL-2301除了能对USB标准请求做出反应外,还能对几种厂商自定义的请求做出反应。自定义请求ClearQuickLinkFeatureSetQuickLinkFeature用于控制两台主机通信时PL-2301的握手信号。这些握手信号是:

1TX_RDY指示本地USB端口是否准备好传输数据的指示信号。

2S_EN挂起使能信号。置位后,PL-2301支持标准的USB挂起特性。

3RESET_O块输出管道的复位信号,用于出现错误时复位块输出通道。

4RESET_IN块输入管道的复位信号,用于出现错误时复位块输入管道。

5TX_REQ块传输的请求信号。

6TX_C块传输完成的指示信号。

7PEER_E告诉对方本地端口是否连接好的指示信号。

在这几个握手信号的协调下,上位机和下位机可以双向通信。图2是主机PC APC B传输数据的流程图。这些底层的细节问题并不需要控制,由PL-2301的驱动程序完成。

图2 (点击可查看)                  

2页 [1] [2] 下一页 

录入:master 点击:

[发表评论] [打印文章] [关闭窗口]  

原创文章属本站所有,转载请注明来源:Robotain.com  
相关文章

 网友评论(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

发表评论 昵称:

  

  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
最新推荐
热门文章
论坛精华
网站简介设为首页 加入收藏在线留言友情链接联系我们 - 广告服务 - 版权申明

Copyright © Robotain.com  all rights reserved  浙ICP备07003355号

版权所有 机器与智能网