It is easier to use an interface chip, usb is not easy, it is a high speed differential analogue interface with clock recovery and bit stuffing going on. You need that serial interface engine! Save a lot of headache.
I am using Philips PDIUSBD11 interface chip, application notes, schematic and sample app can be found on beyond logic website.
Works ok.