Hello, I just got a SoC board, and I want to make some music with it. The music making part I know very well from doing SIMD, and im confident this will work out for me using VHDL. But.. to get started I'm really having a hard time getting to implementing a usb port. Also with the design aspect. This being around the first thing intended to do on it, and it has a lot of odds and ends that I was actually hoping would be sort of standard implement and go type stuff. So i have a couple of questions, I have like the USB251xb and USB3300-EZK controllers. But it may be more valuable in the end to do the bare wire aproach..Right? Also I read that the power demand of devices is sent as a command at the presence of a connected usb device. So is this doable via a live pin on the FPGA, or as a space saver ultimately always better handled by the controller? Or is there a good piece of code to fit the controllers in place, that I can make in a quartus module?
:
Edited by User
Lukas Blersch wrote: > > So i have a couple of questions, I have like the USB251xb and > USB3300-EZK controllers. But it may be more valuable in the end to do > the bare wire aproach..Right? > Wrong. Since you asked here, i am assumimng you are looking for a FPGA based implementation. Bare wire is possible for low speed, but at full speed you will already have trouble to recover the clock, not even speaking of high speed. USB251xb is an USB hub. This doesn't isolate you from the bare wire. USB3300 is an USB transceiver with ULPI interface, and can be easily interfaced to a FPGA. But be aware that the USB3300 only implements the lower physical layer. Higher parts like framing, is still needed to be done in the FPGA. You can buy IP Cores for that, or try to implement it your self, a huge task even for someone with a lot of knowldege in FPGA design and USB details.
So, framing implies that the 10 bit signal gets passed but a lot of the maintenance gets done by the controller itself? I see now why this is left out.. Also I found this http://jorisvr.nl/usb/ It covers all layers right, "Only a bit to much foreign pins to find for my experience level".. Also I typed along with a tutorial, (I guess better suited to work with a board) but I get a compiler error at page UART3 line 23.. Saying ""="" Operator has no synthesizable outcome.
Lukas Blersch wrote: > > Also I found this http://jorisvr.nl/usb/ > It covers all layers right, "Only a bit to much foreign pins to find for > my experience level".. Very nice :-) But it only covers an UART implementation, USB Audio is a much tougher beast. Also it requires an UTMI Interface, the USB3300 tranceiver implements an ULPI interface (ULPI stands for UTMI+ Low Pin Interface). Main differenz boils down to UTMI using signals to control the transceiver and ULPI using commands.
It's MIDI mainly, and maybe some configuration via a dedicated ui. Tho its cool to keep in mind, Roland Aria has got that bounce to disk feature. But how to get a basic implementation going, lets say an input? How to make sense of it all? :|
:
Edited by User
Lukas Lukas wrote: > It's MIDI mainly, and maybe some configuration via a dedicated ui. > Tho its cool to keep in mind, Roland Aria has got that bounce to disk > feature. > > But how to get a basic implementation going, lets say an input? How to > make sense of it all? :| Start with reading http://www.usb.org/developers/docs/devclass_docs/midi10.pdf Next try to implment it on an µC with an USB interfaces, (i.e. AVR, PIC ....) If that is working you may think of redoing it on the FPGA.
I actually know the MIDI protocol enough to map it out once I can get the numbers in, and want to do it on the FPGA because that is my objective.. The thing is USB.. From the attachment posted (not the link) I should be able to get two or three quartus modules once I figure out the compiler error. (10327 VHDL error at UART03.vhd(23): can't determine definition of operator ""="" -- found 0 possible definitions) So it's yust to get values in to a logic analizer.
Lukas Lukas wrote: > I actually know the MIDI protocol enough to map it out once I can get > the numbers in, and want to do it on the FPGA because that is my > objective.. > The link i have provided, is not about the MIDI protocol, but about the USB descriptors a MIDI device has to present to be recognised as such. The USB Part from Joris implements a USB serial adapter using the CDC device class. > The thing is USB.. From the attachment posted (not the link) I should be > able to get two or three quartus modules once I figure out the compiler > error. (10327 VHDL error at UART03.vhd(23): can't determine definition > of operator ""="" -- found 0 possible definitions) So it's yust to get > values in to a logic analizer. RX_LINE is a vector, but you are comparing it to a single value. Attach your code directly as .vhdl, or even when it is small place it between
1 | [vhdl] ... [/vhdl] |
in the posting. This way you get a faster response from the real VHDL experts here.
Thanks for taking the time! I see now it's comparing the vector to the symbol..Ill go and have a read "probably the last thing ill get done today is to read the pdf"
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.