I read a lot about USB functions but I cannot find a proper explanation about how Data is exchanged.  For example if I connect a device like my iphone(or any other USB device) to my computer ,how does the computer recognize it and how does the D+ /D- in usb pins work to transfer the data?