2017-09-11 1 views
1

마이크로 컨트롤러 기반의 신시사이저를 제어하기 위해 MIDI 메시지를 수신하려고하며 MIDI 프로토콜을 이해하기 위해 MIDI 처리기를 구현할 수 있습니다. 31.25kHz에서 전용 클럭 라인을 사용하지 않고 MIDI를 읽었습니다. MIDI 바이트를 수신하려면 마이크로 컨트롤러로 31.25kHz 라인을 샘플링해야합니까?마이크로 컨트롤러를 MIDI 컨트롤러 출력에 동기화하는 방법

답변

0

MIDI specification 말한다 :

하드웨어 MIDI 인터페이스는 시작 비트, 8 개의 데이터 비트 (D7에 D0) 및 스톱 비트와, 31.25 (+/- 1 %) baud로, 비동기 적으로 작동 . [...] 바이트는 LSB 우선 전송됩니다.

이것은 표준 UART 프로토콜을 설명합니다. 대부분의 마이크로 컨트롤러에 내장 된 UART 하드웨어를 간단히 사용할 수 있습니다. (1MHz (또는 다중) 클럭에서 쉽게 파생 될 수 있기 때문에 31250Hz의 보드 율이 선택되었습니다.)

소프트웨어의 수신기를 사용하면 각 비트의 중간에서 레벨을 안정적으로 감지 할 수 있도록 입력 신호의 샘플링 속도를 높일 수 있습니다. 자세한 내용은 What exactly is the start bit error in UART?How does UART know the difference between data bits and start/stop bits?

을 참조하십시오.
관련 문제