GPIO를 통해 오디오 신호를 출력하는 방법은 무엇입니까?


12

GPIO를 통해 오디오 신호를 출력 할 수있는 방법이 있습니까?


1
: 최소한의 하드웨어를 사용하는 디지털 I / O 핀을 통해 오디오 신호를 출력 한 매우 흥미로운 방법이있다 romanblack.com/BTc_alg.htm
slebetman

답변:


9

오디오 잭 채널 (왼쪽 및 오른쪽)은 PWM 구동 GPIO (GPIO 12 또는 18에 의한 채널 0 및 GPIO 13 또는 19에 의한 채널 1)에 의해 제공됩니다.

따라서 적절한 회로를 GPIO에 연결하면 오디오가 제공됩니다.

GPIO 및 PWM 주변 장치에 대한 자세한 내용 은 BCM2835 ARM 주변 장치 를 참조하십시오 .


추가 편집

일부 배경

최근 Pis에서 오디오 잭 출력은 PWM 채널 0과 1에 의해 제공됩니다. PWM 채널 0은 (스테레오) 오른쪽 채널에 연결된 GPIO40에 공급되고 PWM 채널 1은 (스테레오)에 연결된 GPIO45에 공급됩니다 왼쪽 채널.

이러한 PWM 채널은 사용자가 액세스 할 수있는 GPIO에 추가로 공급 될 수 있습니다.

PWM 채널 0은 GPIO12 및 GPIO18로 라우팅 될 수 있습니다.

PWM 채널 1은 GPIO13 및 GPIO19로 라우팅 될 수 있습니다.

다음과 같이 특정 GPIO 모드를 설정하여 PWM을 GPIO로 라우팅합니다.

  • GPIO12-설정 모드 ALT0
  • GPIO13-설정 모드 ALT0
  • GPIO18-설정 모드 ALT5
  • GPIO19-설정 모드 ALT5

위의 Broadcom 사양 참조의 102 페이지를 참조하십시오.

GPIO 모드를 설정하는 방법에는 여러 가지가 있습니다.

돼지 유틸리티는 M 명령을 사용합니다 .

예를 들어 돼지 m 18 5는 GPIO18을 모드 ALT5로 설정합니다.


두 채널을 모두 사용해야합니까? 거기에 왜 이, 내가 파이 3 사용하고 있는데 하드웨어 PWM을 가지고있는 GPIO가의 수를 무엇이라고? 따르면 , 즉 12 핀 (GPIO18)이며, 하나의 핀이 PWM을 가지고있다.
Trevor

@IlDivinCodino 하나 또는 두 개의 채널을 사용할 수 있습니다. 스테레오는 2 개, 모노 1 개가 필요합니다. 내 대답은 사용 가능한 GPIO를 언급하거나 GPIO (또는 이유를 찾을 수있는 경우 둘 다)를 사용할 수 있음을 의미합니다.
joan

@joan 의 자체 (IIRC) pigpio 라이브러리는 임의의 핀을 통해 PWM을 허용합니다-얼마나 많은 오디오 채널을 얻을 수 있는지 궁금합니다.
Chris H

1
@ChrisH pigpio DMA 타이밍 PWM은 off와 full on 사이에 제한된 수의 스텝으로 고정 된 수의 주파수 만 생성 될 수 있다는 점에서 제한됩니다. 많은 응용 프로그램에는 적합하지만 오디오는 아닐 것입니다 (PWM을 사용하여 오디오를 생성하는 방법을 모르므로 이것이 내 추측입니다).
joan

2
@joan, 그것은 더 문제가 되는 이산 주파수 입니다 (50:50 듀티 사이클이 최대 볼륨에 가장 적합 할 것입니다). 따라서 알람에는 좋지만 일반적인 재생에는 적합하지 않습니다. 나는 주말에 그것을 가지고 놀 기회가 있을지도 모른다.
Chris H

2

Joan의 답변이 이미 제안했듯이 Pi의 아날로그 오디오 출력은 바로 그 것입니다. Adafruit에는 Pi Zero와 함께 사용하기 위해이 회로를 자세히 설명하는 기사가 있습니다 (제공되지 않음) . 여기를 참조 하십시오 .


기사에 대한 설명이 있어야합니다. 링크를 넣으면 stackexchange에서 대답하는 좋은 방법이 아닙니다. 언젠가 링크가 죽을 수도 있습니다.
Trevor

2
1) 링크를 넣는 것이 아니라 컨텍스트를 제공합니다 (아마도 인정하지만 조금) 2) 링크 썩음은 raspberrypi.SE 내의 내부 링크이므로 외부 링크가 아니기 때문에 문제가되지 않습니다 (따라서 그것이 귀하의 질문만큼 지속될 것이라고 주장하십시오). 아이디어는 거기에 제공된 정보를 반복하지 않고 두 질문을 서로 속이는 것으로 닫히지 않는 것이 었습니다.
Ghanima
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.