Самодельный MIDI Controller

Originally posted by General Dead
Если правильно спаяешь то заработает, у меня такой более года работает.

Ничего не работает. Наверное плохо спаял. Только деньги потратил зря.
 
<div class='quotetop'>QUOTE(\"NickCrow\")</div>
При работе с MIDI устройством имеет смысл только посылка МИДИ-КОМАНДЫ[/b]
При РАБОТЕ, возможно, что оно и так. Но речь об разработке и изучении устройств.

<div class='quotetop'>QUOTE(\"pon\")</div>
я не в силах написать программу[/b]
Абыдна, да...

<div class='quotetop'>QUOTE(\"General Dead\")</div>
Что непонятно про JTAG?[/b]
Ты написАл: JTAG-интерфейс. I2C - знаю, RS-232 - знаю, 485 - знаю, Казань - брал, Астрахань - брал, Шпака - не брал, JTAG - не знаю. :biggrin:
 
General Dead!
Будь добр, покажи свой девайс! Попробуй сфоткать как-нибудь!
 
Originally posted by Gregory
При РАБОТЕ, возможно, что оно и так. Но речь об разработке и изучении устройств.

Абыдна, да...

Ты написАл: JTAG-интерфейс. I2C - знаю, RS-232 - знаю, 485 - знаю, Казань - брал, Астрахань - брал, Шпака - не брал, JTAG - не знаю. :biggrin:
JTAG интерфейс служит для передачи содержимого МК (регистры, память, состояние портов, АЦП, UART и т.д) в IDE (интегрированная среда разработчика вроде MPLAB, AVRStudio) где используется для отладки программы. Сам протокол интерфейса знать ненужно, просто собираешь схему которую я давал, подключаешь Атмегу 16 и видишь все что в ней происходит. Советую сходить на

Atmel.com
Atmel.ru
Forum.Electronix.ru

скачай Data Sheets посмотри что из себя представляет Атмега, Классические АВР AT90Sxxx) не интересны и в основном сняты с производства.

PS при разработке МИДИ устройств посылка отдельных байт не являющимися стандартными или Сисекс сообщенями наврядли потребуется, по крайней мере мне не требовалась. В крайнем случае можно написать программу для МК и отсылать нужный байт (байты) от нажатия кнопок.
 
Originally posted by pon
General Dead!
Будь добр, покажи свой девайс! Попробуй сфоткать как-нибудь!
Какой? Джойстик или МИДИ контроллер? Сфоткать все пытаюсь но нет камерытелефона, товарищ с мобилой обещал зайти но мы работаем в разное время да и он женился недавно все никак не состыкуемся.
 
Originally posted by pon
Ничего не работает. Наверное плохо спаял. Только деньги потратил зря.
По какой схеме собирал, какая прошивка, биты конфигурации АТмега прошивал? Есть несколько версий данного девайса и к каждой своя прошивка.
 
Originally posted by General Dead
По какой схеме собирал, какая прошивка, биты конфигурации АТмега прошивал? Есть несколько версий данного девайса и к каждой своя прошивка.
Всё на этом сайте - http://www.flightsim.com/cgi/kds?$=main/howto/mind.htm .
До прошивки конфигурационных битов дело не дошло :frown: . Несколько часов паял устройство. Дальше было так: подсоединяю, запускаю Pony Prog, конфигурирую, загружаю прошивку в среду, пытаюсь прошить устройство и .... Unknown Device (Abort/Retry/Ignore). Два раза всё проверял - не пашет, собака. Видимо, руки у меня не оттуда растут. :Dontknow:
 
Originally posted by pon
Всё на этом сайте - http://www.flightsim.com/cgi/kds?$=main/howto/mind.htm .
До прошивки конфигурационных битов дело не дошло :frown: . Несколько часов паял устройство. Дальше было так: подсоединяю, запускаю Pony Prog, конфигурирую, загружаю прошивку в среду, пытаюсь прошить устройство и .... Unknown Device (Abort/Retry/Ignore). Два раза всё проверял - не пашет, собака. Видимо, руки у меня не оттуда растут. :Dontknow:
У меня такое тоже было, схему адаптера под PonyProg какую использовал? У меня первая была под СОМ и неработала из-за слабого сигнала с СОМ порта, сделал на 4резисторах для LPT и все заработало, эту схему выкладывал сдесь в ветке. Да к МК во время программирования незабудь подать питание 5в, ну и кварц тоже.
ЗЫ Сдесь обсуждают схему Mjoy и другие http://www.sukhoi.ru/forum/forumdisplay.php?f=73
ЗЫ Удачи!
 
Originally posted by General Dead
У меня такое тоже было, схему адаптера под PonyProg какую использовал? У меня первая была под СОМ и неработала из-за слабого сигнала с СОМ порта, сделал на 4резисторах для LPT и все заработало, эту схему выкладывал сдесь в ветке. Да к МК во время программирования незабудь подать питание 5в, ну и кварц тоже.
ЗЫ Сдесь обсуждают схему Mjoy и другие http://www.sukhoi.ru/forum/forumdisplay.php?f=73  
ЗЫ Удачи!

Спасибо!
Я использовал схему для LPT на 4 резисторах. Теперь, я попробую собрать отдельный программатор для СОМ порта. Надеюсь - сработает. Спасибо за ссылку!
 
<div class='quotetop'>QUOTE(\"General Dead\")</div>
подключаешь Атмегу 16[/b]
Жизнь научила меня не зарекаться, но кажется мне, что до этого я дойду не скоро. Ибо, как говорил, я ещё не всю мощь ПИКов познал. :biggrin:

<div class='quotetop'>QUOTE(\"General Dead\")</div>
можно написать программу для МК и отсылать нужный байт (байты) от нажатия кнопок[/b]
Я почти уже шёл этим путём, но тут появился pon и вселил в меня надежду. :tongue:
Что же касаемо необходимости таких посылок, то выше я задавал вопрос, на который так никто и не ответил, а при помощи такой программулины, можно было выяснить данный аспект легко и быстро.
 
Originally posted by Gregory

Что же касаемо необходимости таких посылок, то выше я задавал вопрос, на который так никто и не ответил, а при помощи такой программулины, можно было выяснить данный аспект легко и быстро.

Если вы про максимальное время, между отсылкой байтов, то , как я уже сказал, на него нет ограничений.
 
Originally posted by pon
Спасибо!
Я использовал схему для LPT на 4 резисторах. Теперь, я попробую собрать отдельный программатор для СОМ порта. Надеюсь - сработает. Спасибо за ссылку!
Ты наверное невнимательно прочитал, схема LPT+4 резистора рабочая, а вот программатор под COM для PonyProg как раз и незаработал.
Ты использовал калибровку в PonyProg?
В PonyProg для LPT должны быть такие настройки:Parallel/Avr ISP I/O.
Все должно работать, проверенно неодним человеком.
 
Originally posted by General Dead
Ты наверное невнимательно прочитал, схема LPT+4 резистора рабочая, а вот программатор под COM для PonyProg как раз и незаработал.
Ты использовал калибровку в PonyProg?
В PonyProg для LPT должны быть такие настройки:Parallel/Avr ISP I/O.
Все должно работать, проверенно неодним человеком.

Всё это я делал. Кстати, PonyProg не позволяет с ним работать без предварительной калибрации, так что проблема не в этом. Скорее всего я погано спаял сам девайс, а LPT программатор был в порядке.
Вот вопрос: можно-ли отдельно прошить ATMEG'у, не используя возможности ISP?
 
Originally posted by pon
Всё это я делал. Кстати, PonyProg не позволяет с ним работать без предварительной калибрации, так что проблема не в этом. Скорее всего я погано спаял сам девайс, а LPT программатор был в порядке.
Вот вопрос: можно-ли отдельно прошить ATMEG'у, не используя возможности ISP?
Можно, через JTAG или через параллельный программатор (штука более навороченная чем программатор через SPI).
Насчет девайса (который ты плохо спаял) то проверь питание и подключение к программатору, схема ведь простая. Проверь пайку программатора, особенно перемычки в LPT, благодаря этим перемычкам PonyProg опознает устройство. Еще, в WinXP должен стоять драйвер DriverLinx Port I/O (посмотреть в lдиспетчере устройств, включить отображение скрытыхустройств, драйвера не Plug&Play) иначе ponyprog несможет правильно работать.
 
Спасибо за замечания! Сегодня попробую снова собрать :smile:
 
Что-то тема заглохла...
У меня тут проблема с драйвером для ком-порта. Сам на себя работает замечательно. А на стандартный МИДИ-интерфейс - не хочет. Тут либо - неправильная передача, либо скорость не совпадает. Глянул тут повнимательнее к в/у немцу. У него, вроде, написано, что драйвер позволяет на 20% быстрее передавать сообщения. Гляньте, кто хорошо английский понимает. Правильно ли я его понял?
Может, кому другой драйвер попадался, кроме Ямахи?
 
Originally posted by Gregory
Что-то тема заглохла...
У меня тут проблема с драйвером для ком-порта. Сам на себя работает замечательно. А на стандартный МИДИ-интерфейс - не хочет. Тут либо - неправильная передача, либо скорость не совпадает. Глянул тут повнимательнее к в/у немцу. У него, вроде, написано, что драйвер позволяет на 20% быстрее передавать сообщения. Гляньте, кто хорошо английский понимает. Правильно ли я его понял?
Может, кому другой драйвер попадался, кроме Ямахи?
А может ты что то неправильно настроил, MIDI комманды принимает?
 
Прочитал твою ссылку. Скорость передачи СОМ, 38400 ( у МИДИ 31250 ). Насколько я понял, к СОМ порту можно подключать только этот МИДИ-ВОХ и других портов МИДИ не предусмотрено, т.е нельзя использовать как мост СОМ то МИДИ, правда я не смотрел схему девайса полностью, возможно стоит PIC с двумя UART, тогда один к СОМ, другой к стандартному МИДИ.
 
<div class='quotetop'>QUOTE(\"General Dead\")</div>
Прочитал твою ссылку[/b]
Я тоже прочитал. :cool: Что-то я совсем рассеянным стал. Ведь написанно же: "смените исходный код". И цифирины даны. :gigi:

<div class='quotetop'>QUOTE(\"General Dead\")</div>
нельзя использовать как мост СОМ то МИДИ[/b]
В том виде, как я первоначально хотел (с использованием только буферной элементарной логики) - нет. Но, есть у меня одна идея. То же, что ты сказал, только беда в том, что у ПИКов один UART (во всяком случае, я до других пока не добрался). Второй придётся эмулировать програмно.

<div class='quotetop'>QUOTE(\"General Dead\")</div>
правда я не смотрел схему девайса полностью[/b]
Да там, как я понял, дядька разработал что-то типа "Лего" для миди. Т.е. различные блоки управления, и все они собираются в набор по желанию. Как мне показалось, местами - "из пушки по воробьям". Если застал, в начале 80-х, в журнале "Радио" был целый обзор по интеловскому (точнее советскому аналогу) 8080, со схемой компьютера. Описалово было отличнейшее, а вот схема - какая-то громоздкая получилась, так как был заложен принцип такой же универсальности.
Короче, лучше скажи, почему там на схеме, на 8 пин ком-порта постоянный уровень подаётся, а не с 7-м соединяется?
И ещё. С Протеусом хорошо разобрался? Возникли некоторые проблемы.
 
<div class='quotetop'>QUOTE(\"General Dead\")</div>
MIDI комманды принимает?[/b]
И принимает и отправляет, и ещё индицирует. С его помощью, выяснил, что Кейк всё-таки эксклюзивы отправляет (больше от него, пока не найду нормальный драйвер, в чём я сильно сомневаюсь, пользы, видимо, не будет). Следовательно - это мидимонитор их не показывает. Видимо, не опознаёт. Хотя, с другой стороны, прекрасно прописывал байт F5...
 
Originally posted by Gregory
И принимает и отправляет, и ещё индицирует. С его помощью, выяснил, что Кейк всё-таки эксклюзивы отправляет (больше от него, пока не найду нормальный драйвер, в чём я сильно сомневаюсь, пользы, видимо, не будет). Следовательно - это мидимонитор их не показывает. Видимо, не опознаёт. Хотя, с другой стороны, прекрасно прописывал байт F5...
MIDIMonitor который я выкладывал принимает сисекс, может в настройках МИДИ фильтра отключено отображение комманд Sysex?
 
Originally posted by Gregory
Я тоже прочитал. :cool: Что-то я совсем рассеянным стал. Ведь написанно же: \"смените исходный код\". И цифирины даны. :gigi:

В том виде, как я первоначально хотел (с использованием только буферной элементарной логики) - нет. Но, есть у меня одна идея. То же, что ты сказал, только беда в том, что у ПИКов один UART (во всяком случае, я до других пока не добрался). Второй придётся эмулировать програмно.

Да там, как я понял, дядька разработал что-то типа \"Лего\" для миди. Т.е. различные блоки управления, и все они собираются в набор по желанию. Как мне показалось, местами - \"из пушки по воробьям\". Если застал, в начале 80-х, в журнале \"Радио\" был целый обзор по интеловскому (точнее советскому аналогу) 8080, со схемой компьютера. Описалово было отличнейшее, а вот схема - какая-то громоздкая получилась, так как был заложен принцип такой же универсальности.
Короче, лучше скажи, почему там на схеме, на 8 пин ком-порта постоянный уровень подаётся, а не с 7-м соединяется?
И ещё. С Протеусом хорошо разобрался? Возникли некоторые проблемы.
Насчет PIc с двумя UART, посмотри даташиты на сайте микрочип, есть серия PIC18Fxx там проц вроде 16бит и периферрия покруче, есть и с двумя UART. Ну или переходи на ATmega, тоже есть с двумя UART, или Atmel SmartARM там вообще 3 UART+USB 1.1 (аппаратный)+ DMA+I2S (интерфейс для Аудио ЦАПАЦП, SPDIF и т.д).
Насчет MAX 232 счас нескажу, потом подумаю.
 
<div class='quotetop'>QUOTE(\"General Dead\")</div>
может в настройках МИДИ фильтра отключено[/b]
Усё включено. В том-то и прикол. :gigi: Правда я пока пробовал только ресеты для всех трёх стандартов. Других под рукой нет.
 
<div class='quotetop'>QUOTE(\"General Dead\")</div>
Насчет PIc с двумя UART[/b]
Да, наверняка что-нибудь есть. Но 18-е - это уже совсем другой класс контроллеров. Учитывая, что никаких других функций от контроллера не требуется, вполне хватит "народного" 16F628A (18 ног, 50 руб.-розница). :super2:
А ты Атмелы на Ассемблере программируешь?
А как насчёт Протеуса? :beer:
 
Originally posted by Gregory
Да, наверняка что-нибудь есть. Но 18-е - это уже совсем другой класс контроллеров. Учитывая, что никаких других функций от контроллера не требуется, вполне хватит \"народного\" 16F628A (18 ног, 50 руб.-розница). :super2:
А ты Атмелы на Ассемблере программируешь?
А как насчёт Протеуса? :beer:
Я AVR программирую на асме (assembler) используя AVRStudio, раньше были опыты с Intel 8051 (кстати в нем комманд больше т.к он CISC а архитектура и программирование проще чем AVR, PIC но возможностей меньше, в стандартных вариантах, счас появилиь более функциональные и скоростные, но я выбрал AVR в основном из-за хорошей и бесплатной IDE AVRStudio и аппаратного внутрисхемнгого отладчика-симмулятора JTAG).
Что тебя в протеусе интересует? Посети форум electronix.ru , там есть ветки по AVR, PIC, DSP, ARM, P-CAD, и т.д. есть и по протеусу много чего, я о нем оттуда узнал, и вообще много чего.
 
Советую всем кто ковыряется с MIDI пакет SoundQuest Midi Tools, там есть все что нужно (MIDI монитор, анализатор, роутер, программ для создания своих МИДИ консолей и т.д)
to Gregory там найдешь то что давно искал, возможность отсылать по МИДИ произвольное сообщение, хоть один байт.
 
<div class='quotetop'>QUOTE(\"General Dead\")</div>
Я AVR программирую на асме (assembler)[/b]
Преклоняюсь. :smile: Глядел я его систему команд. Что-то около 130 (у ПИКов, среднего семейства, - 32)? Или я неправильно считал?

<div class='quotetop'>QUOTE(\"General Dead\")</div>
там найдешь то что давно искал[/b]
Тенкс! :beer: Осталось сам SoundQuest Midi Tools найти. :biglaugh:

<div class='quotetop'>QUOTE(\"General Dead\")</div>
Что тебя в протеусе интересует[/b]
Реализация более сложных схем. Сейчас, например, мне не запустить внутренний генератор таймера у ПИКа, и не удаётся подключить аналоговые транзисторные ключи. Я уже несколько форумов посетил, кроме указанного. Там народ, в основном, дистрибутив рабочий ищет. По моделированию, как-то не очень охотно разговаривают.
 
Originally posted by Gregory
Преклоняюсь. :smile: Глядел я его систему команд. Что-то около 130 (у ПИКов, среднего семейства, - 32)? Или я неправильно считал?

Тенкс! :beer: Осталось сам SoundQuest Midi Tools найти. :biglaugh:

Реализация более сложных схем. Сейчас, например, мне не запустить внутренний генератор таймера у ПИКа, и не удаётся подключить аналоговые транзисторные ключи. Я уже несколько форумов посетил, кроме указанного. Там народ, в основном, дистрибутив рабочий ищет. По моделированию, как-то не очень охотно разговаривают.

насколько я помню у PIC, 96 комманд или может я ошибаюсь, в любом случае меньше комманд не значит проще, еще немалую роль играет архитектура, например у АВР есть 32 регистра-аккумулятора общего назначения а это очень круто.
Кстати загляни в исходники МИДИ контроллнра что я выкладывал, посмотришь на код, может понравиться:smile:

есть еще Sound Quest MIDI Quest XL 9.1, что-то вроде Sound Diver только можно рулить по миди через VST плагины, есть в составе теже навороты что и в MIDI Tools, можно самому панели конструировать с фэйдерми, кнопками, индикаторами и назначать на них любое МИДИ событие (макрос), к примеру нажимаешь на экране кнопочку и передается в МИДИ какой-нибудь байт или куча байт сисекса или что хочешь, можно конвертить одни данные в другие.

Насчет Протеуса, с генератором Пика может быть либо глюк ( что очень маловероятно, протеус хорошо пики поддерживает), либо у тебя с кодом что то нетак (самое вероятное), насчет транзисторов: посмотри какая у них модель для симмуляции (digitalanalog) хотя ковырялся с транзисторами один раз, делел динамическую индикацию для АВР на семисегментном светодиодном индикаторе, все нормально работало.
 
Новая прошивка для МИДИ контроллера на ATMega16, улучшена фильтрация крутилок.
 

Сейчас просматривают