He estado trabajando poniendo un circuito Mbus cableado por un tiempo, tanto para el maestro como para el esclavo.
Para el esclavo, estoy usando el chip esclavo Semi NCN5150 de ON y construí el circuito como la placa de desarrollo - NCN5150SOICGEVB.
También tengo otro dispositivo esclavo MBus (usado para comunicarse con medidores de energía) y funciona bien. Esto es solo para probar mi circuito maestro. Así que llamamos a esto "Medidor de prueba esclavo".
Para el maestro, obtuve este Circuito adjunto del sitio web de MBus UA.
También obtuve este circuito maestro de un foro
Paraelcircuitodeesclavos,todopareceestarbien,ytambiénparaelmaestro.EstoyobteniendoelvoltajerequeridoparaelBus,ymidispositivoesclavoestáencendido.Dondetodavíaestoyporavanzaresconlacomunicación.
Alprobar,estoesloqueobservé,
- Conectomicircuitomaestroal"esclavo de prueba del medidor" y enciende al esclavo. Como este esclavo fue programado, debería enviar algún código de configuración para el intercambio de manos con un maestro una vez conectado. Mi maestro recibió esta información y veo este valor hexadecimal en un terminal serial (1 bit de inicio, 8 bits de datos, paridad par y 1 bit de parada). Así que al menos puedo concluir que mi maestro recibe información. Y esto le sucede a ambos circuitos arriba.
Sin embargo, no puedo probar que el maestro transmita ninguna información porque aún no conozco los datos que esperan los esclavos.
- Para el circuito esclavo que construí, observé una cosa diferente. ¡Sí! El bus maestro también alimenta al esclavo, pero la comunicación no parece exitosa. Al conectar ambos extremos del maestro y el esclavo a un terminal serial separado, observé que cuando envío una cadena de información al maestro, obtengo la información en el terminal serial esclavo y no en el terminal maestro. Es como un eco ya que lo que envío se está volviendo. Y esto solo sucede cuando el enlace Mbus está conectado. Y nuevamente, esto sucede tanto para el circuito maestro que construí.
Necesito saber si estoy haciendo algo mal aquí. ¿Cómo consigo que esto funcione?
ACTUALIZACIÓN DE LA PRUEBA: Observé que la respuesta de Echo se esperaba según la hoja de datos del NCN5150. Indica que "Debido a que el protocolo M-BUS se especifica como semidúplex, una función de eco hará que la señal transmitida en RX o RXI aparezca en las salidas TX y TXI del receptor. Si el maestro intenta enviar al mismo tiempo, la señal agregada a nivel de bits de ambas fuentes aparecerá en estos pines, lo que dará como resultado datos no válidos ".
También probé el "esclavo de prueba del medidor", y observé que el eco también se produjo en la línea de recepción.
Supongo que necesito ayuda para explicar por qué la información no llega a la interfaz Master UART.