littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Perl和VHDL的珊瑚扫描系统

项目简介

本项目是一个珊瑚扫描系统,由三部分组成,分别是用户界面、用于控制工作台步进电机的微控制器固件,以及用于处理PMT信号检测和信息处理的PADIWA - FPGA板的VHDL代码。此外,还包含一个基于Python的工具,可生成特定缓存文件以加速与LUFA库相关的项目生成过程。

项目的主要特性和功能

  1. 具备珊瑚扫描功能,通过微控制器固件控制步进电机,配合PADIWA - FPGA板处理信号来实现对珊瑚的扫描。
  2. 提供基于Web的用户界面,方便用户操作和查看扫描结果。
  3. 利用Python脚本生成特定缓存文件,加速与LUFA库相关的项目生成过程。

安装使用步骤

编译微控制器代码

  1. 确保已安装 gcc - avrdfu - programmer
  2. 进入固件目录:cd ./firmware
  3. 清理项目:make clean
  4. 编译项目:make
  5. atmega32u2 置于引导加载程序模式(使用原厂引导加载程序),然后烧录程序:make program
    • 若没有合适的 udev 策略,可能需以root权限运行最后一步。

编译VHDL代码

  1. 进入 padiwa_vhdl 目录:cd ./padiwa_vhdl
  2. 复制相关仓库:
    • git clone git@jspc29:/trb3
    • git clone git@jspc29:/trbnet
  3. 进入 padiwa/coral_counter 目录:cd ./padiwa/coral_counter
  4. 加载环境设置:. /d/jspc29/lattice/34_settings.sh
  5. 设置路径:export PATH=$PATH:/home/hadaq/bin/
  6. 编译代码:./compile_padiwa_frankfurt.pl
  7. 使用Diamond编程器将生成的位文件烧录到PADIWA FPGA(位于 workdir 目录),或者使用 bitfiles 文件夹中最后一个可用的位文件。

启动Web用户界面

  1. 确保安装了以下Perl模块,若未安装,使用CPAN进行安装:
    • CGI Data::Dumper Device::SerialPort Digest::SHA::PurePerl File::Basename Getopt::Long JSON MIME::Base64 Net::SMTP::SSL Proc::Daemon Storable SVG Time::HiRes
    • 以超级用户身份打开终端,运行 cpan,同意更新。更新模块使用 cpan <name>
  2. 关闭超级用户终端。
  3. 进入用户界面目录:cd ./user_interface
  4. 启动Web服务器:./httpi localhost <your port>
    • 建议使用 screen 等工具保持该进程运行。
  5. 在浏览器中访问 http://localhost:<your port>,使用用户名 coral 和密码 belize2 登录。

运行Python脚本

确保所有依赖项和开发环境设置正确,运行Python脚本以生成缓存文件,加速与LUFA库相关的项目生成过程。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】