历史上的今天
返回首页

历史上的今天

今天是:2025年03月26日(星期三)

正在发生

2019年03月26日 | ROPS让你更容易的开发机器人

2019-03-26 来源:与非网

所有机器人都需要传感器,计算和驱动。

现成的x86 PC为您提供了一个熟悉的Linux环境来进行开发和部署。 然而,PC存在严重问题,现成的主板不能提供与外界的低延迟和噪声容忍连接。 USB似乎就是解决方法,但是一旦总线忙碌,如果你通过USB连接到电机控制器,延迟会让你感到困惑。

在机箱内隐藏着一个解决方案PCI Express。 虽然你很难找到PCI-e电机控制器或激光雷达,但速度快,延迟低。 这就是ROPS的用武之地,可以作为PCI-e与CAN和RS485等总线之间的桥梁,您可以在电机控制器和传感器上找到它们。

由于几乎所有移动机器人都需要IMU和GPS,有了ROPS这些都不是问题。

我们将在CSG325封装中使用Xilinx Artix-7 XC7A35T作为ROPS的核心。 35T是中档Artix部分,CSG325封装将所有重要的GTP收发器绑定,以便我们可以使用PCI-e连接到主机。

我们计划使用的传感器是ST LSM9DS1 IMU,ST LPS25HW气压计和uBlox NEO-M8T GPS。

将有后面板IO用于连接第三方硬件,如电机控制器和其他传感器,但我们还没有确定任何细节。 目前只有很少的FPGA用于IO,因此这里有很多灵活性。 在主机外壳内的夹层或柔性电缆连接器上也可能有额外的IO。

Verilog仿真工具

当你处理任何类型的代码时,收紧write-compile-test循环总是有帮助的,特别是当你第一次学习时。 对于SPI模块,最重要的是SPI输出的时序。 为此,我们需要模拟verilog并检查输出。 以下是我过去常用的工具。

编辑器

我使用neovim,但它并不重要。 我强烈建议使用语法高亮,强大的查找和替换以及跨平台功能,以便您可以随时随地使用它。

Bash Glue

这就是魔术发生的地方,这个脚本以您当前正在处理的文件的形式接受一个参数,并等待它被保存。 保存后,脚本会编译该文件,对其进行模拟,并更新GTKWave的输出。 我在这里使用verilog,但你可以在inotifywait之后用你正在处理的项目中有用的东西替换它们。 这可能是编译器,linter等。我将它的输出保存在我工作区的左上方窗格中,这样我就可以检查出现的任何错误。

inotifywait

这确实是脚本的关键。 当作为第一个参数提供给脚本的文件被关闭时,如果它被打开为可写,则inotifywait退出。 这样,如果你捕获文件,或差异,它将不会做任何事情。 它不会查看文件内部以查看是否已进行更改,它只知道文件已关闭。

iVerilog

Icarus Verilog是一个verilog综合和模拟工具。 iVerilog将源编译为类似中间程序集的源,然后由iVerilog工具集的另一部分vvp执行。 这样做会输出一个.lxt文件,该文件存储verilog中各种连线和寄存器的波形。

在脚本中,iverilog的-o选项命名输出文件,这里我们只使用main。 然后我们在main上调用vvp,并告诉vvp将波形输出到.lxt文件。

GTKWave

模拟verilog时,可以使用类似printf的语句,也可以转储每行的状态并注册到文件中。 查看寄存器转储。 我正在使用GTKWave。 在我看来,它是一个完美的软件。 当我想检查波形时,它会完成我需要的一切,而不是其他任何东西。

在脚本中,我们调用gconftool-2来更新波形。 我不知道他们为什么选择配置工具来做这件事,但它很有效。

推荐阅读

史海拾趣

Akros[台湾超硕股份有限公司]公司的发展小趣事

品质是Akros公司的生命线。公司始终坚持严格的质量控制体系,从原材料采购到产品出厂的每一个环节都进行严格把关。为了确保产品的品质稳定可靠,Akros还引进了先进的生产设备和检测仪器。同时,公司还注重持续改进,通过不断优化生产流程和提升员工技能水平,不断提高产品的品质和效率。

福斯特半导体(Foster)公司的发展小趣事

随着电子行业的快速发展,Akros公司意识到技术创新的重要性。公司加大了对研发的投入,成功开发出了一系列具有高性能和稳定性的电子产品。这些产品不仅满足了市场的多样化需求,还赢得了客户的广泛认可。通过技术的不断创新和产品的不断优化,Akros逐渐在行业中树立了良好的口碑。

BESTECH公司的发展小趣事

面对日益激烈的市场竞争,Akros公司积极寻求市场拓展的机会。公司开始参加国际电子展会,与全球各地的客户建立联系。通过展示其独特的技术优势和高质量的产品,Akros逐渐赢得了国际市场的认可。同时,公司还加强了与全球供应链的合作,实现了原材料的全球化采购,降低了生产成本,提高了产品的竞争力。

宜源科技(ETERNAL)公司的发展小趣事

在电子行业的激烈竞争中,宜源科技公司始终将技术创新作为公司发展的核心驱动力。公司投入大量研发资源,成功开发出一系列具有自主知识产权的电子产品和解决方案。其中,其独特的智能芯片技术,不仅大幅提升了产品的性能,还降低了生产成本,使得宜源科技在市场中迅速脱颖而出。

ACT [Advanced Crystal Technology]公司的发展小趣事

宜源科技公司非常重视人才培养和团队建设。公司建立了一套完善的人才培养体系,为员工提供丰富的培训和发展机会。同时,宜源科技还积极引进优秀人才,打造高素质、专业化的技术和管理团队。这些团队在公司的各个领域中发挥着重要作用,为公司的长远发展提供了有力的人才保障。

国芯佳品公司的发展小趣事

面对日益严峻的环境问题,宜源科技公司积极响应国家环保政策,致力于绿色环保和可持续发展。公司采用先进的生产工艺和设备,减少生产过程中的污染排放。同时,宜源科技还积极推动绿色产品的研发和推广,为客户提供更加环保、节能的电子产品解决方案。这些努力不仅有助于保护环境,也为公司的可持续发展奠定了基础。

问答坊 | AI 解惑

PIC通信,为什么这两段程序执行结果不一样?

第一段: #include              //包含单片机内部资源预定义 __CONFIG(0x1832);         //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加 ...…

查看全部问答>

WinCE6.0 设备挂载点命名方法是怎么用的??

WinCE6.0 设备挂载点命名方法是怎么用的?? 如: \\$device\\COM23 ,  是怎么在CE6.0注册在使用的? 比如说注册表是怎么写的?, 或者是那里需要怎么操作?才能实现这样设备挂载点命名方法?   跪求高人指点!!…

查看全部问答>

STM8在RAM中执行Code

老早就听说STM8可以在RAM上运行Code,那么有没有可能,我把某个函数编译好打包成数组,在需要的时候再把它放到RAM上去,然后我跑去RAM上运行这段代码? 看了好久这个_fctcpy,好像它的作用只是让程序在链接的时候把某个段链接到RAM上而已,而 ...…

查看全部问答>

红外接收程序问题

     else if(int_times==40)     {      int_times=0;      head_ok=0;               ...…

查看全部问答>

选择电源问题

请教各位大侠,如果串在火线里的遥控开关来控制日光灯,电源怎样取?谢谢了…

查看全部问答>

C2000的EMU_KEY究竟是如何写入的

C2000通过EMU_KEY和EMU_BMODE修改BOOT模式,这两个值究竟是在那里修改的,谢谢了! [ 本帖最后由 flyangus 于 2013-1-3 17:11 编辑 ]…

查看全部问答>

提问+关于MSP430单片机的控制器

UCSCTL3 |= SELREF_2; 这个计算式如何计算:1)UCSCTL3=0x0020u;                                2)UCSCTL3=0x162u|0x0020u=0x162u;…

查看全部问答>

智能是简单化而不是复杂化

雾霾袭来,空气净化器火了,随着智能手机的普及,不管是传统大品牌还是初创企业,很多厂家们“聪明”的在空气净化器前面也加上了智能二字,好像变成了不智能你就不好意思出来净化空气。 联接WiFi、APP远程操控、自动检测系统、自动启动系统,净化 ...…

查看全部问答>