文献标识码:A
DOI:10.16157/j.issn.0258-7998.2017.04.017
中文引用格式:李叶丹,张建勋,代煜,等. 腹腔镜持镜臂运动控制器的硬件设计与实现[J].电子技术应用,2017,43(4):65-68.
英文引用格式:Li Yedan,Zhang Jianxun,Dai Yu,et al. Hardware design and realization of the motion controller of clamping endoscopic mechanical arm[J].Application of Electronic Technique,2017,43(4):65-68.
0 引言
腹腔镜微创外科技术兴起于20世纪80年代。有别于开放式的外科手术方式,利用腹腔镜微创手术机器人进行手术时,只需在患者身体上做一个很小的切口,用来导入腹腔镜,医生通过控制持镜臂的精确运动得到病灶处的视觉信息,从而和其他的手术器械相互协调,共同来完成手术[1]。可见,运动控制器是整个腹腔镜机器人系统的核心组成部分[2]。
根据腹腔镜微创手术和实验样机的实际需求,本文采用DSP+CPLD的运动控制架构。该控制器充分发挥了DSP强大的控制和信号处理能力,以及CPLD的模块化编程、高速并行处理能力,缩短了开发的周期,同时能够满足持镜臂系统所需的实时性、稳定性以及高精度的要求。
本文所述自主研发的三自由度腹腔镜持镜臂样机由两个转动关节和一个滑动关节组成。
1 控制器硬件的整体架构设计
如图1所示,本文设计的控制器采用DSP+CPLD的主控架构。DSP主要用于完成持镜臂的运动学计算和实时控制。同时,可通过串口与上位机进行通信,以获得相关控制参数。DSP通过外部存储器接口(External Memory Interface,EMIF),采用异步总线方式,实现与CPLD的通信。由于CPLD有着强大的并行处理能力和应用的灵活性,因此,用CPLD实现与外围设备的接口,如3个关节电机驱动电路、码盘信号采集电路、限位开关电路、抱闸使能电路以及光电隔离电路。在本文的架构中,主控制器采用TI公司的DSP芯片TMS320F28335和Altera公司的CPLD芯片EPM3256ATC144。
2 控制器各模块设计
2.1 DSP模块
由于持镜臂运动学以及相关控制算法的计算量较大,因此控制器选用了TI公司的32位高速浮点型C2000系列处理器TMS320F28335。该处理器集微控制器和高性能DSP的特点于一身,并且增加了浮点运算内核,能够实现复杂的控制算法。在处理速度和处理精度方面,有着更高的性价比,同时为实现控制系统的实时性和稳定性提供了可能[3]。
DSP模块主要包括:晶振时钟电路、电源电路、复位及看门狗电路、仿真调试电路JTAG接口以及外部存储器扩展电路。
时钟信号采用了30 MHz有源晶振。DSP的主要功能之一是与上位机进行通信,在本控制器中,采用了简单的串口通信方式[4]。考虑到DSP芯片本身内存较小,且为了后续的功能扩展预留空间,因此需要在DSP外扩展存储器。利用DSP的外部存储器接口(EMIF)支持,选择了接口简单的Flash以及高性能低功耗的SRAM。
最后,在DSP访问不同外部存储器时,需要经过片选选择相应存储器。这里选用一款型号为EPM3032的CPLD作为DSP对Flash、SRAM及EPM3256的逻辑片选。将外部Flash作为存储器映射到DSP中0x180000-0x18ffff的物理地址上,将外部SRAM映射到DSP中0x100000-0x10ffff的物理地址上。
2.2 DSP与CPLD的异步总线通信设计
外部存储器接口(EMIF)是TMS系列DSP对外部存储器进行访问的一种总线接口。DSP可通过EMIF实现与不同类型存储器(SRAM、Flash、RAM)的连接,并且能够设定多种接口时序[5]。在本设计中,TMS320F28335的EMIF与CPLD的连接采用了异步设备接口时序。将DSP的数据总线与CPLD的数据总线相连,DSP地址总线与CPLD的地址总线相连;通过设置DSP上地址线Add19和片选xcs7的逻辑关系来作为CPLD的片选信号,从而使CPLD的物理地址映射到DSP的0x280000-0x2800ffff的外部存储器物理地址上,实现二者的通信。
2.3 CPLD内部逻辑功能设计
根据控制器的设计需求,CPLD要完成4个模块的逻辑:
(1)地址译码模块:通过地址译码实现CPLD内部功能模块的选择。
(2)电机控制模块:根据DSP的控制命令,产生控制H桥的极性相反的三路PWM(脉冲宽度调制)波,并对三路PWM波做导通延迟(死区保护),以防止电机驱动器H桥短路。
(3)使能与限位保护模块:当持镜臂运动到极限位置时,关闭电机使能,开启抱闸,保证持镜臂在安全范围内运动。
(4)码盘信号采集模块:采集电机码盘的方波信号,并转换为可以传输给DSP的数字信号。
图2所示为CPLD内部逻辑模块的功能框图,且全部采用Verilog HDL语言设计。在本设计中采用CPLD设计可以减少外围一些逻辑器件的使用数量,节省了系统开发成本;集成化的设计更提高了系统的可靠性,并且在设计过程中,可以根据系统的需求不断对逻辑功能模块进行修改完善,而不需要对其他电路进行改动,大大提高了设计的灵活性,降低了开发周期。
2.3.1 电机控制信号产生模块设计
本设计采用PWM方式来驱动直流电机,它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于电机控制领域[6]。
直流电机控制信号产生模块分为PWMGenerator模块和DeathTime模块两部分。其中,PWMGenerator模块是根据DSP发出的脉冲宽度的占空比和周期,产生两路极性相反的PWM波形。DeathTime模块即波形处理模块,是在两路极性相反的PWM信号由低到高时(即上升沿),延迟上升沿时间,从而避免了后面信号传输电路H桥两个MOS管同时导通而引起的短路,达到了保护电路的目的。为减少死区时间过大对实际控制电机的有效电压的影响,根据H桥电路设计中的数据,这里选择160 ns的上升沿延迟时间。
2.3.2 码盘信号采集模块设计
本实验平台采用了增量式光电码盘作为持镜臂的定位装置。增量式光电编码器与关节电机同轴连接,当电机转动,光电编码器就会输出3路脉冲信号:A、B、Z。其中脉冲Z用于光电编码器的调零或者同步功能,不需要作额外的处理。光电编码器转动方向不同时,脉冲信号A、B输出的波形也会不同。光电编码器正转时,A信号超前于B信号90°,反之,光电编码器反转,A信号滞后于B信号90°[7]。将光电编码器的信号电平变化时序用有限状态机描述,可以得到一个具有9个状态的状态转换图,即为有限状态机。
根据光电编码器的输出信号状态机,在CPLD中采用Verilog HDL语言设计了光电编码器信号采集模块。码盘模块实时检测光电编码器的A、B相的输入。电机正转时码盘值不断累加,反转时码盘值累减,DSP通过地址译码可以读取到CPLD内部存储码盘值寄存器,从而得到相应的光电编码器的计数值。对码盘采集模块单独仿真,得到的逻辑仿真结果如图3所示。count_data是CPLD内部存储码盘值的变量,给定A相(pule_a)、B相(pule_b)相应的波形,码盘计数值在逐渐增大,可知仿真结果是符合设计时序要求的。
2.4 信号传输电路设计
硬件电路设计中,信号的稳定性和抗电磁干扰性设计要求始终贯穿着整个设计过程。特别涉及到高频和模拟信号时,在信号传输方面更应该特别注意。在本文运动控制器硬件设计中,对信号传输稳定性考虑主要有以下几个方面:
(1)CPLD向电机驱动电路传输PWM波过程中间添加了Buffer电平转换芯片,增加驱动能力,提高了电压转换的效率。
(2)光电耦合电路隔绝了数字电路和模拟电路,让信号的传输具有良好的电绝缘能力和抗干扰能力,杜绝了电机转动时产生的噪声经过信号传输电路干扰数字电路。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。
(3)传输信号过程中非门的作用:实现逻辑转换,消除电机和MOS管传来的噪声,提高了信号传输的驱动能力。
3 各关节轨迹跟踪实验
运动控制器测试程序流程图如图4所示。
设定第一关节的初始角度为90°,第二关节的初始角度为45°,第三关节的初始长度为10 cm,实现腹腔镜持镜臂末端沿病灶上面水平面直线以2 cm/s的速度进行扫描。将实际各关节运动轨迹与理想轨迹进行对比,可得图5所示实验效果图。
由实验结果可知,各关节轨迹跟踪效果比较理想,实际位置与理想位置偏差较小。由此,本文设计的运动控制器各功能模块工作正常,且能够满足腹腔镜持镜臂实时控制的需求。
4 结语
本文针对腹腔镜微创手术的实际需求,在自主研发的腹腔镜持镜臂基础上,针对操作手臂控制方式,设计和实现了基于DSP加CPLD平台的硬件系统。着重介绍了系统的整体架构,以及DSP模块和CPLD内部各模块的设计。采用模块化的设计,方便系统的调试和升级,同时对控制系统的可靠性也进行了充分的考虑。经实验证明,本系统可满足运动控制器实时性与稳定性的要求。
参考文献
[1] CLEARY K.Medical robots and the operating room of the future[C].Proceedings of the 2005 IEEE Engineering in Medicine and Biology 27th Annual Conference,Shanghai,China,2005.IEEE Computer Society,2005,7(7):7250-7253.
[2] 冯美.腹腔微创手术机器人系统关键技术研究[D].哈尔滨:哈尔滨工业大学,2012.
[3] 鞠浩.腹腔镜微创外科手术机器人控制系统研究[D].天津:南开大学,2009.
[4] Texas Instruments.TMS320x28lx,280x DSP peripheral reference guide(Rev.B)[S].2004.
[5] 江灿辉,孙希延,严素清,等.基于DSP和FPGA的卫星信号模拟器设计与实现[J].电子技术应用,2016,42(9):51-54.
[6] 崔玉娟,吕运朋,李超.CPLD实现直流伺服电机PWM发生器[J].电测与仪表,2010,47(3):73-76.
[7] 姜义.光电编码器的原理与应用[J].传感器世界,2010,37(2):16-22.
作者信息:
李叶丹1,2,张建勋1,2,代 煜1,2,曹 刚1,2,尚 翰1,2,张 绕1,2
(1.南开大学 计算机与控制工程学院,天津300350;2.天津市智能机器人技术重点实验室,天津300350)