I have a project in mind to build a device with a USB interface. The device would store some data in an eeprom. There would be some synchronization software written for it and residing on a computer. When the device is plugged into a USB port on the computer the synchronization software would launch and send the most current data to the device, which would replace the data in the eeprom with this new data. Basically, a very common kind of paradigm, like a PDA or an ipod. Only, I'm only going to sync a fairly small amount of data, like 10KB or less.
I'm favoring AVR microcontrollers programmed in C.
My question is, where to start. What are the common USB interface chips people use for this? I'm looking for a cheap one, since the application is not demanding. I've seen USB interfaces selling for as much as $8.00 a pop, but I think that's too much for what I need.
Some of the AVR microcontrollers have USB interfaces built in. That would be great, but I think they are geared toward more demanding applications and tend to be rather expensive. I just want something standard, cheap, and simple, if there is such a thing. Also, it would be nice if the tools for it are not necessarily tied to any one OS.
Any pointers to an overview, or example projects, or anything to point me in the right direction would be very much appreciated.