This commit is contained in:
2025-09-18 17:11:38 +03:00
commit b0c9a05db7
127 changed files with 268753 additions and 0 deletions

78
ADC_software-hardware.md Normal file
View File

@ -0,0 +1,78 @@
## 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]] |