Reply by aubrey March 10, 20082008-03-10
On Mar 5, 10:20 pm, Paul <nos...@needed.com> wrote:
> Paul wrote: > > Hi, >
> > Unzip the following package. It contains the USB 2.0 standard. > Open usb_20.pdf and flip to the first page of Chapter 6. There, > you'll see examples of upstream and downstream connectors. > Your very own computer, uses the flat connector, so you can > see an example in the I/O area on the back of your computer. > > http://www.usb.org/developers/docs/usb_20_092407.zip > > If you want to be a USB designer, then reading these may > help as well. > > http://www.usb.org/developers/docs/hs_usb_pdg_r1_0.pdfhttp://www.usb.org/developers/whitepapers/power_delivery_motherboards... > > Paul
Thanks for posting these. I trimmed alt.computer. I have read until saturation this weekend, so now I am full of more questions. I have a PIC32 Starter Kit. I've exercised the LEDs and pushbuttons and want to move on. Any day now the postman should bring my PIC32 fanout board from Olimex. My proposal is a USB 2.0 host controller expansion board. This should give me access to keyboard, later WiFi, and thence everything. Also, the PIC32 is new and this particular expansion board should be received well by the PIC32 community. Perhaps it will also have an upstream facing port with a PIC18F4550. This is a daunting project, but it seems like the one that is needed. AfterGoogle, I went to Mouser and focused on the Host controllers that they had in stock. :-) I have done a mock up schematic and board in EAGLE using the NEC uPD720102EC-YEB. This is a straightforward reproduction of the schematics from the NEC datasheet, S17998E. By mock up I mean that I have placed "capacitors," and such, but without referring to a catalog and specific mfr and dimension information. That will be a subsequent "design for prototype" pass. At this time, I have not connected the programming ports and the PIC32. The many VDD levels, both on the PIC and the NEC are not managed. It is little more than a napkin doodle. I read Paul's post and read once through the power delivery whitepaper. I've added 470pF across pins 1,4 on each USB receptacle. I added a 360uF across the +USB and gnd traces near the downstream facing ports. What I don't see in reference schematics is any attention to fuses. I figure the same concerns on fuses and overcurrent exist in both Host and Hub designs, and I am looking at the ATmel AT43301 datasheet, doc1137.pdf (secured, no NDA). Figure 2.2 (Self-powered Hub) shows a switch connected to the AT43301, but no fuse. They do have a MIC2525-2 in their figure 5-2. Does the MIC2525-2 have the right stuff to be used instead of a fuse? The white paper mentions the polycrystalline resistor/fuse. I know that Mouser had them a few years ago. I remember thinking they were interesting. Are these used in designs today? If you happen to have EAGLE, you can view a snapshot at http://home.grandecom.net/~aubrey/aubrey/PIC/USB_host.brd Sorry, but I haven't installed a pdf printer, and my board house doesn't require Gerbers. Perhaps someone else has both EAGLE and Acrobat. I'd like to do this right. By that, I mean a design that is satisfying and could receive the logo. I assume the process is to make a working prototype, then job it out for "design for manufacture" I assume that the logo goes on a specific model and revision of a design. I was hoping to make a design element that was known to qualify and then just put it on the web. Questions follow from this. I assume the cost is at least k$10 to do this before the enclosure is considered. Can anyone give an actual total cost (electrical and mechanical separated) for a 1st unit with a logo for, say, an ordinary 4 port hub? If this is an expansion board and the power is from the mother board, what is the implication on the certification process (I haven't done my reading here) If it is an intelligent hub with the power from an upstream port, a PIC32 (MIPS processor) in the middle, the Host facing downstream, the PIC32 powered from the upstream USB but detachable, can the total assembly receive certification? Actually, I don't see a USB logo on the PIC32 Starter Kit. Maybe this is a non issue.
Reply by CBFalconer March 7, 20082008-03-07
Joel Koltner wrote:
>
... snip ...
> > Good hardware designs take the software into consideration -- > some of the best hardware design I've done is when I did both > the software AND the hardware, because you'll think you've > designed the hardware well, but as you're sitting there doing > the software you'll find some really annoying behavior due to > that hardware's design... but happily you've still got the > "out" to go and fix it. > > I wonder if anyone's collected anecdotes of hardware that -- > from software's point of view -- was poorly designing; it'd > probably make for entertaining reading!
The reverse also applies. Quite a few years ago I had to interface a pre-existing LAN system to my brand new embedded systems. I designed a comprehensive interface, stage by stage, with removable internal test drivers. We built the first one, and it worked fine. Then we tried to build a second one, and lay artwork. Woops - things were too complex. Without the stage by stage assembly we just couldn't untangle the faults in finite time. So I redesigned completely, needing much more supervision from the CPU, and wrote the appropriate software. Everything worked, and we could build quite a few of them without any difficulties. The (interrupt driven) software load was trivial. The critical thing is to have both the software and hardware under your control. Then you can select an optimum, or nearly so, set of trade-offs. It helps to be good in both fields. -- [mail]: Chuck F (cbfalconer at maineline dot net) [page]: <http://cbfalconer.home.att.net> Try the download section. -- Posted via a free Usenet account from http://www.teranews.com
Reply by Paul March 7, 20082008-03-07
On Mar 7, 5:46=A0pm, "Joel Koltner" <zapwireDASHgro...@yahoo.com> wrote:
> "Paul" <Quiller...@gmail.com> wrote in message > > news:3207bf57-739b-4d84-86ac-1fd8307674fc@e23g2000prf.googlegroups.com... > On Mar 7, 1:50 pm, Andrew Smallshaw <andr...@sdf.lonestar.org> wrote: > " =A0 =A0 =A0 =A0However, it would be nice to be able to transfer data fro=
m
> one Host to another, which appears to be impossible (no one > connects one computer to another to transfer data)." > > They make "USB data transfer cables" for this very purpose; inside the cab=
le
> are two USB clients that share some SRAM or similar. =A0You're correct tha=
t it's
> impossible to transfer data between two USB hosts with "just a cable" -- =
=A0
> unless both hosts support USB on-the-go, that is. >
So maybe one day, all computers will have OTG USB, so that we won't need memory sticks to transfer huge datafiles from harddrive to harddrive.
> "Dude! =A0I only want to hook up the hardware! =A0I'm not a > programmer at all!" > > Good hardware designs take the software into consideration -- some of the =
best
> hardware design I've done is when I did both the software AND the hardware=
,
> because you'll think you've designed the hardware well, but as you're sitt=
ing
> there doing the software you'll find some really annoying behavior due to =
that
> hardware's design... but happily you've still got the "out" to go and fix =
it.
> > I wonder if anyone's collected anecdotes of hardware that -- from software=
's
> point of view -- was poorly designing; it'd probably make for entertaining=
> reading!
Of course, you have a major point. But if i'm just gonna have a host port, it's really only D+, D-, and +5V and Ground. OTG USB looks a bit more complicated. See Figure 5 here: http://www.maxim-ic.com/appnotes.cfm/appnote_number/1822/ OTG requires switchable pull-up and pull-down resistors, a switchable +5V power supply, and an ID pin. This looks way more complicated, and will take up a lot of real estate. I'm leaning towards a simple Host USB port, using one of these: http://www.alliedelec.com/Images/Products/Datasheets/BM/TY= CO-ELECTRONICS/3741829.pdf I don't think we will need to move data from unit to unit. Just support for memory sticks, keyboards, mouse, and maybe printers. Thanks, Joel.
Reply by Joel Koltner March 7, 20082008-03-07
"Paul" <Quiller123@gmail.com> wrote in message 
news:3207bf57-739b-4d84-86ac-1fd8307674fc@e23g2000prf.googlegroups.com...
On Mar 7, 1:50 pm, Andrew Smallshaw <andr...@sdf.lonestar.org> wrote:
"        However, it would be nice to be able to transfer data from
one Host to another, which appears to be impossible (no one
connects one computer to another to transfer data)."

They make "USB data transfer cables" for this very purpose; inside the cable 
are two USB clients that share some SRAM or similar.  You're correct that it's 
impossible to transfer data between two USB hosts with "just a cable" --  
unless both hosts support USB on-the-go, that is.

"Dude!  I only want to hook up the hardware!  I'm not a
programmer at all!"

Good hardware designs take the software into consideration -- some of the best 
hardware design I've done is when I did both the software AND the hardware, 
because you'll think you've designed the hardware well, but as you're sitting 
there doing the software you'll find some really annoying behavior due to that 
hardware's design... but happily you've still got the "out" to go and fix it.

I wonder if anyone's collected anecdotes of hardware that -- from software's 
point of view -- was poorly designing; it'd probably make for entertaining 
reading!


Reply by Paul March 7, 20082008-03-07
On Mar 7, 1:50=A0pm, Andrew Smallshaw <andr...@sdf.lonestar.org> wrote:
> On 2008-03-06, Paul <Quiller...@gmail.com> wrote: > > > On Mar 6, 9:24=A0am, Andrew Smallshaw <andr...@sdf.lonestar.org> wrote: > > >> Which connector your device needs depends on what it is doing. =A0If > >> it is to be plugged into a computer and work as a peripheral it > >> needs a 'B' socket. =A0If it is to replace a computer and control a > >> devices, whether it be a printer, flash drive, keyboard or whatever, > >> it needs an 'A' socket. > > > =A0 =A0 =A0 Again, more B. S.! =A0 =A0The Type A and B connectors perfor=
m
> > the same function, then are just different physically! > > If you already know all the answers why did you bother to post in > the first instance? =A0It appears to me that you are unwilling to > make what should be a simple decision, i.e. should my device be a > USB host or peripheral? =A0This does not take much reasoning, it > either is or should be a simple instinctive judgement based on what > the device does. >
If it's clear that I'm absolutely a newbie to USB, why keep telling me how ignorant i am? Oh, to boost your sagging self-image at work? The devices are gonna be Hosts. As in, they should control peripheral devices like a mouse, keyboard, printer, memory stick. etc.... However, it would be nice to be able to transfer data from one Host to another, which appears to be impossible (no one connects one computer to another to transfer data). So maybe the OTG would be the correct choice, also because of the 480Mbps data rate.
> Don't think that going for On The Go as you have mentioned in > another subthread simplifies things by avoiding the need to make > a simple decision. =A0It doubles complexity since your device is now > both and you still have to determine which mode it should be in at > any particular time. =A0On The Go is only appropriate for a fairly > narrow class of devices. > > Yes, as you mentioned in your first reply to my post, it is only > four wires. =A0That does not make things simpler but more complex. > It means that you don't have separate wires on which to send and > recive data. =A0You don't have a wire that says that your particular > device is the one currently being addressed. =A0You don't have an > interrupt request line so that your device can request the computer's > attention. =A0These are all handled by the USB _protocol_ which is > much more complex to deal with than a 100 signal bus where everything > has its own line. =A0The hardware side of USB is one thing, but that > is nothing without the _software_ that makes the whole thing work > and where the real complexity is. >
Dude! I only want to hook up the hardware! I'm not a programmer at all! Why are you making a simple question so difficult?
> My initial post pointed out that USB is not straightforward and > politely pointed out that if you are lacking knowledge of the > fundamentals then any project you attempt is unlikely to be > successful, at least not without a thorough grounding in the basics > first. =A0I see that you have also apparently chosen to ignore > reference to the standard and other documents that others have > referred you to. =A0This also does not bode well. =A0Finally you hurl > abuse at people who attempt to assist you simply becasue that > assistance is not to your liking. =A0This does not encourage others > to help in future and further diminishes the probability of your > success. > > Ultimately though, it does not affect me. =A0I can and have developed > USB peripherals, and vitriol such as yours will not alter that. > You are still incapable of doing so. =A0An attitude such as you have > already displayed will ensure that you do not alter that either. >
If you think i'm gonna kiss your ass just to get help, you are sorely mistaken, SmallBrain. Try getting off your high-horse, and maybe people will be more open and receptive to your advice.....
Reply by Andrew Smallshaw March 7, 20082008-03-07
On 2008-03-06, Paul <Quiller123@gmail.com> wrote:
> On Mar 6, 9:24&#4294967295;am, Andrew Smallshaw <andr...@sdf.lonestar.org> wrote: >> >> Which connector your device needs depends on what it is doing. &#4294967295;If >> it is to be plugged into a computer and work as a peripheral it >> needs a 'B' socket. &#4294967295;If it is to replace a computer and control a >> devices, whether it be a printer, flash drive, keyboard or whatever, >> it needs an 'A' socket. > > Again, more B. S.! The Type A and B connectors perform > the same function, then are just different physically!
If you already know all the answers why did you bother to post in the first instance? It appears to me that you are unwilling to make what should be a simple decision, i.e. should my device be a USB host or peripheral? This does not take much reasoning, it either is or should be a simple instinctive judgement based on what the device does. Don't think that going for On The Go as you have mentioned in another subthread simplifies things by avoiding the need to make a simple decision. It doubles complexity since your device is now both and you still have to determine which mode it should be in at any particular time. On The Go is only appropriate for a fairly narrow class of devices. Yes, as you mentioned in your first reply to my post, it is only four wires. That does not make things simpler but more complex. It means that you don't have separate wires on which to send and recive data. You don't have a wire that says that your particular device is the one currently being addressed. You don't have an interrupt request line so that your device can request the computer's attention. These are all handled by the USB _protocol_ which is much more complex to deal with than a 100 signal bus where everything has its own line. The hardware side of USB is one thing, but that is nothing without the _software_ that makes the whole thing work and where the real complexity is. My initial post pointed out that USB is not straightforward and politely pointed out that if you are lacking knowledge of the fundamentals then any project you attempt is unlikely to be successful, at least not without a thorough grounding in the basics first. I see that you have also apparently chosen to ignore reference to the standard and other documents that others have referred you to. This also does not bode well. Finally you hurl abuse at people who attempt to assist you simply becasue that assistance is not to your liking. This does not encourage others to help in future and further diminishes the probability of your success. Ultimately though, it does not affect me. I can and have developed USB peripherals, and vitriol such as yours will not alter that. You are still incapable of doing so. An attitude such as you have already displayed will ensure that you do not alter that either. -- Andrew Smallshaw andrews@sdf.lonestar.org
Reply by David Brown March 7, 20082008-03-07
Paul wrote:
> On Mar 6, 9:24 am, Andrew Smallshaw <andr...@sdf.lonestar.org> wrote: >> On 2008-03-06, Paul <Quiller...@gmail.com> wrote:
<snip>
> Again, more B. S.! The Type A and B connectors perform > the same function, then are just different physically! > > Maybe your name is really Andrew Smallbrain.....
Well, I think that about wraps things up for this thread. Clearly, you know far more about USB than any of the experienced engineers in these groups. There is no point in people giving help and advice if that's all the thanks they get.
Reply by Paul March 6, 20082008-03-06
On Mar 5, 11:58=A0pm, "sycochkn" <sycoc...@earthlink.net> wrote:
> "Paul" <Quiller...@gmail.com> wrote in message > > news:8bbd3742-d987-41a8-adf6-8300388859c4@y77g2000hsy.googlegroups.com... > On Mar 5, 8:20?pm, Paul <nos...@needed.com> wrote: > > > > > > > Paul wrote: > > > Hi, > > > > ? ? ? I'd like to modify the following Colibri Toradex Evaluation > > > schematic: > > > >http://www.toradex.com/downloads/Colibri_EvaluationBoard_Schematics_R..=
.
> > > > ? ? ? Look at page 21 and 22. > > > > ? ? ? If i only want to use 1 USB port, it will probably have to > > > be one of the "Host" ports, right? ?Like i should delete the > > > other ports (going to "USBC_N" and "USBC_P"), because > > > they are "Clients", right? > > > > ? ? ?Also, I noticed the Host USB ports are the flatter type, > > > while the Clients look to be the fatter ones....why is this? > > > Unzip the following package. It contains the USB 2.0 standard. > > Open usb_20.pdf and flip to the first page of Chapter 6. There, > > you'll see examples of upstream and downstream connectors. > > Your very own computer, uses the flat connector, so you can > > see an example in the I/O area on the back of your computer. > > >http://www.usb.org/developers/docs/usb_20_092407.zip > > > If you want to be a USB designer, then reading these may > > help as well. > > >http://www.usb.org/developers/docs/hs_usb_pdg_r1_0.pdfhttp://www.usb.....=
..
> > > ? ? Paul- Hide quoted text - > > > - Show quoted text - > > =A0 =A0 =A0Well, i don't really want to be a USB designer per se, i just > want to be able to hook this one up correctly. > > =A0 =A0 =A0So again, it looks like if i only want to have one USB port, > it will have to be a "Host" port, right? =A0And this will be using > the flat connectors, right? > > If you want to hook usb devices to it use a host port if you want to use i=
t
> as a usb device use the other. All of the different types of usb connector=
s
> are functionally identical. Some are just smaller. > > Bob- Hide quoted text - > > - Show quoted text -
Thanks Bob. Also, this microcontroller has the new "On-The-Go" standard, so i believe it can be either a peripheral device, or a host. So maybe we will really be both Host and Peripheral in this case.
Reply by Paul March 6, 20082008-03-06
On Mar 6, 9:24=A0am, Andrew Smallshaw <andr...@sdf.lonestar.org> wrote:
> On 2008-03-06, Paul <Quiller...@gmail.com> wrote: > > > > > =A0 =A0 =A0Well, i don't really want to be a USB designer per se, i just=
> > want to be able to hook this one up correctly. > > > =A0 =A0 =A0So again, it looks like if i only want to have one USB port, > > it will have to be a "Host" port, right? =A0And this will be using > > the flat connectors, right? > > Without wishing to denigrate your abilities, it sounds to me as if > you are in way over your head. =A0I strongly suspect you are wasting > your time trying to implement whatever it is you want to accomplish. > USB is _not_ a trivial thing to implement even for experienced > engineers, and it seems to me that you are lacking knowledge I would > expect even from a vaguely experienced end user. > > The two styles of connector are for different devices. =A0You can't > say that you need one or the other based on the fact you only need > one. =A0The two ends of a USB lead are not equivalent. =A0The one > nearest to the computer is essentially the one with all the control > and is functionally as well as mechanically different to the one > nearest the peripheral. =A0 > > The 'A' plug is the rectangular one with the contacts all on the > same plane that plugs into either the computer itself or to a hub > that is in turn connected to the computer (possibly through another > hub). =A0This is the 'upstream' connector as connections in that > direction ultimately go in the direction of the computer. =A0The 'B' > plug is squarer, with two rows of contacts. =A0These all point > downstream, away from the computer and towards the peripherals. > Again, this is not merely a mechanical difference - the two sockets > reflect differences in the role each device expects to play in the > USB connection, essentially whether it is acting as the computer > or a peripheral. > > Which connector your device needs depends on what it is doing. =A0If > it is to be plugged into a computer and work as a peripheral it > needs a 'B' socket. =A0If it is to replace a computer and control a > devices, whether it be a printer, flash drive, keyboard or whatever, > it needs an 'A' socket. >
Again, more B. S.! The Type A and B connectors perform the same function, then are just different physically! Maybe your name is really Andrew Smallbrain.....
Reply by Paul March 6, 20082008-03-06
On Mar 6, 9:24=A0am, Andrew Smallshaw <andr...@sdf.lonestar.org> wrote:
> On 2008-03-06, Paul <Quiller...@gmail.com> wrote: > > > > > =A0 =A0 =A0Well, i don't really want to be a USB designer per se, i just=
> > want to be able to hook this one up correctly. > > > =A0 =A0 =A0So again, it looks like if i only want to have one USB port, > > it will have to be a "Host" port, right? =A0And this will be using > > the flat connectors, right? > > Without wishing to denigrate your abilities, it sounds to me as if > you are in way over your head. =A0I strongly suspect you are wasting > your time trying to implement whatever it is you want to accomplish. > USB is _not_ a trivial thing to implement even for experienced > engineers, and it seems to me that you are lacking knowledge I would > expect even from a vaguely experienced end user. >
Errr....Maybe that's why I'm asking???!! I'm a total newbie on this subject, of course, but if you cannot be helpful without making yourself feel better by telling me how ignorant I am on this subject, then F*** Off!!
> The two styles of connector are for different devices. =A0You can't > say that you need one or the other based on the fact you only need > one. =A0The two ends of a USB lead are not equivalent. =A0The one > nearest to the computer is essentially the one with all the control > and is functionally as well as mechanically different to the one > nearest the peripheral. =A0 > > The 'A' plug is the rectangular one with the contacts all on the > same plane that plugs into either the computer itself or to a hub > that is in turn connected to the computer (possibly through another > hub). =A0This is the 'upstream' connector as connections in that > direction ultimately go in the direction of the computer. =A0The 'B' > plug is squarer, with two rows of contacts. =A0These all point > downstream, away from the computer and towards the peripherals. > Again, this is not merely a mechanical difference - the two sockets > reflect differences in the role each device expects to play in the > USB connection, essentially whether it is acting as the computer > or a peripheral. > > Which connector your device needs depends on what it is doing. =A0If > it is to be plugged into a computer and work as a peripheral it > needs a 'B' socket. =A0If it is to replace a computer and control a > devices, whether it be a printer, flash drive, keyboard or whatever, > it needs an 'A' socket. > > As I said in my opening paragraph, issues such as these suggest a > complete lack of familiarity with USB. =A0Take look at Wikipedia's > page on USB. =A0Like many Wikipedia pages, it's a mixed bag that > mixes things end users should know with a few random engineering > topics thrown in for no apparent reason, but you need to understand > pretty much _everything_ on that page and much more besides to > successfully implement USB. >
B.S.! From a wiring perspective, it's only 4 wires, with 2 pull-up resistors. Can't be too difficult....