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之间具备确定性延迟。

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

软件

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

开源LIDAR原型制作平台

图7.软件堆栈。

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

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

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

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查