Перейти к содержанию
    

repstosw

Участник
  • Постов

    2 582
  • Зарегистрирован

  • Победитель дней

    2

Весь контент repstosw


  1. Сделал два противофазных сигнала с каналов Left/Right. Работает. Посторонних звуков теперь нет. Даже при работающем источнике тока для подсветки. Вывод А1 микросхемы - резистор отлепил от GND и подключил ко второму каналу.
  2. Так и сделано: Но в случае с этой платой CPU, шум не убирается. Остаётся попробовать сделать противофазные сигналы программно: стерео, один из каналов - инверсия второго.
  3. Не знаю. Мне достаточно было Linux-исходников. Вот ещё что подумалось: если высота кадра всего 1080, то повернутый прямоугольник 1920x1080 не влезет полность в экран, срежется снизу. Скорее всего G2D не умеет отсечение. Поэтому область задавать надо 1920x1920.
  4. С ходу так не определить... Для своих случаев я рисовал картинку на бумаге и арифметически рассчитывал. В первом приближении - представить исходный прямоугольник с начальными координатами левого верхнего угла, затем его повернуть. И рассчитать новое положение этого угла - в координатах дисплея (дисплейного буфера) Он повёрнут. Просто камера одного из собеседников(слева) не была повёрнута на 90 градусов. Очевидно, что да. Эксперименты покажут. Для начала я бы всё-таки попытался вывести не 1920x1080, а в 10 раз меньше 192x108 в центр экрана. Тогда никаких вылетов за пределы видеопамяти не будет. Затем нашёл бы формулу нахождения координат при нужном угле. А потом -вернулся к 1920x1080
  5. Имеется два выхода - левый и правый каналы. К сожалению, они не могут работать в противофазе, как это мог делать чип-предшественник(V3s). Поэтому вопрос остается открытым - как сделать дифференциальный выход из однополярного? Пробовал полевой транзистор с двумя резисторами - в цепи стока и истока, и с резисторов снимал два сигнала. Но выигрыша в помехозащищённости это не дало, так как всё крутится вокруг грязной земли. Ситуацию ухудшает источник тока для подсветки (на фотах не показан) - мощный светодиод с током 300 мА, который диммируется ШИМ: если заполнение импульса не равно 0 или 100%, то я слышу также гудение этого преобразователя (источник тока на базе микросхемы DC/DC).
  6. А вот и нифига... Взял внешний УНЧ класса D, запитал его напрямую от аккумулятора. Также запитал плату MangoPi напрямую. Плюс и минус питания: разветвляются на УНЧ и на CPU-плату. В наушниках отчётливо слышу чирикание при загрузке программы с SD-карты. Фото ниже: Потом попробовал перекинуть GND УНЧ на другие пины на плате CPU. Нашёл положение с "чистой" землёй. При таком положении чирикание SD-карты в наушниках пропало. Земля очень уязвима - вход УНЧ относительно высокоомный. Плюс на питание УНЧ поставил ФНЧ из резистора 47 Ом и конденсатора 470 мкФ (керамика также присутствует) - для того, чтобы убрать одиночные потрескивания иногда. Фото ниже: Ну, и.... Какие выводы напрашиваются?
  7. Но это не означает, что его нельзя написать самому, переложив на SIMD. В TMS320C6745 самостоятельно делал поворот видеобуфера на 90 градусов (потому что дисплей был с портретной ориентацией развёртки, нужна была отрисовка соосная с ходом луча для VSYNC) : void Rot_Buffer(void) { for(int y=0;y<(SCREEN_HEIGHT<<1);y+=8) { u64 * __restrict vc=(u64*)(VIDEO_CACHE+y); u64 * __restrict vb0=(u64*)&VRAMBuffer[((SCREEN_WIDTH-4)<<1)+(SCREEN_WIDTH*y)]; u64 * __restrict vb1=vb0+(SCREEN_WIDTH>>2); u64 * __restrict vb2=vb1+(SCREEN_WIDTH>>2); u64 * __restrict vb3=vb2+(SCREEN_WIDTH>>2); for(int x=0;x<(SCREEN_WIDTH>>2);x++) { _amem8(&vc[(3*(SCREEN_HEIGHT>>2))+(SCREEN_HEIGHT*x)])=((u64)((u16) _amem8(&vb0[-x]) ))|((u64)((u16) _amem8(&vb1[-x]) )<<16)|((u64)((u16) _amem8(&vb2[-x]) )<<32)|((u64)((u16) _amem8(&vb3[-x]) )<<48); _amem8(&vc[(2*(SCREEN_HEIGHT>>2))+(SCREEN_HEIGHT*x)])=((u64)((u16)(_amem8(&vb0[-x])>>16)))|((u64)((u16)(_amem8(&vb1[-x])>>16))<<16)|((u64)((u16)(_amem8(&vb2[-x])>>16))<<32)|((u64)((u16)(_amem8(&vb3[-x])>>16))<<48); _amem8(&vc[(1*(SCREEN_HEIGHT>>2))+(SCREEN_HEIGHT*x)])=((u64)((u16)(_amem8(&vb0[-x])>>32)))|((u64)((u16)(_amem8(&vb1[-x])>>32))<<16)|((u64)((u16)(_amem8(&vb2[-x])>>32))<<32)|((u64)((u16)(_amem8(&vb3[-x])>>32))<<48); _amem8(&vc[(0*(SCREEN_HEIGHT>>2))+(SCREEN_HEIGHT*x)])=((u64)((u16)(_amem8(&vb0[-x])>>48)))|((u64)((u16)(_amem8(&vb1[-x])>>48))<<16)|((u64)((u16)(_amem8(&vb2[-x])>>48))<<32)|((u64)((u16)(_amem8(&vb3[-x])>>48))<<48); } } } Так вот, оно очень хорошо запараллелилось. Проблема в некорректном указании координат вывода финального изображения. Там будет не (0,0). А с учётом поворота. Прямоугольные тоже поворачивает. Рисую на экран 320x240 пару фреймов 160x240 повёрнутые на 270 градусов. Координаты вывода такие: #define BUFFER_WIDTH 320 #define BUFFER_HEIGHT 240 #define WINDOW0_WIDTH 240 #define WINDOW0_HEIGHT 160 #define WINDOW1_WIDTH WINDOW0_WIDTH #define WINDOW1_HEIGHT WINDOW0_HEIGHT #define WINDOW0_X (((3*BUFFER_WIDTH)/4)-(WINDOW0_HEIGHT/2)) #define WINDOW0_Y ((BUFFER_HEIGHT-WINDOW0_WIDTH)/2) #define WINDOW1_X ((BUFFER_WIDTH/4)-(WINDOW1_HEIGHT/2)) #define WINDOW1_Y ((BUFFER_HEIGHT-WINDOW1_WIDTH)/2) //... G2D_Rot.dst_x=WINDOW0_X; //координаты вывода левого фрейма G2D_Rot.dst_y=WINDOW0_Y; G2D_Rot.dst_x=WINDOW1_X; //координаты вывода правого фрейма G2D_Rot.dst_y=WINDOW1_Y;
  8. Не будет питающих проводов. Будет 4-слойная печатная плата с внутренними сплошными плейнами земли и питания. Но на модуле платы с процессором - источник звука с землёй, которая соединяется с цифровой не совсем правильно. Потому что китайцы.
  9. Мой опыт показал, что он вообще не подавляет пульсации. Поэтому я опасаюсь, что если его запитать от аккумулятора напрямую, то я услышу писк и треск от ШИМ'ов преобразователей - в аудиотракте УНЧ - в наушниках/в динамике, питающихся с этого аккумулятора и питающих другие узлы: 1) ядро процессора 0,95 V 2) DDR память 1,5 V 3) Порты ввода-вывода 3,3 V 4) Подсветка дисплея 12 V (источник тока 20 мА) 5) Подсветка камеры в темное время суток - 6V (источник тока 300 мА ) 6) Трансивер 435 МГц - 5..6 V ( ток при передачи 500 мА) Тоесть: основная цель - не допустить появления помех в аудио-тракте УНЧ , от работы ШИМ конвертеров и цифровых узлов
  10. У меня один потребитель требует 5...6 В. Как правильно сделать: 1) запитать все потребители от выхода повышающего преобразователя 5V, в том числе и плату с t113-s3 у которой вышеупомянутый EA3036C ? 2) запитать от 5V только потребитель, требующий питания 5V, а остальное от литий-ионки ? Плюс есть УНЧ PAM8301 - как правильно сделать его питание? Чтобы в отстутствии сигналов не было треска. LDO поставить? На какое напряжение? И откуда брать первичное питание - с повышающего DC/DC или с литий-ионки?
  11. Насколько правильно получить выходное напряжение 3.3V из одной литий-ионки (4,2...3,7V), используя понижающий DC/DC конвертер типа EA3036C ? Даташит на микросхему DC/DC: https://datasheet.lcsc.com/lcsc/2005300208_Everanalog-IC-design-EA3036CQBR_C570857.pdf Запитал плату MangoPi с T113-s3 от литий-ионки: напряжение 3.3V присутствует. Ток потребления - до 0.3A. Насколько корректно? Два аккумулятора последовательно ставить - не хочу.
  12. В таком случае, использую инвалидацию кеша, когда процессор использует данные от декодера. И сброс с кеша, когда процессор готовит данные для энкодера. Длина и ширина источника. Да. Константа с нужным порядком следования компонент RGB. Да. Для RGB нужен только с индексом [0]. остальные не нужны. Это координаты левого верхнего угла вывода изображения в финальном видеобуфере.
  13. Интересно, как VNA может помочь ответить на вопрос 1):
  14. 1) Поворот и масштабирование не могут одновременно выполняться 2) Поворот и конверсия цветов не могут одновременно выполянться 3) Инвалидация кеша вызывается другой функцией 4) Если процессор не участвует в обработке данных, то инвалидация(invalidate) и сброс с кеша(flush/clean) не нужны (цепочка: Декодер => G2D) . Ниже - рабочий поворот на 270 градусов: void G2D_Run(struct pipeline_dev *pd) { g2d_blt G2D_Rot; G2D_Rot.flag=G2D_BLT_ROTATE270; G2D_Rot.src_image.w=pd->rm->first_dimension; G2D_Rot.src_image.h=pd->rm->second_dimension; G2D_Rot.src_rect.w=pd->rm->first_dimension; G2D_Rot.src_rect.h=pd->rm->second_dimension; G2D_Rot.src_image.format=G2D_FMT_PYUV420UVC; G2D_Rot.src_image.pixel_seq=G2D_SEQ_NORMAL; G2D_Rot.src_image.addr[0]=(u32)((u8*)pd->rm->address+(((pd->rm->first_dimension*pd->rm->second_dimension)/2)*(((pd->swap^1)*3)+0))); //Y G2D_Rot.src_image.addr[1]=(u32)((u8*)pd->rm->address+(((pd->rm->first_dimension*pd->rm->second_dimension)/2)*(((pd->swap^1)*3)+2))); //UV G2D_Rot.src_rect.x=0; G2D_Rot.src_rect.y=0; G2D_Rot.dst_image.addr[0]=(u32)((u8*)pd->wm->address+(((pd->wm->first_dimension*pd->wm->second_dimension)/2)*((pd->swap*3)+0))); //Y G2D_Rot.dst_image.addr[1]=(u32)((u8*)pd->wm->address+(((pd->wm->first_dimension*pd->wm->second_dimension)/2)*((pd->swap*3)+2))); //UV G2D_Rot.dst_image.w=pd->wm->first_dimension; G2D_Rot.dst_image.h=pd->wm->second_dimension; G2D_Rot.dst_image.format=G2D_FMT_PYUV420UVC; G2D_Rot.dst_image.pixel_seq=G2D_SEQ_NORMAL; G2D_Rot.dst_x=WINDOW0_X; G2D_Rot.dst_y=WINDOW0_Y; G2D_Rot.color=0x000000; G2D_Rot.alpha=0xFF; g2d_blit(&G2D_Rot); //... }
  15. Модуль RF4463F30, основнанный на RFIC Si4463 подвергся изменениям (в версии 3.0) - появились pin-диоды вместо SPDT-ключа: Ранее был ключ (версия 1.0 или 2.0): Вопросы: 1) Какое из переключений лучшее в плане помехозащищённости (для приёмника) ? 2) Какое из переключений лучшее в минимизации потерьмощности передачи ? 3) Сравнить надёжность обоих способов - через Pin-диоды и через SPDT-ключ: каковы достоинства, недостатки? Частоты: 430 ... 440 МГц. Мощность 1 Вт. Манипуляция: 2/4 (G)FSK. Битрейт 1 Мбит/c.
  16. Вопрос закрыт. Напряжение практически не падает при токе потребления ~ 1 A.
  17. Решение найдено: светодиоды подсветки от TV с рассеивающей линзой. На фото - светодиод мощностью 2 Вт, свет белый, через рассеивающую линзу. Смотреть вообще не больно. И света много!
  18. Здесь пробегало решение на белых светодиодах. Как раз есть шилд от этой камеры с двумя сверх-яркими светодиодами белой подсветки: Но смотреть на это - неприятно, особенно в темноте. Есть ли светодиоды белые с рассеивателями? Или рассеиватель только сделать можно внешним? Не ухудшит ли рассеиватель параметры освещения лица перед камерой? Изначально я не ставил таких требований к устройству: ночная съёмка. Это появилось уже после, как купил модуль камеры. Склонен впадать в бесконечный перфекционизм.
  19. Вопрос всем тем, кто постит инфу о демонтаже ИК-фильтра: где вы тут видите ИК фильтр? Камера эта в нуль-посте приведена. От какого монитора? Речь не о ПК и не о вёбке. Речь о портативном видео-чате размером с ладонь. Фотка макета устройства на предыдущей странице форума. Нужно, чтобы камера снимала лицо собеседника в среде без внешних источников света в абсолютной темноте. Если это не получится без нанесения ущерба для здоровья, значит я отменю идею съёмки в темноте, буду довольствоваться работой устройства при внешнем освещении. P.S. У меня одного такое впечатление, что большинство ответов похожи на ответы от ботов? Ибо настолько поверхностное ознакомление с темой, что можно отсеять сразу 90% .
  20. Есть такая камера с красным объективом: OV2640. В случае камеры, которая в нуль-посте (OV5640AF) - красное стекло отсутствует. Стекло бело-серого цвета
  21. Честно говоря, не знаю. Камера OV5640AF - с автофокусом. Линза бегает туда-сюда, слышно как щёлкает. Этот ИК фильтр - визуально как должен выглядеть? Или он программный? Как я писал выше, чудес в ночном видении от 3-мм светодиода 940 нм при токе 20 мА не произошло. Камера видит только точку - светящийся кристал диода. Окружающие предметы как были в темноте - так и остаются Это всё очень страшно написано. И я не могу соотнести свои вводные данные к этому описанию. Многое непонятно. В частности, непонятно, какая доля мощности попадёт на роговицу глаза и дальше. И насколько это опасно. И если визуально это будет тусклый рубиновый цвет, по ощущениям никакого дискомфорта не будет если на него смотреть - то значит ли это то, что смотреть безопасно? Или есть невидимые для глаза составляющие от ИК светодиода, которые никак не ощущаются, но очень опасны для зрения?
  22. Нет никаких ощутимых искажений: Могу один светодиод поставить 3-х ваттный. Так даже проще будет. Вместо двух. Я пробовал поставить обычный ИК светодиод на 940 нм диаметром 3 мм, с током 20 мА всего. Не помогает. Всё темно. Но камера видит, что светодиод горит - в виде крохотной точки всего... Надеюсь, 3 Вт будет достаточно для освещения лица. И главное роговицу и сетчатку не повредить! Слишком всё в общих чертах. И не указаны мощности. Конкретно в моём случае - светодиод 3 Вт с 850 нанометрами, с углом 120 градусов, на расстоянии не менее 20 см от лица/глаз - могут что-то плохое с глазами сделать или нет? Будет ли он вреден для глаз, если смотреть на него на расстоянии 20 см?
  23. Планирую использовать мощный светодиод для подсветки камеры, чтобы собеседник видел моё лицо, и чтобы я видел лицо собеседника - в темноте. Мощность 3 Вт, ток 0,7 А, длина волны 850 нм. Угол 120 градусов. Сам диод вот такой: Камера вот такая: Итак, вопросы: 1) Насколько опасно будет смотреть в камеру и на рядом расположенный с ней светодиод (планирую поставить 1 или 2 таких светодиода) ? Можно ли испортить зрение? 2) Второй вопрос: насколько будет эффективной такая ИК подсветка, из 1-2 светодиодов? Камера должна снимать лицо собеседника на максимальном расстоянии всего до 20 см. 3) Будет ли виден свет от таких светодиодов человеческому глазу? (850 нм, 3 Вт, 120 градусов).
  24. Для сосременных мощных камней - мэйнстрим - это Linux. Поэтому все SDK производителя будут крутиться вокруг Линукса. Xtensa - не исключение. Производитель предлагает использовать и писать программы под FREERTOS. На планете найдутся не так много извращенцев любителей писать код в BareMetal: я, вы, Геннадий и может ещё пара человек с форума. Всё. В своё время интересовался IMX6. Но к тому времени, они уже убрали с сайта фирменный SDK. Нашёл только любительский SDK, в котором было не всё.
×
×
  • Создать...