基于 DSP+FPGA 的排爆机器人控制系统设计与实现
Posted 信迈科技DSP+ARM+FPGA
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 DSP+FPGA 的排爆机器人控制系统设计与实现相关的知识,希望对你有一定的参考价值。
目前,排爆机器人在全球日趋严峻的恐怖袭击事件中扮演着重要的角色,大大降低 了人员伤亡,因此,对排爆机器人的研究具有重要的社会意义,而市场上排爆机器人的 价格居高不下,不利于大范围地推广使用。本文从实际应用的角度出发,提出了一种基 于 DSP+FPGA 的排爆机器人控制系统设计方案,完成了排爆机器人控制系统的硬件平 台搭建和软件编写,并通过实验进行验证。 排爆机器人控制系统的硬件平台以 DSP 和 FPGA 为核心,系统采用模块化思想独 立设计了各个子模块,主要分为运动控制模块、电源模块、数据通讯模块和视频采集模 块。运动控制模块采用 FPGA 进行开发,通过 DSP 的外部接口 (XINTF) 来实现 FPGA 和 DSP 之间的数据交互,根据 DSP 传送的数据来产生电机的控制信号,利用 FPGA 的并 行处理能力来实现 8 组直流无刷电机的驱动与控制。电源模块采用锂电池供电,通过多 个 DC-DC 模块为控制系统各个模块提供所需电源。数据通讯模块采用了无线数传模块, 实现了机器人的远程遥控。视频采集模块是以 Zedboard 开发板和无线路由为核心,通 过搭建一个无线局域网实现视频传输,在 PC 端通过 WIFI 接入无线局域网实现排爆机 器人的视频监控。此外,通过对机械手数学模型的建立,利用机器人逆运动学的理论知 识,设计了基于 DSP 的 ePWM 模块的两种控制模式来控制机械手的运动。 2.1 排爆机器人系统总体设计分析 目前国内外的排爆机器人通常采用上位机和下位机结合控制的方式,通过遥控来完 成和实现操作人员的命令 [9] ,这样做可以使机器人在复杂的环境中有效地运作,通过人 的参与,完成整个系统闭环控制。本文主要是围绕排爆机器人本体设计一个排爆机器人 控制系统,实现排爆机器人的远程遥控、平地移动、翻越障碍、抓取危险物等基本功能。 操作人员通过上位机发出机器人的控制命令,另一方面根据下位机反馈给上位机的视频 和传感器信息,经过人的大脑思考后,对机器人做出下一个动作命令。上位机和下位机 之间通过无线的通讯方式来传递机器人的控制命令和传感器信息。下位机就是机器人的 控制器,负责完成机器人的运动控制,在整个控制系统处于核心的地位,不仅要处理上 位机发送来的命令,还要向上位机反馈传感器信息,以达到精确控制机器人运动的目标。 排爆机器人控制结构图如图 2-1 所示。 图 2-2 排爆机器人本体结构图 2.3 排爆机器人控制系统整体方案设计 排爆机器人控制系统需要完成对多路传感器信号的采集处理、电源转换、无线通信、 8 路直流无刷电机的调速、机械手控制等基本功能,考虑到以后的升级扩展,这里采用 典型硬件平台 DSP+FPGA 作为主控方案, DSP 为 TI 公司的 C2000 系列的一款浮点型 DSP , FPGA 为 Altera 公司 Cyclone III 系列中的一款性价比较高的 FPGA 。 TI 公司的 C2000 系列的 DSP 芯片广泛应用于运动控制领域, FPGA 的灵活性特点可以使得系统的扩展性 得到很大的提升。本课题中上位机发出控制命令 ( 包括运动控制命令和机械手控制命令 ) , DSP 将接收的数据进行解析,并与 FPGA 一起完成整个系统的电机控制和机械手控制。 图 2-3 为本课题的排爆机器人控制系统整体结构图。整个控制系统主要分为上位机监控 部分、运动控制部分、机械手控制、视频采集等四个部分。各个部分在后续的章节中进 行详细讨论 上位机监控部分:上位机监控主要包括机器人控制界面和机器人远程监控两部分。 机器人控制界面主要完成采集显示传感器实时信息、显示机器人当前状态、发出机器人 运动命令、控制机械手位置等功能。操作者根据传感器实时信息和采集到的视频信息可 以掌握当前机器人本体信息和外界信息,从而合理地操作排爆机器人。由于上位机和运 动控制部分之间的通讯数据量不是很大,上位机和运动控制部分的通讯方式采用 RS232 通讯,这样可以降低开发的成本和难度,也能很好地满足实际项目的需要。机器人远程 监控主要是机器人视频采集部分。采用的是 WIFI 接入的方式, PC 机通过 WIFI 接入 Zedborad 开发板和无线路由组建的无线局域网,获取 Zedboard 开发板采集到的视频信 息,这样操作人员就能看到机器人周围的视频信息。 运动控制部分:这部分完成的是机器人运动控制,主要负责接收上位机命令,并将 这些命令解析并转换成相应的电机控制信号。运动控制部分是控制系统的核心,处于十 分重要的地位,这里采用 DSP+FPGA 典型运动控制平台来实现机器人的运动控制, DSP 采用状态机方式接收上位机信息,这样可大大降低机器人运动出现错误的机率,然后对 命令进行解析,并把解析后的数据通过外部接口 XINTF 传递给 FPGA 。 FPGA 主要负责 采集传感器信息和控制 8 组直流无刷电机,并把传感器信息通过 XINTF 外部接口传回 给 DSP , DSP 再把这些传感器信息传回给上位机。 机械手控制部分:这部分主要完成排爆机器人的辅助部分,利用机械手抓取一定质 量的物体,本设计采用由 6 路舵机组成的机械手,利用 DSP 的 ePWM 模块来完成机械 手的控制,机械手的控制主要分为手动模式和自动模式。手动模式中,上位机可以单独 控制某一个关节转动的角度。在自动模式中,上位机控制机械手末端的位置和姿态, DSP 根据机器人逆运动学的理论知识求解出机械手各个关节的关节角,最后 DSP 控制各个 舵机的运动以达到末端期望目标的位姿。 视频采集部分:此部分是搭建一个基于 Zedboard 的无线局域网, Zedboard 是一款 基于 Xilinx 新出的 Zynq-7000 系列的 SOC 的开发板, PC 机通过 WIFI 接入到该无线局 域网, PC 机通过 IP 地址可以访问到 Zedboard 开发板,这样就可以将 Zedboard 采集的 视频传回给 PC 机,这样上位机操作者可以根据排爆机器人周围的信息,发出下一个机 器人运动的命令 [11] 。1 评估板简介
- 基于 TI KeyStone C66x 多核定点/浮点 DSP TMS320C665x + Xilinx Artix-7 FPGA 处理器;
- TMS320C665x 主频为 1.0G/1.25GHz,单核运算能力高达 40G MACS 和 20G FLOPS,FPGA XC7A100T 逻辑单元 101K 个,DSP Slice 240 个; Ø
- TMS320C665x 与 FPGA 通过 uPP、EMIF、I2C、PCIe、SRIO 等通讯接口连接,其中 PCIe、 SRIO 每路传输速度最高可达到 5 GBaud; Ø
- FPGA 采集卡支持双通道 250MSPS*12Bit 高速高精度 ADC,一路 175MSPS*12Bit 高速高精度 DAC,满足多种数据采集需求;
- 支持千兆网口,可接工业网络摄像机,同时支持 I2C、SPI、UART、McBSP 等常见接口; Ø
- 支持 CameraLink 输入输出、VGA 输出等拓展模块;
- 支持裸机和 SYS/Bios 操作系统。
图1 开发板实物
深圳信迈基于 TI 设计的XM-C665xF-EVM 是一款 DSP+FPGA 高速大数据采集处理架构,适用于高端图像处理、高速大数据传输和音视频等大数据采集处理领域。此设计通过 TMS320C665x 的 uPP、EMIF、I2C、PCIe、SRIO 等通信接口将板卡结合在一起,组成 DSP+FPGA 架构,实现了需求独特、灵活、功能强大的 DSP+FPGA 高速数据采集处理系统。
SOM-XM665xF 引出 CPU 全部资源信号引脚,二次开发极其容易,客户只需要专注上层运用,降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。不仅提供丰
富的 Demo 程序,还提供 DSP 核间通信开发教程,全面的技术支持,协助客户进行底板
设计和调试以及多核软件开发。
2 典型应用领域
- 数据采集处理显示系统 Telecom Tower:远端射频单元(RRU)高速数据采集和生成
- 高速数据采集处理系统
- 高端图像处理设备
- 高端音视频数据处理
- 通信系统
3 软硬件参数
- 前端由 FPGA 采集两路 AD 数据,AD 数据通过 uPP、EMIF 总线或者 PCIe、SRIO 接口等通信接口传输到 DSP。 Ø
- AD 数据被 DSP 处理之后,可用于数据对比和分析、网络转发、SATA 硬盘存储等应用。
- DSP 根据处理结果,将得到的逻辑控制命令送 FPGA,由 FPGA 控制板载 DA 实现逻辑输出,更新速率 175MSPS。
图 2 大数据采集原理框图
- 高速数据采集前端部分由 FPGA 同步采集两路 AD 模拟输入信号,可实现对 AD 数据进行预滤波处理,AD 采样率最高可达 250MSPS。另外一路 DAC 可输出任意幅值和任意波形的并行 DA 数据,更新速率 175MSPS。
- 高速数据传输部分由 EMIF、I2C、PCIe、SRIO 等通信接口构成。大规模吞吐量的 AD和 DA 数据,可通过 SRIO 和 PCIe 接口在 DSP 和 FPGA 之间进行高速稳定传输;DSP 可通过 EMIF 总线对 FPGA 进行逻辑控制和进行中等规模吞吐量的数据交换,同时可通过 I2C对 FPGA 端进行初始化设置和参数配置。
(3)高速数据处理部分由 DSP 核和算法库构成。可实现对 AD 和 DA 数据进行时域、频
域、幅值等信号参数进行实时变换处理(如 FFT 变换、FIR 滤波等)。
(4)视频采集、输出拓展部分由 CameraLink 输入输出模块、VGA 输出模块、千兆网等
部分构成。接口资源丰富,方案选择灵活方便,是高端图像处理系统的理想选择。
3.1 硬件参数
表 1 XM6678-EasyEVM 硬件参数
CPU | 单核 TMS320C6655/双核 TMS320C6657,主频 1.0/1.25GHz |
ROM | 128/256MByte NAND FLASH |
RAM | 512M/1G Byte DDR3 |
EEPROM | 1Mbit |
FLASH | 32/64Mbit SPI NOR FLASH |
LED | 1x 供电指示灯 |
1x 可编程指示灯 | |
传感器 | 1x TMP102,核心板温度传感器,I2C 接口 |
连接器 | 2x 50pin 公头 B2B,2x 50pin 母头 B2B,间距 0.8mm,合高 5.0mm,共 200pin |
1x 80pin 高速 B2B 连接器,间距 0.5mm,合高 5.0mm,信号速率可达 10GBaud | |
拓展 IO | 2x 25pin IDC3 简易牛角座,间距 2.54mm,含 EMIF16 拓展信号 |
2x 25pin IDC3 简易牛角座,间距 2.54mm,含 SPI、I2C、TIMER、GPIO 等拓展信号 | |
2x 25pin IDC3 简易牛角座,间距 2.54mm,含 TSIP 拓展信号 | |
1x SRIO 2.1 TX,1x SRIO 2.1 RX,4 通道,每通道最高通信速率 5GBaud | |
1x PCIe 4x(Gen2),2 通道,每通道最高通信速率 5GBaud | |
1x HyperLink,最高通信速率 40GBaud,KeyStone 处理器间互连的理想接口 | |
仿真器接口 | 1x 14pin TI Rev B JTAG 接口,间距 2.54mm |
按键 | 2x 复位按键 |
1x 非屏蔽中断按键 | |
1x 用户可编程按键 | |
启动方式 | 1x 5bit 启动方式,选择拨码开关 |
网络 | 2x Ethernet,10/100/1000M 自适应 |
串口 | 1x UART0,USB 转串口,提供 4 针 TTL 电平测试端口 |
1x UART1,DB9 接口,提供 6 针 TTL 电平测试端口 | |
风扇接口 | 1x FAN,12V 供电,间距 2.54mm |
电源开关 | 1x 电源拨码开关 |
电源接口 | 1x 12V 3A 直流输入 DC417 电源接口,外径 4.4mm,内径 1.65mm |
备注:深圳信迈 SOM-XM6655、SOM-XM6657 核心板在硬件上 pin to pin 兼容。
表 2 XM-A7HSAD 硬件参数
CPU | Xilinx Artix-7 XC7A100T FPGA |
RAM | 256Mbit NOR FLASH |
ROM | 2x 128M/256MByte DDR3 |
EEPROM | 2KBit |
网络 | 1x Ethernet,10/100/1000M 自适应 |
LED | 2x 供电指示灯 |
3x 可编程指示灯 | |
按键 | 2x 复位按键 |
2x 用户可编程按键 | |
ADC | 双通道,1.8Vp-p,12bit,最高 250MHz 采样率,LVDS 信号输出 |
DAC | 175MHz,12bit,最大输出电流 5mA |
XADC | 双通道,12bit,1MHz,1.25Vp-p |
拓展 IO | 1x SRIO TX,1x SRIO RX,4 通道,单通道最高速率 5GBaud,HDMI 座 |
1x PCIe 4x(Gen2),2 通道,单通道最高通信速率 5GBaud | |
2x 48pin 欧式连接器,GPIO 拓展 | |
1x I2C,HDMI 座 | |
仿真器接口 启动方式 | 1x 14pin JTAG 接口,间距 2.00mm 1x 2bit 启动方式选择拨码开关 |
串口 | 1x UART,Micro USB 接口,提供 4 针 TTL 电平测试端口 |
电源开关 | 1x 电源拨码开关 |
电源接口 | 1x 12V 2A 直流输入 DC005 电源接口,外径 5.5mm,内径 2.1mm |
3.2 软件参数
表3
DSP 端软件支持 | 裸机、SYS/BIOS 操作系统 |
CCS 版本号 | CCS5.5 |
软件开发套件提供 | MCSDK |
Vivado 版本号 | 2015.2 |
4 开发资料
(1)提供核心板引脚定义、可编辑底板原理图、可编辑底板 PCB、芯片 Datasheet,缩短
硬件设计周期;
(2)提供丰富的 Demo 程序,包含 DSP 多核通信教程,完美解决多核开发瓶颈;
- 提供 DSP 与 FPGA 通过 PCIe、SRIO、I2C 等相关通讯例程;
- 提供完整的平台开发包、入门教程,节省软件整理时间,让应用开发更简单;
开发案例主要包括: Ø
- 裸机开发例程
- SYS/BIOS 开发例程
- 多核开发例程
- FPGA 开发例程
5 电气特性
核心板工作环境
环境参数 | 最小值 | 典型值 | 最大值 |
核心板工作温度 | -40°C | / | 85°C |
核心板工作电压 | / | 5.0V | / |
功耗测试
类别 | 电压典型值 | 电流典型值 | 功耗典型值 |
核心板 | 9.0v | 390mA | 3.5W |
备注:功耗测试基于深圳信迈XM-C665xF-EVM 开发板进行。
6机械尺寸
表 4
核心板 | 评估底板 | |
PCB 尺寸 | 80mm*58mm | 200mm*106.5mm |
固定安装孔数量 | 4 | 4 |
图 6 核心板机械尺寸图
图 7 评估板机械尺寸图
7技术服务
- 协助底板设计和测试,减少硬件设计失误;
- 协助解决按照用户手册操作出现的异常问题;
- 协助产品故障判定;
- 协助正确编译与运行所提供的源代码;
- 协助进行产品二次开发;
- 提供长期的售后服务。
8增值服务
- 主板定制设计
- 核心板定制设计
- 嵌入式软件开发
- 项目合作开发
- 技术培训
以上是关于基于 DSP+FPGA 的排爆机器人控制系统设计与实现的主要内容,如果未能解决你的问题,请参考以下文章
基于C6657+国产FPGA的DSP+FPGA主控板设计方案在核电机器人的应用
基于DSP+FPGA+AD9238的冲击波超压测试系统设计与实现
基于C6748 DSP+FPGA MIMO雷达验证系统模块化设计与实现