{"id":768,"date":"2011-10-07T13:08:59","date_gmt":"2011-10-07T13:08:59","guid":{"rendered":"https:\/\/ibex.tech\/resources\/?p=768"},"modified":"2023-08-10T17:24:29","modified_gmt":"2023-08-10T16:24:29","slug":"interfacing-busses","status":"publish","type":"post","link":"https:\/\/ibex.tech\/resources\/geek-area\/electronics\/interfacing\/interfacing-busses","title":{"rendered":"Interfacing different signal voltages"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">3V Devices to 5V CMOS<br><\/h4>\n\n\n\n<p>4 connections: <\/p>\n\n\n\n<p>74HCT125 is a good cheap choice (14 pin package, quad 3-state buffer).<br>Power at 5V. Connect each of the 4 output enable pins to 0V. The min high input voltage is 2V so 3V3 compatible and the output state matches input state (it\u2019s a straight buffer). <\/p>\n\n\n\n<p>74HCT08 (quad AND gate). <\/p>\n\n\n\n<p>Many other 5V CMOS chips with TTL level input buffers may be used <\/p>\n\n\n\n<p>8 Connections <\/p>\n\n\n\n<p>74HCT245 or 74ACT245 also provides the solution. The HCT &amp; ACT provide an input voltage range of 0.8 \u2013 2V @ 5V supply. As its 5V powered its output voltage range is good for the PIC. Note that an HC or AC will not work as the input voltage range is not the same. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">5V CMOS to 3V Devices <\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Using Resistors<\/h5>\n\n\n\n<p>1K2 and 2K2 resistors potential divider to GND (5V in to 3.24V out) . <\/p>\n\n\n\n<p><em>Note that using resistors is not perfect, instead of a nice square wave you will often get significantly rounded edges to the pulses, so don&#8217;t use this approach if you need to ensure max speed of say a SPI bus as you may find you need to reduce the speed to ensure the data is clocked in cleanly.<\/em><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Using an IC<\/h5>\n\n\n\n<p>A 74LVT245 powered @ 3V3 has 5V tolerant inputs so will do the job. It will only work in this direction though. A LVT may not be powered @ 5V. <\/p>\n\n\n\n<p>A CD74HC4050 can be powered at 2V to 6V and will accept input voltages up to +16V. <\/p>\n\n\n\n<p>74LVC16373 \u2013 16 bit latch, 3V3 device which accepts 5V inputs <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">5V CMOS to 3V Devices Bi Directional <\/h4>\n\n\n\n<p>A 74LVX4245 will do the job and is available from Farnell. Port A is 5V, port B is 3.3V. T\/R and OE can be driven from either side. <\/p>\n\n\n\n<p>A 74ACT245 combined with a 74LVT245 should also do the job and is very slightly cheaper, but obviously takes more space. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Single Wire 1.8V To 5V <\/h4>\n\n\n\n<p>SN74LVC1G07 &#8211; Open drain buffer.&nbsp; Power at 1.8V (1.65 \u2013 5.5V), Vin high min = 0.7xVDD but will accept +5.5V on its input or output.<br>(SN74LVC1G06 is inverting buffer version) <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Single Wire 5V To 1.8V <\/h4>\n\n\n\n<p>SN74LVC1G07 &#8211; Open drain buffer.&nbsp; Power at 1V8 or 3V (1.65 \u2013 5.5V) and will accept +5.5V on its input or output.<br>(SN74LVC1G06 is inverting buffer version) <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Single Wire 3V To 5V <\/h4>\n\n\n\n<p>SN74LVC1G07 &#8211; Open drain buffer.\u00a0 Power at 1V8 or 3V (1.65 \u2013 5.5V) and will accept +5.5V on its input or output. A 2K2 pull up on the output to +5V is good.<br>(SN74LVC1G06 is inverting buffer version) <\/p>\n\n\n\n<p>SN74AHCT1G126 &#8211; Buffer. Power at 5V (4.5 &#8211; 5.5V), min high level input voltage 2V. OE high for output active. <em>(NOTE AHCT&nbsp;not LVC to give the lower high level input voltage&nbsp;needed)<\/em> <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Single Wire 5V To 3V <\/h4>\n\n\n\n<p>SN74LVC1G07 &#8211; Open drain buffer.\u00a0 Power at 1V8 or 3V (1.65 \u2013 5.5V) and will accept +5.5V on its input or output. A 2K2 pull up on the output to +3V3 is good.<br>(SN74LVC1G06 is inverting buffer version) <\/p>\n\n\n\n<p>SN74LVC1G126 &#8211; Buffer. Power at 3V.&nbsp; Max high level input voltage 5.5V. OE high for output active.&nbsp; (SN74LVC1G240 is an alternative inverting version, OE must be low) <\/p>\n\n\n\n<p>SN74AHC1G08 &#8211; Power at 3V3 and will accept up to +5.5V on its input. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Bi Directional<br><\/h4>\n\n\n<p>74LVC8T245<\/p>\n<p style=\"padding-left: 40px;\">Power VCCA at 1.65V to 5.5V<br \/>Power VCCB at 1.65V to 5.5V<br \/>DIR and OE are supplied by VCCA<\/p>\n<p>TXS0108E<\/p>\n<p style=\"padding-left: 40px;\">8 bits of bi-directional level shifting for open drain and push pull.&nbsp; Directionless voltage-level translator specifically designed for translating logic voltage levels.<\/p>\n<p style=\"padding-left: 40px;\">A-port accepts I\/O voltages ranging from 1.2 V to 3.6 V<br \/>The B-port accepts I\/O voltages from 1.65 V to 5.5 V<\/p>\n<p style=\"padding-left: 40px;\">Uses pass gate architecture with edge rate accelerators (one shots) to improve the overall data rate. The pull-up resistors, commonly used in open-drain applications, have been conveniently integrated so<br \/>that an external resistor is not needed. While designed for open-drain applications it can also translate push-pull CMOS logic outputs.<\/p>\n\n\n<h4 class=\"wp-block-heading\">I2C Bus <\/h4>\n\n\n\n<p>PCA9517A provides I2C bus interfacing if you don\u2019t want to use mosfets to do it: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Power VCC_A with 0.9V to 5.5V<\/li>\n\n\n\n<li>Power VCC_B with 2.7 V to 5.5V<\/li>\n\n\n\n<li>Tie EN to VCC_B to enable <\/li>\n<\/ul>\n\n\n\n<p>TXS0108E &#8211; provides 8 bits of bi-directional level shifting for open drain and push pull so is also good for I2C where you want to interface other lines also<br> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>3V Devices to 5V CMOS 4 connections: 74HCT125 is a good cheap choice (14 pin package, quad 3-state buffer).Power at 5V. Connect each of the 4 output enable pins to 0V. The min high input voltage is 2V so 3V3 compatible and the output state matches input state (it\u2019s a straight buffer). 74HCT08 (quad AND [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45],"tags":[],"class_list":["post-768","post","type-post","status-publish","format-standard","hentry","category-interfacing"],"_links":{"self":[{"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/posts\/768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/comments?post=768"}],"version-history":[{"count":27,"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/posts\/768\/revisions"}],"predecessor-version":[{"id":2687,"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/posts\/768\/revisions\/2687"}],"wp:attachment":[{"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/media?parent=768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/categories?post=768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibex.tech\/resources\/wp-json\/wp\/v2\/tags?post=768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}