摘要:关于使用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
|