7
mirror of https://github.com/EEVengers/ThunderScope.git synced 2025-03-29 12:06:55 +00:00

Update README.md

This commit is contained in:
Aleksa Bjelogrlic 2024-12-16 15:12:25 -05:00 committed by GitHub
parent c33cc31ea9
commit 30220313fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -7,7 +7,7 @@ We are now at #thunderscope:matrix.org on matrix or #thunderscope:libera.chat on
Some older long-form documentation is on the [Hackaday.io project page](https://hackaday.io/project/180090-thunderscope)
Get the hardware through our [crowdsupply page](https://www.crowdsupply.com/eevengers/thunderscope) when we launch:
Get the hardware through our [crowdsupply page](https://www.crowdsupply.com/eevengers/thunderscope)
Catch up with these videos on the project:
@ -21,50 +21,28 @@ Catch up with these videos on the project:
## Quick Start Guide
### XDMA
### LiteX
These are instructions for the XDMA gateware, which is currently the most stable gateware and driver.
1. Install the XDMA driver for [Linux](https://github.com/EEVengers/ThunderScope/tree/master/Software/xdma_driver_linux) or [Windows](https://github.com/EEVengers/ThunderScope/tree/master/Software/xdma_driver_win_src_2018_2)
- On Windows, first run `Bcdedit.exe -set TESTSIGNING ON` in administrator powershell and restart your computer
- Then use the [MSI installer](https://github.com/EEVengers/ThunderScope/blob/master/Software/xdma_driver_win_src_2018_2/Installers/Win10_x64_Release/XDMADriverInstaller.msi), when asked if you want to use polling, click no
- On Linux, run `sudo make install` in the [xdma](https://github.com/EEVengers/ThunderScope/tree/master/Software/xdma_driver_linux/xdma) directory
- Run `make` in the [tools](https://github.com/EEVengers/ThunderScope/tree/master/Software/xdma_driver_linux/tools) directory
- Create a udev rule so you don't have to run everything acessing the hardware as root:
- create `/etc/udev/rules.d/70-thunderscope.rules` file with the line `ACTION=="add", SUBSYSTEM=="xdma", TAG+="uaccess"`
- With a TS connected, run `sudo ./load_driver.sh` in the [tests](https://github.com/EEVengers/ThunderScope/tree/master/Software/xdma_driver_linux/tests) directory
- Output should be `The Kernel module installed correctly and the xmda devices were recognized.`
2. Build TS.NET.Engine using the [build scripts](https://github.com/macaba/TS.NET/tree/main/build-scripts)
1. Follow the instructions in the [LiteX Build and Setup Guide](Docs/LiteX.md) guide to build the gateware and software for running LiteX firmware on the Thunderscope.
2. Build TS.NET.Engine using the [build scripts](https://github.com/EEVengers/TS.NET/tree/main/build-scripts)
- Dependences for build scripts on Debian/Ubuntu Linux: `sudo apt-get install -y dotnet-sdk-8.0 libgdiplus`
- On Windows, should just need Visual Studio with the C# plugins
- Copy [appsettings.json](https://github.com/macaba/TS.NET/blob/main/source/TS.NET.Engine/appsettings.json) and [thunderscope.yaml](https://github.com/macaba/TS.NET/blob/main/source/TS.NET.Engine/thunderscope.yaml) into the same directory as the TS.NET.Engine application
- Copy [appsettings.json](https://github.com/EEVengers/TS.NET/blob/main/source/TS.NET.Engine/appsettings.json) and [thunderscope.yaml]
3. Install ngscopeclient, following the instructions in their [user manual](https://www.ngscopeclient.org/manual/GettingStarted.html)
4. Run TS.NET.Engine and ngscopeclient
5. Add ThunderScope in ngscopeclient under Add -> Oscilloscope with "thunderscope" Driver, "Twinlan" Transport and "Localhost:5025:5026" for the Path
### LiteX
### XDMA [DEPRECATED]
Follow the instructions in the LiteX guide to build the gateware and software for running LiteX firmware on the Thunderscope.
[LiteX Build and Setup Guide](Docs/LiteX.md)
These instructions have moved to the [ts_xdma_archive repo](https://github.com/EEVengers/ts_xdma_archive)
## Troubleshooting
If you are getting under ~1000MB/s throughput on Linux, try turning off VT-d (Intel) or IOMMU/AMD-Vi (AMD) in BIOS or using "intel_iommu=off" in GRUB (Intel)
## Beta 2 Front End Rework
Remove the covers on the front end shielding cans, repeat the steps below for each channel.
![Screenshot of 3D View of Beta 2 Front End, C30 Labeled With "1", C26 Labeled With "2"](https://github.com/EEVengers/ThunderScope/blob/master/Docs/Beta%202%20Front%20End%20Rework.PNG)
1. Replace "1" with a 220pF 50V COG 0402 Capacitor (GCM1555C1H221FA16D), this will flatten the crossover response and eliminate peaking for square waves under ~100kHz.
- [Check out this video for an explaination](https://youtu.be/EY9enxyHi5o)
2. Replace "2" with a 1.2nF 100V C0G 0603 Capacitor (GCM1885C2A122FA16D), this will increase the frequency for which the maximum 100Vpp input voltage rating applies.
- [Check out this video for an explaination](https://youtu.be/33C-LlOQOUs)
3. Replace "3" with a 50Ω 0402 Resistor, this will eliminate peaking past 300 MHz in the frequency response
- [Check out this video for an explaination](https://youtu.be/Orcwj9rat1I)
## Beta 2 Errata and Fixes
Follow the [rework instructions](Docs/Beta%202%20Errata.md) to bring your Beta 2 to production level frequency response and noise performance
## Baseboard Hardware
@ -84,22 +62,10 @@ Remove the covers on the front end shielding cans, repeat the steps below for ea
| Rev.1 | DEPRECATED | Hardware/Altium/FPGA_Module |
| Rev.2 | ACTIVE | Hardware/Altium/FPGA_Module_Rev2 or Hardware/KiCad/FPGA_Module_Rev2|
## Firmware
## Beta Unit FPGA Module Type by Serial Number
We have two types of firmware, LiteX and XDMA. We are in the process of updating the LiteX firmware to work on the latest hardware, and we will use it moving forward. Until then, use the XDMA firmware if you are not working on LiteX.
TODO: Table of Beta Unit serial numbers with module types and firmware locations
| Serial Numbers | Module Type | XDMA Firmware Location |
| ------ | ---------- | ------------------------------ |
| TS0004, TS0006, TS0015 | TE0712 100T | Firmware/XDMA/output/xdma_prj_100t_full.mcs |
| TS0007, TS0008, TS0011-TS0014 | TE0712 200T | Firmware/XDMA/output/xdma_prj_200t_full.mcs |
| TS0009, TS0010, TS0016-TS0018 | Custom Rev.2 | Firmware/XDMA/output/xdma_prj_50t_full.mcs |
Follow the instructions in the Software/xdma_driver_linux or Software/xdma_driver_win_src_2018_2 folders to install the XDMA linux or windows driver before proceeding with installing the rest of the software.
For LiteX developers, the Linux driver is stable. [Windows](https://github.com/NateMeyer/litepcie_driver_win) and [Mac](https://github.com/tech2077/litepcie-macos-driver) drivers are in development.
## Software
Our primary software is [TS.NET](https://github.com/macaba/TS.NET), which takes in data from the hardware, triggers on it, and sends the triggered data over to [ngscopeclient](https://www.ngscopeclient.org/)
| Serial Numbers | Module Type |
| ------ | ---------- |
| TS0004, TS0006, TS0015 | TE0712 100T |
| TS0007, TS0008, TS0011-TS0014 | TE0712 200T |
| TS0009, TS0010, TS0016-TS0018 | Custom Rev.2 |