基于DSP+FPGA的多轴运动控制平台(一)硬件设计

news2024/10/6 14:29:17
2 实验平台总体方案与硬件设计
2.1.1 实验平台的功能需求分析
针对便于多轴运动控制技术的研究,培养此方面技术的人才,实验平台应能
对多轴运动实现高速高精度的控制效果,同时保证系统开放性和兼容多种算法及
参数的运行。
实验过程契合实际工作过程,完成控制系统设计前应先进行软件仿真以验证
其有效性。深入研究控制平台核心控制算法,能够完成经典常用的插补算法、加
减速算法运行,同时与较新的速度前瞻算法与曲线拟合预处理算法结合,对比试
验结果。
同时在硬件选用层面,实验平台及其中选用的器件应成本较低且广泛的应用。
这样的器件会在各个领域被行业大量的使用,相关开发的资料非常丰富,因此会
大大降低学习与实验的门槛。
2.1.2 实验平台的总体方案
针对实验平台功能与性能要求,基于模拟电路型、采用微处理器( MCU )作
为控制核心、采用可编程控制器型( PLC )作为控制核心、基于专用集成电路
ASIC )硬件结构等方案都很常见。针对运动控制实验平台研究算法与便于硬
件重构的目的。本文的运动控制实验平台的主要功能是进行多种控制方法、算法
和参数的验证,达到插补运算、位置控制、速度控制、伺服电机的控制以及反馈
信息的处理比对。
本文设计的多轴运动控制实验平台方案,是以 DSP FPGA 为基础,将二
者进行有效结合,同时使用 I/O 接口进行连接,在 I/O 的接口上,使用到的是光
电耦合的方式,并且能够满足 A/D 和电平的转换,在数据传输方面使用到的是
PC104Plus 总线的方式与 PC 进行信号的通讯,在使用 FPGA 后能够将原来总线
控制芯片和双端口 RAM 芯片用总线控制器的 IP 核进行设计,在多轴运动控制
实验平台各模块与 I/O 端口进行信息通信的接口是并行接口,输入信号主要包含
Z 脉冲信号、 12 路编码器信号、 12 路限位开关量信号、 6 路驱动报警器信号、 32
路通用 I/O 信号等,在运动控制部分,运动控制实验平台主要控制的是输出 12
路差分信号、 6 路驱动器使能信号以及 24 路通用输出信号等 [49-50] 。在整个运动
控制的组成部分中,可以将其分为 DSP 数据处理模块, FPGA 模块以及供电模
块,整个硬件部分的电路结构如图 2-1 所示。
2.2 DSP 数据处理模块的研究与设计( Research and design of DSP
data processing module
2.2.1 TMS320C6713 DSP 处理器的特点
TI 公司设计的 C6000 系列的 DSP 的优点主要如下 [51] :
1 )在哈弗结构的基础上实现数据与程序部分的分开存储,在数据总线部
分使用的是独立的模式;
(2)在指令部分,可以实现并行处理的过程,而且能够在不同的功能单元
内对数据进行取值、译码、取操作;
(3)在使用辅助寄存器的基础上采用多总线的方式实现自主的增加地址操
作,并且能够并发实现对数据空间进行很多次的访问;
(4)为了提高片内的工作频率采用的方式是数字锁相电路;
(5)内部配有专用的累加器用于硬件乘法模式;
(6)为了保证系统的稳定性要求,采用的是超长的指令字模式,在 8 个并
行处理单元的基础上拥有 256 位的总字长,再这样的条件下能够实现的是
2400M/PS
(7)采用二级缓冲处理,其中包括一级程序和数据缓冲部分,该缓冲部分
的大小都是 4KByte ,并且还拥有 256Kbyte 的二级额外匹配内存 [52]

 (8)为了实现与 SDRAMFlash ROM 以及异步存储器能够进行快速的通讯功能,使用的是 EDMA 丰富外设总线模式. TMS320C6713 结构如图 2-2 所示。

 

2.2.2 TMS320C6713 DSP 数据处理模块的结构分析
C60000 系列中,比较典型的 DSP 芯片型号为 TMS320C6713 ,本文选用
此型号此构成了实验平台。 DSP 功能模块主要实现的功能主要为多轴运动数据
信息采集、存储以及传输、自动与手动恢复等。在数据处理模块中还需要其他设
备才能完成相应的功能,其中就包括:供电模块、时钟模块、复位模块、 JTAG
块、外扩 Flash ROM 和外扩 SDRAM 模块 [53] 。其结构图如图 2-3 所示 :
1 )电源模块
为了满足 TMS320C6713 的工作需求,需要配备相应的供电模块,在
TMS320C6713 中使用的是 2 级供电的模式,其中内部的供电使用的是 1.26V
电压,在外部使用的是 3.3V 的电压,因此在本电源模块中就需要使用从外部引
5V 直流电压的模式,并且通过特定的芯片将其转换成需要的电压,电路设计
图如图 2-4 2-5 所示。
(5)伺服控制模块的实现
伺服控制模块主要完成的工作如下 :
①在输入输出开关量接口的部分,该接口包括 HOME LIMIT ALM
分,这些部分的信号能够对 SVON 输出信号进行相应的处理工作。对于伺服信
号的功能就是为了控制机器人的电机部分, HOME 信号的目的是为了能够让电
机在运动过程中根据实际的需求进行回零操作,限位信号的目的就是在电机运动
过程中个,不至于超出事先设定好的位置,报警信号就是当电机发生意外的时候
能够让电机及时停止工作的目的。
②在 PWM 脉冲输出控制电路部分,为了获得相应的 CW CCW 信号,可
以通过 FPGA 的分频产生相应的频率,当进行两项的脉冲信号控制时, CW 信号
就表示正向转动, CCW 则表示反向转动,在 FPGA 中输出的信号是需要进行电
平的转换操作,然后进行光耦隔离的操作,最后需要做的是差分处理,通过对信
号进行处理后再将其输入到伺服系统中。
③在反馈脉冲处理电路中,首先需要依靠编码器的反馈信号来判断各个电机
的状态,编码器的信号需要进行差分运算才能转换为单路的信号,然后通过光耦
隔离的操作,最后进行电平转换将信号重新反馈给 FPGA 进行处理,单轴的伺服
控制结构如图 2-14 所示 :
2.4 DSP FPGA 通讯方式设计( Research and design of FPGA
peripheral circuit module
为了进一步充分利用 FPGA ,通过在 DSP 芯片内部的 EMIF 端口来与 FPGA
进行连接,其中, FPGA TMS320C6713 连接方式如图 2-15 所示。
如图 2-15 所示。以 DSP 为核心处理器,其数据总线用 DO-D15 来表示,地
址总线用 A2-A17 来表示,其中用来控制 FPGA 的操作的是 TSDRAS, TSDCAS
TSDWE 作为控制总线,提供给 FPGA 时钟信号的是 ECLKOUT ,组合编码是
通过 TCE2 DSP 中的 A2-A17 进行的,如果地址为 OxA000 0000 时,则会生
成一个片选的信号,该片选信号的目的是用来选择 FPGA 中的模块。在 FPGA
DSP 进行数据通信的时候,中断信号使得 NT4 由低电平变成了高电平, DSP
FPGA 的方式是通过数据总线的方式。
2.5 本章小结( Summary
本章的内容主要是介绍多轴运动控制实验平台的硬件部分,然后对硬件部分
的各个模块进行划分工作,其中包括 DSP 模块、 FPGA 模块和电源模块,然后介
绍了各个模块的设计过程与方案,本文在硬件部分的特点就是使用的 FPGA
代替分立元件部分,通过这种方式来进行数据逻辑的连接工作和运动控制,提高
平台的开放性用以不同算法的实验,同时提升多轴运动控制的性能。

 信迈提供基于DSP+FPGA多轴运动控制器解闷方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/418278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4.16--计算机网络之HTTP篇之常见面试题篇--(复习+深入)---好好沉淀,加油呀

1.HTTP 基本概念 1.HTTP 是什么? HTTP 是超文本传输协议 HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。 「HTTP 是用于从互联网服务器传输超文本到本地浏览器的协议」,这种说法正确吗…

Android -- OkHttp的简单使用和封装

OkHttp的封装 由于是封装我们可以吧OKHttp和Gson给结合起来,那么我们在gradle文件添加以下的依赖 1 2 3 compile "com.squareup.okhttp:okhttp:2.4.0" compile com.squareup.okio:okio:1.5.0 compile "com.google.code.gson:gson:2.8.0" ①Ca…

Windows Subsystem for Android (WSA) 下载:在 Windows 11 上运行 Android 应用 (April 2023)

适用于 Android™️ 的 Windows 子系统,2023 年 4 月更新 (April 2023) 请访问原文链接:https://sysin.cn/blog/wsa/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Windows 11 上适用于 Android™ 的 …

在Windbg中设置断点追踪打开C++程序远程调试开关的模块

目录 1、Windbg动态调试 2、在Windbg中设置断点 2.1、在函数入口处设置断点 2.2、在函数内部某一行上设置断点 3、设置断点跟踪对打开远程调试开关接口的调用 3.1、编写演示代码 3.2、在Windbg中设置调用SetRemoteDebugOn接口的断点进行跟踪 4、最后 VC常用功能开发汇总…

这一次,吃了Redis的亏,也败给了GPT

关注【离心计划】,一起离开地球表面 背景 组内有一个系统中有一个延迟任务的需求,关于延迟任务常见的做法有时间轮、延迟MQ还有Redis Zset等方案,关于时间轮,这边小苏有一个大学时候做的demo: https://github.com/JA…

Cacti监控远程linux机器配置(被监控端)

一、被监控机安装snmp yum -y install snmp二、被监控机的配置 vi /etc/snmp/snmpd.conf做以下更改: 1、找到com2sec notConfigUser default public 改为:com2sec notConfigUser 192.168.1.1(改成监控服务器的ip) public 2、找到acce…

【hello Linux】进程概念(上)

目录 1.操作系统(OS) 2. 进程 2.1 基本概念 2.2 task_struct 内的属性字段 2.3 查看进程 2.4 查看进程的PID及PPID 2.5 杀死进程 2.6 以文件的方式查看进程 2.7 查看退出码 2.8 上下文数据 下面介绍两个较为方便的快捷键: Linux🌷…

语义分割新范式:上海 AI Lab 联合北邮、商汤提出StructToken

来源:投稿 作者:xin 编辑:学姐 Motivation 本文将当前语义分割的方法分为两类,一类是静态逐像素分类方法(static per-pixel classification),另一类为动态逐像素分类方法(dynamic p…

Ubuntu备份与恢复

Ref: create-backup-image-of-running-ubuntu Linux中我们有权访问所有系统文件,因此,最简单且直接的备份方法是将整个根目录打包: sudo su tar -cpzf /path/to/backup.tar.gz --exclude/tmp --one-file-system /其中-cpzf 表示建立压缩归档…

MQTT 持久会话与 Clean Session

1. 会话(session) 我们将从客户端向服务端发起 MQTT 连接请求开始,到连接中断直到会话过期为止的消息收发序列称之为会话。会话是服务端和客户端的一个连接,进行消息交互前必须先建立会话。 2. 会话的生命周期 MQTT v3.1.1会话…

003_螺旋矩阵

力扣54和59题 54.顺时针打印矩阵 题目: 思路:将矩阵分为若干层,首先打印最外层的元素,然后一直往里打印 对于每层,从左上方开始以顺时针的顺序遍历所有元素。假设当前层的左上角位于(top,left),右下角位于…

Axios请求(对于ajax的二次封装)——Axios取消请求、请求体编码

Axios请求(对于ajax的二次封装)——Axios取消请求、请求体编码知识回调(不懂就看这儿!)场景复现核心干货axios取消请求AbortControllerCancelToken deprecated请求体编码浏览器qs库编码数据ES6库方法node.jsQuery stri…

【神经网络】tensorflow实验3--NumPy科学计算库

目录 1. 实验目的 2. 实验内容 3. 实验过程 题目一: ① 代码 ② 实验结果 题目二: ① 代码 ② 实验结果 题目三: ​编辑 ① 代码 ② 实验结果 5. 实验小结 ① 实验过程中遇到了哪些问题,你是如何解决的? …

Android引入Apollo(阿波罗)

程序猿日常 记Android项目引入Apollo(阿波罗)上源码 apollo开发分支 应用 Apollo(阿波罗)客户端会管理好应用的后台GraphQL数据 之前网络请求使用RetrofitOkHttp 改成使用ApolloOkHttp 引入 1.对应的module的build.gradle中添加 id("com.apollographql.apollo3&qu…

【计算机系统概论Yale.patt】第一章

文章目录1. 计算机是简单部件的系统组合1.1 计算机组成1.1.1 编码体系1.1.2 晶体管构建微处理器1.1.3 冯诺依曼机1.1.4 LC-3机(冯诺依曼机实现)1.1.5 LC-3编程机器语言编程汇编语言编程输入输出信息问题两个重要机制栈和数据转换示例:计算器1.2 两个重要理念1.2.1 抽…

Linux基础篇(三)常见指令

目录 一、创建文件和目录 二、命令详解 0. 命令和选项 1. ls命令 2. cd命令 3. touch命令 4. mkdir命令 5. tree命令 6. rmdir命令 7. rm命令 8. man 9. nano 10. cat命令 11. cp 命令 12. mv 命令 13. echo命令 14. more命令 15. less命令 16. Ctrl C 17. head 命令 18. tail…

台灯的种类有哪些?国内热门护眼灯品牌推荐

台灯是我们日常生活中常见的电器之一,台灯不仅可以为人们照明,还可以用来家居装饰,根据人们不用的需求,台灯的种类也很多,有书房台灯、读写台灯、工艺台灯。 书房台灯:灯光的局部照明效果,以书写…

禅道OpenAI更新至1.2版本,超多实用功能惊喜上线!

广受欢迎的禅道OpenAI插件近日成功发布,截至目前已更新至1.2版本。 截至本版本发布,禅道OpenAI已经拥有了神奇海螺(ChatGPT聊天)、需求润色、任务润色、Bug润色及本次的需求一键生成用例功能,仍有更多实用的新功能正在…

Sentinel 工作主流程

Overview 在 Sentinel 里面,所有的资源都对应一个资源名称以及一个 Entry。Entry 可以通过对主流框架的适配自动创建,也可以通过注解的方式或调用 API 显式创建;每一个 Entry 创建的时候,同时也会创建一系列功能插槽(…

2023年第1季社区Task挑战赛开启,等你来战!

社区Task挑战赛是面向社区开发者开展的代码或教程征集活动。该挑战赛为社区中热爱FISCO BCOS及周边组件的开发者提供了探索区块链技术、挑战技术难题的舞台。该挑战赛去年在社区成功举办了3季,共吸引了数百名开发者报名。 前3季都有哪些有趣的作品? 在…