Cómo conectar SIM800L a UART en STM32F103

0

Tengo un problema con la interfaz SIM800L con STM32F103. Acabo de leer la hoja de datos de SIM800L que el nivel lógico de UART está en 2.8 V. Pero el STM32F103 se puede operar en 3.3 V. Conecté mi pin TX RX directamente a mi MCU. Yo mando AT al mando pero no pasa nada. ¿Estoy haciendo algo mal?

    
pregunta calvin limantara

1 respuesta

2

Debe verificar las características de E / S y puerto serie en la hoja de datos de los dispositivos para asegurarse de que los niveles lógicos coincidan. Necesita el V IL , V IH , V OL , V OH respectivamente para SIM800L y STM32F103 . Para el SIM800:

ParaelSTM32F103,losvaloresdeentradaquesepruebanenproducción:

  • VILmax=0.35*VDD=0.35*3.3V=1.155V
  • VIHmin=0.65*VDD=0.65*3.3V=2.145V

TeóricamenteVILunpocomásaltoyVIHunpocomásbajo.

Comopuedever,nohayproblemaaquíyaqueVOLmax(0.1V)delSIM800estápordebajodeVILILmax(1.155V).YelVOHmin(2.7V)delSIM800estáporencimadelVIHmindelSTM32(2.145V).

Laotradirección,valoresdesalidaSTM32F103:

Hayvarioscasos,debecalcularseconlosvaloresdelpeordeloscasos,porloquecuandolacorrientedeIOes+20mA.VOLmax=1.3VyVOHmin=3.3V-1.3V=2V.

Ahora,aquívienenlosproblemasyaqueelVILmaxdeSIM800es0.3VperoelVOLmaxesalmenos0,4V.Hayunabrechade0,1VenlaquelaentradaalSIM800noestádefinida.

TambiénVOHmindelSTM32puedeserde2V,2.4Vo2.9V.El2VestámuypordebajodeVIHdelSIM800min2.5V.La2.9Vprobablementeestaríabien.

Sesugierelaconversióndetodoelnivellógicoengeneral,semencionaenlahojadedatosdelSIM800juntoconuncircuitodereferencia.

Si su problema persiste después de hacer el cambio de nivel, aquí hay un par de elementos que debe revisar:

  • Debe verificar que haya conectado el pin TX del SIM800 al pin RX del STM32 y el pin RX del SIM800 al pin TX del STM32.
  • SIM800 tiene la función de audición automática activada de forma predeterminada, y esta solo admite las siguientes tasas de baudios: 1200, 2400, 4800, 9600, 19200, 38400 y 57600. Por lo tanto, si su tasa de baudios es 115200, entonces se debe cambiar.
  • Asegúrese de que cada comando AT que envíe finalice con una secuencia \r\n .
respondido por el Bence Kaulics

Lea otras preguntas en las etiquetas