I'm using Teensy 3.1 in an automotive interface that includes a connection to the OBD2 k-line. That specification requires a terminating 510 Ohm pull-up resistor from the k-line to +12V. If there is an external device connected to the bus, it will have a terminating resistor; when there is no such device, I'd like the Teensy to be able to enable the pull-up.
From what I gather, this requires some fashion of high-side switching, since the k-line idles at +12V. It seems I could accomplish this with a NPN transistor feeding a PNP transistor, or through MOSFETs with the same arrangement. There are of course details that I'm trying to figure out. Do you have any advice about a good way to accomplish this? It seems like there are some high-side driver ICs that might do what I want, although the current isn't very high for just a pull-up, so they are overkill. I'd like to keep it compact as possible (surface mount is good) so it will fit on my board. (I could do it on a daughterboard, which may be the most cost-effective way now that my main board is already a few revisions in.)
Thanks,
Jason
From what I gather, this requires some fashion of high-side switching, since the k-line idles at +12V. It seems I could accomplish this with a NPN transistor feeding a PNP transistor, or through MOSFETs with the same arrangement. There are of course details that I'm trying to figure out. Do you have any advice about a good way to accomplish this? It seems like there are some high-side driver ICs that might do what I want, although the current isn't very high for just a pull-up, so they are overkill. I'd like to keep it compact as possible (surface mount is good) so it will fit on my board. (I could do it on a daughterboard, which may be the most cost-effective way now that my main board is already a few revisions in.)
Thanks,
Jason