Создание собственной системы стабилизации
Создайте пожалуйста кто-нибудь отдельную тему по данному девайсу, а то эта тема здоровая и не для этого…
а есть, правда в другом форуме,
для этого нужна редактируемая шапка
forum.apmcopter.ru/forums/f4by/
попробую, может в таком расположении будет нормально
Смело можно ставить… проверял даже на ЛУТ плате с сомнительной топологией - всё работает.
Искурив весь даташит на F407, всёж заставил его работать как аппаратный OSD (использование ядра - 0%), таким образом имеем контроллер полёта+OSD в одном флаконе, цена вопроса: 38 килобайт ОЗУ (640х480 монохром), LM1881 и 74HC08…
Кому интересны подробности, поделюсь…
мавлинк - осд интересно (без функций автопилота)
но чтоб работало железно не только когда есть внешняя синхра но и в случае если сигнал от камеры пропал
как аппаратный OSD (использование ядра - 0%),
ну там не совсем 0% наверно? Запуск нового кадра и строки ведь программно?
но чтоб работало железно не только когда есть внешняя синхра но и в случае если сигнал от камеры пропал
Это возможно, не знаю как у Олега сделано, можно сделать автономное формирование синхроимпульсов с ног таймеров проца, сами таймеры обвязать петлёй ФАПЧ с задачей от ЛМ1881.
Вот только ног у проца на полетнёг уже не хватит, на ОСД нужен отдельный.
ну там не совсем 0% наверно?
Именно - 0… (из за этого и возился, почти месяц).
Вот только ног у проца на полетнёг уже не хватит
И ног хватило: весь полётник (6 каналов) + DAC говорилка + MICRO/SD + ADC(2 канала)… всё пашет.
Именно - 0… (из за этого и возился, почти месяц).
0 - это на вывод картинки. а сколько уходи на генерацию картинки?
а сколько уходи на генерацию картинки?
А какая теперь разница (?)…, пиши в память что угодно и когда угодно, главное что реалтайм свободен (никакие прерывания друг об друга не спотыкаются) и артефактов на картинке никаких… и никакие мавлинки с проводами не нужны…
Чёт мне не верится… допустим даже не надо перерисовывать всю картинку а только вносить изменения - их нужно взять и перенести - когда - ну допустим когда проц “курит” между циклами, это опять же при условии, что петля не слишком “страшная” типа вий марг… если что-то посерьёзней - будет не есть гуд, далее заряжаем ПДП SPI, а там х.з. во, вернёмся к нашим баранам - в пресловутом Pixhawk с его 428-м процем при использовании ИНС на EKF (50Гц) и полного логирования - петля впритык 400Гц и есть предупреждения, что цикл не стабилен! (можно любой лог с пикса взять) И вы утверждаете что загрузка ОСД = 0% времени ядра? сомневаюсь…
стоп а ПДП из памяти в память можно?
загрузка ОСД = 0% времени ядра?
Сам процесс отрисовки у большинства OSD требует прерывания с наивысшим приоритетом (15625 Гц) как раз для “перезарядки” DMA SPI, которое несмотря на навороченный NVIC, происходит с с разной задержкой в зависимости от того - чего оно прерывает… таким образом про другие реалтайм прерывания можно забыть…
А у меня теперь проц даже не знает, что три его таймера сами выводят картинку на экран, моё дело теперь - только в видеобуфер кидать точки… типа “видеокарты stm” получилось…
DMA на OSD все равно немного мешает остальному т.к. держит шину данных
DMA на OSD все равно немного мешает остальному т.к. держит шину данных
поэтому существует специальный тип памяти для видеокарт двуканальный память одна а шин две
через один канал проц кладет картинку
через второй счетчик пикселей выгружает на выход
Кому интересны подробности, поделюсь…
Конечно интересны, делись! Я так понимаю, теперь весь вопрос в создании ПО, с этим может чем поможем!
поэтому существует специальный тип памяти для видеокарт двуканальный память одна а шин две
через один канал проц кладет картинку
через второй счетчик пикселей выгружает на выход
Ну в F4 помойму не такая SRAM и еще + busmatrix
Это схема, если нужно, скину файлик с инициализацией таймеров и функциями вывода графики/текста…
да. без программной части замысел не ясен, в частности как спи загружает очередной байт данных в буффер
ПДП (DMA) - это за гранью понимания.
да. без программной части замысел не ясен
Если коротко, - то таймерами из смеси синхроимпульсов выделяются только строчные, причем осуществляется их сдвиг в видимую область экрана, SPI в <slave> режиме тактируется от таймера 9, DMA ессно в <Circular> режиме…
Кстати, если не заморачиваться с объединением полетника и OSD и делать OSD отдельно, то можно второй SPI параллельно подрубить и запросто сделать двухцветный OSD (ч/б)… (в принципе можно и третий SPI использовать 😃)
Кстати, если не заморачиваться с объединением полетника и OSD и делать OSD отдельно, то можно второй SPI параллельно подрубить и запросто сделать двухцветный OSD (ч/б)…
Это блаж, вот формирование теней на это нада.
Аналогичную схему реализовал АлексСнег, подробностей уже не помню, но вроде без внешних элементов и с одним прерыванием.
если отдельно ОСД, то можно и от lm1881 отказаться)))
Это блаж, вот формирование теней на это нада.
Так и обводи белый символ чёрным контуром…
без внешних элементов и с одним прерыванием.
цена избавления от этого прерывания - дополнительный корпус, а уж насколько это кому нужно - другой вопрос.