## 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]] |