Raspberry Pi GPIO Protection

After damaging the GPIO port on our raspberry pi while designing a new solar monitoring system we decided that it might be a good idea to build a buffer/level translator to protect the GPIO pins from over voltage and ESD spikes.  The board would need to protect all of the data pins we normally use which are i2c, SPI and UART, it would also need to work at all of the data rates which those pins can support.  Protection for the other GPIO pins would also be useful in case we want to connect anything directly to the Raspberry Pi without using a serial bus.  Support for 5 volt logic would also be a bonus as some of the devices we use do not support 3.3V.

After damaging the GPIO port on our raspberry pi while designing a new solar monitoring system we decided that it might be a good idea to build a buffer/level translator to protect the GPIO pins from over voltage and ESD spikes.  The board would need to protect all of the data pins we normally use which are i2c, SPI and UART, it would also need to work at all of the data rates which those pins can support.  Protection for the other GPIO pins would also be useful in case we want to connect anything directly to the Raspberry Pi without using a serial bus.  Support for 5 volt logic would also be a bonus as some of the devices we use do not support 3.3V.

All of the major IC manufacturers sell level translators and buffer ICs so after comparing several different devices I decided that the TXS0108E from Texas Instruments would do what I needed.  The TXS0108E is an 8-bit bidirectional voltage level translator designed for open drain and push pull applications, it supports data rates up to 60Mbps and has built in ESD protection.  It can translate between 1.2 V to 3.6 V on port A and 1.65 V to 5.5 V on port B so connecting port A to the Raspberry Pi would allow me to connect 3.3V or 5V devices to the Raspberry Pi.   The Raspberry Pi has 17 GPIO pins so two of these ICs would protect all but one pin. GPIO23 is only used as an SD command signal so that one could be left disconnected.

The schematic below shows the design for the buffer board.  The two TXS0108E ICs are connected to the Raspberry Pi GPIO pins on one side and a header connector on the other.  100nF decoupling capacitors are connected to the power pins on the ICs and ESD protection diodes were fitted between the Raspberry Pi power lines and ground.  Polyfuses were used on both the 3.3V and 5V rails to protect the Raspberry Pi against short circuits.

When we first developed our ADC Pi expansion boards we found a problem with testing them on the Raspberry Pi.  The ADC Pi has two 10uF smoothing capacitors and plugging the board into the Raspberry Pi when it was switched on would cause a voltage drop as the capacitors charged, this would in turn reset the Raspberry Pi.  To get around this a 470uF capacitor was fitted into the buffer board, this would store enough energy to allow the capacitors on the ADC Pi to charge without dropping the voltage on the Raspberry Pi.

 

posted @   IAmAProgrammer  阅读(628)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2014-09-17 glibc strlen delphi pascal
2013-09-17 TPS54331 TPS54332 3.5V to 28V Input, 3A, 570kHz Step-Down Converter with Eco-mode
2013-09-17 PID算法(c 语言)(来自老外)
2012-09-17 Eclipse Java Color Themes
点击右上角即可分享
微信分享提示