新闻中心

EEPW首页>嵌入式系统>设计应用> 开源LIDAR原型制作平台

开源LIDAR原型制作平台

作者:István Csomortáni,FPGA设计工程师;Dragos Bogdan,软件开发工程经理;Cristian Orian,系统设计工程师;Andrei Cozma,工程经理 时间:2020-06-28 来源:ADI公司 收藏


本文引用地址://m.amcfsurvey.com/article/202006/414749.htm

HDL参考设计

HDL设计包含连接硬件的主要接口,其逻辑电路实现了将来自JESD链接的数据传输至系统存储器,驱动激光器,同步接收器和发射器以准确测量飞行时间,并且在所有组件上设计了通信接口。图6显示了HDL设计的简化框图。ADI的HDL参考设计采用了通用架构使得框架可扩展,且更容易连接另一个FPGA端口。该设计使用ADI公司的JESD204B框架2,以及多个SPI和GPIO接口来接收来自AD9094 ADC的数据,以及控制该原型机平台上的所有器件。

JESD204链接配置用于支持4个数据转换器(M),这些转换器使用线路速率为10 Gbps的4条路线来实现8位转换器分辨率。器件时钟与高速收发器的参考时钟相同,被设置为250 MHz,由DAQ板提供。该链接在Subclass 1模式下运行,确保高速转换器和FPGA之间具备确定性延迟。

对于系统,最大的挑战在于如何同步各种功能和发射脉冲,以及如何处理从高速ADC接收的必要数量的数据。为了解决这一挑战,HDL设计中包含了一个IP,用于提供生成激光器脉冲所需的逻辑,控制TIA的内部多路复用器,以及为DMA提供背压。所有这些控制函数都与发射脉冲同步,以便系统无需保存所有原始高速量化数据流。如此,大幅降低系统的总数据速率。

287503-fig-05.jpg

图5.激光器板信号链。

软件

定义平台的软件堆栈的几个关键点包括自由和开源。用户因此能够“自由运行、复制、分发、学习、变更和改善软件,”3包括从Linux®内核到用户域的工具,以及与此相关的所有代码。

内核中使用的软件驱动器会启动硬件组件,向用户显示所有可用功能。这些驱动器大部分都是工业I/O (IIO) Linux子系统的组成部分。4这些驱动器都与平台无关,所以无需改变硬件,包括与FPGA供应商相关的部分(例如,从Xilinx®FPGA迁移至Intel®)。

为了简化软件接口IIO器件开发,ADI开发出了libiio库。5该库提取硬件的低层详情,提供简单但完整的编程接口,可供高级项目使用。多种可用的libiio后端(例如,本地、网络、USB、串行端)支持在本地使用IIO器件,以及远程在不同操作系统上运行的应用(包括,Linux、Windows®、macOS®)中使用该器件。

ADI开发的IIO示波器就是这样一项应用示例,它使用libiio连接IIO器件,可在系统评估阶段使用。该工具可在不同模式下捕捉和图示数据(例如,时域、频域、星座图、交互相关)、发送数据以及允许用户查看和修改被检测器件的设置。

虽然libiio提供低层编程接口,但在大多数情况下,用户期望使用平台相关的集合了低层驱动器调用的,来展示一组功能,用于访问和配置各种系统参数和流数据。因此,原型制作平台采用特定的,以及适用于常用框架和编程语言(例如C/C++、MATLAB®或Python®)的配套组件,6使用户能够使用其首选的编程语言与系统连接,集中精力研发对客户而言极具价值的算法和应用。

287503-fig-06.jpg

图6.HDL设计框图。

结论

对于系统设计,在建立架构和做出设计决定时,存在一定程度的模糊性。这代表着系统构建完成后无法正常工作或运行的风险,会导致重复的设计周期,增加开发成本,以及延长产品上市时间。参考设计以预设计的、针对彼此交互操作的系统为基础,与从头开始的自定义专用设计相比,其风险降低,整体可预测性和可靠性提高。在规划过程中使用参考设计作为起点,有助于更快将新设计推向市场,并确保出现更少的意外和问题。系统设计人员总是寻求通过参考平台来验证其设计方案,以降低风险和提高可靠性。启动项目时,使用清晰标准的设计选项有助于推动规划过程的实施。可通过使用通用语言来帮助协调目标,鼓励多个职能部门相互合作和参与来实现,并且帮助简化在各设计目标之间评估和取舍的难度。LIDAR原型制作平台试图通过提供开源硬件和软件设计来满足这些需求,这些设计可以提供初始系统架构阶段的参考。硬件平台和软件堆栈可用于整个产品开发阶段,从初始系统评估、开发,到集成到最终产品中。参考设计的内容(例如工程图纸和BOM)可构建、合法、本地化的系统设计提供了一个良好的开端。可以帮助缩短设计周期,且可能在整个过程中帮助节省资金。模块化硬件设计支持使得各种配置选项满足特定的应用要求,而基于行业标准框架和编程语言,搭配应用示例的开源软件堆栈则允许客户侧重于开发应用,为产品注入价值,无需将精力耗费在堆栈的低层。

287503-fig-07.jpg

图7.软件堆栈。

参考文献

1快速轴准直透镜。FISBA,2019年。

2JESD204接口框架。ADI公司,2019年。

3自由软件是什么?Free Software Foundation, Inc.,2019年。

4Linux Driver Implementer的指南。ADI公司,2019年。

5关于libiio。ADI公司,2019年。

6“PyADI-IIO:ADI Python接口,适用于配备工业I/O驱动器的硬件。”GitHub, Inc.,2020年。

Michael Hennerich和Robin Getz。“ADI公司如何看待自由和开源软件。”《模拟对话》,第44卷第3期,2010年3月。

287503-fig-08.jpg

图8.显示LIDAR数据的IIO示波器捕捉窗口。

作者简介

István Csomortáni是ADI公司的FPGA设计工程师,负责支持基于FPGA的参考设计的设计与开发。他拥有工业自动化与信息技术学士学位及集成电路设计硕士学位。他从2012年开始进入ADI公司工作,负责为高速转换器和RF收发器提供各种系统级参考设计支持。

Dragos Bogdan目前是SDG部的小型嵌入式软件开发团队负责人,为各种类型的平台和组件增加开源裸机和Linux支持。Dragos于2011年加入ADI公司担任软件工程师。2010年到2011年间,他在Pergamon RD公司从事用于打印设备的嵌入式硬件和软件的开发工作。在此之前,他曾参加National Instruments和Continental Automotive的实习生项目。他拥有克卢日-纳波卡科技大学电子学学士学位和自动化硕士学位。

Cristian Orian是ADI公司的系统设计工程师,负责评估平台的硬件开发工作。他拥有电子学博士学位。其工作领域还涉及电源设计。

Andrei Cozma是ADI公司工程设计经理,负责支持系统级参考设计的设计与开发。他拥有工业自动化与信息技术学士学位及电子与电信博士学位。他参与过电机控制、工业自动化、软件定义无线电和电信等不同行业领域的项目设计与开发。


上一页 1 2 下一页

关键词:APILIDARIC

评论


相关推荐

技术专区

关闭