DIY Interfejs MIDI pod USB

Jeśli masz pomysł jak usprawnić sprzęt lub pracę i chcesz się nim podzielić, pisz tutaj śmiało.
Awatar użytkownika
PiotrK
Posty:1517
Rejestracja:czwartek 14 mar 2002, 00:00
DIY Interfejs MIDI pod USB

Post autor: PiotrK » wtorek 12 sie 2003, 21:55

Post został usunięty.
Ostatnio zmieniony piątek 01 lut 2019, 00:03 przez PiotrK, łącznie zmieniany 1 raz.
[Użytkownik usunął konto]

Socker
Posty:7
Rejestracja:poniedziałek 14 cze 2004, 00:00

Re: DIY Interfejs MIDI pod USB

Post autor: Socker » środa 01 gru 2004, 03:14

...Jest sobie taki układ scalony, z pomocą którego z pewnością można samodzielnie wykonać... interfejs MIDI na USB (!). FT8U232BM posiada wszystko, co w tym wypadku jest potrzebne do szczęścia. Ma oczywiście linie Rx, Tx, a prędkość transmisji można ustalać dowolnie (tak więc i na 31,25 kBps dla MIDI). Przy tym można wykorzystać opcję buforowania nadmiarowych danych.

Szkopuł jednak w tym, że... programowy sterownik pod wykonany interfejs należałoby napisać samodzielnie. Do wyboru choćby języki Visual C++, Delphi, Visual Basic.

***********************************

Witam!
Nie tak dawno poszukiwałem na Forum informacji na ten temat. Przypuszczałem, że łącząc FT8U232BM z interfejsem MIDI-RS232(kit AVT-842) oraz driver-em typu ToHost, da się uzyskać interfejs MIDI-USB. Okazało się, że można to zrobić w sposób bardziej elegancki i znacznie prostszy. Na właściwy trop naprowadził mnie p. Jerzy Szczesiul z Elektroniki Praktycznej, który układ FT8U232BM zna jak nikt! Otóż, od strony elektrycznej wygląda to bardzo prosto: wystarczy typowa aplikacja kostki FT + transoptor do połączenia z pętlą prądową MIDI i to wszystko! Taki układ jest jednak dla komputera "nieznanym urządzeniem USB" i potrzebne są jeszcze odpowiednie sterowniki, można napisać je samodzielnie, ale niekoniecznie...

W dużym skrócie,wygląda to tak:

Driver ToHost spełnia rolę wirtualnego portu MIDI,który sprzęga wybrany COM z aplkacjami muzycznymi. W chwili uruchomienia np. Cubase-a, ToHost przejmuje kontrolę nad COM-em; wysyła i odbiera dane MIDI wykorzystując jedną z możliwych w PC-cie prędkości, dokładnie 38400 bps.

Z kolei sterowniki FTDI do kostki FT8U232BM (o nazwie "Virtual Com Port", bo są jeszcze inne), tworzą w systemie dodatkowy port COM, o kolejnym numerze, który jest widoczny dla innych programów tak jak zwykły port szeregowy wbudowany w płytę główną.

Wystarczy więc przy konfiguracji ToHost-a wybrać ten właśnie nowy COM. W folderze ze sterownikami VCP jest plik o nazwie FTDIPORT.INF, zmieniając w nim (przed instalacją tychże sterowników) odpowiednie wartości, można prawie dowolnie ustalić prędkość transmisji dla FT8U232BM. Wystarczy więc wartość określoną dla prędkości 38400 zastąpić wartością dla 31250, wtedy ToHost, który ustawia COM na 38400, w rzeczywistości przełączy na 31250...

Jednakże... na komputerze z Windows XP, z trzech dedykowanych dla tego systemu driver-ów ToHost które sprawdziłem, tzn. Yamahay, Rolanda i Korga, tylko driver Rolanda i Korga chce współpracować z takim wirtualnym portem COM, przy próbie użycia Yamahy pojawia się komunikat: "Not available,already in use by an other application!". Z kolei "pod" Windows 98 działa Roland i Yamaha, natomiast Korg domaga się podłączenia któregoś ze swoich instrumentów z zegarem ustawionym na 38400 bps...

W praktyce przedstawiony powyżej interfejs spełnia swoje zadanie, testuję go od kilkunastu dni i mogę powiedzieć, że ze wspomnianym driverem Korga w systemie XP, działa bez zastrzeżeń.

Opisywane rozwiązanie jest oczywiście "drogą na skróty", idealnym
wyjściem byłoby na pewno napisanie własnego driver-a, tym bardziej, że FTDI udostępnia obszerną dokumentację do FT8U232BM...


Pozdr.



P.S.

Sterowniki ToHost można znaleźć m.in. tutaj, natomiast więcej o FT8U232BM tutaj, tutaj, tutaj a także tu.

ODPOWIEDZ