应用于灵巧手系统的高速串行总线接口的制作方法

文档序号:2314281阅读:137来源:国知局
专利名称:应用于灵巧手系统的高速串行总线接口的制作方法
技术领域
本发明涉及一种机械手的串行总线接口电路。
背景技术
机器人多指灵巧手是一种仿人手的装置,它具有力觉、触觉、视觉和温度感知能力,可以代替人在危险、恶劣的环境下完成普通装置所不能完成的复杂操作任务,将在恶劣的空间环境,危险的核工业环境和高级服务机器人等领域发挥重要作用。为实现灵巧手的实时控制,要求灵巧手系统既具有内部手指与手掌之间的高速串行总线的接口,又具有手掌与PC机控制卡之间的高速串行总线的接口,这种高速串行总线能实现在规定的控制周期内把实时采集的整个灵巧手所有的传感器数据传送给上位机,同时把上位机所给的电机控制信号传给灵巧手的各个驱动模块,实现灵巧手的实时控制。上海交通大学申请了“基于通用串行总线接口的个人机械臂系统(公开号1434391)的专利,将USB总线应用于固定机械臂同个人计算机相连接,使机械臂具有即插即用功能,但是实际系统仍受USB总线协议中所规定的电缆长度和通信速率的限制。因此,研究使用FPGA(可编程逻辑门阵列)和LVDS(低电压差分信号)芯片实现灵巧手的高速串行数据传输,突破通信速度和电缆长度的瓶颈是该类灵巧手系统走向实用的关键。

发明内容
为了克服已有技术通信效率低和通信距离近的缺陷,提供一种通信效率高、通信距离远的串行总线接口电路。本发明通过下述方案实现一种应用于灵巧手系统的高速串行总线接口,它由计算机单元1、手掌单元2和手指单元3组成,计算机单元1由计算机1-1和桥接芯片1-2组成,手掌单元2由桥接芯片2-1、可编程逻辑门阵列2-2和桥接芯片2-3组成,手指单元3由桥接芯片3-1、可编程逻辑门阵列3-2、电机驱动模块3-3和传感器3-4组成,计算机1-1的总线卡1-1-1与桥接芯片1-2的一个双向端口相连接,桥接芯片1-2的另一个双向端口与桥接芯片2-1的一个双向端口相连接,桥接芯片2-1的另一个双向端口与可编程逻辑门阵列2-2的一个数据端口相连接,可编程逻辑门阵列2-2通过桥接芯片2-3连接在桥接芯片3-1的一个双向端口上,桥接芯片3-1的另一个双向端口连接在可编程逻辑门阵列3-2的数据端口上,可编程逻辑门阵列3-2的输出端连接电机驱动模块3-3的输入端,可编程逻辑门阵列3-2的输入端连接传感器3-4的输出端。在本发明中,可编程逻辑门阵列2-2所完成的功能主要有对来自计算机1-1的命令的解释,并把相应的指令发送到可编程逻辑门阵列3-2,可编程逻辑门阵列3-2对各传感器3-4传来的数据进行分析,以及根据可编程逻辑门阵列2-2发出的指令和传感器的数据对电机驱动模块3-3完成驱动工作,从而实现机械手的各项运动功能。同时传感器3-4所感知到的机械手的运动特征参数,又被传递到计算机1-1以供操作人员监控。成对使用的桥接芯片选用LVDS芯片,该芯片是电平转换芯片,用于把可编程逻辑门阵列和计算机所使用的CMOS信号转变为低电压差分信号,在通信线路里传输。因为传统技术一般以单片机或DSP作为控制系统的微处理器来实现灵巧手的数据通信,由于用单片机或DSP占用IO口资源较多,所需周边元器件也较多,对整个系统的稳定性和可靠性有较大影响。而本发明中应用于灵巧手系统的高速串行总线接口采用超大容量、极高速度的FPGA(可编程逻辑门阵列)实现灵巧手的数据通信和电机控制,实现了SOC(片上系统)使系统结构上更为紧凑,同时可靠性得到了大大提高,通信效率也较高。因为低压差分信号具有在传输中不容易发生畸变和衰减等优点,因此使本发明的计算机单元1可以安排得离手掌单元2较远,当本发明所操纵的机械手工作在极危险的环境里时,操作人员能在较远的安全环境里工作。另外,相对于通用的通信协议(如USB等),应用于灵巧手系统的高速串行总线接口采用由用户自行定制的专用数据协议,整个协议极为精简,使通信效率大大提高。可编辑逻辑门陈列能够根据所要完成的任务进行编辑,通过硬件结构的编辑完成软件算法的逻辑,因此不容易出错和死机。本发明具有设计合理、工作可靠和具有较大推广价值等优点。


图1是本发明的结构示意图,图2是串行通信总线的可编程逻辑门阵列接收数据的流程图。
具体实施例方式具体实施方式
一下面结合图1具体说明本实施方式。本实施方式由计算机单元1、手掌单元2和手指单元3组成,计算机单元1由计算机1-1和桥接芯片1-2组成,手掌单元2由桥接芯片2-1、可编程逻辑门阵列2-2和桥接芯片2-3组成,手指单元3由桥接芯片3-1、可编程逻辑门阵列3-2、电机驱动模块3-3和传感器3-4组成,计算机1-1的总线卡计算机1-1-1与桥接芯片1-2的一个双向端口相连接,桥接芯片1-2的另一个双向端口与桥接芯片2-1的一个双向端口相连接,桥接芯片2-1的另一个双向端口与可编程逻辑门阵列2-2的一个数据端口相连接,可编程逻辑门阵列2-2通过桥接芯片2-3连接在桥接芯片3-1的一个双向端口上,桥接芯片3-1的另一个双向端口连接在可编程逻辑门阵列3-2的数据端口上,可编程逻辑门阵列3-2的输出端连接电机驱动模块3-3的输入端,可编程逻辑门阵列3-2的输入端连接传感器3-4的输出端。
可编程逻辑门阵列是FPGA类芯片。串行通讯中的详细规格如下1、物理层接口协议采用EIA-644电气接口标准。EIA-644即是LVDS(Low voltage DifferentialSignaling)和LVDM(Low Voltage Differential Signaling Multi-Point),它仅仅定义了这种传输系统的电气层。LVDS信号仅仅使用了±350mV的差分信号,因此具有极小的电磁干扰,很强的抗干扰能力,同时可以达到655Mbps(百万位/秒)的传输速度。这对于在传感器数据采集来说非常重要,极低的电磁干扰使得高精度的传感器数据采集更加易于实现。两根差分信号线之间电平差大于50mv时为逻辑1,小于-50mv时为逻辑0。
2、协议层接口协议位定序数据位被发送到总线的时候,首先是最低有效位(LSb),跟着是下一个最低有效位,最后是最高有效位(MSb),即包中单个的位和字段从左到右的顺序就是它们通过总线的顺序。
帧开始(SOP,Start-of-Package)段主机以每200us一次的额定速率发出帧开始(SOP)段。如表1中所示,SOP段标志所有包的开始,用特殊的0x80表示。
地址(Addr)段本系统总线为半双工通信,同时扩展成具有多个节点的总线拓扑结构,功能部件地址(ADDR)字段通过其地址指定功能部件,即数据包的目的地址。
数据(Data)段数据宽度为16位数据,这表明,任何要传输的数据必须是16位宽度的。每个字的范围内的数据位移出时都是最低位在前。
CRC校验(Cyclic Redundancy Check)段循环冗余校验(CRC)被用来在标记和数据包中保护所有字段,即SOP,ADDR和Data段。失败的CRC指出了保护字段中至少有一个字段被损坏,并导致接收器忽略那些字段,且在大部分情况下忽略整个包。本协议中使用了16位CRC校验,CRC校验的初始值为零,CRC校验的多项式如下G(X)=X16+X15+X2+1如果在数据传输中,全部的数据和CRC校验位被准确无误地收到,16位CRC校验的结果将是零,否则表明数据传输过程中存在错误。
数据包的格式如下,“SOP+ADDR”以及CRC16和Dummy都是16位数据。
Dummy段供系统扩展用。
数据包的具体格式如下,“SOP+ADDR”以及CRC16和Dummy都是16位数据。
表一

3.实现方法整个串行通讯总线的实现是基于FPGA实现的IP核。串行通讯的收发模块完全由VHDL语言写成的,将这种独立模块做成IP核,有利于将这种模块在不同的芯片上实现。比如,从目前是使用的Altera的FPGA到Xilinx的FPGA之间的过渡,或不同容量的FPGA之间进行升级等。串行通讯的收发模块是由FPGA实现的智能IO模块,它不需要计算机1-1中的处理器干预就可以完成数据的编解码、数据包地址的辨识、CRC数据校验、中断的产生等功能。因此,与之相接口的微处理器的负荷将降到最低。在应用中,采用点对点的通讯方式。这种通讯方式保证了传感器数据采集的精确定时。这对于计算电机速度、进行数据滤波等是必须的。目前,数据传输率被设定为25Mbps,已满足灵巧手实时控制的要求。
如图2所示,可编程逻辑门阵列接收数据的流程是这样的(1)开机101;(2)然后处于待机状态102;(3)判断是否检测到帧开始段数据103,结果为否,则继续待机,结果为是,则接收地址段数据104;(4)进行地址匹配检测105,结果为否,则说明地址段数据与本可编程逻辑门阵列的地址不相配,证明不是发给本地址的,则继续持机,结果为是,则接收全部数据106;(5)把数据进行循环冗余校验107,用于确定数据包在传输过程中是否出错;判断结果为否,则继续待机,判断结果为是,则进行解释和处理数据108。
具体实施方式
二下面结合图1具体说明本实施方式。本实施方式与实施方式一的不同点是,它还包括手指单元3′、手指单元3″和手指单元3,手指单元3′、手指单元3″和手指单元3的组成和连接方式与手指单元3相同,手指单元3′、手指单元3″和手指单元3以与手指单元3相同的连接方式连接在手掌单元2上。如此设置使本发明能控制具有4个手指的机械手,能完成较复杂的任务。所有的传感器3-4采集数据并转化为数字信号,通过手指单元中的可编程逻辑门阵列接收并处理这些传感器数字量。再将每个手指单元中的传感器信号按串行通信总线协议标准发送到手掌单元2中的可编程逻辑门阵列2-2,手掌单元2中的可编程逻辑门阵列2-2将4个手指的所有传感器信号按串行通信总线协议标准重新编码发到计算机单元1的总线卡1-1-1上。总线卡1-1-1将用于电机控制的数字信号按串行通信总线协议标准编码发到手掌单元2的可编程逻辑门阵列2-2上,手掌单元2的可编程逻辑门阵列2-2通过串行通信总线发送到4个手指单元的可编程逻辑门阵列上,手指单元中的可编程逻辑门阵列产生电机控制所必须的信号,如PWM信号、方向信号、制动信号、极限位置限位信号等。从而实现整个灵巧手的实时闭环控制。
权利要求
1.一种应用于灵巧手系统的高速串行总线接口,其特征是它由计算机单元(1)、手掌单元(2)和手指单元(3)组成,计算机单元(1)由计算机(1-1)和桥接芯片(1-2)组成,手掌单元(2)由桥接芯片(2-1)、可编程逻辑门阵列(2-2)和桥接芯片(2-3)组成,手指单元(3)由桥接芯片(3-1)、可编程逻辑门阵列(3-2)、电机驱动模块(3-3)和传感器(3-4)组成,计算机(1-1)的总线卡(1-1-1)与桥接芯片(1-2)的一个双向端口相连接,桥接芯片(1-2)的另一个双向端口与桥接芯片(2-1)的一个双向端口相连接,桥接芯片(2-1)的另一个双向端口与可编程逻辑门阵列(2-2)的一个数据端口相连接,可编程逻辑门阵列(2-2)通过桥接芯片(2-3)连接在桥接芯片(3-1)的一个双向端口上,桥接芯片(3-1)的另一个双向端口连接在可编程逻辑门阵列(3-2)的数据端口上,可编程逻辑门阵列(3-2)的输出端连接电机驱动模块(3-3)的输入端,可编程逻辑门阵列(3-2)的输入端连接传感器(3-4)的输出端。
2.根据权利要求1所述的应用于灵巧手系统的高速串行总线接口,其特征是它还包括手指单元(3′)、手指单元(3″)和手指单元(3),手指单元(3′)、手指单元(3″)和手指单元(3)的组成和连接方式与手指单元(3)相同,手指单元(3′)、手指单元(3″)和手指单元(3)以与手指单元(3)相同的连接方式连接在手掌单元(2)上。
全文摘要
本发明公开一种机械手的串行总线接口电路——应用于灵巧手系统的高速串行总线接口。它由计算机单元(1)、手掌单元(2)和手指单元(3)组成,计算机单元(1)由计算机(1-1)和桥接芯片(1-2)组成,手掌单元(2)由桥接芯片(2-1)、可编程逻辑门阵列(2-2)和桥接芯片(2-3)组成,手指单元(3)由桥接芯片(3-1)、可编程逻辑门阵列(3-2)、电机驱动模块(3-3)和传感器(3-4)组成,(1-1)的总线卡(1-1-1)与(1-2)的一个双向端口相连接,(1-2)的另一个双向端口通过(2-1)与(2-2)的一个数据端口相连接,(2-2)通过(2-3)连接在(3-1)的一个双向端口上,(3-1)的另一个双向端口连接在(3-2)的数据端口上。机械手工作在极危险的环境里时,操作人员能在较远的安全环境里工作。
文档编号B25J13/00GK1569405SQ20041001373
公开日2005年1月26日 申请日期2004年4月30日 优先权日2004年4月30日
发明者金明河, 刘宏, 魏然 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1