Лабораторная 11.18 — Runtime-развёртка со свежей сессией после повторной инициализации RX common¶
Цель¶
Проверить, меняет ли результат rx_valid_count запуск каждой итерации overlay в совершенно свежей сессии SSH (вместо повторного использования постоянных соединений) и перебрать несколько сочетаний start_offset и значения rx_common_ctrl в этом режиме свежей сессии.
Lab 11.16 и 11.17 переиспользовали соединения paramiko SSH между итерациями. Возможно, остаточное состояние IIO или SSH от предыдущей итерации «отравляет» следующую. Эта работа контролирует это, открывая свежее соединение SSH (и свежий iio.Context) в начале каждой итерации.
Конструкция развёртки¶
Скрипт перебирает настраиваемую сетку:
- значения
start_offset(по умолчанию: 0, 31, 62, 93, 127); - значения
rx_common_ctrl(по умолчанию: 0x70000000, 0x70000001, 0x70000003).
Для каждой комбинации создаётся свежая сессия paramiko, перезагружается overlay, настраивается AD9361, записывается rx_common_ctrl, запускается пакет TX хоста и опрашиваются rx_valid_count / received_bits.
Каждая итерация заканчивается перезагрузкой платы обратно в стоковый shell перед следующей комбинацией, гарантируя чистое начальное состояние.
Файлы¶
| Путь | Назначение |
|---|---|
blocks/block_11_integrated_sdr_project/python/lab_11_18_runtime_rx_common_reinit_fresh_session_sweep.py |
сеточная развёртка со свежей сессией, результаты в JSON |
Запуск¶
python blocks/block_11_integrated_sdr_project/python/\
lab_11_18_runtime_rx_common_reinit_fresh_session_sweep.py \
--bit-bin tmp/bridge_rx_only.wordswap.bit.bin \
--start-offsets 0,31,62,93,127 \
--rx-common-ctrl-values 0x70000000,0x70000001,0x70000003 \
--json-out docs/assets/lab118_fresh_session_sweep_live.json
Полная развёртка 5×3 = 15 точек с перезагрузкой между итерациями занимает примерно 30–45 минут.
Ожидаемые результаты¶
| Файл | Содержимое |
|---|---|
docs/assets/lab118_fresh_session_sweep_live.json |
результаты счётчиков по комбинациям |
| Сводка в консоли | любая пара (start_offset, rx_common_ctrl) с rx_valid_count > 0 |
Как интерпретировать результат¶
| Исход | Интерпретация |
|---|---|
Какая-то комбинация даёт rx_valid_count > 0 |
состояние соединения было фактором; используйте выигрышную комбинацию |
Все комбинации дают rx_valid_count = 0 |
нехватка данных в железе или bitstream, а не в состоянии сессии хоста |
Живой результат 2026-06-23¶
Все проверенные комбинации дали rx_valid_count = 0. Изоляция свежей сессией не изменила исход по сравнению с Lab 11.16 и 11.17. Теперь данные сильно указывают, что первопричина: внутри bitstream bridge_rx_only или конфигурации интерфейса AD9361 → PL, а не в программном состоянии хоста и не в выборе параметров start_offset / rx_common_ctrl.
Следующий диагностический шаг перешёл к внешнему RF-наблюдению (Lab 11.20–11.23), чтобы проверить, излучает ли тракт TX хотя бы корректно, пока bring-up RX продолжается параллельно.
Чек-лист отчёта¶
- Указаны размеры сетки (значения start_offset × значения rx_common_ctrl).
- Приложен JSON-файл развёртки.
- Отмечена любая комбинация с
rx_valid_count > 0. - Подтверждено, что каждая итерация начиналась с перезагрузки в стоковый shell.
Шаблон инженерного вывода¶
Развёртка со свежей сессией по ____ комбинациям (start_offset, rx_common_ctrl) завершена.
Каждая итерация начиналась с перезагрузки в стоковый shell. rx_valid_count > 0 наблюдался
для комбинаций: ____ (либо «нет»). Изоляция свежей сессией изменила / не изменила исход, потому что ______.