Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
21615 Discussions

Using DE2 as a USB learning tool?

Altera_Forum
Honored Contributor II
2,081 Views

Hi, 

I just wanted to know if anyone has developed anything for the DE2 to turn it into a USB learning tool. It would be nice to be able to use the DE2's LEDs switches buttons and LCD panel to monitor develop and debug USB activity.  

 

With that said, I have little experience with USB development, but if there were a core out there, readily compatible with the DE2, I guess i could attach the LEDs and switches to it. What does everyone else think? your input would be greatly appreciated. 

 

Thanks 

 

P.S. 

I'm just one hobbyist and cannot afford NIOS tools. I prefer to use VHDL, but any suggestions are welcome. :D
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
756 Views

What are you trying to do ? Connecting a PC through USB with a FPGA ? Sparkfun(.com) and several other webshops sell FTDI USB boards (15$) . They're easy to use and you don't actually need to know anything about the USB protocol itself . You talk to a virtual comport on the PC side, in the FPGA you programme a VHDL UART ... 

 

However if you want to study the USB protocol by itself , that's a different story ...
0 Kudos
Altera_Forum
Honored Contributor II
756 Views

yes, i'm trying to make a board that would allow me to view the characteristics of USB communication through example(debugging?). I've heard all about FTDI and everyone says that i should just use that for whatever USB related projects I have in mind. BUT, there are SO MANY projects out there that use USB. Isn't this a protocol that needs to be understood?  

 

All philosophy/politics aside, I'd simply like to learn how to write some HDL that would allow me to use the ISP1362 on the DE2, so that i can write a driver(or not, maybe winusb coudl help me) for windows and use that to further my education of USB, by later adding switches, and the SD Card, audio etc.
0 Kudos
Altera_Forum
Honored Contributor II
756 Views

The ISP1362 seems to be a bit more difficult to configure ... Have you searched the forums about this USB controller ? Doesn't seem to be as popular as the ftdi devices though ... 

 

The FTDI chips are really easy to use !! They can do JTAG too (don't know if the ISP1362 can do that ) . And you don't need to understand the USB protocol at all ! It's almost a plug & play device .
0 Kudos
Altera_Forum
Honored Contributor II
756 Views

 

--- Quote Start ---  

 

The FTDI chips are really easy to use !! They can do JTAG too (don't know if the ISP1362 can do that ) . And you don't need to understand the USB protocol at all ! It's almost a plug & play device . 

--- Quote End ---  

 

 

Thanks for the reply. 

I understand that the FTDI chips allow for ease of use, and think that it's great and we're lucky to have something so cheaply available to us. 

 

But I want to learn the USB protocol, I want to build something that log all of the actions and interactions between the host and the device, so that i could learn and understand how USB works.  

 

It might take ages to learn, but I'd still like to try. 

 

 

--- Quote Start ---  

The ISP1362 seems to be a bit more difficult to configure ... Have you searched the forums about this USB controller ? Doesn't seem to be as popular as the ftdi devices though ... 

--- Quote End ---  

 

 

Yeah, I've done a bit of searching, it seems that most topics are about getting USB working on uCLinux. I'm not sure that writting HDL for uCLinux would be the same as writting a device mode description.
0 Kudos
Altera_Forum
Honored Contributor II
756 Views

 

--- Quote Start ---  

But I want to learn the USB protocol  

--- Quote End ---  

I feel you are more inclined towards understanding the protocol. If you work as a group, you can develop the full spec quickly than working as a single person. That said, generally i have seen people dividing the project and working in groups (host controller, master state machine (USB enumeration), protocol engine, UTMI) If you want to really study the protocol, there are some very good introductions. Some of them are 

 

[1] USB in a nutshell  

http://www.beyondlogic.org/usbnutshell/usb1.shtml 

 

[2] USB by Don Anderson 

http://www.mindshare.com/files/ebook (http://www.mindshare.com/files/ebooks)/Universal%20Serial%20Bus%20System%20Architecture.pdf 

 

[3] USB specification  

http://www.usb.org/developers/docs/
0 Kudos
Altera_Forum
Honored Contributor II
756 Views

well, reading the first 2 paragraphs of the first one in your list certainly makes me feel better about waning to do this! I'll keep reading and see what i get. Thanks!

0 Kudos
Reply