项目简介
本项目是一个珊瑚扫描系统,由三部分组成,分别是用户界面、用于控制工作台步进电机的微控制器固件,以及用于处理PMT信号检测和信息处理的PADIWA - FPGA板的VHDL代码。此外,还包含一个基于Python的工具,可生成特定缓存文件以加速与LUFA库相关的项目生成过程。
项目的主要特性和功能
- 具备珊瑚扫描功能,通过微控制器固件控制步进电机,配合PADIWA - FPGA板处理信号来实现对珊瑚的扫描。
- 提供基于Web的用户界面,方便用户操作和查看扫描结果。
- 利用Python脚本生成特定缓存文件,加速与LUFA库相关的项目生成过程。
安装使用步骤
编译微控制器代码
- 确保已安装
gcc - avr
和dfu - programmer
。 - 进入固件目录:
cd ./firmware
- 清理项目:
make clean
- 编译项目:
make
- 将
atmega32u2
置于引导加载程序模式(使用原厂引导加载程序),然后烧录程序:make program
- 若没有合适的
udev
策略,可能需以root权限运行最后一步。
- 若没有合适的
编译VHDL代码
- 进入
padiwa_vhdl
目录:cd ./padiwa_vhdl
- 复制相关仓库:
git clone git@jspc29:/trb3
git clone git@jspc29:/trbnet
- 进入
padiwa/coral_counter
目录:cd ./padiwa/coral_counter
- 加载环境设置:
. /d/jspc29/lattice/34_settings.sh
- 设置路径:
export PATH=$PATH:/home/hadaq/bin/
- 编译代码:
./compile_padiwa_frankfurt.pl
- 使用Diamond编程器将生成的位文件烧录到PADIWA FPGA(位于
workdir
目录),或者使用bitfiles
文件夹中最后一个可用的位文件。
启动Web用户界面
- 确保安装了以下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>
。
- 关闭超级用户终端。
- 进入用户界面目录:
cd ./user_interface
- 启动Web服务器:
./httpi localhost <your port>
- 建议使用
screen
等工具保持该进程运行。
- 建议使用
- 在浏览器中访问
http://localhost:<your port>
,使用用户名coral
和密码belize2
登录。
运行Python脚本
确保所有依赖项和开发环境设置正确,运行Python脚本以生成缓存文件,加速与LUFA库相关的项目生成过程。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】