I wish I could have had this webinar series a year ago when I got thrown into designing embedded USB into a new system. Fortunately I had source code from another engineer's design that I could refer to, but a lot of it I had to develop through trial and error. Not the easist way to go, that's for sure!
Merci for the calculation...The device use a STM32F103 32bit controller. I think the float are defined at 32bit (4 bytes). I have to read more on the IAR EWARM compiler I am using... This means I could theoretically push it to 64 devices...
Now, the trick is to turn the payload into a HID payload. And convert it back on the host.
For an embedded system, assuming you have the resources to use these protocol capabilities, I would go the USB 3.0 because it is a more general standard.
If it is for your personal use, it all depends what you want to use a peripherals. For an external Mass Storage, I would go with Thunderbolt just because it would save me time when I want to do a backup!
Can you achieve a overall sampling rate of 100Hz for up to 32 USB FS devices connected, when the payload is 4 floats per device. Could this be achieve with HID/Joystick type class, or should I go directly with a custom class??
We will have to do the math. First, HID is the right class to use, because it is peioritized by the Host.
(Your 4 floats are 64 bits each? this would mean 32 bytes per transfer)
Second, let's look at the Full Spee table for Interrupt transfer using 32 bytes transfer and see the maximum throughput.
At 100Hz, that would mean once every 10 frames. Or stated otherwise, that would mean you can server 3.2 device per frame and have covers the 32 devices in 10 frames.
An example of a simple USB communication would be helpful. Like from a mouse. Also, Christian, I'm interested in which USB protocal analyzers are available for low cost, and what is gained from a more expensive analyzer.
Tomorrow, I will give an example of how a Device is recognized by a Host and the complete enumeration process.
Low cost, good Price/Performance ratio analysers woudl be products from TotalPhase.
Ellisys protocol analysers are a bit more expensive but have better presentation of information. Ellisys also provides a USB Generator that is very useful when you want to test a Host as we will see Friday.
Can you achieve a overall sampling rate of 100Hz for up to 32 USB FS devices connected, when the payload is 4 floats per device. Could this be achieve with HID/Joystick type class, or should I go directly with a custom class??
It would be nice to provide a few examples from start to finish how a USB packet works with a real device.
This is what a protocol analyzer will bring you.
This is more difficult with the format of these webinars. WHen I do hands-on classes at Design East or Design West, this is exactly what we do. Attendees have access to hardware and protocol analyzers and we look at the various transfer types and USB Classes.
An example of a simple USB communication would be helpful. Like from a mouse. Also, Christian, I'm interested in which USB protocal analyzers are available for low cost, and what is gained from a more expensive analyzer.
Christian: About the ZLP; I understand is is only true for N*max_size. ITs good to have that confirmed because I could not find the text in the standard that stated so ... for DATA transfers. I found the text explicit for CONTROL transfers.
I'm here to learn about designing with USB in general. I'm also interested in isochronous data transfers for multiple video streams, with some way to know when each image was captured by the cameras. Thanks for your presentation.
Hi Christian: I am trying to understand the bandwidth calculation. Is there a link with more details? I just need to walk through one computation to understand the rest. Thanks!:
The 2 previous slides to the tables give you how to interpret the tables. If you feel this in not enough, the only other reference I can think of is the USB spec itself.
This is exactly why I suggest that if you want to implement USB in a product, please use Commerical of the shelf components and software stack. Don't reinvent the wheel. USB is plug-and-play, but only because a lot of people spend a lot of time doing all the is required to make this happen.
Hi Christian: I am trying to understand the bandwidth calculation. Is there a link with more details? I just need to walk through one computation to understand the rest. Thanks!
The ZLP is used for all transfers? I saw that it was so in Control packets but I could not find that text for the data transfers. Its good to get that confirmed because I have been assuming it is true.
TotalPhase proudcts are very good Price/Performance protocol analyser. My second choice would be Ellisys. A bit more expensivce. Finally, you will find the Lecroy and Tecktronix level analyzers.
When an application sends N bytes how does the peer know when the entire application packet has been received?
Good question!
As you saw from the packets, there are not "length of transfer" So, USB uses what is called a Zero Length Packet «)ZLP). If a packet received is smaller than the Maximium packet size for the transfer mode at a certain speed, than it knows that is was the last packet. Otherwise, the transmitter has to send a ZLP to signel the end of the transfer.
I'm working on a vehicle infotainment system, using liliput 7" touchscreen display and small android ARM device. I'm having difficulty interfacing the HDMI\USB touch screen touches with Android. The kernal must not support it, though it daisplays on screen great. I don't think I need to understand the USB aspect, but this helps when I get to the Arduino portion to support a hub and digital FM reciever as well as understanding integrating GPS into it.
How do I determine how many endpoints I need? All the endpoints go through the same wires, right? So the more endpoints I have, the less bandwidth each one will get. Can I just have two endpoints, one for control (mandatory), and one for data?
JVonHatten; I do not think so. USB data packets are sent in fixed sizes, say 64 bytes
How do you know when the end of the application packet is received? This is what I understand but have no confirmation. If you get a packet that is less than 64 bytes, end of sequence. If it is 64 bytes, there is more to come. If the application packet is 64*N where N is an integer, one will receive a 0-byte packet.
This is true for Control packets. How about the data transfers?
Wow. Fantastic amount of data presented. I appreciate the depth and detail presented as well as the good slides that can and will be used for later reference. Thanks!
Hey RoboPaint. I was thinking of relocating to Tulsa til I heard that last summer was triple digits for nearly 3 months stright. My brother lives there and said it was painful to venture outdoors.
...and I'm thinking I wanna move south, where it's warmer. :) {Time for me to sit back and be quiet, prepare for the lecture.} I enjoyed visiting with everyone. :)
@Jennifer It would be nice if we did have a way to contact other class participants. Maybe someway to activate (with permission of course) the users email during a live class session. There have been a couple people I would have liked to contact but not necessary through the chat window.
@Lawson - Thanks again for the PDF slides today. Yesterday I clicked on the button that asked to download the executable - which I didn't do of course. Then I found the other button that just downloads the pdf. I did a virus scan in case the site added something nefarious (found nothing). I already checked out tomorrow's slide deck, and it "plays nice" with the PowerPoint viewers I have.
No billing. :) I truly enjoy these classes! (I'm also working on post grad, those classes are work!) Cherry pie and ice cream (with Pepsi) was my payment yesterday. :)
I think Joe would settle for a home cooked (sour) Cheery Pie and some ice cream -- with coffee. That owould be a good deal if he will do it. I was hungry the rest of the day thinking about that...
@bitbanger55 Yeah, sorry about that. I didn't have a good way to get the file to EdB_Vt so I just grabbed the first Google hit for upload sites. Didn't figure people would want to post email addresses on here...
@bitbanger55 I think maybe you're clicking on the wrong download button. There seems to be an advertisement with a download button above the real download button. I don't see this on Firefox b/c I run AdBlock Plus. I just checked with IE and there are 2 separate download buttons. One is for some lame download manager. Try the one closer to the bottom of the page.
@Lawson: File download from www.2shared.com requires downloading and running an EXE on my Windows XP platforms. I assume unless you've already installed it from a previous lifetime, that is the case. Am I unique in this ? Anyone other than Lawson tried to download the PDF he made?
The slide decks for today and tomorrow are quite ambitious - upward of 50 today. Many are included for your reference, so we should be able to stick to our 30-40 minute time frame. See you at 2!
Hi everyone and welcome to the Digi-Key Continuing Education Center! We have added numbers to the slides for today's presentation, as well as to those for the Thursday and Friday classes.
I wrote before downloading Today's Slide Deck - Thanks for the slide numbers! Looks ambitious - 57 slides! One for each Heinz variety.
I have the same problem from yesterday: PowerPoint Viewer 2003: text in tables on slides 21, and 49 is too large PowerPoint Viewer 2007: when I get to slide 18, get error "...encountered a problem and needs to close." Not a problem on Monday, but then that deck doesn't seem to have the same type of tables.
Using almost 200 light-emitting diodes in the front and back of the new 2014 CTS, Cadillac designers are showing how LEDs can change the character of a vehicle.
We looked at a number of sources to determine this year's greenest cars, from KBB to automotive trade magazines to environmental organizations. These 14 cars emerged as being great at either stretching fuel or reducing carbon footprint.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 3
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
A quick look into the merger of two powerhouse 3D printing OEMs and the new leader in rapid prototyping solutions, Stratasys. The industrial revolution is now led by 3D printing and engineers are given the opportunity to fully maximize their design capabilities, reduce their time-to-market and functionally test prototypes cheaper, faster and easier. Bruce Bradshaw, Director of Marketing in North America, will explore the large product offering and variety of materials that will help CAD designers articulate their product design with actual, physical prototypes. This broadcast will dive deep into technical information including application specific stories from real world customers and their experiences with 3D printing. 3D Printing is
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.