EEVblog Electronics Community Forum
Electronics => Microcontrollers => Topic started by: legacy on April 10, 2018, 11:21:04 am
-
I need to develop a fast-usb-link (10Mbyte/sec at least, 20Mbyte/sec would be better) from a linux-host to a fpga-target (3.3V)
what do you suggest?
-
FT232H? umm, what about the host-side, I mean I need to write a kernel-module for a MIPS-LE machine
-
You don't need to develop any module, use libusb. It's available on pretty much any Linux distribution. FTDI's own drivers for Linux are based on libusb. I don't think they have drivers for MIPS targets, but you can use libftdi which is open source and also uses libusb.
-
dev-libs/libusb
Homepage: http://libusb.info/ https://github.com/libusb/libusb
Description: Userspace access to USB devices
-
FT232H? umm, what about the host-side, I mean I need to write a kernel-module for a MIPS-LE machine
A MIPS-LE machine? Are you running a DECstation?
-
Not sure what the linux driver situation is, but these cypress chips are aftern used as the USB frontend to an FPGA device.
http://www.cypress.com/products/ez-usb-fx2lp (http://www.cypress.com/products/ez-usb-fx2lp)
-
I've always used a usb3343 plus the open source usb-serial vhdl core at http://jorisvr.nl/article/usb-serial, (http://jorisvr.nl/article/usb-serial,) which can easily do 30MB/s transfer. It shows up as a usb CDC (communications device class) device which most OS's have built in drivers for (it works out of the box on linux and mac os, but needs a special .inf file on windows). This is probably the cheapest solution.
I wouldn't use anything from ftdi in my products because of the attitude they have shown towards customers (look up "ftdi gate"), but there is also a usb3 to fifo ftdi chip that can do much higher transfer rates (only limited by usb3).
-
A MIPS-LE machine? Are you running a DECstation?
modern RISCs made in China are MIPS64-LE
-
thanks guys :D
-
any low-cost (<200Euro) fpga (Xilinx is my choice) with usb3343 onboard?
-
A MIPS-LE machine? Are you running a DECstation?
modern RISCs made in China are MIPS64-LE
The R2000 was pin selectable for byte sex. DEC chose LE and SGI chose BE.
-
The R2000
Umm, the SONY Playstation1's CPU is a good example of MIPS design where you can set the endianness. SONY went for LE, the firmware is LE, and every game ever developed is LE.
I am more interested in MIPS32r2 and MIPS64r2. Although nowadays MIPS are usually used for router products, a few companies located in China have already designed ATX motherboards for daily computing needs, and usually, you can't set its endianness by setting a bit during the early bootstrapping. It's hardcoded, thus you have to consider their products as LE machines.
Concerning linux, there is kernel support for LE<--> BE. Even if some kernel-driver are still bugged due to the endianness
-
anyway, my application is byte-oriented, thus not prone to endianness-issue :D