Один очень интересный способ вывода любого аудиосигнала через любой вывод цифрового ввода-вывода с использованием минимального аппаратного обеспечения заключается в следующем: romanblack.com/BTc_alg.htm
slebetman
Ответы:
9
Каналы аудиоразъема (левый и правый) обеспечиваются управляемым ШИМ GPIO (канал 0 - GPIO 12 или 18, а канал 1 - GPIO 13 или 19).
Так что, если вы подключите соответствующие схемы к этим GPIO, вы получите аудио.
На последних Pis вывод аудиовыходов обеспечивается каналами 0 и 1 ШИМ. Канал 0 ШИМ подается на GPIO40, который подключен к (стерео) правому каналу, а канал 1 ШИМ подается на GPIO45, который подключен к (стерео) левый канал.
Эти каналы ШИМ могут быть дополнительно поданы в доступный для пользователя GPIO.
Канал ШИМ 0 может быть направлен на GPIO12 и GPIO18.
Канал 1 ШИМ может быть направлен на GPIO13 и GPIO19.
Вы маршрутизируете ШИМ в GPIO, устанавливая определенный режим GPIO следующим образом:
GPIO12 - установить режим ALT0
GPIO13 - установить режим ALT0
GPIO18 - установить режим ALT5
GPIO19 - установить режим ALT5
Смотрите страницу 102 спецификации Broadcom выше.
Существуют различные способы настройки режима GPIO.
Нужно ли использовать оба канала? и почему есть или там, скажем, я использую Pi 3 и каково количество GPIO, которые имеют аппаратный ШИМ? В соответствии с этим , есть только один вывод с ШИМ, это вывод 12 (GPIO18).
Тревор
@IlDivinCodino Вы можете использовать один или два канала. Стерео требует два, моно один. В моем ответе упоминается используемый GPIO, или означает, что вы можете использовать любой GPIO (или оба, если можете найти причину для этого).
Джоан
Собственная библиотека @ joan (IIRC) pigpio позволяет ШИМ через произвольные контакты - интересно, сколько аудио каналов вы могли бы получить таким образом.
Крис Х
1
@ChrisH Pigpio DMA Timed PWM ограничен тем, что может быть сгенерировано только фиксированное количество частот с ограниченным числом шагов между выключением и полным включением. Это хорошо для многих приложений, но, вероятно, не для аудио (я не знаю, как PWM используется для генерации аудио, так что это предположение с моей стороны).
Джоан
2
@ joan, это дискретные частоты, которые были бы большей проблемой (рабочий цикл 50:50, вероятно, лучше всего подходит для максимальной громкости). Так что было бы хорошо для будильника, но не для общего воспроизведения. У меня может быть шанс поиграть с ним на выходных.
Крис Х
2
Точно так же, как и в ответе Джоан, аналоговый аудиовыход «Пи» как раз и есть. У Adafruit есть статья, подробно описывающая эту схему для использования с Pi Zero (которая поставляется без него), см. Здесь .
у вас должно быть описание для статьи, просто поставить ссылку не очень хороший способ ответить в stackexchange. Когда-нибудь ссылка может умереть.
Тревор
2
1) это не просто размещение ссылки, это предоставление контекста (хотя и немного, как я признаю), 2) гниение ссылки, скорее всего, не проблема, поскольку это внутренняя ссылка в raspberrypi.SE, а не внешняя ссылка (таким образом, я бы утверждаю, что это будет так же настойчиво, как и ваш вопрос). Идея состояла в том, чтобы не повторять информацию, представленную там, и не закрывать оба вопроса как обманчивые друг для друга (потому что это не так, imho).
Ответы:
Каналы аудиоразъема (левый и правый) обеспечиваются управляемым ШИМ GPIO (канал 0 - GPIO 12 или 18, а канал 1 - GPIO 13 или 19).
Так что, если вы подключите соответствующие схемы к этим GPIO, вы получите аудио.
См. Периферийные устройства ARM BCM2835 для получения подробной информации о периферийных устройствах GPIO и PWM.
ИЗМЕНЕНО ДЛЯ ДОБАВЛЕНИЯ
Некоторый фон
На последних Pis вывод аудиовыходов обеспечивается каналами 0 и 1 ШИМ. Канал 0 ШИМ подается на GPIO40, который подключен к (стерео) правому каналу, а канал 1 ШИМ подается на GPIO45, который подключен к (стерео) левый канал.
Эти каналы ШИМ могут быть дополнительно поданы в доступный для пользователя GPIO.
Канал ШИМ 0 может быть направлен на GPIO12 и GPIO18.
Канал 1 ШИМ может быть направлен на GPIO13 и GPIO19.
Вы маршрутизируете ШИМ в GPIO, устанавливая определенный режим GPIO следующим образом:
Смотрите страницу 102 спецификации Broadcom выше.
Существуют различные способы настройки режима GPIO.
Мои свинки утилита использует M команду.
Например, pigs m 18 5 переведет GPIO18 в режим ALT5.
источник
Точно так же, как и в ответе Джоан, аналоговый аудиовыход «Пи» как раз и есть. У Adafruit есть статья, подробно описывающая эту схему для использования с Pi Zero (которая поставляется без него), см. Здесь .
источник