-
Алексей
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 5
-
Спасибо получено: 0
-
-
|
Всем привет!!!
Великие Гуру, прошу помощи! Я радиолюбитель, и у меня давно появилась идея снять сигнал включения радиостанции с внешней USB звуковой карты.
Суть идеи такова:
Когда на USB звуковую карту выводится аудио сигнал, должен загореться светодиод. Пропал сигнал – потух диод. При активации микрофона на этой же USB звуковой карте диод гореть не должен. Собственно это всё реализовано
24dx.ru/forum/viewtopic.php?f=16&t=749
, но работает только с ОС Win XP. При работе этого «анализатора» в ОС Win 7 и Android, после окончания аудио сигнала диод горит ещё в течении 2х – 3х секунд. Посмотрев простейшим осциллографом сигнал на «D-» USB шины увидел, что пакеты битов идут после окончания аудио сигнала 2 -3 секунды, а на выходе звуковой карты полнейшая тишина!
Собственно вопрос:
Возможно ли как-то отследить окончание аудио сигнала и отключить светодиод? Т.е. что бы не считывались последние «пустые» биты. В идеале конечно построить схему с цифровым «анализатором», а не с аналоговым как у меня. Возможно ли отследить именно исходящие из компьютера биты аудио сигнала и только при этом условии зажечь светодиод, а «пустые», информационные, микрофонные (входящие), и прочие биты отсечь? На них светодиод реагировать не должен.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
romanetz
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 3
-
Спасибо получено: 0
-
-
|
К сожалению, так сделать невозможно. По той причине, что с точки зрения USB аудио устройства, "молчание" и "звук" друг друга логически неотличимы. USB аудио устройство описывается в компе двумя конфигурациями. Одна из них (нулевая) описывает устройство в состоянии молчания, с нулевой занимаемой пропускной способностью на шине. Первая (рабочая) описывает устройство в состоянии воспроизведения, когда на конечную точку воспроизведения приходят данные в транзакциях типа ISOC OUT. USB аудио устройство перед началом воспроизведения получает запрос SET INTERFACE, ALT=1 (альтернативная конфигурация 1), после этого устройство получает пакеты со звуковыми данными. По окончании воспроизведения звука, ОС еще некоторое время оставляет устройство в состоянии воспроизведения, после чего автоматически посылает ему запрос SET INTERFACE, ALT=0 (альтернативная конфигурация 0) и прекращает передавать пакеты со звуковыми данными. Настройки таймаута переключения конфигурации зависят, таким образом, от звукового драйвера (usbaudio.sys в Windows, kmod-usb-audio в линуксе). Проще всего вопрос будет решить в линуксе, сборкой модуля ядра из правленных исходников.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
romanetz
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 3
-
Спасибо получено: 0
-
-
|
Ничего против не имею если в какой-то конкретной конфигурации (звуковуха, ОС, приложение) удалось добиться нужного эффекта. Но на дуплексном устройстве (может работать и динамик и микрофон) работать стопроцентно не будет, нужно протокол разбирать.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Алексей
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 5
-
Спасибо получено: 0
-
-
|
И при дуплексе всё чётко работает. Звуковая карта имеет микрофонный вход и выход для наушников. Светодиод будет гореть ТОЛЬКО при выводе аудиосигнала на наушники, независимо от того работает микрофон или нет. На отдельно работающий микрофон светодиод не реагирует. Вы не первый, не второй, и даже не третий, кто в это не верит.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Алексей
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 5
-
Спасибо получено: 0
-
-
|
Скажу больше, можно организовать логику с тремя светодиодами. Первый будет гореть при работе микрофона, второй при выводе аудиосигнала на наушники, а третий при одновременной работе микрофона и выводе аудиосигнала на наушники.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Алексей
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 5
-
Спасибо получено: 0
-
-
|
romanetz, подскажите, а возможно ли создать программу для винды со следующими хотелками:
При запуске программы вываливается окно с настройками.
1.В одной части выбираем звуковую карту из имеющихся на компьютере.
2.В другой:
а. Выбор СОМ порта из имеющихся.
б. Выбор контакта на который будет подаваться сигнал (DTR или RTS).
3.Движок задержки на отключение от0 до 3 сек. Шаг меньше либо равен 0,1 сек.
4.Кнопкой подтверждения «Применить», фиксируем выбранные настройки.
Выбор карты и СОМ порта можно сделать галочками либо выпадающим списком, который опять сворачивается при выборе и показывает выбранную карту.
При сворачивании программы, она сворачивается в трей. При нажатии на иконку в трее, выскакивает окно настроек.
Выходной уровень сигнала с выбранных контактов (DTR или RTS) — высокий.
Возможность работать как с встроенным СОМ портом так и с переходником USB – СОМ.
Работать должна с ОС Windows XP, Windows 7. (Тут повнимательнее у этих ОС разные способы вывода аудио!)
Оттолкнуться думаю можно от величины выборок, идущих на звуковую карту.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.130 секунд