Jump to content

Preview: MBHP USB module


TK.
 Share

Recommended Posts

To finish the endless USB discussions, I finally decided to realize a MBHP USB module based on the Cypress AN2131SC. This chip has some advantages compared to ready-made serial USB solutions:

  • 8051 compatible (I already programmed some applications with 8051 derivatives some years ago)
  • 2 UARTS (-> 2 MIDI INs, 2 MIDI OUTs)
  • 8k internal SRAM - only a few number of external pins have to be connected; this reduces the probability for failures
  • 2-stage bootstrap loader allows to transfer the firmware via USB to SRAM without the need for a EPROM or FLASH programmer
  • no propritary USB solution, allows the implementation based on official USB-MIDI specs from http://www.usb.org therefore this module will run under Windows, Mac, Linux without a dedicated driver
  • free development environment & good documentation
  • Since this quarter the chip is available @ Reichelt for 10.50 EUR, therefore it's really a long-term solution
  • In the US it is available @ Digi-Key for US $10.53
  • the whole module (components, plugs + PCB) will cost about 20 EUR
  • can also be used as MIDI merger and processor, but further enhancements (mini MIDI controller or similar) are not planned from my side (the chip is too slow for such tasks, and MIOS is the better solution for this purpose)
  • implementation in assembler and/or C, code will be published under GNU public license

an2131sc.gif

Disadvantage: it's a SMD chip. But this will not be my problem ;-) It has only 44 pins and the pitch is large enough for a common soldering iron with a small tip (="loetspitze")

Mike wrote me that he is able to handle with the SMD size, so a PCB will be available once I've finished the firmware development.

Best Regards, Thorsten.

Link to comment
Share on other sites

Thorsten-

Do you think that USB communication could ever be used for other storage dumps such as bank information to a PC? I know a sysex dump would be the same, but do you think it will ever be possible to store a single file of bank information and retrieve it in a drag and drop manner?

Awesome job with the USB, I can't wait to check it out!

-Sephult ;)

Link to comment
Share on other sites

thanks thanks thanks - but please wait with your praises until I've finished the module ;-) I will get two AN2131SCs in the next days, thereafter I will create the layout for a prototype board, Mike will make the PCBs, afterwards I can begin with the firmware development. This procedure can take some weeks. However, I don't expect problems, since I got an example application running on a (borrowed) evaluation kit from Cypress

Sephult: it's not clear to me what you exactly mean. Bank and firmware exchange via MIDI (resp. USB-MIDI) is already possible; Drag and Drop is something which has to be supported at the "other" side (e.g. by a windows application) and this is not my job ;-) The basics are already available - you are able to access the flash, EEPROM and BankStick memory via MIDI

Best Regards, Thorsten.

Link to comment
Share on other sites

Yesterday I received the AN2131SC and like every time I couldn't resist to test the chip without creating a PCB. However, this time it was a little bit difficult - soldering SMD on a breadboard doesn't make fun. But finally I was able to create some kind of carrier board with a lot of cables:

mbhp_usb_proto1_2.jpg

(it looks like a neuronal experiment ;-))

metropolis.jpg

Some additional logic was necessary for the voltage conversion, the MIDI In/Out ports and LEDs:

mbhp_usb_proto1_1.jpg

But this was enough to develop the EZ-USB firmware.

After some hours and 100 windows crashes:

mbhp_usb_proto1_3.gif

...the MIDI ports have been regognized by Windows as "USB-Audioger#t" (USB Audio Device). Unfortunately the M$ driver doesn't allow me to change this name. However, the performance is cool (< 1 ms latency) and I noticed no buffer overruns yet. Hopefully the firmware will also work with other windows versions --- this will be a challenge :-/

Best Regards, Thorsten.

Link to comment
Share on other sites

Guest opiumx

TC - You do all this work, and dont even have a paypal donation link on your site? I highly recomend it, unless you are totally against charity. But, you put alot of work into this stuff, unless you get some sort of strange kick out of it, hehe. I would donate! And Im sure others would as well.

Link to comment
Share on other sites

RE:

"TC - You do all this work, and dont even have a paypal donation link on your site? I highly recomend it, unless you are totally against charity. But, you put alot of work into this stuff, unless you get some sort of strange kick out of it, hehe. I would donate! And Im sure others would as well."

maybe you should tell us when your birthday is, and put up a birthday wish list so we can give you something you like, as some sort of goodwill gesture! (to put it into legalistic terms! ;)

well I hope we are all having fun!

bye, from Steve

Link to comment
Share on other sites

maybe you should tell us when your birthday is, and put up a birthday wish list so we can give you something you like

...that sounds cool - i join in - the midibox-community fulfill TK's bithday wishes! - let's make it real  ;D

So, TK - what is YOUR desire ?!

- laughing lemonhorse

Link to comment
Share on other sites

The reason why I haven't started with a public PayPal account yet is that I want to prevent that people transfer much money to my account in the hope that I would do some individual extra work for them (developing a customized hardware or something similar). Sometimes it's really difficult to explain them that I only want to realize things which are interesting for myself, which brings the running projects forward and which helps me to improve my knowledge about electronic and software development. I guess that most of the people who are working on free stuff are thinking the same. The MIDIbox projects are just my personal contribution to the public domain, my "thank you" for the free stuff which I'm using for my own work.

However, donations... hmmmm.... maybe somebody of you know the good old days before internet when public domain names requested to send them postcards. It would be nice to see some pictures of the country/state/city/township from where you are coming from. I'm also very happy with CDs from your own music or from your favourite artist (I remember: Steven started with it some months ago, and in the meantime I own a nice collection of special CDs, donated by MIDIbox users, which I mostly hear during my tinkering sessions :))

Best Regards, Thorsten.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Hi Thorsten!

I'm about to buy a MIDI-interface, but I guess building my own would be way cheaper. Could you allready give a rough estimate about the time it might take you to realease the MBHP USB module code and schematics?

I really appreciate all the time and effort you put into the whole project!

Dr. Nick

Link to comment
Share on other sites

okok, before you've to wait endless for the complete documentation, you will find now all the stuff which is required to get this module running under

Concepts->MBHP->USB

Please read it carefully, this projects isn't suitable for beginners (because of the SMD chip)

Best Regards, Thorsten.

Link to comment
Share on other sites

Yuppie!!!!

Geiles PCB übrigens... Gibts das schon bei Mike? Ich muss ja schliesslich auch gleich eine bauen  ;D

/edited 1 day later:

oooops  :P I posted german in the english forum lol

Heres the translation:

Cool designed PCB... Is it allready available from Mike? I have to build an usb module NOW!  ;D

PS: very well done PCB smashtv! I'm thinking to order it from you with the panasonics when im back...

Link to comment
Share on other sites

Mike is currently on vacation, but I will ask him next week.

Btw.: the PCB layout has been created by SmashTV - thanks a lot!!! :-)

And of course, you can also order the board from him (he should be back on friday)

Best Regards, Thorsten.

Link to comment
Share on other sites

this USB-MIDI driver is obsolete and doesn't work with the current Linux version, the update has been partly integrated into the kernel, partly into ALSA... I will write something about the required installation steps so soon as I've some time (my own Linux installation is fairly old, I've to update the kernel, some libraries, etc. to get ALSA 0.9.3 or 0.9.4 running..).

Best Regards, Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...