diff --git a/README.md b/README.md index da35746..21066f8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ # reflectometer_fpga_project -Проект по разработке аппаратной вычислительной части для отпического рефлектометра для обнаружения утечек. +Проект по разработке аппаратной вычислительной части для оптического рефлектометра для обнаружения утечек. + +## Структура +- constaints: констрейны под ПЛИСы +- designs: разные сборные дизайны, включая полный проект +- rtl: код блоков, в каждой папке есть src и tests +- scripts: скрипты для сборки +- software: программные скрипты \ No newline at end of file diff --git a/designs/README.md b/designs/README.md index cf2195e..afbb0d9 100644 --- a/designs/README.md +++ b/designs/README.md @@ -1,5 +1,5 @@ # Директория с тестовыми проектами под ПЛИСу -- eth_ctrl_debug: проект с ethernet и контроллером. Позволяет через ILA проверить, что пакет правильно принимается и что значения правильно выставляются. - -- eth_generator: проект на базе eth_ctrl_debug, в который включен генератор импульсов. В паре с ЦАП можно через консольку по Ethernet запускать генерацию разных импульсов. \ No newline at end of file +- adc_dac_synchronizer: проект для тестирования и отладки связки сэмплер + контроллер + генератор, проверки синхронизации между импульсами. +- reflectometer_base: базовый проект рефлектометра без внешних интерфейсов, только I/O через AXI Stream. +- reflectometer_prototype: тестовый проект под AX7102 с управлением и отправкой данных по ethernet. \ No newline at end of file diff --git a/designs/reflectometer_prototype/README.md b/designs/reflectometer_prototype/README.md index 4f163be..b28d0a0 100644 --- a/designs/reflectometer_prototype/README.md +++ b/designs/reflectometer_prototype/README.md @@ -1,11 +1,13 @@ -# Тестовый проект Generator + ETH + CTRL -Проект состоит из AXIS Ethernet, контроллера и генератора. Позволяет генерировать сигналы, задав параметры через Ethernet. +# Тестовый проект рефлектометра +Проект состоит из AXIS Ethernet и основной части рефлектометра - генератора, сэмплера, контроллера и синхронизирующей логики. Разработан для AX7102, АЦП AN9238, ЦАП AD9767. Плата подключается по ethernet к компьютеру, IP должен быть 192.168.0.3 у компьютера, в ПЛИС установлен IP 192.168.0.2, после подключения должен пройти ARP и после этого можно начнить коммуникацию через консольку. ## Сборка ```make all``` - собрать все до битстрима ```make vivado``` - открыть проект в Vivado ## Управление -Используйте software/console.py. Пример: +Используйте software/console.py. Примеры: -```python3 console.py --pulse_width 3_500_000 --pulse_period 20_000_000 --pulse_height 10000 --pulse_num 5500 --dac-bits 14``` \ No newline at end of file +```python3 console.py --pulse_width 3500 --pulse_period 20000 --pulse_height 15000 --pulse_num 550 --dac-bits 14``` + +```python3 console.py --pulse_width 15000 --pulse_period 20000 --pulse_height 1500 --pulse_num 550 --dac-bits 14``` \ No newline at end of file diff --git a/software/README.md b/software/README.md new file mode 100644 index 0000000..2075fb8 --- /dev/null +++ b/software/README.md @@ -0,0 +1,20 @@ +# Software + +Просто скрипт на питоне, для отправки команд через ethernet и для приема и простой визуализации данных. + +## Использование +Справка: + +```python3 --help``` + +Положительный импульс: + +```python3 console.py --pulse_width 3500 --pulse_period 20000 --pulse_height 15000 --pulse_num 550 --dac-bits 14``` + +Отрицательный импульс: + +```python3 console.py --pulse_width 15000 --pulse_period 20000 --pulse_height 1500 --pulse_num 550 --dac-bits 14``` + +## Ограничения +Максимальный pulse_period считается как аппаратный N_MAX * WINDOW_SIZE * adc_dac_ratio, в базовой конфигурации это 512000. Максимальный pulse_num зависит от подаваемых значений и от битности аккумулятора (по умолчанию - 32), с учетом усреднений по WINDOW_SIZE это получается что-то около 2^14 накоплений. +