Intel® FPGA University Program
University Program Material, Education Boards, and Laboratory Exercises

USB Without NIOS

Altera_Forum
Honored Contributor II
2,013 Views

Is anyone aware of some sample HDL code that accesses the DE2 USB chip (ISP1362) as a Device WITHOUT NIOS or any other processor implementation? In other words, by just programming a Verilog or VHDL state machine to access the chip?

0 Kudos
14 Replies
Altera_Forum
Honored Contributor II
533 Views

hello, 

 

It might be a bit too late, but I have recently developed exactly what you are looking for - you can find it here: 

 

http://mzakharo.github.com/usb-de2-fpga/
0 Kudos
Altera_Forum
Honored Contributor II
533 Views

A first sight, the project seems to implement a quite lean ISP1362 VHDL interface (338 LEs for the LED control demonstration).

0 Kudos
Altera_Forum
Honored Contributor II
533 Views

Hi mzakharo 

 

I'm trying to use your nios free implementation of usb device. The thing is that my windows7 64bit never recognize the connected device, although I installed the suggested driver. Is there any Wiki or Forum which would provide help? 

 

Thanks a lot for your work
0 Kudos
Altera_Forum
Honored Contributor II
533 Views

hmmmm.... i don't know that, but I will try to look for some informations that maybe useful

0 Kudos
Altera_Forum
Honored Contributor II
533 Views

I am currently looking into a USB option with NIOS and I came across this post. I looked up the ISP1362 but it doesn't seem to be sold by phillips any more. Can this design be adapted to some other USB controller that is more available ?

0 Kudos
Altera_Forum
Honored Contributor II
533 Views

 

--- Quote Start ---  

Hi mzakharo 

 

I'm trying to use your nios free implementation of usb device. The thing is that my windows7 64bit never recognize the connected device, although I installed the suggested driver. Is there any Wiki or Forum which would provide help? 

 

Thanks a lot for your work 

--- Quote End ---  

 

 

 

Ok - I assume that after you load the fpga image to the board, and connect the USB cable, you get the familiar 'USB device not recognized' balloon message in the task bar.  

 

To solve this - you would need to 'install the driver manually'. Here is the tutorial on how to do that: 

 

http://windows.microsoft.com/en-us/windows-vista/update-a-driver-for-hardware-that-isnt-working-properly
0 Kudos
Altera_Forum
Honored Contributor II
533 Views

 

--- Quote Start ---  

I am currently looking into a USB option with NIOS and I came across this post. I looked up the ISP1362 but it doesn't seem to be sold by phillips any more. Can this design be adapted to some other USB controller that is more available ? 

--- Quote End ---  

 

 

I dont see why not - the devreq.vhd is generic to a subset of USB 2.0 spec - so no changes needed. Depending on the device you choose, you would need to update hal.vhd to the specifications of the bus interface of the new device, and finally drv.vhd configuration and interrupt handling sequence.  

 

To reduce the amount of work, I suggest trying to find the ISP1362 from sources like alibaba.com, or contact Phillips and ask them what device they currently sell that implements similar functionality that is most related/or derived from ISP1362.
0 Kudos
Altera_Forum
Honored Contributor II
533 Views

Thanks for all your replies. Using this VHDL code, once the USB data comes in where is it placed \ directed ? Can it trasnfer the data to some internal On Board memory ?

0 Kudos
Altera_Forum
Honored Contributor II
533 Views

I have updated the documentation - please re-download the source code from the website. Please read the README and I would also look closer to the end of usb.vhdl for answer to your question.

0 Kudos
Altera_Forum
Honored Contributor II
533 Views

 

--- Quote Start ---  

Ok - I assume that after you load the fpga image to the board, and connect the USB cable, you get the familiar 'USB device not recognized' balloon message in the task bar.  

 

To solve this - you would need to 'install the driver manually'. Here is the tutorial on how to do that: 

 

 

--- Quote End ---  

 

 

First of all, thanks for your response! Unfortunately your driver which you are providing does not work on windows7 64 bit. Can I use the driver from libusb? 

 

fisa
0 Kudos
Altera_Forum
Honored Contributor II
533 Views

 

--- Quote Start ---  

First of all, thanks for your response! Unfortunately your driver which you are providing does not work on windows7 64 bit. Can I use the driver from libusb? 

 

fisa 

--- Quote End ---  

 

 

I have tested it to work under Windows 7 64bit SP1. You can try re-generating the driver from libusb-win32. Good luck!
0 Kudos
Altera_Forum
Honored Contributor II
533 Views

mzakharo, no, it's never too late. It appears you have done an excellent job here. At some point I switched over to the Saxo-L board from KNJN with a smaller, but adequate, Cyclone and an easier USB device. But I am very interested in your code. Thank you!

0 Kudos
Altera_Forum
Honored Contributor II
533 Views

Oh cool - this board is using a very neat USB controller, I like the implementation of FIFO interface to the USB chip: 

 

http://www.knjn.com/docs/knjn%20fx2%20fpga%20boards.pdf - section 13. 

 

Maybe the Altera DE-2 project I/O interface can be extended to use something like it. Right now I think the I/O interface is a bit lacking in flow-control features.
0 Kudos
Altera_Forum
Honored Contributor II
533 Views

 

--- Quote Start ---  

I have tested it to work under Windows 7 64bit SP1. You can try re-generating the driver from libusb-win32. Good luck! 

--- Quote End ---  

 

 

Hi mzakharo 

 

It's finally working.. don't know why but windows now accepts the driver :)! Anyway thx for your help!
0 Kudos
Reply