Diseñé una placa con microcontrolador (NXP, K64) para controlar las entradas y salidas. El puerto uart de la uC está conectado a Maxim 3362, que convierte la señal en comunicación semidúplex RS485. Usando el protocolo modbus en el uController, la comunicación fluye hacia el conector a la derecha en el esquema, desde allí a un rs-485 exterior a un dispositivo USB (que se conecta a una PC maestra).
EstoyexperimentandoproblemasdecomunicaciónyusounasondadiferencialyunosciloscopioparamuestrearlaslíneasRxyTxdelacomunicacióndiferencialrs485(enelconectordesalidadelaplaca,lospines4y5eneldibujo).Hevistolasiguienteimagen:
LaimagenmuestraunmensajeenviadodesdelaPCaluController,antesdequeeluCOntrollerrespondierayrespondieraincorrectamente(conRTSalto,comoseesperaba).
Comopuedeverdentrodelmensajeenviado,hayunoycero.Lalógicacerotienemuchoruidooscilanteylaúnicalógicaparecesersilenciosa.
Además,antesdequecomienceelmensaje,elceroparececorrecto.Estopareceunpocoextrañoporquesielsuelotuvieraruido,habríasospechadoquelalógicacerodentrodelmensajeylalógicaceroantesdequecomienceelmensajetendríanruido(también'1'tendríaruido,supongo)ynoelcerológicadentrodelmensajesolo...
Además,tuveunavezdurantetodosmisexperimentosquefuncionócomoseesperaba(funcionóbienporunosdíashastaahora),vealosiguiente:
Como se puede ver en la segunda imagen, el '0' y el '1' parecen estar bien y estas imágenes son del mismo tablero.
¿Es este un problema de la placa, problema de los componentes?
Supongo que no tiene que ver con el firmware ... ¿Alguna idea?