Mejorando las tasas de giro RS485 / UART

4

Estoy intentando implementar un bus RS485 semidúplex de 1Mbps (1 maestro que controla ~ 8 motores). Después de enfrentar errores de comunicación ocasionales, he invertido en una lógica de Saleae 4.

Las líneas RS485 A / B sondeadas directamente dan esta salida.

(elerrordeencuadrealfinalnoparecedoler,asíqueloignoraréporahora)yaquíestálalíneadeTX(referenciaaGND)deunsolopaquetequeseenvíadesdeelmaestro

Estoynotandoquelastasasdedesplazamientosonbastantelentas(sinmencionareltimbre).EstoyusandocablesCAT5,lalongitudtotalenelmomentodeestapruebafuede~5pies,conectandoelmaestroy4esclavos.

EstoyusandoeltransceptorSP3485EN(RX/TXconectadodirectamentealospinesUSARTdelmicrocontrolador).Hayunaresistenciadeterminaciónde220ohmios(entreAyB)queestápobladaenelmaestroenestemomento,yheintentadoagregaryquitarlos220ohmiosenelotroextremo(enelúltimoesclavo)peronoparecehacercualquierdiferencia(Intentéagregarunesquema,peronecesito10reputaciónparapublicarmásde3imágenes)

¿Hayalgúnconsejosobrecómomejorarlastasasdedesplazamiento?Miconjeturaenestemomentoesquemiserroresdecomunicaciónsoncausadosporquelasseñalesdigitalesnosoncuadradas.EstoyusandomicrocontroladoresSTM32F3conelUSARTconfiguradoaunavelocidadde50MHz.

¿Hayelementospasivosquepodríanagregarseantesdeltransceptor?¿Despuésdeltransceptor?¿Deberíaestarusandountransceptordiferente?

SimplementeelegíresponderparaagregarunaimagendeunalecturadealcancedelatransmisióndeTXanterior,ycomotodossugirieron,sonmuycuadradas,ylasfrecuenciasmásbajassedebenalmuestreodesaleae.¡Graciasporlaayuda!Continuaréconladepuracióndelfirmware.

    
pregunta Avik De

1 respuesta

3

Primero, si desea una terminación adecuada en un cable CAT5, debe reemplazar ambas resistencias de terminación por 100 a 120 ohmios. Esa es la impedancia nominal del cable, y necesita una terminación en cada extremo para evitar los reflejos. Tenga en cuenta que su chip de controlador tiene una especificación de rendimiento a 54 ohmios de carga. El hecho de que 54 sea aproximadamente 110/2 no es una coincidencia. Sin embargo, un cable de 5 pies es muy corto incluso para la transmisión de 1 MHz, por lo que no me preocuparía siempre que tenga un terminador en cada extremo del cable físico. Sus resistencias de 220 ohmios existentes en cada extremo de la línea deberían ser adecuadas dada la longitud de su línea y la velocidad de datos, pero me gustaría ir a 120 ohmios para estar seguro. La lógica interna de sus unidades esclavas puede ser más rápida que su analizador.

En segundo lugar, suponiendo que su pulso de datos más estrecho es 1 usec (lo que parece razonable para datos de 1 Mb / s) al observar de cerca su captura de pantalla superior indica que su analizador solo está muestreando a aproximadamente 3 Ms / seg. La hoja de datos para el analizador dice que la frecuencia de muestreo máxima es de 12 Ms / seg, y 12 Ms / seg parece un número razonable para la traza en la pantalla inferior. Sospecho que su trazo superior se tomó con una ventana demasiado larga para el tamaño del búfer de datos, por lo que el analizador tuvo que disminuir la frecuencia de muestreo. Necesitas tener cuidado con este comportamiento. Si hubiera adquirido datos en una ventana 4 veces más, el analizador podría haber reducido su frecuencia de muestreo a 750 KHz y tendría basura completa.

Ahora mire la traza inferior en la vecindad de 72 a 74 y de 78 a 80 usec. Aquí tiene alternando 1s y 0s, y tenga en cuenta que, aunque la traza se parece a las ondas sinusoidales, el ancho de la mitad de la amplitud es casi tan constante como al que no le importa. Esto significa que, suponiendo que la otra línea de datos sea igual pero invertida, las celdas de datos recuperadas tendrán el mismo ancho, y como los bits 0 y 1 tendrán el mismo ancho de celda, los datos deberían estar bien.

En otras palabras, no hay razón para preocuparse por las tasas de cambio. El rebasamiento (lo que usted llama timbre) es muy pequeño, por lo que tampoco es su problema.

EDITAR: sospecho que las transiciones lentas que está viendo son un artefacto de su analizador. Sospecho muy fuertemente que la respuesta de frecuencia de entrada está limitada a 6 MHz para coincidir con la frecuencia de muestreo máxima de 12 MHz. Límite de Nyquist, ¿verdad?

    
respondido por el WhatRoughBeast

Lea otras preguntas en las etiquetas