USB Microcontroller, et. al.

Started by Blaine, May 25, 2005, 12:50:28 AM

Previous topic - Next topic

Blaine

The Saturn to USB mod help me understand a lot about how a controller works (even more so than the controller primers).

I do have a small element of confusion regarding the inner workings of a USB controller.

As is my understanding the encoder in a USB controller is simply a programed microcontroller (an Amtel or what have you) that contains the necessary USB drivers to transmit the button signals.

I know there are places to download images for a microcontroller so that it'll work as USB device (but that does require a rom burner which I lack and as I've only been getting into playing with the Amtel - I think I'll hold off on purchasing one).

Now, Lawerence also transplanted two resistors and a crystal from the USB pad, if memory serves.

Are those components needed simply because they were required for that particular layout or for USB controllers in general?

For instance, if I were to pick up a random USB controller (all things being equal, assuming an atypical set up), would I expect to have to use those componants in a joystick of my own device? Or is there no norm when it comes to a USB controller?

The main reason I ask is I do want to get into making more controllers but I'd also like to have as large an understanding of what is happening as possible.
If you can mod it... I'll find a way to screw it up!

NFG

Cypress makes a huge variety of USB specific chips, and that's what I usually find inside the pads I disassemble.  There are other solutions, probably none significantly better than another, but it depends most on your access to ready-made source code and your ability to assemble the circuit.

Those components were transferred because they were included in the original pad.  Not all chips require them, some require more and some require less.

Adeptus

I haven't opened up that many USB pads, but all the ones I've looked at have had blobs rather than 'proper' chips.

hemphacker

In general most USB chips have external clocks, so you'll need the crystal portion of the circuit still attached. About the blobs, they're just a cheaper way for packaging the chips. Instead of buying a chip all packaged nice in a SMT or DIP, they just slap the silicon direcly onto the board and cover it with the black blob stuff. You can do the same as Lawrence did with cutting a section of the board out, and tack wires onto the traces (probably have to scratch through to the copper first).

viletim!

Microcontrollers need a clock signal from somewhere. It can be generated from an RC circuit (sometimes inside the chip); a crystal; a resonator; chosen based on accuracy vs cost. I think it's a safe bet that USB timings are critical enough to require a (relatively expensive) crystal driven clock.

Simpler devices, such as a keyboard controllers, can get away with a ceramic resonator.