Diyfactory Forum
Основные форумы => Музыкальное оборудование => Тема начата: EternalEngine от Июля 20, 2009, 06:38:20 pm
-
Господа, очень нужна ваша помощь. Поделитесь пожалуйста схемкой и прошивкой/исходником USB-MIDI адаптера. Лучше для ATmega, можно и на PIC. Или хотябы исходник для хоть какого нибудь контроллера. Уде месяц ищу, всё облазил - нигде не могу найти. :wacko: :(
-
http://ucapps.de/mbhp_usb_gm5.html (http://ucapps.de/mbhp_usb_gm5.html)
http://ucapps.de/mbhp_usb.html (http://ucapps.de/mbhp_usb.html)
http://ucapps.de/mbhp_usb_pic.html (http://ucapps.de/mbhp_usb_pic.html)
там только реализовано вроде через vcom....хотя видел в сети проект который был на hid ....вот только не помню где ))
-
c vcom то всё просто... а вот как через hid?))))
-
а наверное так (http://www.google.ru/search?ie=UTF-8&hl=ru&q=usb%20midi%20HID&redir_esc=y&ei=9W9mSv3EMYmj_AaD2rVk)
-
и так смотрел - пусто))). может у кого есть прямая ссылка или собственные разработки?
-
Привет!
Зимой собирал себе драм-контроллер по схеме с http://www.megadrum.info/ (http://www.megadrum.info/) . Там МИДИ реализовано на PIC 18F2550, вроде, специально для ЮСБ-МИДИ разработанный контроллер. Там и схема и прошивка. Может поможет.
-
Привет!
Зимой собирал себе драм-контроллер по схеме с http://www.megadrum.info/ (http://www.megadrum.info/) . Там МИДИ реализовано на PIC 18F2550, вроде, специально для ЮСБ-МИДИ разработанный контроллер. Там и схема и прошивка. Может поможет.
спасибо, посмотрю! :)
Мне интересно исходники посмотреть какие нибудь, чтою портировать их на мегу...
-
HID и CDC (виртуальный ком-порт) - неудачный вариант, ибо потребуют
написания драйверов с комповой стороны. Стоит реализовать стандартный
USB класс MIDI Streaming (подкласс USB Audio Device), тогда драйверов
под любой операционкой не потребуется, полный plug&play :-)
Ближе к теме - берем любой контроллер с железным usb на борту,
качаем к нему usb framework от производителя, добиваемся работы
примеров. После этого останется заполнить таблицу дескрипторов для USB-MIDI, реализовать два bulk endpoint-а (на отправку и получение) и написать
простенький парсер для разбора миди-команд.
-
У Diz как всегда всё элегантно))). а можешь примерчик какой нибудь посмотреть дать (например для AT90usb)? не разу с юсб контроллерами дело иметь не приходилось, а в интернете информационный вакуум по данномк вопросу...
-
Хехе.
Ну, для начала стоит почитать о USB вообще - http://www.beyondlogic.org/usbnutshell/usb1.htm (http://www.beyondlogic.org/usbnutshell/usb1.htm) Там же есть примеры для пика. На русском есть книжка
Агурова (хотя и дюже отстойная).
А потом на сайт атмела, качать примеры реализации какого-нибудь USB serial - их проще адаптировать, те же два bulk endpoint-а + control endpoint (для миди не нужен).
Таблицу дескрипторов для USB-MIDI можно содрать прямо из официальной
спецификации класса с usb.org
Будут конкретные вопросы - помогу :-)
-
спасибо! :D
-
посмотрел. то что знал - и так понятно, то что не знал - так и не понял)))). видать опыта у меня пока маловато чтоб самостоятельно разобраться. может всётаки завалялся у кого какой-нибудь исходник - хоть понять как алгоритм организован.
с USB как таковым всё ясно.
скачал примеры на AT90USB - шифровки на вражеском языке...непонятно(
по самим AT90USB тоже информационный вакуум (даже на вражеском)
скачал специффикацию юсб для аудио - сейчас пытаюсь воткнуть, пока безрезультатно.
-
Да, посмотрел - framework у атмела явно писали индусы :-)
А так суть очень проста. Разбираешься с примером CDC, не залезая в
дебри их библиотеки - достаточно понять, как и откуда вызываются высокоуровневые функции отправки и приема байта.
В usb-midi будет тоже самое, только читать надо не байт, а пакеты по 4 байта (три из них - готовое сообщение 'традиционного' serial midi, и один добавочный, обозначающий номер кабеля).
Останется заполнить таблицу дескрипторов и выкинуть все лишнее.
PS Могу показать проект двухканального адаптера USB<->Serial MIDI на
древнем и снятом с производства CY7C64613 (EZ-USB, 51-й камешек).
Впрочем, это мало поможет :-)
-
Diz, я скачал книжечку Агурова о USB. Сейчас читаю про организацию передачи данных. Я вот думаю - возможно ли сделать софтверный УСБ например на той-же меге48?
-
Можно сделать кривой low-speed (для midi требуется full-speed), но зачем ?
Это же изврат ! Камешки с железным usb стоят недорого и никаких проблем.
PS http://www.obdev.at/products/vusb/index.html (http://www.obdev.at/products/vusb/index.html)
-
хм, незнал. я думал что 1,5Мб будет достаточно...
З.Ы. спасибо за ссылку.
-
В принципе, достаточно, т.к. MIDI нужно 31.25 кБит. Но low speed usb не могут иметь bulk endpoints, используемых в MIDI-USB.
-
т.е. если я всё правильно понял стандартный драйвер с ними работать не сможет?
-
Не пробовал, но думаю, что хост просто отвегнет такое устройство
(low-speed и с bulk endpoints).
-
я тоже так теперь думаю. придёся дальше голову ломать...
-
А есть какие нибудь usb библиотеки для Codevision? оченьуш мне нравится этот компилятор?
-
А какая разница ? Если библиотека на Си, то допилить под свой компилятор обычно не проблема.
-
В Codevision нет описания функций USB.
З.Ы.
Diz, ты же вроде на GCC пишешь? может посоветуешь какую нибудь книжечку для WinAVR и описание работы усб в нём.
-
Не понятно. Каких таких функций usb и описания ? Нужна библиотека да хедеры с описанием периферии камешка.
Или имеется в виду, что CV не поддерживает AVR с USB (нет нужных хедеров) ?
Книжку не подскажу, но инфы в сети просто навалом - в том числе и официальная документация. Для начала стоит потратить несколько дней
и разобраться с make и устройством makefile-ов - тогда все будет гораздо проще.
-
да, нет хедеров для at90usb82 и 162...(
-
Можно взять их из WinAVR (посмотрел, в версии 20080610 есть) и допилить.
Или сразу перейти на него :-)
-
Вот начал изучать ARM7 на LPC2148 USB. Хотелось бы убить двух зайцев: разобратся с усб и сделать переходник усб в миди.
Если кто делал такие модули на LPC, то я был бы очень рад любой помощи.
-
Рекомедую библиотеку lpcusb: http://sourceforge.net/projects/lpcusb/ (http://sourceforge.net/projects/lpcusb/)
Использовал, основательно перепахав на свой вкус. Она значительно лучше библиотек от Keil и IAR.
Дескрипторами для USB-MIDI могу поделиться, да и не только.
На каком железе будешь отлаживаться (какой-нибудь evaluation board) ?
-
Дескрипторами для USB-MIDI могу поделиться, да и не только.
На каком железе будешь отлаживаться (какой-нибудь evaluation board) ?
отлично, можешь залить на какой нибудь хост? или лучше по мылу? заранее благодарю)))
на счёт отладочной платы я пока не определился. может проще будет сделать свою по технологии ЛУТ. Запаять чип, вывести пины его на разъёмы+ питание +usb +ft232rl на usart0 (я на сколько понял можно и без JTAG обойтись - заливать прошивку по ISP через usart0?)
З.Ы. очень хотелось бы посмотреть на схему минимальной обвески на всякий пожарный, дабы ничего не напотрачить из за непонимания
-
Ок, давай мыло.
ЛУТом имхо будет геморно - у LPC2148 шаг ножек 0.5 мм.
Можно купить отладку от starterkit.ru или olimex.
Минимальную обвязку смотри там же у olimex: http://olimex.com/dev/images/lpc-h2148-sch.gif (http://olimex.com/dev/images/lpc-h2148-sch.gif)
A JTAG лучше вывести на всякий случай.
-
Ок, давай мыло.
ЛУТом имхо будет геморно - у LPC2148 шаг ножек 0.5 мм.
Можно купить отладку от starterkit.ru или olimex.
Минимальную обвязку смотри там же у olimex: http://olimex.com/dev/images/lpc-h2148-sch.gif (http://olimex.com/dev/images/lpc-h2148-sch.gif)
A JTAG лучше вывести на всякий случай.
light_here(а)mail.ru
Я вот эту (http://www.sparkfun.com/commerce/product_info.php?products_id=676) присмотрел. Такой мини переходник с обвеской в придачу. Что скажешь?
-
Отправил.
Штука хорошая, как раз на нее я дал схему. Хотя стартеркит.ру,
наверное, будет дешевле и мощнее по обвязке. Надо посмотреть,
сколько стоит олимекс у наших дилеров (терраэлектроника).
-
Принял. Буду разбираться. :D
А не подскажешь какой нить бутодер, чтоб обновлять прошивку по усб?
З.Ы. кстати интересно, есть ли нормальная среда с GCC под OS X?
-
Примеры бутлоадера для USB были у NXP, но это не для разработки, а
для использования в готовом устройстве. Сам не пользовал.
Многие пользуют Eclipse с CDT - наверное, есть версия и под мак.
Лично меня от Eclipse воротит :-)
-
А какую среду вобще посоветуешь юзать?