Comments (6)
Did my original code works well? Before adding your vendor specific descriptor, it is recommended to run my original design.
from fpga-usb-device.
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.
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.
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.
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.
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)
- 语法不严谨?导致综合出错 HOT 2
- Device descriptor request failure HOT 15
- USB主时钟可以做48MHz的吗 HOT 1
- License missing HOT 2
- Always on HOT 3
- Would you provide firmware about usb device?
- 求比特位边缘检测信号快慢原理,dpv信号为什么能代表j信号的原理 HOT 1
- USB Low-Speed support? HOT 2
- a Question and issue HOT 1
- GPL3.0 HOT 4
- 您好,方便发个邮箱吗?
- 每个example占用的fpga资源方不方便给一个表? HOT 2
- systemverilog转换到 verilog问题 HOT 3
- 新手
- Computer connection HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fpga-usb-device.