Files
RadioPhotonic-generator-docs/ADC_software-hardware.md
2025-09-18 17:11:38 +03:00

79 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## problems
[[баг с размещением большого буфера не в тот регион памяти]]
## hardware
подключение
(OUT_10) -- ADC_clock -> DI_SYN1
Фазы обеих клоков будем обнулять в начале цикла ЛЧМ.
#### BP9 (OUT_11) -- Modulation -> Mach-Zander
TIM11_CH1
Тактирование от APB2 (184 MHz). Желаемая частота -- 1 МГц. => Prescaler =1, ARR = 91, OCR1=22
Подключим его через драйвер к модулятору Маха-Цандера.
#### BP8 (OUT_10) -- ADC_clock -> DI_SYN1
TIM4_CH3
Тактирование от APB1 (92 MHz). Желаемая частота -- 2 МГц. => Prescaler = 0, ARR = 45, OCR3=22
Подключим его к DI_SYN1.
#### PD7 (TASK_TRG) -- trigger -> DI_SYN2
![[Pasted image 20250711184438.png]]
![[Pasted image 20250711184407.png]]
## software
1. После перенастройки модуля надо сбрасывать приемный буфер на ПК. Сейчас сброс через полное вычитывание данных вникуда.
Логическая таблица задает порядок опроса и параметры опрашиваемых физических каналов. Данные с физических каналов затем поступают по SPORT0 в порядке опроса.
Алгоритм работы:
1. Приняли команду о начале работы (напр. усреднение) с ПК. Настроили state machine.
2. Обработка данных
3. Отправка данных hdma_send_req_start(). Поднимается флаг **"данные отправляются, передающий буффер занят"**
4. При окончании отправки вызывается обработчик hdma_send_done(), в котором сбрасываем флаг **"данные отправляются, передающий буффер занят"**
Вернул ПО blackfin в оригинальное состояние (git checkout). Bf не возвращает данные. При попытке запуска через x502studio -- возникает ошибка с каналами:
![[Pasted image 20250916221016.png]]
Причем если подключить ноут к сети, то вылетает быстрее.
Однажды перед вылетом была получена такая картина:
![[Pasted image 20250916220932.png]]
Подключение -- syn1 (тактирование АПЦ), syn2 (запуск), X1 -- сигнал (треугольник). Видно, что в процессе поменялись местами каналы 1 и 2. WTF?
Настройки:
![[Pasted image 20250916221400.png]]
Проблема воспроизводима: ![[Pasted image 20250916221611.png]]
![[Pasted image 20250916221856.png]]
Воспроизведение:
| ошибка | sync freq mode | sync start mode | пр. условия | |
| ------ | -------------------------- | --------------- | -------------------------------------------------------------------------- | ---------------------------------------------- |
| да | syn1 rise | syn2 rise | | |
| да | syn1 rise | internal | | |
| нет | internal | internal | | |
| нет | int | syn1 rise | | |
| нет | syn2 rise (низкая частота) | int | | |
| да | syn2 rise (ВЧ) (F>0.5 MHz) | int | | F=730 kHz ![[Pasted image 20250917153156.png]] |
| да | syn2 rise (ВЧ) (F=730 kHz) | int | вход канала 2 -- заземлен (внутренне):![[Pasted image 20250917161724.png]] | ![[Pasted image 20250917161645.png]] |
Эксперимент:
1. 1 канал подключен к генератору с треугольным сигналом
2. 2,3,4,5 каналы -- заземлены (внешне проводами к GND32)
результат:
3. sync start mode -- internal
| | sync freq mode | результат | |
| ------------------------------------------------ | -------------- | ------------------------------------------------------------------ | ---------------------------------------------------- |
| | INTernal | всё ОК | |
| | SYN1_RISE | каналы 1-5 путаются. Ранее аналогично путались и все другие каналы | ![[Pasted image 20250917193217.png]]![[newplot.png]] |
| после промежутка времени (неизвестное событие?): | то же | каналы перестали путаться. Большие помехи | ![[Pasted image 20250917193401.png]] |
| | INTernal | всё ОК | ![[newplot(1).png]] |
| | SYN2_RISE | ОК | ![[Pasted image 20250917193951.png]] |
| | SYN1_RISE | | ![[Pasted image 20250917194104.png]] |
| | SYN1_FALL | | ![[Pasted image 20250917194134.png]] |