4 votos

Mejora de RS485 / UART mató a tasas

Estoy tratando de implementar un half-duplex 1Mbps bus RS485 (1 master control ~8 motores). Después de enfrentarse a los ocasionales errores de comunicación he invertido en un Saleae lógica 4.

El RS485/B líneas probaron directamente dar este resultado.

RS485 bus trace (framing error al final parece que no lastime, así que voy a omitir por ahora) y aquí está la línea de TX (GND referencia) de un solo paquete que se está enviando desde el maestro

TX signal at the master

Me estoy dando cuenta que las velocidades de rotación son bastante lentos (por no hablar de la oscilación). Estoy usando cables CAT5, longitud total en el momento de esta prueba era de ~5 pies, la conexión de maestría y 4 esclavos.

Yo estoy usando la SP3485EN transceptor (RX/TX conectado directamente a la USART del microcontrolador pines). No es de 220 ohm resistor de terminación (entre a y B) que se rellena en el maestro en el momento, y he tratado de agregar y quitar el 220ohm en el otro extremo (en el último esclavo), pero no parece hacer ninguna diferencia. (He intentado añadir un esquema, pero necesitan 10 reputación de publicar más de 3 imágenes)

¿Hay algún consejo sobre cómo mejorar la forma de las velocidades de rotación? Supongo que en el momento es que a mi los errores de comunicación son causados por las señales digitales de ser lo que no son cuadrados. Estoy usando STM32F3 microcontroladores con el USART configurado en 50MHz velocidad.

Hay pasivos que podrían añadirse antes de que el transceptor? Después de que el transceptor? Debo ser el uso de diferentes transceptor?


Sólo me eligió para responder a añadir una imagen de un alcance de lectura de la TX transmisión anterior, y como todo el mundo sugiere, estas son muy cuadrados mirando, y las frecuencias más bajas son a causa de la saleae de muestreo. Gracias por la ayuda! Voy a pasar a la depuración del firmware.

TX scope readout

3voto

WhatRoughBeast Puntos 20870

Primero, si usted quiere la correcta terminación de un cable CAT5, usted necesita para reemplazar ambos resistores de terminación de 100 a 120 ohmios. Que es la impedancia nominal del cable, y usted necesita una terminación en cada extremo para evitar reflejos. Tenga en cuenta que su conductor chip tiene una especificación de rendimiento en la 54 ohmios de carga. El hecho de que el 54 es sólo acerca de los 110/2 no es una coincidencia. Sin embargo, una distancia de 5 pies de cable es muy corto, incluso para 1 MHz transmisión, así que no me preocupaba el tiempo que usted tiene un terminador en cada extremo del cable físico. Su actual resistencias de 220 ohm en cada extremo de la línea debe ser adecuado, habida cuenta de la longitud de la línea y tarifa de datos, pero me gustaría ir para 120 ohmios sólo para estar seguro. La lógica interna de sus unidades esclavo puede ser más rápido que el analizador.

Segundo, Suponiendo que el más estrecho de los datos de pulso es de 1 usec (lo que PARECE razonable para 1 Mb/seg de datos) se mira de cerca a la parte superior de su captura de pantalla indica que el analizador es sólo de muestreo alrededor de las 3 Ms/seg. La hoja de datos para el analizador dice el max frecuencia de muestreo es de 12 Ms/seg., y 12 Ms/seg parece un número razonable para el seguimiento en la parte inferior de la pantalla. Sospecho que la parte superior de su traza fue tomada con demasiado tiempo en una ventana para que el tamaño del búfer de datos, por lo que el analizador tenido que bajar la frecuencia de muestreo. Usted necesita tener cuidado de este comportamiento. Si había datos adquiridos a través de una ventana de 4 veces más, el analizador bien podría haber disminuido la tasa de muestreo a 750 KHz, y tendrías completa basura.

Ahora mira en la parte inferior de seguimiento en las inmediaciones de 72 a 74 y 78 a 80 de la usec. Aquí tienes la alternancia de 1s y 0s, y tenga en cuenta que, aunque el rastro parece que sinewaves, el midamplitude ancho es prácticamente constante, como no hace nunca la mente. Esto significa que, suponiendo que la otra línea de datos es el mismo pero a la inversa, los datos recuperados en las células será de igual anchura, y desde 0 y 1 bits tendrá el mismo ancho de la celda los datos debe estar muy bien.

En otras palabras, no hay ninguna razón para preocuparse acerca de las velocidades de rotación. El sobreimpulso (lo que ustedes llaman zumbido) es muy pequeño, por lo que no es su problema.

EDITAR - sospecho que las lentas transiciones que están viendo es un artefacto de su analizador. Tengo la fuerte sospecha de que la frecuencia de entrada la respuesta es limitado a 6 MHz en el fin de coincidir con la frecuencia de muestreo máxima de 12 MHz. Límite de Nyquist, ¿verdad?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X