Is the prop fast enough to do usb when overclocked?
This question has probably been asked a million times, but can the prop handle usb·when it's overclocked?· What speed is the limit for overclocking?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Quit buying all those fixed voltage regulators, and·get an Adjustable Power Supply·for your projects!· Includes an LED testing terminal!
(no longer new) SD Card Adapter·Now available!· Add extra memory to your next Propeller project with ease!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Quit buying all those fixed voltage regulators, and·get an Adjustable Power Supply·for your projects!· Includes an LED testing terminal!
(no longer new) SD Card Adapter·Now available!· Add extra memory to your next Propeller project with ease!
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Leon Heller
Amateur radio callsign: G1HSM
Low-bandwidth rate of 1.5 Mbit/s (~183 KB/s) is defined by USB 1.0.
Full-bandwidth rate of 12 Mbit/s (~1.43 MB/s) is the basic USB data rate defined by USB 1.1. All USB hubs support full-bandwidth.
A hi-bandwidth (USB 2.0) rate of 480 Mbit/s (~57 MB/s) was introduced in 2001. All hi-bandwidth devices are capable of falling back to full-bandwidth operation if necessary; they are backward compatible. Connectors are identical.
A SuperSpeed (USB 3.0) rate of 4.8 Gbit/s (~572 MB/s). The written USB 3.0 specification was released by Intel and partners in August 2008.
The prop can handle the 1.5Mb/s data rate and possibly the 12Mb/s with a dedicated cog. The USB 2.0 and 3.0 data rates are beyond what the prop could handle. I doubt very much that the prop has the memory and processing power to be a USB host, but it might be possible to use it as a simple USB device (HID) such as a keyboard or mouse emulator, game controller, etc.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Quit buying all those fixed voltage regulators, and·get an Adjustable Power Supply·for your projects!· Includes an LED testing terminal!
(no longer new) SD Card Adapter·Now available!· Add extra memory to your next Propeller project with ease!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Leon Heller
Amateur radio callsign: G1HSM
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
It has been pretending to be a USB serial converter for 2 years now 24/7, so I'd say it's usable.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You only ever need two tools in life. If it moves and it shouldn't use Duct Tape. If it does not move and it should use WD40.
Can you elaborate? Maybe I missed something...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You only ever need two tools in life. If it moves and it shouldn't use Duct Tape. If it does not move and it should use WD40.
Does this mean that we don't have to use an FTDI chip to load a propeller? Could we just use another propeller instead?
In what context? You can already use another propeller to load a propeller using the propeller loader object Chip wrote.
I've sustained 38k baud with the cdc-acm usb-serial code, and that is fast enough to load a prop (but a lot slower than the 115k the Parallax tool uses). In theory you could use a Propeller emulating a usb-serial port to slowly load a prop, yes. The downsides are :
Linux requires a kernel patch to allow bulk endpoints on a low_speed device.
Windows requires an .inf file to recognize the device.
OSX just works (wooo!).
And of course you are limited to about 8 K bytes/second absolutely flat maxed out.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You only ever need two tools in life. If it moves and it shouldn't use Duct Tape. If it does not move and it should use WD40.
How many cogs are required for 9600 baud ? This could be very useful for cost sensitive projects that need to communicate with a PC via USB. It would save the cost of the FTDI chip.
Also, since the FTDI chip is not available in DIP, it would allow "kit" products that require all thru-hole components.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use BASIC on the Propeller with the speed of assembly language.
PropBASIC thread http://forums.parallax.com/showthread.php?p=867134
March 2010 Nuts and Volts article·http://www.parallax.com/Portals/0/Downloads/docs/cols/nv/prop/col/nvp5.pdf
·
2 cogs for pretty much any of the USB stuff. One handles the MAC and one handles the application layer.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You only ever need two tools in life. If it moves and it shouldn't use Duct Tape. If it does not move and it should use WD40.
COOL. What speed can be had using only 2 cogs ?
I'm going to have to find some time to experiment with this idea.
Bean
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use BASIC on the Propeller with the speed of assembly language.
PropBASIC thread http://forums.parallax.com/showthread.php?p=867134
March 2010 Nuts and Volts article·http://www.parallax.com/Portals/0/Downloads/docs/cols/nv/prop/col/nvp5.pdf
·
The limit is not the cogs or the prop speed, it's 8 byte packets at 1Khz which is the low speed usb limits. So if all is going according to plan you can get 8kB/s through in one direction. In practice it's less than that upstream as there is a windows usb stack bug that requires pacing the reply packets. It's not extremely slow. Don't think of it in terms of baud rate, as you set the beud rate on the serial port like any other port, but the data comes and goes as fast as the transport allows.
I registered a couple of VID/PID pairs for some of the USB stuff I was toying with. I'll have to dig them out and get a proper .inf file whacked up for windows.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You only ever need two tools in life. If it moves and it shouldn't use Duct Tape. If it does not move and it should use WD40.
Okay, I think I see what you mean. Data comes, and data goes, but not at any set rate.
I somehow thought that "universial serial bus" would be serial. Silly me...
Yeah a working .INF would help me alot. Thanks.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use BASIC on the Propeller with the speed of assembly language.
PropBASIC thread http://forums.parallax.com/showthread.php?p=867134
March 2010 Nuts and Volts article·http://www.parallax.com/Portals/0/Downloads/docs/cols/nv/prop/col/nvp5.pdf
·
Well, it is half duplex balanced serial with single ended signaling for end of packet or forced error states. Low speed runs at a signaling rate of 1.5Mhz. It uses an NRZI encoding with 6 bit bit-stuffing. Data is transfered in packets with a length mod 8. It's a master-slave protocol where the PC end polls the slave to send it data or ask for it back. There is a not-insignificant overhead associated with all the housekeeping, and with low speed you are limited to 1000 packets per second from the host and a payload length of 8 bytes. You then have both a 5 and a 16 bit CRC on parts of the packet and have a very specific timeframe with which to process and return a handshake. The whole thing is designed so you can split the bus with hubs, and cope with the propagation delays associated with that while still meeting timing deadlines on all the other ports.
The usb stuff I knocked up for the Prop has enough timing leeway to cope with a 3M cable and one hub and still return a packet within the spec. If we disable the CRC checking then we are fully timing compliant. Having said that, the soft-AVR stuff does not even check the packet CRC's and just returns an ack regardless.
It's has quite a few intricacies when you get into it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You only ever need two tools in life. If it moves and it shouldn't use Duct Tape. If it does not move and it should use WD40.