Autor Tema: Bootloader por RS485  (Leído 2731 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado saimon

  • PIC10
  • *
  • Mensajes: 11
Bootloader por RS485
« en: 01 de Junio de 2011, 14:23:24 »
Hola.

Quisiera hacer una pregunta para las personas que han utilizado el bootloader. Para un proyectillo casero que estoy pensando (hacerme varios sensores y actuadores distribuidos por la casa y controloarlos por un puerto RS485 desde un PC). Le he estado dando vueltas y despues de que para el trabajo he tenido que utilizarlo, creo que sería una buena si se pudiese programar mediante puerto RS485. Lo del puerto RS485 es un puerto que se puede conectar varios dispositivos a la vez, con dos cables y soporta más de un km de logitud (teórica). Además se puede utilizar con distintos protocolos como el MODBUS. De esta manera trankilamente desde el ordenador de tu casa puedes programar los dispositivos.

Ahora mi problema, he estado haciendo pruebas, ya que en mi trabajo lo he utilizado y he cogido prestado lo que necesito. El problema que le veo es que está pensado para protocolos full-duplex, y el que yo quiero implementar es el hafl-duplex, por lo que no voy a poder emitir al mismo tiempo que recibo. He mirado toda la documentación pero no explica si se tiene que escribir a la vez que se reciba, por lo que dejaría el proyecto, o si por el contrario cuando se reciba no se va a escribir, por lo que seguiría adelante con el, aunque poco a poco.


Muchas gracias.

Desconectado saimon

  • PIC10
  • *
  • Mensajes: 11
Re: Bootloader por RS485
« Respuesta #1 en: 06 de Junio de 2011, 06:54:41 »
Hola de nuevo

He estado haciendo pruebas. Por ahora he visto que se va pudiendo, aunque aun no he conseguido grabar. El primer paso, por si alguien lo quiere intentar antes de que tenga algo, es modificar el programa para inicializar correctamente el reloj, aunque con los micros del ejemplo no debería de haber problemas (yo he tenido que iniciarlizarlo, ya que sino el baudrate no se puede controlar tan facilmente) y el U1MODE y el U1STA para poder trasmitir por el puerto RS485. Cuando siga teniendo más cosas las voy subiendo.

Desconectado saimon

  • PIC10
  • *
  • Mensajes: 11
Re: Bootloader por RS485
« Respuesta #2 en: 08 de Junio de 2011, 13:46:43 »
Hola de nuevo.

He seguido haciendo pruebas y he visto que hay colisiones entre el último bit recibido y el primero trasmitido. Como estoy en una comunicación halfduplex (lo tengo que hacer asi si quiero que sea multipunto y ahorrar en cable) resulta que estoy emitiendo antes de recibir el bit de parada, por lo que mi controlador se vuelve loco y recibe datos incoherentes. Para encontrar el fallo me he creado un programa en Labwiew (vale otros metodos de programación que envien datos hexadecimales) que es el que trasimite caracteres y al recibirlos no recibia el dato que me tenía que dar. Me ocurría con el comando 0x09 que le pide al micro su identificación y este devolvía otro valor que no es el adecuado. Ahora tengo que ver en que comandos más me falla y meterles retrasos en la trasmisión. Ojalá pueda sacar algo en claro de esto.

No pondré el bootloader por RS-485 hasta que lo tenga terminado del todo, pero si alguien quiere ternelo ya sin optimizar ni hacer pruebas que me lo diga y lo pongo tal y como lo tenga.