ROBOT & AI

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

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

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

关键词:通信



3
软件结构

3.1 教学机器人软件结构

EDUROBOT-680-II型教学机器人控制系统的控制软件包括下位机的底层控制软件和上位机的上层控制软件,它们通过USB端口通信。其软件结构如图3所示。

 图3 教学机器人控制系统软件结构

上层控制软件运行在 Windows98平台上,它为用户提供与机器人交互的人机接口界面,完成复杂运动控制的数据处理和插补计算。它由人机界面、运算插补、主控、通信四大模 块构成。通信模块能够实时地发送控制命令给下位机并从下位机获得反馈信息,同时保证数据传输的准确性。

为了提供对USB的支持(为了 使底层控制系统有更好的实时性和更紧凑,下一步准备将底层控制系统改用支持USBWindows CEVxWorks或嵌入式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)调用的输出函数:

·USB_InitService()调用Transfer.dll里的其他输出函数之间必须先调用这个函数。

·USB_OpenConnect()调用此函数获得PL-2301的句柄。发送和接收数据时要用到这个句柄。

·USB_WriteConnect()调用此函数向对方主机发送指定的数据。

·USB_ReadConnect()调用此函数从接收FIFO缓冲器中读取数据。

通信模块(Comm.dll) 通过调用Transfer.dll提供的输出函数完成教学机器人控制命令的发送和接收。为了协调命令的发送和接收,定义了套控制字,作为上位机与下位机通 信时的握手信号(与PL-2301的握手信号没有联系)。上位机发送数据(控制命令或控制字)时,直接调用USB-WriteConnect()即可。下 位机读取数据采取轮询方式,循环调用USB-Read Connect()扫描USB端口,如果有数据则接收下来。如果接收到的是指令,则放入指令队列中,等待任务管理和调度线程取走。图4是上位机发送一条命 令的示意图。有些命令需要下位机发送返回值给上位机,如读机器人状态命令status需要下位机发送返回值给上位机,如读机器人状态命令status需要 下位机把机器人状态返回给上位机。下位机发送返回值的过程与上位机发送命令的过程相似。

 图4(查看)

USB作为一种新兴的计算机外 设接口标准,其技术特点使不但能作为计算机与一般外设的接口,也可用于实时通信和控制。本文介绍的用USB实现教学机器为上下位机的通信,为机器人上下位 机的通信提供了一种新颖、方便和可靠的解决方案。随着USB2.0的推出,其高达480Mbps的传输速率可满足高实时性要求的工业设备控制、动态图像实 时传输等,为USB在更广阔领域的应用打下了坚实的基础。  

2页 上一页  [1] [2] 

录入:master 点击:

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

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

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

发表评论 昵称:

  

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

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

版权所有 机器与智能网