¿Es un Mosfet de canal N seguro/confiable para el UART de cambio de nivel de 3V3 a 5V?

Estoy ocupado con un diseño que necesita conectar una Raspberry Pi a un Arduino a través de UART. Previamente he diseñado un circuito que funcionó bien.

Diseño anterior
(fuente: protoneer.co.nz )

Pero ahora quiero comenzar a usar componentes SMD y planeo usar el siguiente componente: BSS138BKS + 10k Resistor Bank.

No soy un experto en estas cosas y generalmente uso diseños de otros circuitos en mis nuevos diseños.

Mi pregunta es si el BSS138BKS utilizado como en la configuración original con el 2N7000 podrá funcionar continuamente sin problemas.

¿Y es esta la forma correcta de cambiar el nivel entre los dos dispositivos? (No quiero dañar las tablas).

Editar: circuito actualizadoingrese la descripción de la imagen aquí

Respuestas (2)

El BSS138 debería funcionar bien en su circuito de cambio de nivel. Solo asegúrese de conectar sus pines G, D y S con el mismo método que usó para el otro FET. Para un cambiador de nivel como este, es esencial que el pin D (drenaje) esté conectado al lado que tiene los niveles de 5V para que el diodo del cuerpo en el FET no entre en polarización directa continua.

Este tipo de cambiador de nivel en realidad es compatible con la señalización bidireccional, pero funcionará igual de bien con la señalización unidireccional de sus puertos UART.

Cuando lo construya con las partes BSS138, es posible que desee verificar el tiempo de subida de las señales que pasan a través del traductor de nivel. Si son demasiado lentos para la velocidad en baudios que desea utilizar, es posible que deba reducir el valor de las resistencias pullup en uno o ambos lados de los FET traductores.

Cada circuito cuenta una historia. gracias por la parte de los pullups. :)

¿Ambas conexiones UARΤ se refieren a conexiones directas a los pines mcu? Si alguna de las dos placas está utilizando un controlador UART (MAX232 o similar), entonces tendrá problemas causados ​​por los voltajes bipolares (alrededor de +8/-8v).

No he visto un traductor de nivel como este utilizado para la conexión UART, no es que no sea posible, pero generalmente hay alternativas más rápidas como SPI o I2C (TWI) que se pueden usar para distancias cortas. Si está utilizando UART para poder transferir la señal a larga distancia, entonces no creo que vaya a funcionar, deberá usar controladores UART dedicados.

Puede usar fácilmente dos MAX3232 (o un MAX232 para 5v y un MAX3232 para 3v) con algunos capacitores SMD e interconectar las dos placas.

ingrese la descripción de la imagen aquí


Tenga en cuenta que para un traductor de nivel unidireccional hay otra opción, usar un diodo y una resistencia pull-up (cuando no hay un pull-up interno que se pueda usar).

esquemático

simular este circuito : esquema creado con CircuitLab

Básicamente, la entrada es levantada por la resistencia pull-up (cuando la salida es alta), o baja a aproximadamente 0.7v cuando la salida es baja.
En la dirección de 3v a 5V, la entrada será de 0,7v o 4v (3,3+0,7v).
En la dirección de 5v a 3V, la entrada será de 0,7v o 3v.

En ambos casos, los voltajes están en el rango adecuado para traducirse como lógica alta y lógica baja desde las entradas de mcu.

Gracias. Ambas conexiones UART son MCU a MCU. Mirando su traductor de nivel unidireccional, me tomó un poco tener un momento ah-ha, pero estoy preocupado por el 5V RX. SI no está configurado para la entrada, podría enviar un 5v por la línea al 3v3 Tx, ¿verdad?
@BertusKruger Sí, pero tendrá el mismo problema con el traductor mosfet. En la dirección de 3v a 5v, si el lado de 5v se convierte en una salida, los 5v llegarán al lado de 3v a través del diodo de sustrato mosfet. Así es como funciona la dirección de 5v a 3v de todos modos, utilizando el diodo de sustrato. La única forma que veo de proteger el mcu en tal caso (ambas salidas) es agregar una resistencia en serie que pueda limitar la corriente entre las dos E/S.
@alexan: Por lo que entiendo, el cambiador de nivel de mosfet esto no es cierto. No hay "dirección" porque es bidireccional. El diodo del sustrato siempre está en la dirección 3V ->|- 5V y solo se usa para transferir bajo del lado de 5V al lado de 3V