다음을 통해 공유


실시간 지원 애플리케이션에서 PWM 사용

Important

Azure Sphere(레거시) 설명서입니다. Azure Sphere(레거시)는 2027년 9월 27일에 사용 중지되며 사용자는 이 시간까지 Azure Sphere(통합)로 마이그레이션해야 합니다. TOC 위에 있는 버전 선택기를 사용하여 Azure Sphere(통합) 설명서를 볼 수 있습니다.

Azure Sphere는 펄스 너비 변조를 지원합니다. 펄스 너비 변조는 펄스 디지털 신호의 의무 주기(정시 대비 오프타임 비율)를 변경하여 달성됩니다. PWM(펄스 너비 변조기)은 디지털 모터 제어, 통신 및 디지털-아날로그 변환과 같은 광범위한 애플리케이션에서 사용됩니다.

이 항목에서는 RTApp(실시간 지원 애플리케이션)에서 PWM을 사용하는 방법을 설명합니다. 상위 수준 애플리케이션에서 PWM을 사용하는 방법에 대한 자세한 내용은 상위 수준 애플리케이션에서 PWM 사용을 참조 하세요.

참고 항목

Azure Sphere OS는 시작 시 주변 장치를 다시 설정하지 않습니다. 애플리케이션은 시작 시 또는 다시 시작한 후 주변 디바이스가 정상 상태인지 확인해야 합니다.

실시간 코어에서 PWM에 대한 MT3620 지원

이 섹션에서는 MT3620에서 Azure Sphere를 실행할 때만 적용되는 PWM 옵션에 대해 설명합니다.

MT3620에서 지원하는 PWM 기능은 MT3620 지원 상태에 나와 있습니다. MT3620 개발 보드 사용자 가이드에서는 핀 레이아웃 및 핀 함수에 대해 설명합니다.

MT3620에는 PWM0-PWM11로 식별되는 12개의 PWM 채널이 있습니다. 4개 채널의 3개 그룹으로 구성됩니다. 각 그룹은 PWM 컨트롤러(PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2)와 연결됩니다. PWM 채널 및 GPIO 핀(GPIO0 - GPIO11)은 MT3620의 동일한 핀에 매핑됩니다. 애플리케이션에서 PWM 컨트롤러를 사용하는 경우 해당 컨트롤러와 연결된 모든 핀이 PWM 출력으로 사용되도록 할당됩니다. GPIO에는 사용할 수 없습니다.

MT3620에 대한 레지스터 기본 주소, 인터럽트 번호, 클록 속도, 샘플링 빈도 및 기타 세부 정보는 MT3620 데이터시트MT3620 M4 사용자 설명서를 참조하세요. 질문이 남아 있는 경우 이메일을 통해 Azure.Sphere@avnet.comAvnet에서 세부 정보를 요청할 수 있습니다.

PWM 하드웨어는 32KHz, 2MHz(XTAL/13) 또는 26MHz(XTAL) 중 하나를 사용하도록 구성할 수 있습니다. RT(실시간) 코어에서 RTApp(실시간 애플리케이션)은 기본으로 사용할 클록을 선택할 수 있습니다. 사용자 정의 기본 빈도는 지원되지 않습니다. 그러나 애플리케이션은 선택한 기본 주파수에서 파생된 신호 빈도를 생성할 수 있습니다. 예제는 Azure Sphere 갤러리의 PWMAudio 샘플 appication참조하세요.

애플리케이션 매니페스트 설정

RTApp에서 PWM을 사용하려면 애플리케이션 매니페스트에 기능을 추가하고 Pwm 애플리케이션에서 사용할 PWM 컨트롤러를 지정합니다. 예를 들어 다음 줄은 MT3620 RDB(참조 개발 보드)를 대상으로 하는 RTApp에서 사용할 PWM 컨트롤러 0을 지정합니다.

"Capabilities": {
   "Pwm": [ "PWM-CONTROLLER-0" ] }

Azure Sphere 애플리케이션 매니페스트에는 애플리케이션 매니페스트 에 대한 자세한 내용이 있습니다.

PWM 샘플 애플리케이션

GitHubCodethinkLabs 리포지토리에는 Azure Sphere 실시간 지원 애플리케이션에서 MT3620 지원 주변 장치를 사용하는 방법을 보여 주는 여러 샘플 애플리케이션이 포함되어 있습니다. 특히 PWM_RTApp_MT3620_BareMetal 샘플은 PWM 주변 장치를 실시간 지원 애플리케이션에 통합하는 방법을 보여 줍니다.

PWMAudio 프로젝트는 실시간 코어를 사용하여 PWM(펄스 너비 변조) 오디오를 생성하는 방법을 보여 줍니다. 이 프로젝트는 매핑되지 않은 스크립트, 유틸리티 및 함수 컬렉션인 Azure Sphere 갤러리의 일부입니다.