搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
寸_铁
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
鸿蒙HarmonyOS实战-ArkTS语言基础类库(并发)_arkts线程_harmonyos arkts代码例子
2
共识机制汇总ing_21.共识机制结果值目标值的判定是如何判定
3
linux查看zookeep进程,zookeeper可以查看进程启动,但是状态显示报错:Error contacting service. It is probably not running...
4
【Hydro】SCS-CN方法中径流曲线数的确定(下)_scs曲线
5
RK3568-emmc控制器_emmc adma3
6
海思SD3403,SS928/926,hi3519dv500,hi3516dv500移植yolov7,yolov8(3)_ss928移植
7
消费者人群画像—信用智能评分 :信用分预测_一、消费者人群画像—信用智能评分器
8
Go语言框架中如何快速集成限流中间件_goframe 限流中间件
9
datawhale动手学大模型应用开发-第一章-大模型简介_datawhale rag
10
Java面试宝典-2017_java面试宝典是什么
当前位置:
article
> 正文
基于DSP+FPGA高速运动控制器设计
作者:寸_铁 | 2024-06-20 09:12:33
赞
踩
dsp+fpga
基于“
PC+
运动控制器”结构的开放式机器人运动控制系统能够充分利用
PC
开放程
度高、通用性好、处理能力强等特点以及运动控制器运算速度快、实时性能好、控制能
力强等特点,因此得到较快发展,成为目前的研究热点。但目前采用此种结构的开放式
机器人运动控制系统中,不管是控制器供应商所提供的运动控制器或者是科研人员自主
设计的运动控制器,在通用性、软硬件可重构方面都存在一些问题,影响着机器人运动
控制系统的开放性。
因此,本文通过研究开放式机器人运动控制器的结构特点,制定了基于
DSP+FPGA
的开放式机器人运动控制器的总体设计方案。根据所制定的设计方案,设计并实现了基
于
DSP+FPGA
的开放式机器人运动控制器,并研究了基于开放式机器人运动控制器的
运动控制核心算法。
本文通过充分利用
DSP
的高速数字信号处理能力和
FPGA
的强大并发控制能力以
及丰富的逻辑资源来使运动控制器获得较高的运算与控制能力。通过充分利用
FPGA
的
逻辑编程能力来代替集成芯片以及实现逻辑连接,实现运动控制器的软硬件可重构,提
高机器人运动控制器的开放性。并通过研究曲线拟合预处理技术以及速度前瞻技术来提
高运动控制器的控制效率,实现高速运动控制。
本文所设计的机器人运动控制器应用于开放式机器人控制系统中,与工业
PC
、伺
服系统、机器人本体等组成开放式机器人控制系统。控制系统结构形式为
PC+
运动控制
器,其中
PC
主要实现人机界面、参数配置、路径规划、机器人运动学正变换与逆变换、
多机通信等功能。而基于
DSP+FPGA
的运动控制器则主要完成实时性要求较高的轨迹
规划、速度规划、位置控制、以及状态反馈等任务。
PC
与运动控制器采用具有开放性
的
PC104Plus
总线进行通信,通过双端口
RAM 进行数据共享与同步。系统总体结构如
图
2.1
所示。其中
I/O
接口卡主要完成光耦隔离和电平转换,保护运动控制器不因来自
伺服系统的脉冲电压而受到损害。伺服系统实现对机器人运动关节的伺服驱动和光电编
码反馈,为运动控制器提供实时的机器人运动关节速度和位置状况。
2.5.2
基于
DSP+FPGA
的开放式机器人运动控制器总体结构
作为开放式机器人控制系统的核心控制模块,运动控制器承担着对各执行机构的实
时控制,状态反馈等任务。运动控制器必须能够满足运动控制的定位控制精度、速度调
节的性能等重要指标。经过反复对比论证,本课题所设计的开放式机器人运动控制器以
TI
公司的高速浮点型
DSP
芯片
TMS320C6713
作为控制计算的核心处理器完成轨迹规
划、速度规划、位置控制等任务,以
Xilinx
公司的高性能、大容量
FPGA
芯片
XC3S400A
实现各种输入输出接口、逻辑控制、脉冲接收器、脉冲发生器、地址译码、伺服系统控
制和功能扩展等功能。系统结构采用运动控制器核心板
+I/O
接口卡形式。运动控制器核
心板由
DSP
数据处理模块、
FPGA
外围电路、
PC104Plus
接口电路以及电源供应电路等
组成,实现所有与工业
PC
通信、运动控制计算以及伺服控制功能。其中双端口 RAM
以及
PC104Plus
控制电路分别采用
Xilinx
公司提供的已有
IP
核,由
FPGA
芯片实现。
I/O
接口卡主要是实现总线电路选择、光电隔离以及电平转换等功能,保护运动控制器不受
外部系统脉冲电压信号损害,提高系统抗干扰能力。运动控制器核心板与
I/O
接口卡采
用并行数据接口进行高速数据通信。控制器总体结构如图
2.2
所示:
系统启动后,在工业
PC
上计算出的运动控制指令及参数通过
PC104Plus
总线下载
到运动控制器的双端口
RAM
中,
DSP
模块从双端口
RAM
中获取来自
PC
的指令后,
启动内部的插补运算模块、加减速控制模块等进行插补运算与速度控制,运算结果由位
置控制模块保存至结果队列并定期从结果队列取出数据写回双端口
RAM
中,
FPGA
从
双端口
RAM
中读取插补运算结果,将位置控制命令转换为相应脉冲数及脉冲方向后,
进行细分处理,经过高速光耦,差分转换器,输出隔离后的差分信号到伺服系统,驱动
电机运动,并从位置编码器读取运动结果,保存到双端口
RAM
中供
PC
获取。最后
PC
定时从双端口
RAM
中获取各种状态并通过人机界面显示出来。所有的输入信号(通用、
专用
I/O
信号,编码器信号)均通过光耦隔离,隔离后的信号再输入到
FPGA
进行检测、
处理。
2.5.3
基于
DSP+FPGA
的开放式机器人运动控制器软件结构
基于
DSP+FPGA
的开放式机器人运动控制系统由上位机
PC
和下位机运动控制器两
部分组成。上位机主要实现一些实时性要求不太高的功能,主要包括人机界面、路径规
划、机器人运动学正变换与逆变换、示教再现、多机通信等功能。而下位机则主要实现
实时性要求较高的功能。主要包括插补运算、加减速控制、位置控制、
PWM
脉冲生成、
编码反馈、状态监控、故障处理、
A/D
转换、其他
IO
控制等。本设计采用模块化设计,
根据所要实现的功能对控制器软件结构进行模块划分。基于
DSP+FPGA
的开放式机器
人运动控制系统软件结构如图
2.3
所示,其中右侧阴影部分即为基于
DSP+FPGA
的开放
式机器人运动控制器软件结构。在控制器软件结构中,插补计算、加减速控制、位置控
制等数据运算全部在
DSP
实现,
PWM
脉冲生成、编码反馈、状态监控、故障处理、
A/D
转换、其他
IO
控制等所有控制任务全部在
FPGA
中实现。这样充分利用了
DSP
数据与
程序分离的哈佛结构和流水线操作以及特殊的乘法器结构所带来的强大数据处理能力
以及
FPGA
高主频、低功耗和强大的并发控制能力,使系统获得更快的速度和更强大的
数据处理能力。
2.5.4
开放式机器人运动控制器开放性与高速控制的实现
开放式机器人运动控制器与封闭式的机器人运动控制器相比较,其突出的特点就是
结构灵活,具有软硬件可重构功能,可方便地对系统软件和硬件结构进行修改和升级,
使得系统具有良好的开放性。另外,由于机器人运动控制器主要完成一些实时性要求较
高的任务,因此开放式机器人运动控制器必须具备较好的实时性。本设计中通过如下软
硬件方面的设计来保证开放式机器人运动控制器的开放性与高速控制特性:
(1)
运动控制器开放性的实现:机器人运动控制器开放性的最主要特征是软硬件可
重构。硬件的可重构,指的是对硬件结构可以方便作出修改、替换与升级等。硬件的可
重构,可通过采用
FPGA
编程来最大限度地代替分立元件来实现。目前在开放式运动控
制器的设计中,一般只使用
FPGA
来实现逻辑连接和地址译码。其他大部分功能还是由
独立芯片去实现。在本设计中通过充分利用
Xilinx FPGA
的
IP
核实现了双端口
RAM 和
PC104Plus
总线控制器,并且实现了对双端口
RAM
的地址译码和访问仲裁,以及逻辑
连接控制。同时,利用
FPGA
通过分频电路实现
PWM
脉冲发送电路,通过四倍频技术
实现脉冲编码信号的采集,通过
FPGA
实现
A/D
信号的转换,完成了伺服驱动与位置反
馈等功能。最后,通过
FPGA
控制通用
I/O
总线,实现了对输入状态信号的采集以及输
出信号的管理。由上述可知,本设计中通过
FPGA
编程实现与
PC
的高速通信以及对伺
服系统的控制与状态监控,在需要对硬件结构作出调整是只需简单修改
FPGA
的程序,
既减少了大量分立元件的使用,降低了电路的复杂度,提高了控制器的可靠性与稳定性,
同时也实现了硬件的可重构。软件的可重构,则可通过采用模块化设计的思想,将需要
实现的功能划分为各个独立任务模块,各模块之间在保证实时性的前提下,保持一种松
耦合的关系,使得对运动控制器各部分的功能可以方便作出修改而对其他部分不产生较
大影响,较好地实现了软件的可重构。通过对运动控制器的软硬件可重构的实现,使得
运动控制器具有较高程度的开放性。
(2)
运动控制器高速控制的实现:由于
DSP
数据与程序分离的哈佛结构和流水线操
作以及特殊的乘法器结构,使得
DSP
相对于其他微处理器来说具有更高的数据处理能
力和更快的数据处理速度。而
TMS320C6713
又是
TI
公司
C6000
系列高性能浮点型
DSP
芯片,具有高达
300MHz
的工作频率,最大处理能力可以达到
2400MIPS
,其浮点运算
能力使得系统可以获得较高的计算精度。而
Xilinx
公司的
XC3S400A FPGA
芯片也有高
达
200MHz
的工作频率,有利于提高系统运行速度。另外
PC104Plus
是专为
PCI
总线设
计的一种高速的开放式
PC
总线,可以连接高速外接设备,也具有非常高的数据传输速
度。将
DSP
和
FPGA
集成在同一板卡上使得两者之间数据传输直接快速。这一系列的
设计使得运动控制器在硬件结构上具有高速高精度的特性。而在软件的设计上则通过预
处理算法与速度前瞻算法等保证了在允许误差范围内实现运动轨迹段间的高速平稳过
渡,通过在速度规划算法中引入误差补偿来保证控制器的控制精度。通过以上软硬件方
面的设计,来充分保证运动控制器的高速控制特性。
基于前文的分析,本课题所设计的运动控制器在机器人运动控制系统中主要完成实
时性要求较高的插补运算、位置控制、速度控制、伺服电机驱动以及状态反馈等任务。
控制器以
DSP+FPGA
为处理核心,以运动控制器核心板
+I/O
接口卡形式为系统结构,
DSP
和
FPGA
全部集成在核心板上,
I/O
接口卡仅实现光耦隔离、
A/D
转换和电平转换。
采用
PC104Plus
总线与工业
PC
进行数据交换。使用
FPGA
代替各种逻辑连接的分立元
件并通过
FPGA
的
PC104Plus
总线控制器
IP
核以及双端口
RAM IP
核代替
PC104Plus
总线控制芯片和双端口
RAM
芯片。核心板与
I/O
接口卡采用高速并行接口连接。运动
控制器需要控制的输入信号包括六路
Z
脉冲信号、
12
路码盘信号、
12
路限位信号、
6
路驱动报警器信号、
32
路通用输入信号等。运动控制器需要控制的输出信号包括
12
路
差分输出、
6
路驱动器使能信号以及
24
路通用输出信号等。根据实现功能的不同将运动
控制器硬件电路结构划分为
DSP
数据处理模块、
FPGA
外围电路模块以及电源电路模块
等,而
FPGA
外围电路模块又包含
PC104Plus
总线通信模块、伺服控制模块、
D/A
接口
模块、
I/O
接口模块等。运动控制器硬件电路结构如图
3.1
所示:
信迈支持
DSP
+FPGA运动控制方案设计。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/寸_铁/article/detail/739297
推荐阅读
article
数字
IC
/
FPGA
秋招
知识点
不全面整理_
数字
ic
fpga
秋招
...
数字
IC
/
FPGA
秋招
知识点
不全面整理_
数字
ic
fpga
秋招
数字
ic
fpga
秋招
...
赞
踩
article
【数字IC/
FPGA
】
门控
时钟_
clock
gate
的
电路是什么样
的
...
门控
时钟介绍功耗是芯片设计中非常重要
的
一个指标,研究表明,在芯片功耗
的
组成中,有高达40%甚至更多是由时钟树消耗掉
的
。这...
赞
踩
article
FPGA
-
verilog
-写
数字
钟_
verilog
数字
时钟
6
个
数码管
...
1. 硬件平台 Cyclone IV 和
6
个
数码管
2. top levelmodule num_show( input ...
赞
踩
article
Quartus
数字
电子钟
的设计
Verilog
代码仿真_
数字
电子钟
软件:
quartus
语言:veri...
代码功能:
数字
电子钟
的设计任务与要求:(1) 设计一个具有“时”、“分”、“秒”显示的
电子钟
;(2) 具有校时功能;(3...
赞
踩
article
【
FPGA
】
FPGA
时序
约束
简介
和
应用
技巧_
时序
约束
应用
...
FPGA
(Field-Programmable Gate Array)是一种可编程逻辑门阵列,可以通过编程实现不同的逻辑...
赞
踩
article
第
18
篇
Intel
FPGA
Monitor
Program
的
使用
<一>...
Intel
FPGA
Monitor
Program
开发工具支持Terasic的
FPGA
开发板
使用
第
18
篇
Intel
...
赞
踩
article
信号发生器:Intel
FPGA
DDS(
NCO
)+双路
DAC
(
AD9767
)
输出
正余弦信号_ad9...
ACM9767模块使用的是ADI公司的
AD9767
芯片,14位CMOS 双通道
DAC
,125Msps转换率。
输出
形式为差...
赞
踩
article
FPGA
20个例程篇:20.
USB2.0
/
RS232
/LAN控制并行
DAC
输出
任意
频率
正弦波
、梯形...
正弦波
设置中包括了
频率
、偏移的设置和指令码0x03、0x04相关联,数据码发送对应的
频率
控制字或者相位控制字的数值,数值...
赞
踩
article
FPGA
信号
发生器
含
上位
机源码
信号
发生器
带AM,FM,
PSK
,ASK调制_带
上位
机的码型
发生器
...
FPGA
信号
发生器
含
上位
机源码
信号
发生器
带AM,FM,
PSK
,ASK调制 本
信号
发生器
基于电子设计大赛所做,能产生多...
赞
踩
article
【
FPGA
】
FFT
测量信号
频率
(
Quartus
IP核)_
fft
函数检测
频率
...
Quartus
fft
ip核使用,仿真+上板(保姆级教程)_
fft
函数检测
频率
fft
函数检测
频率
...
赞
踩
article
FPGA
20
个例程篇:
20
.USB2.0/
RS232
/LAN
控制
并行
DAC
输出任意
频率
正弦
波
、
梯形...
如图7所示是数字变频的累加器步长和
频率
关系示意图,在简单地介绍完累加器步长和地址间映射后,就涉及到第三个知识点即
频率
分辨...
赞
踩
article
【
FPGA
+
DMTD
】基于
FPGA
的
双混频时差(
DMTD
)测量仪
verilog
实现_
fpga
dmt
...
双混频时差(
DMTD
)原理,整个系统包括如下:1. 输入:两个有相位噪声
的
10MHz正弦信号。2. 输出:互方差(Cro...
赞
踩
article
基于
matlab
FPGA
verilog
的
DUC
/DDC设计_
fpga
实现
duc
...
1、一个完整的
DUC
功能框图如下:一个实时信号是由两个分量组成:I(n(同相分量))和Q(n)(正交分量)。这两个分量频...
赞
踩
article
双通道中频
信号
数字
下变频
及
相位
差估计(FPGA)_
下变频
相位
不对齐...
双通道中频
信号
数字
下变频
及
相位
差估计实验一、上框图(通俗易懂)二、实验要求1、 用点频
信号
模拟中频
信号
:中频
信号
由DDS...
赞
踩
article
FPGA
(三)---
计
数
器
_
500
毫秒的
16
进制
数
...
一、
计
数
器
设置目的:LED灯,每
500
ms,状态翻转一次系统时钟为50M,对应周期20ns
500
ms = 20ns * ...
赞
踩
article
[
FPGA
学习记录]
计数器
_
fpga
1s
计数器
...
在前面的组合逻辑的设计当中,虽然我们也进行了波形图的绘制,但是大家可以感觉到,在前面组合逻辑的设计当中,波形图的绘制它的...
赞
踩
article
FPGA
-
计时器
的
实现_
fpga
计时器
代码...
重置完成后,此时波形图为空,之后在下图命令框中输入run 10ms 让其程序跑10ms,之后查看inst_time_en...
赞
踩
article
SoC
FPGA
加
accsytem
加
神经网络
算子实现: 车牌识别BMP版本_
accsystem
fp...
车牌识别BMP版本一、开发工具二、利用HLS编译先关算子1.conv.c2.biasrelu.c3.pooling.c4...
赞
踩
article
FPGA
|
按
键
、
拨码
开关
控制
流水
灯实验(附完整代码)_
fpga
基础任务:
按
键
(
或者
拨码
开关
)
按
下...
FPGA
花式点灯实战_
fpga
基础任务:
按
键
(
或者
拨码
开关
)
按
下(
或者
拨上)由相应的发 光
二极管
显示 1,不
按
fpga
基...
赞
踩
article
FPGA
- 7
系列
FPGA
内部结构
之
SelectIO
-02- 源语简介_
ibufg
原语
...
攻其事必先利其器,本文主要翻译节选自UG471,主要对7
系列
的xilinx
FPGA
IO资源的buffer源语进行简要...
赞
踩
相关标签
fpga开发
数字IC设计
面经
秋招
FPGA/IC面试
FPGA
verilog
数字钟
FPGA时序约束
DMTD
双混频时差
Verilog
matlab
开发语言
双通道中频数字下变频
相位差估计
消除象限模糊
学习
笔记