Releases: ncsurobotics/SW8A-AcousticsFPGA
Releases · ncsurobotics/SW8A-AcousticsFPGA
Summer 2024 version
The Summer 2024 version of the Acoustics FPGA codebase. Requires Vivado 2022.2 and builds for the Basys 3.
Features:
- Cross correlation based angle-of-arrival estimate: the FPGA computes the cross correlation between two hydrophone signals, and sends an index (between 0 and 128) over UART. This index then needs to be converted into an angle by the receiving computer (i.e. Jetson, laptop)
- Working UART module
- Working? SPI module to interface with the LTC1197 ADCs. The SPI is suspected to have a bug.
- Clock Domain Crossing (CDC) between 3 different clock domains: UART, SPI, and main (100 MHz)
- Fixed hold violations
Known major issues:
- Potential SPI bug
- Bad trigger: the trigger simply runs an FFT and checks for a frequency spike at 30 kHz (frequency is configurable). Setting the "threshold" for this trigger requires a lot of trial and error in an actual pool test. Additionally, the cross correlation requires the beginning of the ping to function, so an actual edge trigger is needed.
- Cross correlation problems: As mentioned above, the CC requires the beginning of the ping to function. For this and other reasons, we're switching to a Bartlett beamformer in future versions.
- Timeout: The 10ms timeout to avoid retriggering on the same ping does not work in a bucket test. This may be due to reflections. We haven't successfully triggered in a pool.
Documentation of this version will be available here.