Help me understand few things please
Posted: Mon Aug 23, 2010 11:58 pm
Hi,please help me with 2 things I still dont understand about USB.
First, why is there the whole concept of endpoints? Let me explain, I believe endopoints are there to differentiate between different transfer types and in-out transmitions. But is this so? Or is there any deeper enpoint meaning I am missing? Becouse, for example, Control endpoint0 is In-Out, so why other enpoints have to be IN or OUT?
And second, how far-hardware can USB go? I mean, I read that bulk transfer are disabled on low speed USB devices by standart. But this driver seems to allow bulk transfers on low speed device. Further, low speed device should have only 4 endpoints, and this driver can manage 7 endpoints. So, this make me think, since this driver is software only, you can stretch standart basically anywhere you want, create anything, have same portion of memory reserved for every enpoints and so. But when you communicate with PC, I think PC has HW USB host, so I believe that you send commands like send data from addres X to device #12 using Control transfer? And the USB chip handles the rest? Or how? Becouse, if you can have bulk transfer on low speed device, and more endpoints that standart allows, there must be more precise way to control PC USB host, to stretch rules little bit, but I dont believe that USB host driver actually creates this signals in software. So where is the truth? Thanks for all ideas.
First, why is there the whole concept of endpoints? Let me explain, I believe endopoints are there to differentiate between different transfer types and in-out transmitions. But is this so? Or is there any deeper enpoint meaning I am missing? Becouse, for example, Control endpoint0 is In-Out, so why other enpoints have to be IN or OUT?
And second, how far-hardware can USB go? I mean, I read that bulk transfer are disabled on low speed USB devices by standart. But this driver seems to allow bulk transfers on low speed device. Further, low speed device should have only 4 endpoints, and this driver can manage 7 endpoints. So, this make me think, since this driver is software only, you can stretch standart basically anywhere you want, create anything, have same portion of memory reserved for every enpoints and so. But when you communicate with PC, I think PC has HW USB host, so I believe that you send commands like send data from addres X to device #12 using Control transfer? And the USB chip handles the rest? Or how? Becouse, if you can have bulk transfer on low speed device, and more endpoints that standart allows, there must be more precise way to control PC USB host, to stretch rules little bit, but I dont believe that USB host driver actually creates this signals in software. So where is the truth? Thanks for all ideas.