

ksv198
Участник-
Content Count
195 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by ksv198
-
Доработка звуковой части квартирного видеодомофона Москва
ksv198 replied to RadikSattarov's topic in Предлагаю работу
Доброго вечера! Как и ожидалось, народная микросхема MС34118. Проблема в том, что если выход с нее (он же вход) попробовать оцифровать - ничего хорошего не получится, потому как человеческое ухо и АЦП весьма разные сущности. Если хотите цифровой звук, придётся делать всё по другому. Простой путь - одноплатник с Линуксом прямо в панель на входной двери и много секса с настройкой программного AEC. Сложный путь (но более подходящий для серийного производства, хотя и дорогой) использование специализированных решений. Посмотрите у Microsemi (ныне купленного Microchip) их решения для уличных камер. -
Доработка звуковой части квартирного видеодомофона Москва
ksv198 replied to RadikSattarov's topic in Предлагаю работу
Добрый день! Аналоговая часть домофона сделана на "народной" MC34118 ? Да и вообще о системе в целом немного подробнее опишите. Цифровая или аналоговая или гибрид того и другого? Задача тривиальна,если типовой аналоговый домофон - надо следовать указаниям в документации по настройке. Если что-то своё сделали - то сложнее. -
KSZ9897S доступ к MMD регистрам через SPI
ksv198 replied to ksv198's topic in Fast Ethernet/Gigabit Ethernet/FibreChannel
Добрый день! В аттаче файлы с функциями доступа к регистрам по SPI. У меня управляющий контроллер STM32F051, инициализация модуля SPI для него, при тактовой частоте 25 МГц. Удачи! KSZ9897_MMD.zip -
KSZ9897S доступ к MMD регистрам через SPI
ksv198 replied to ksv198's topic in Fast Ethernet/Gigabit Ethernet/FibreChannel
Добрый день! Прошу прощения, не сразу отвечаю, может быть неактуально уже? Для Indirect регистров написал свои подпрограмки, если нужно выложу. Там довольно не очевидные вещи, плохо (или совсем никак) описанные в даташите. -
Вот как раз у PHY обычно есть прерывания для события изменения состояния линка (например у KSZ8091 это регистр 0x1B). Заводите выход прерывания от PHY на ногу контроллера, ловите прерыание, шлёте семафор и отрабатываете callback функцию LwIP.
-
LWIP Socket API SOCK_RAW Не создаётся сокет.
ksv198 replied to IvanPletnev's topic in ARM, 32bit
Да, в файле lwipopts.h должно быть определено #define DEFAULT_RAW_RECVMBOX_SIZE 3 //need for RAW sockets (например) -
Да, вот отсюда, например: http://download.savannah.nongnu.org/releases/lwip/
-
Смотрите в: \lwip-х.х.х\contrib-х.х.х\apps\ping\ Там вполне рабочий пример пинговалки.
-
Чем диф усилитель микрофона лучше?
ksv198 replied to Mysteo's topic in Схемотехника
Почти, wm-60 - это его предшественник. Очень хорошее впечатление оставил (кроме цены). -
Чем диф усилитель микрофона лучше?
ksv198 replied to Mysteo's topic in Схемотехника
Попробую угадать - микрофоны нонейм китай по 3 рубля кучка? Другого и не ждите в таком случае. Вы упоминали SSM2167 - она немного улучшит ситуацию, но не кардинально. Кардинально поможет переход на цифровые микрофоны или на качественные аналоговые (например от Panasonic очень хорошие впечатления были по повторяемости). Порядок цен в районе 200 - 300 руб. за микрофон. -
LWIP Socket API блокировка задачи
ksv198 replied to IvanPletnev's topic in ARM, 32bit
Добрый день! Если использование TCP не обязательно, то на UDP неблокирующий приём сделать относительно легко. Физический дисконнект отслеживается через состояние PHY. Можно использовать прерывание (смотрите описание регистров Вашей микросхемы физического уровня). Ресурсы памяти быстро закончатся при таком подходе.- 8 replies
-
- socket api
- lwip
-
(and 1 more)
Tagged with:
-
Разработка электроники под заказ
ksv198 posted a topic in Ищу работу
Предлагаю услуги по разработке различных электронных устройств.Схемотехника, трассировка, написание микропрограмм. ИП, оформление всех документов, безнал. Некоторые примеры устройств, разработанных мной: Устройства Почта для связи: ksv198@rambler.ru -
Разработака платы по Raspberry Pi Compute Module 3
ksv198 replied to Astrix77's topic in Предлагаю работу
Написал в личку, посмотрите. Опыт подобных разработок есть. -
Вот, в приложении рабочая конфигурация для варианта STM32F767 и MT48LC32M16A2-75. Частота 216 МГц (кварц 25 МГц), память 108 МГц. Если для копирования массивов в/из SDRAM будет использована память DTCM, то MPU можно не трогать. Tmp.zip
-
Ошибаешься, тёзка :-) А если на линии будет цифра? Правда это совсем другая инфраструктура (существенно дороже, потому как ЛВС вместо двухпроводки).
-
Доброго дня! А Вы уверены, что эхо именно линейное, а не акустическое? Проверить легко - отключите микрофон, если эхо исчезло, то это акустическое, если нет - линейное. Если действительно линейное, то возможен вариант решения проблемы с использованием ML7037-003. Или кардинально - переход на цифру, так как уже используется.
-
KSZ9897S доступ к MMD регистрам через SPI
ksv198 replied to ksv198's topic in Fast Ethernet/Gigabit Ethernet/FibreChannel
Речь идёт не об интерфейсе MDIO, а о доступе к MDIO Manageable Device (MMD) Registers (Indirect). Для этого можно (согласно даташита) использовать любой интерфейс. Я использую SPI. Есть два 16 битных регистра: PHY MMD Setup Register (доступен по адресам 0xN11A - 0xN11B где N номер порта меди) и PHY MMD Data Register (доступен по адресам 0xN11C - 0xN11D). С их помощью можно получить доступ к 65535 регистрам устройства (из них только 2 описаны в даташите). Дело в том, что errata для свича чуть более чем на 90% состоит из рекомендаций вида: Write to the following MMD registers for each PHY port [1-5] и далее список значений, например: [MMD] [register] [data] 0x01 0x6F 0xDD0B 0x01 0x8F 0x6032 0x01 0x9D 0x248C 0x01 0x75 0x0060 0x01 0xD3 0x7777 0x1C 0x06 0x3008 0x1C 0x08 0x2001 Игнорировать errata как-то неправильно, особенно после внимательного прочтения. -
Доброго всем дня! Есть устройство, в составе которого микрочиповский свитч KSZ9897S. К свитчу по SPI подключен микроконтроллер, для начальной конфигурации (ибо errata впечатляет). Глобальные регистры, регистры портов читаются/пишутся без проблем. Сам свитч работает. Однако при попытке прочитать что-либо (писать пока не пробовал) посредством MDIO Manageable Device (MMD) Registers (Indirect), по методу из даташита (раздел 5.4 стр. 168) читаю из регистра PHY MMD Data Register то, что только что в него записал (а именно Register Address). Кто-нибудь сталкивался с подобной проблемой?
-
HDMI корпус разъёма, соединение с землей
ksv198 posted a topic in Аудио/Видео интерфейсы
Доброго дня! Кто подскажет, как правильно это сделать? Дело в том, что корпус разъёма будет на корпусе устройства, который будет, в свою очередь, заземлён. В схеме помимо прочего, присутствует Ethernet, у которого экран разъёма соединён (в соответствии с референс - дизайном) с корпусом через конденсатор. Опять же USB тоже присутствует со своим соединением через параллельные резистор и конденсатор. Как правильно "приземлить" HDMI? В доступных мне референсах везде корпус HDMI сидит напрямую на сигнальной земле, но что-то мучают меня сомнения... -
Интерфейс QVGA 2.2 TFT SPI 320x240
ksv198 replied to khlenar's topic in ARM, 32bit
Добрый день! посмотрите вот тут: ILI9341 -
Добрый день! Вот: /* DCMI configuration *******************************************************/ DCMI_InitStructure.DCMI_CaptureMode = DCMI_CaptureMode_SnapShot;//DCMI_CaptureMode_Continuous //DCMI_InitStructure.DCMI_CaptureMode = DCMI_CaptureMode_Continuous; DCMI_InitStructure.DCMI_SynchroMode = DCMI_SynchroMode_Hardware;//DCMI_SynchroMode_Hardware DCMI_InitStructure.DCMI_PCKPolarity = DCMI_PCKPolarity_Rising;//DCMI_PCKPolarity_Falling DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_Low; //DCMI_VSPolarity_High DCMI_InitStructure.DCMI_HSPolarity = DCMI_HSPolarity_Low; //DCMI_HSPolarity_High DCMI_InitStructure.DCMI_CaptureRate = DCMI_CaptureRate_All_Frame;//DCMI_CaptureRate_All_Frame DCMI_InitStructure.DCMI_ExtendedDataMode = DCMI_ExtendedDataMode_8b; DCMI_Init(&DCMI_InitStructure); DCMI_JPEGCmd(ENABLE); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); NVIC_InitStructure.NVIC_IRQChannel = DCMI_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); /* DCMI Interrupts config ***************************************************/ DCMI_ITConfig(DCMI_IT_FRAME, ENABLE); /* Configures the DMA2 to transfer Data from DCMI to the memory ****************/ /* Enable DMA2 clock */ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); /* DMA2 Stream1 Configuration */ DMA_DeInit(DMA2_Stream1); DMA_InitStructure.DMA_Channel = DMA_Channel_1; DMA_InitStructure.DMA_PeripheralBaseAddr = DCMI_DR_ADDRESS; DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)Jbuff; DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; DMA_InitStructure.DMA_BufferSize = 1024*8; DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; DMA_Init(DMA2_Stream1, &DMA_InitStructure);
-
Проблемы не было, как не было и изображения :-) При попытке установить разрешение больше чем 1024х768 просто не отдаёт камера ничего. Правда, я работал только с режимом jpeg, возможно в RAW получится, но тут уже будут проблемы со скоростью перелопачивания потока, меня снапшоты мало интересовали. Получение кадра несложно: -настраиваем DCMI для работы с DMA; -запускаем получение снапшота; Как это сделано можно посмотреть в примерах от ST, мне из проекта тяжело сейчас вытянуть только эту часть.
-
Добрый день! Вот: camera.zip , пробуйте. У меня контроллер STM32F427 с внешней оперативкой. Максимально, что удалось с OV2640 получить, это 800х600 jpeg потоком и 1072х768 снапшот.
-
Добрый день! Нет, не нормально. Уровни должны быть в пределах логических для выбранного напряжения питания.
-
Помогите понять по алгоритмам VAD
ksv198 replied to ksv198's topic in Алгоритмы ЦОС (DSP)
Спасибо, исходники смотрю уже, попробую, что получится.