关于CPU设计理念的机器人设计移植研究

关于CPU设计理念的机器人设计移植研究


摘要:关于使用FPGA设计机器人目在国内较为少数,但是依照FPGA的灵活与后发性其优势不言而喻,但是至今还没有较为成熟的设计模式。那么我们说研究的这个设计理念便是将CPU设计的取指、译码、执行、回写的步骤来设计机器人的SOC数字控制系统。这个设计理念所具有的优点是条理清晰,代码集成度高,代码量少等等优点。
关键词:机器人设计;CPU;范式

一、 引言

现在国内大量机器人的设计工程师们所采用的大多还是单片机和一些嵌入式平台,使用FPGA设计机器人系统较为少数。那么在这个领域内至今内有一个机器人设计的范式,也就是说FPGA来设计机器人的模式还是五花八门,参差不齐。他们造成的问题就是很多FPGA工程师在去做机器人时会发现条理不清晰,代码集成度不高,代码效率低冗余较多。那么本文提出了一种全新的FPGA机器人SOC数字系统设计范式,可以助力从事与机器人数字系统设计行业的工程师们提高代码效率和集成度。

二、 理念架构

CPU发展至今已经有了80多年的历史了,由于我们当今社会的信息科技发展几乎完全是在CPU的基础上发展的所以他的设计理念依然十分受用。所以我们我们尝试将CPU设计中的取指、译码、执行、回写的步骤来设计机器人的SOC数字控制系统发现十分的高效集成。
1、 取指,取指的本意是取出指令,那么在机器人SOC数字系统中就对应着机器人的传感器信号,一般情况下我们在设计机器人的时候,机器人搭载的传感器所采集的信号我们是不可以直接拿来用的而是需要对采集到的信号做一些处理,那么我们就可以在整个SOC系统上增加一个取指处理模块该模块,从而直接拿到传感器的有用触发信号作为机器人相关动作执行的指令。这样做的目的就可以节省我们在机器人设计是对每一次使用信号再加以处理并且可以提高代码的移植性可读性。
2、 译码,译码的本意是将指令解析出对应的唯一add,那么由于我们的机器人所搭载的传感器往往不是单独为某一块模块所服务的,而是作用在整个机器人系统上面,那么我们就可以为取指对应的传感器信号进行译码,从而让传感器可以在同时为多个功能模块提供指令信号,那么这样做的目的就是可以提高效率,几乎可以保持让传感器信号一个机械周期内服务所有功能模块。这个在一些需要高速处理的机器人身上心得格外优势。
3、 执行,执行的本意就是执行对应add的操作,由于我们在一个设计机器人SOC的时候往往需要处理的运算操作不会只有一个,那么我们将相应的运算操作归为一类,让相应的运算发出相应的唯一指令码送到相应模块上进行唯一的数据运算操作,这样机器人就只需要一个执行模块就可以取代每一个功能模块上单独运算处理的复杂代码,那么我们这样做的目的还是可以归结到根本上就是提高代码的利用率节省硬件资源,这个尤其是在规模较大的机器人SOC上面。
4、 回写,回写的本意是将执行后的数据重新写回寄存器或者储存器,在这里我们的回写是机器人处理传感器信号后我们将对应的数据放在需要执行的外设上面。比如红外信号处理后对应伸缩杆或者舵机的操作,那么我们就可以使用回写模块将这些数据同一调度到对应的外设上面。那么这样的好处是系统性更强,从而可以避免各个动作之间的冲突等等问题。
通过以上的设计可以发现,机器人传感器信号变成了流水线指令操作,系统性更强,并且具有很大的通用性和移植性,之前一个功能对应一个模块现在可以使用一个执行模块取代所有功能模块内部的代码。由此呢我们就完成了一个高效精简的机器人SOC处理核的架构设计。那么我们反比现有的无章法设计,我们就可以发现,这套设计理念在一些高速和高精度的机器人方面有着得天独厚的先进性。

三、 系统时序

设计一个机器人系统尤其是高速高精度的机器人系统我们需要着重注意的一点就是时序问题,重点在于取指、译码、执行、回写这四个步骤应当注重用组合逻辑替换时序逻辑,保证时序的稳定。

四、结语

现在机器人发展十分迅猛,我们需要的机器人大多数也都是一些高速高效率的机器人那么这个时候FPGA就会具有很大的优势我们的这套架构理念就是,站在开发者的角度去如何适应时代,去做出更加高效高速高精度的三高机器人。因此本文提出的CPU设计理念的机器人设计移植,从高效高速高精度三方面提高了机器人设计理念。

参考文献:胡振波《手把手教你设计CPU—RISC-V》[M] 北京 人民邮电出版社 2018

好的我是木林学长技术水平有限,如有错误欢迎批评指正:779163410@qq.com(本人会在闲暇时在嵌入式,集成电路,物联网互联网方面发布自己经验与心得,喜欢可以关注。谢谢。)
我这里有一个群聊大家可以加进去有问题可以交流:366475079

《宾馆客房管理系统》是一个基于C#与MySQL的项目,旨在帮助学习者掌握数据库管理和系统开发知识。该项目通过完整代码实现,将编程技术应用于宾馆客房管理的实际业务场景。 C#是微软开发的面向对象编程语言,广泛用于Windows应用程序开发。在本项目中,C#用于构建用户界面、处理业务逻辑以及与数据库交互。它拥有丰富的类库,便于开发复杂图形用户界面(GUI),并通过ADO.NET组件实现与MySQL数据库的连接。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),常用于Web应用程序,用于存储客房、预订、客户等核心数据。通过SQL语句,开发者可对数据进行增、删、改、查操作。系统中可能涉及“客房表”“预订表”“客户表”等,包含客房编号、类型、价格、预订日期等字段。 数据库连接是系统的关键部分。C#通过ADO.NET的SqlConnection类连接MySQL数据库,连接字符串包含服务器地址、数据库名称、用户名和密码。用户下载项目后,需根据本地环境修改连接字符串中的用户名和密码。系统主要功能模块包括:客房管理,可展示、添加、修改、删除客房信息;预订管理,处理预订的查看、新增、修改和取消;客户管理,存储和管理客户个人信息;查询功能,支持按客房类型、价格范围、预订日期等条件查询;报表和统计功能,生成入住率、收入统计等报表辅助决策。开发者需编写C#方法对应数据库操作,同时设计直观易用的界面,方便用户完成预订流程。项目中的MySQL文件可能是数据库脚本或配置文件,包含建表、数据填充及权限设置等内容,用户需在本地测试前运行脚本设置数据库环境。 总之,该系统结合C#和MySQL,为学习者提供了一个涵盖数据库设计、业务逻辑处理和界面开发的综合实践案例,有助于提升开发者在数据库应用和系统集成方面的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木林学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值