发明名称 机械臂系统中的M-LVDS高速串行通信控制方法
摘要 机械臂系统中的M-LVDS高速串行通信控制方法,它涉及的是高速串行通信的技术领域。它是为了克服现有机械手的上位机与下位机之间通讯总线的通信速率太低,导致存在下位机不能快速的从上位机中更新关节角度期望值、速度值、加速度值和此时关节所承受的重力数据的问题。它的主M-LVDS驱动收发器(2-2)、M-LVDS驱动收发器(3-1)的串行通信端都依次连接在串行总线(4)上。它的方法步骤为:每个分节点(3)读取自己的地址数据、待机、实时接收串行总线(4)上传送的数据,主节点(2)待机,主节点(2)周期为T的中断发送数据,分节点(3)接收数据、循环冗余校验。本发明能达到500Mbps(百万字节/秒)的传输速度,在实际应用中将数据传输率被设定为25Mbps,就已满足机械臂实时控制的要求。
申请公布号 CN101131586B 申请公布日期 2010.06.02
申请号 CN200710144404.8 申请日期 2007.09.30
申请人 哈尔滨工业大学 发明人 黄剑斌;刘宏;谢宗武;金明河;孙奎;蒋再男;刘璐;熊根良
分类号 G05B19/418(2006.01)I 主分类号 G05B19/418(2006.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 朱永林
主权项 机械臂系统中的M-LVDS高速串行通信控制方法,实现该方法的装置由主节点(2)、多个分节点(3)、串行总线(4)、电阻RT1、电阻RT2组成;主节点(2)由主FPGA逻辑器件(2-1)、主M-LVDS驱动收发器(2-2)组成;FPGA逻辑器件(2-1)的通信数据输入输出总线端连接上位机中的DSP数字信号处理器(1)的通信数据输入输出总线端,FPGA逻辑器件(2-1)的M-LVDS数据控制输出输入总线端连接主M-LVDS驱动收发器(2-2)的数据控制输出输入总线端;每个分节点(3)都由M-LVDS驱动收发器(3-1)、FPGA逻辑器件(3-2)组成;M-LVDS驱动收发器(3-1)的数据控制输出输入总线端连接FPGA逻辑器件(3-2)的M-LVDS数据控制输出输入总线端,FPGA逻辑器件(3-2)的通信数据输入输出总线端为外部数据输入输出端;主节点(2)中的主M-LVDS驱动收发器(2-2)的串行通信端、每个分节点(3)中的M-LVDS驱动收发器(3-1)的串行通信端都依次连接在串行总线(4)上,串行总线(4)两端的两条线之间分别跨接有电阻RT1、电阻RT2,其特征在于该方法的步骤为:步骤一、开机,系统自检;步骤二、每个分节点(3)中的FPGA逻辑器件(3-2)都读取自己的地址数据;地址数据包括接收总线地址和发送给主节点(2)中的主FPGA逻辑器件(2-1)的地址;步骤三、设置数据收发过程时间T,分节点数量N,设置每个分节点(3)发送数据时间T1;步骤四、主节点(2)的主FPGA逻辑器件(2-1)中的接收模块处于待机状态,每个分节点(3)中的FPGA逻辑器件(3-2)的收发模块处于待机状态并实时接收串行总线(4)上传送的数据,主节点(2)中的主FPGA逻辑器件(2-1)的发送模块开始开启周期为T的定时中断;步骤五、主节点(2)的主FPGA逻辑器件(2-1)的发送模块判断是否进入T定时中断,判断结果为否,则待机,判断结果为是,则进入T定时中断过程;在T定时中断程序过程中,首先将已经接收到的各分节点(3)数据按照分节点(3)顺序合并成包上传发送给上位机中的DSP数字信号处理器(1),其中第一个周期数据均为0,然后下传上位机中的DSP数字信号处理器(1)中发给各分节点(3)的数据;开启T1单分节点(3)数据发送定时中断,并打开发送标志位,退出T中断过程进入待机状态;步骤六、在待机状态下,判断是否进入T1中断且发送标志位是否为1,判断结果为否,则待机,判断结果为是,则进入T1定时中断过程;在T1定时中断过程中,首先发送单分节点(3)数据;然后判断最后一个分节点(3)的数据是否发送结束,结果为否,则进入待机状态等待下一个T1中断发送下一个分节点(3)的数据,判断结果为是,则关闭T1定时中断且将发送标志位清零,继续待机;步骤七、当主节点(2)的主FPGA逻辑器件(2-1)的发送模块陆续发送各分节点(3)数据的同时,每个分节点(3)中的FPGA逻辑器件(3-2)收发模块正处于待机状态;在待机状态下,每个分节点(3)中的FPGA逻辑器件(3-2)实时接收串行总线(4)上传送的数据,首先判断是否检测到帧开始段数据,判断结果为否,则继续待机,结果为是,则接收地址段数据;接收完地址段数据后,分节点(3)中的FPGA逻辑器件(3-2)进行地址匹配检测,判断结果为否,则说明不是发给本分节点(3)的,继续持机,判断结果为是,则接收全部数据,并把数据存入相应的存储器中;接收完数据后,数据进行循环冗余校验,用于确定数据包在传输过程中是否出错;判断结果为是,则进行解释和处理数据,判断结果为否,则将接收的数据丢弃;循环冗余验证结束后,立刻启动中断发送本分节点(3)数据;中断发送完自身分节点(3)数据后,继续待机;步骤八、当串行总线(4)上有数据返回时,主节点(2)的主FPGA逻辑器件(2-1)的接收模块正处于待机状态;在待机状态下,主节点(2)的主FPGA逻辑器件(2-1)实时接收串行总线(4)上上传的数据,首先判断是否检测到帧开始段数据,判断结果为否,则继续待机,判断结果为是,则接收地址段数据;接收完地址段数据后,主节点(2)的主FPGA逻辑器件(2-1)进行地址匹配检测,判断结果为否,则说明数据发送有误不属于地址段数据,继续持机,判断结果为是,则判断是哪个分节点(3)发来的数据,并接收全部数据,将其存储在相应的存储器中;一个分节点(3)数据接收结束后,将进行循环冗余校验,用于确定数据包在传输过程中是否出错;判断结果为是,则进行解释和处理数据,判断结果为否,则将接收的数据丢弃;循环冗余验证结束后,继续待机;步骤九、返回,运行步骤三。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号