Проблемы с MIDI выходом

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

По стандарту (MIDI 1.0 Detailed Specification V 4.2 Sep 1995", page 2) MIDI выход должен выглядеть так:

Реально было собрано так (транзисторы - КТ315):

Дабы не рпазбираться с протоколом порта на пин 16 (Serial2 для MEGA2560) подавался меандр при помощи следующего фрагмента:

  pinMode(16, OUTPUT);
  while(1) {
    pinOutLow(16);
    delayMicroseconds(2);
    pinOutHigh(16);
    delayMicroseconds(2);
    pinOutLow(16);
    delayMicroseconds(2);
    pinOutHigh(16);
    delayMicroseconds(2);
  }

На выходе получили следующее:

Откуда сразу появились вопросы:

1. Почему сигнал несимметричный?

2. Что за всплески на заднем фронте?

3. Как с этим бороться? (хочется симметричный меандр ьез всплесков)

* Примечание: в цикле умышленно сделано 2 периода - чтобы можно было оценить, насколько влияет переход на начало цикла. Оказалось, что удлиняет соответствующий полупериод примерно на 0.2 мкс.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Решение проблемы: доблавил резистор 4к7 из базы на землю.

Задержка заднего фронта уменьшилась с 1.5 до 0.7 мкс и исчез всплеск. Передаваемый сигнал MIDI успешно принимается.