Giter Site home page Giter Site logo

Comments (6)

WangXuan95 avatar WangXuan95 commented on May 22, 2024 1

Did my original code works well? Before adding your vendor specific descriptor, it is recommended to run my original design.

from fpga-usb-device.

WangXuan95 avatar WangXuan95 commented on May 22, 2024 1

I mean you should do it step-by-step. There's no need to run in the NIOS SOPC system for the first time. You can directly build a simple RTL-only FPGA project, including my Verilog code (without any modification), soldering the USB circuit, and trying to run it on board. If success, when you plug the USB to PC, you will see the USB-CDC device. After this simple RTL-only project is verified, you can try to integrate it to NIOS SOPC system.

from fpga-usb-device.

WangXuan95 avatar WangXuan95 commented on May 22, 2024 1

There's a RAM wire [7:0] descriptor_rom [1024] in usb_cdc_top.sv. You can modify it to make your own descriptor, including device descriptor , string descriptor , configuration descriptor , interface descriptor , endpoint descriptor ... . This will need some USB developing skills to understand the meaning of these descriptors. Maybe you need to learn USB specification first.

BTW, a quick way for you to make your own descriptors is to use the software called 'USBlyser'. Using USBlyser, you can view and copy the descriptors from existing USB devices (such as your mouse and USB disk), and of course, this way can only let you to 'copy' the existing USB devices to FPGA.

Besides the descriptors, note that my usbfs_core_top.sv only offers two endpoints: endpoint 0x01 for data sending and endpoint 0x81 for data receiving. So it cannot realize some complex USB devices (such as USB-hub or multichannel USB-serial) which has more endpoints. Unless someone modify my usbfs_core_top.sv , which is quite difficult. But don't worry, quite a few USB devices use only two endpoints.

from fpga-usb-device.

ExcielAT avatar ExcielAT commented on May 22, 2024

I have not start that part.
I think vendor specific descriptor setting is a bit hard for me, because its first time i work with usb interface.

from fpga-usb-device.

ExcielAT avatar ExcielAT commented on May 22, 2024

Yes. That's what i did, in fact, works perfect. And after that I did incorporate it to NIOS and works perfect every time I configure it using DE0-NANO and CDC descriptor setting. I use your first recommended setting. What I mean is that I need the way to build using vendor specific settings.

from fpga-usb-device.

WangXuan95 avatar WangXuan95 commented on May 22, 2024

I‘ve updated this repo in 2022.10. Now it is more convenient to customize descriptors, and provide more examples of USB devices (UVC camera, UAC audio, and USB disk). If you need to develop other USB devices, please read readme.md.

from fpga-usb-device.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.