当前位置:首页 > 工业控制 > 工业控制
[导读]摘要:介绍一种基于USB总线的数字机器人控制系统的软件结构以及其上位机与下位机通信的实现机制。 关键词:USB 教学机器人 通信 EDUROBOT-680-II型教学机器人是上海交通大学机器人研究所采用世界银行贷款研制的一种

摘要:介绍一种基于USB总线的数字机器人控制系统的软件结构以及其上位机与下位机通信的实现机制。 关键词:USB 教学机器人 通信 EDUROBOT-680-II型教学机器人是上海交通大学机器人研究所采用世界银行贷款研制的一种五自由度多关节的机器人。它具备工业机器的基本功能、良好的开放性以及舒适的使用界面,主要大专院校和科研机构提供教学和科研工具。学生可以通过亲手操作了解和学习工业机器人,它具备工业机器人的基本功能、良好的开放性以及舒适的使用界面,主要为大专院校和科研机构提供教学和科研工具。学生可以通过亲手操作了解和学习工业机器人,科研人员还可对它进行二次开发。 教学机器人的上位机(主控计算机)和下位机(运动控制器)原先采用并行口(LPT1)的SPP方式进行通信。利用LPT1的状态寄存器(Status Port)具有的读能力和每次传送半字节(Nibble)来实现数据的双向传送功能。每次传送的时序(次序)由软件建立,在控制字的协调下按照教学机器人的通信协议接收和发送数据。 目前USB越来越普及,正逐渐取代串口和并口在计算机接口中的地位。为了研究USB在实时通信时的性能,笔者已将教学机器人上下位机通信改用USB端口实现。 图1 PL-2301结构框图 1 USB特点及其应用 通用串行总线USB(Universal Serial Bus)是1994年底由Compaq、IBM、Microsoft等多家公司联合提出的一种计算机接噪覆亡,目前已发展到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-Link和 Prolific公司的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标准请求做出反应外,还能对几种厂商自定义的请求做出反应。自定义请求ClearQuickLinkFeature和 SetQuickLinkFeature用于控制两台主机通信时PL-2301的握手信号。这些握手信号是: (1)TX_RDY指示本地USB端口是否准备好传输数据的指示信号。 (2)S_EN挂起使能信号。置位后,PL-2301支持标准的USB挂起特性。 (3)RESET_O块输出管道的复位信号,用于出现错误时复位块输出通道。 (4)RESET_IN块输入管道的复位信号,用于出现错误时复位块输入管道。 (5)TX_REQ块传输的请求信号。 (6)TX_C块传输完成的指示信号。 (7)PEER_E告诉对方本地端口是否连接好的指示信号。 在这几个握手信号的协调下,上位机和下位机可以双向通信。图2是主机PC A向PC B传输数据的流程图。这些底层的细节问题并不需要控制,由PL-2301的驱动程序完成。 图3 教学机器人控制系统软件结构 3 软件结构 3.1 教学机器人软件结构 EDUROBOT-680-II型教学机器人控制系统的控制软件包括下位机的底层控制软件和上位机的上层控制软件,它们通过USB端口通信。其软件结构如图3所示。 上层控制软件运行在Windows98平台上,它为用户提供与机器人交互的人机接口界面,完成复杂运动控制的数据处理和插补计算。它由人机界面、运算插补、主控、通信四大模块构成。通信模块能够实时地发送控制命令给下位机并从下位机获得反馈信息,同时保证数据传输的准确性。 为了提供对USB的支持(为了使底层控制系统有更好的实时性和更紧凑,下一步准备将底层控制系统改用支持USB的Windows CE、VxWorks或嵌入式Linux),底层控制系统目前采用Windows98平台。底层控制软件接口收上层控制软件的控制命令,同时解释并执行控制命令。这通过多线程实现。任务调度和管理模块是底层控制软件的主线程,它负责从指令队列中取出指令并解释执行。主线程执行过程会产生一个辅助线程——通信线程。通信线程调用通信模块的输出函数,负责监视USB端口。如果上位机传来控制命令,则遵循教学机器人通信协议接收并存入指令队列中。 3.2 通信模块的实现 上位机和下位机控制软件共用相同的PL-2301客户驱动程序、传输模块(由Prolific公司提供)和通信模块。 PL-2301客户驱动程序是典型的WDM驱动程序。驱动程序屏蔽了底层的硬件细节和USB协议,使上层软件仅通过驱动程序接口函数就可以访问PL- 2301。主要的几个驱动程序接口函数是CreateFile()、WriteFile()、ReadFile()、 DeviceIOControl()。 传输模块(Transfer.dll)是驱动程序的上层模块,它通过调用驱动程序接口函数,实现了两台主机通过PL-2301通信的基本通信能力。 Transfer.dll会产生一列三个线程: (1)发送线程。这个线程对发送请求进行排队并按先后顺序处理请求。如果出现错误,则努力恢复。


(2)接收线程。这个线程等待来自状态线程的消息,如果发现对方主机将要传输数据,就按照传输协议接收数据。接收线程把接收到的数据放在接收FIFO缓冲器中,等待上层软件(Comm.dll)取走。如果有错误发生时,也会努力恢复。 (3)状态线程。这个线程监视PL-2301的状态信号。如果发现有任何状态改变,它将给相关线程发消息或调用回调函数通知上层软件。 Transfer.dll提供几个供上层软件(Comm.dll)调用的输出函数: %26;#183;USB_InitService()调用Transfer.dll里的其他输出函数之间必须先调用这个函数。 %26;#183;USB_OpenConnect()调用此函数获得PL-2301的句柄。发送和接收数据时要用到这个句柄。 %26;#183;USB_WriteConnect()调用此函数向对方主机发送指定的数据。 %26;#183;USB_ReadConnect()调用此函数从接收FIFO缓冲器中读取数据。 通信模块(Comm.dll)通过调用Transfer.dll提供的输出函数完成教学机器人控制命令的发送和接收。为了协调命令的发送和接收,定义了套控制字,作为上位机与下位机通信时的握手信号(与PL-2301的握手信号没有联系)。上位机发送数据(控制命令或控制字)时,直接调用USB- WriteConnect()即可。下位机读取数据采取轮询方式,循环调用USB-Read Connect()扫描USB端口,如果有数据则接收下来。如果接收到的是指令,则放入指令队列中,等待任务管理和调度线程取走。图4是上位机发送一条命令的示意图。有些命令需要下位机发送返回值给上位机,如读机器人状态命令status需要下位机发送返回值给上位机,如读机器人状态命令status需要下位机把机器人状态返回给上位机。下位机发送返回值的过程与上位机发送命令的过程相似。 USB作为一种新兴的计算机外设接口标准,其技术特点使不但能作为计算机与一般外设的接口,也可用于实时通信和控制。本文介绍的用USB实现教学机器为上下位机的通信,为机器人下位机通信提供了一种新颖、方便和可靠的解决方案。随着USB2.0的推出,其高达480Mbps的传输速率可满足高实时性要求的工业设备控制、动态图像实时传输等,为USB在更广阔领域的应用打下了坚实的基础。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

全新原生集成方案实现企业短信服务的简化、强化与规模化升级 马来西亚吉隆坡2025年9月11日 /美通社/ -- 全球云通信平台Infobip宣布扩展与微软Azure通信服务的集成合作,通过其先进的短信接口,助力企业与全...

关键字: 微软 通信 IP AZURE

中国 上海,2025年9月11日——全球领先的智能传感和发射器解决方案供应商艾迈斯欧司朗(SIX:AMS)今日宣布,在第26届中国国际光电博览会(CIOE 2025)上发布了其最新的直接飞行时间(dToF)传感器TMF8...

关键字: 传感器 无人机 机器人

随着中国绿色发展不断深入,ESG(环境、社会、治理)已成为制造企业必须面对的议题。尤其在工业领域推进节能减碳、绿色转型的背景下,ESG不再只是合规要求,更是企业竞争力的关键。2025年初,欧盟供应链法案落地,中国出海制造...

关键字: 机器人 ESG 3C电子

当地时间 9 月 8 日,SpaceX 与 EchoStar 正式达成一项价值 170 亿美元的频谱交易,SpaceX 将收购 EchoStar 旗下 AWS-4 频段(2GHz 频段)及 H 频段的频谱许可证,此举引发...

关键字: SpaceX EchoStar 星链 通信

2025年9月4日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 宣布与电子元器件制造商、连接器领域创新企业Molex合作推出全新互动电子书《The El...

关键字: 机器人 连接器 传感器

立体深度估计在机器人技术、AR/VR和工业检测中至关重要,它为诸如箱体拾取、自动导航和质量控制等任务提供了精确的3D感知。Teledyne IIS的Bumblebee X立体相机既具备高精度,又能够提供实时性能,能够在1...

关键字: 深度学习 AR 机器人

重庆2025年9月6日 /美通社/ -- iChongqing新闻报道:2025世界智能产业博览会于9月5日在重庆开幕,550余家企业参展,展示了从自动驾驶和人工智能(AI)座舱到扩展现实(XR)影视和机器人咖啡厅的30...

关键字: 人工智能 新能源汽车 AI 机器人

北京2025年9月5日 /美通社/ -- 9月4日,在北京市人民政府新闻办公室举行的"一把手发布•京华巡礼"系列主题新闻发布会上,北京经开区对外发布,北京经济技术开发区(也称"北京亦庄&qu...

关键字: 航天 大赛 机器人 网络游戏

二十余项改革全国全市推广,700余事项100%全程网办 北京2025年9月5日 /美通社/ -- 9月4日,在北京市人民政府新闻办公室举行的"一把手发布•京华巡礼"系列主题新闻发布会上,北京经开区对...

关键字: DIY 人工智能 加速器 机器人

芜湖2025年9月4日 /美通社/ -- 近日,工业和信息化部装备一司司长王卫明、人才交流中心主任李学林一行赴奇瑞墨甲机器人开展专题调研。调研聚焦具身智能机器人的技术发展、产业化进展与场景应用落地。奇瑞汽车副总裁、墨甲机...

关键字: 奇瑞 机器人 工信部 智能机器人
关闭