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.