i2: Технические подробности
О том, что такое прерыватель i2 и о всех его возможностях можно прочитать в моей прошлой статье. В этой статье будут размещены материалы для повторения проекта. По мере исправления багов или добавления новых возможностей, я буду редактировать обе статьи.
<— Описание возможностей, обзор
Лицензия
Все файлы, прилагаемые к этому посту распространяются под лицензией GPL v3, что, в прочем, не должно помешать вам поставить пиво автору.
Текст лицензии можно получить тут — https://www.gnu.org/licenses/gpl.html
Прошивка. Текущая версия – 1.01
Исправления в версии 1.01
- Исправлены ошибки в приемнике midi
- Прошивка адаптирована под новую ревизию (rev3) схемы
- При запуске прерывателя он рассылает все подчиненным устройствам команду остановить воспроизведение midi – защищает сеть от зависания мастера.
Скомпилированная прошивка в формате intel-hex
Исходные коды AVR IAR 5.3.02
Фьюзы. Настройки для прожигания фьюзов показаны на картинках если вы используете не IAR, то придется подобрать аналогичные настройки в вашей среде.
Схема. Текущая ревизия – 3
Исправления в ревизии 2:
- Добавлена возможность работы с DRSSTC.
- Исправлены ножки подключения USB, добавлена подтяжка на ножке прерывания USB для исключения ложных срабатываний прерывания.
Исправления в ревизии 3:
- Заменена оптопара на более быстродействующую 6n136. TLP181 сильно затягивала фронты.
- Таймер для DRSSTC заменен на обычный дешевый NE555
- Исправлена ошибка из-за которой при выключении питания, тесла оказывалась включенной на 100мкс.
Скачать схему можно тут.
Управляющая программа. Текущая версия – 1.00
Программа написана на Borland Builder C++ 6.0. Она является пособием “как не нужно писать”, что и понятно – она разрабатывалась просто как тест для основной прошивки. Потом я просто на костылях прилепил к ней несколько красивых рюшечек. Но, все-таки она работает. Если вы – программист и готовы помочь проекту и превратить эту программу во что-то более красивое, пишите мне!
Скомпилированная программа.
Исходник
Драйвер
Кроме всего прочего, для прерывателя нужно установить драйвер. Сделать это можно нажав правой кнопкой мыши на inf файле и выбрав Install (Установить). Если у вас этот пункт меню, как и у меня глючит и ничего не делает, то нужно выполнить такую последовательность действий
Start->Control Panel->Add Hardware->(Yes, I have already..)->(Add a new hardware)->(Install the harware that I…) ->Show all devices->(Have disk)->Browse
Выбрать inf файл и согласиться на установку. После этого, после подключения прерывателя, у вас в системе появится новое устройство.
Сам драйвер.
Плата.
Плата прерывателя пока не доступна. Пишите письма с запросом на bsvi@narod.ru (именно туда, а не в комментарии)
По многочисленным просьбам – плата в pdf:
У меня вопрос, а можно ли как то сделать так чтобы можно было бы подключить электро гитару к прерывателю и когда играеш на гитаре то тесла в ритм выдавала разряды такого же тона ))) ?
Можно.
А можно узнать , что приблизительно нужно сделать , а то друг подкинул идею и у меня теперь навязчивая идея это сделать.)
нужно сделать преобразователь звуковых волн в …. ?
прямоугольники, но тут все не совсем так просто. И если даже не понимаешь, что нужно сделать — лучше и не берись. (к примеру, нужно контроллировать ширину импульса, обеспечить гальваническую развязку, фильтровать помеху от теслы итп)
ну хоть я не все знаю постараюсь, понять и попробовать сделать ,потом если что отпишусь
Давай )
Я так понял что в принципе можно использовать разьем MIDI in для того чтобы подавать на него звуковую волну , тк там стоит опто пара то она то и выступит в роле того самого преобразователя , нужно только убрать все помехи от теслы гальванической развязкой . Я прав ?)
Нет. Оптопара как-раз для развязки и предназначена, но она не выдержит потенциала теслы, система должна быть такая: гитара-фильтр-предусилитель-преобразователь-оптопередатчик-оптоволокно-опторесивер-прерыватель-тесла.
Добрый день! Набрался сил, и собрал этот прерыватель: плату разводил сам, для навесного монтажа, прошил мегу, фьюзы правильные, подключил… Работает, но частично: показывается режим idle, программа определяет прерыватель, сохраняет в него настройки, определяет объём флешки (у меня 1мБ), но midi не пишет… Зато пишет ошибку: «Произошла ошибка, запись прервана». Буду очень признателен, если подскажете, в чём может быть проблема?
Отбой, проблема решилась сама собой — отключением прерывателя от хаба и подключением непосредственно на материнку. Ещё раз восхищаюсь вашим умом 😉
Хотя, конечно, я поторопился: пишет, но через раз-другой… То ошибка, то нормальная запись.. Пока понятия не имею, что может быть этому причиной, то ли провод длинный, то ли навесной монтаж, то ли юпитер не в том созвездии… Буду благодарен, если предложите какие-нибудь варианты.
У вас явно проблема с подключением. Тут только разные шнурки пробовать нужно 🙂 А хабы — зло, я с ними очень много проблем натерпелся.
Вот-вот, я о том же… Уже молчу о флешках 🙂 Спасибо, буду пытаться исправить проблему!
В общем, проблема так и не решилась. Даже 10 сантиметровый шнурок никак не повлиял на ситуацию. Конечно, есть одно отличие, от видео, которое было у вас. Там МИДИ файлик записывался несколько секунд, у меня же скорость записи/чтения (при удачной записи, конечно) переваливает за 8000/125000 б/с, соответственно около миллисекунды, даже статусбар не успевает появляться. Чем больше размер файла, тем меньше шансов его удачно записать. Такое ощущение, что часть данных просто теряется. Сама флеш память максимально близка к контроллеру, почти нога к ноге. Может быть у вас есть какие-нибудь мысли по этому поводу? Может как-нибудь можно снизить скорость записи аппаратно/программно? Буду очень признателен за ответ…
Извините, но я не знаю, чем вам помочь. Я с таким не сталкивался.
Жаль, но всё равно спасибо. А может подскажете, какая у вас была скорость?
ПС: маленькое замечание в самой схеме. У вас, вероятно, на самой схеме перепутаны 1 и 2 кнопки 🙂
Честно — не помню. Все-таки, это было 3 года назад.
А, и ещё одна просьбочка, может можно взглянуть на исходники драйверов?
Да, без проблем: https://sourceforge.net/apps/trac/libusb-win32/browser/trunk/libusb
Отлично, спасибо большое!
Огромное спасибо вам за ваш труд и информацию, которой делитесь.
Я немного далековат от контролеров, но рискнул собрать ваш прерыватель и столкнулся с такой трудностью: управляющая программа настройки записывает, а при попытке открыть миди пишет «ошибка при открытии файла». Подскажите пожалуйста с чем может быть связана такая трудность Спасибо