Hello All,
Kinetis is a new part and I am trying to use it for a new design. The peripheral that I have question on is the USB OTG. According to the standard, USB OTG receptacle should have an ID pin to identify if connected device is an A or B device. However, such a pin is missing from K40. So, how does K40 knows when to be a host or when to be a device? Does it default as to a host operation all the time? If that is true, what happen when another default host OTG gets connected to it?
Any response is appreciated. If responses are not relevant, please at least make them funny.
Regards,
Jay Wong
已解决! 转到解答。
no you do not have to have an additional chip or use an I2C.. but do have to munch the pin state. see the doc link and search for OTG in the KQRUG and app notes.
After digging thru the docs, you just route the ID pin to a GPIO pin on the K40. there are examples in the KQRUG document and application notes.
Kinetis uses the USB module from Coldfire. Take a look at Page 6 of AN3324 for OTG implementation. Pull/Pull down resistors on D+ and D- as well as the ID pin is taken care by the MAX3353 which communicates with the core via I2C.
Wow... so for actual OTG support, I have to add an additional IC, munch an IRQ pin, and munch an I2C interface? That's pretty short-sighted on Freescale's part. I'm doing a schematic pinout selection on the K60, and I noticed there wasn't a dedicated ID pin, thought maybe it was only present on the big pin count devices... nope. There's a pin for it on the Tower Elevator, but the K60 Tower board doesn't connect to it.
To be fair, I suppose Freescale would contend that if you're not doing high speed (for which you would need an external ULPI PHY anyway), then you probably don't care about true OTG. And in my case that's true, we're probably just going to be a full-speed device, for this project anyway. Still, rather strange that Freescale wouldn't put an ID pin on the part. Oh well.
no you do not have to have an additional chip or use an I2C.. but do have to munch the pin state. see the doc link and search for OTG in the KQRUG and app notes.