Autor Tema: Como realizo una trasmicion en serie con el 16F84  (Leído 2263 veces)

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

Desconectado MAT

  • PIC10
  • *
  • Mensajes: 22
Como realizo una trasmicion en serie con el 16F84
« en: 15 de Abril de 2006, 15:12:54 »
Buena de nuevo amigos!!!
 bien los molesto para ver si alguien me puede orientar o decir como relaizo una trasmicion de datos en serie con el pic 16F848 ya que no tengo idea y lo quiero hacer en asm

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Como realizo una trasmicion en serie con el 16F84
« Respuesta #1 en: 15 de Abril de 2006, 15:20:33 »
En Ejemplito 16F876A: Lo mínimo para comunicarnos vía RS232 Hardware y Software tienes los ejemplos en C y ASM. Dale un vistazo para ver si te sirven.

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

inglaof

  • Visitante
Re: Como realizo una trasmicion en serie con el 16F84
« Respuesta #2 en: 18 de Abril de 2006, 12:28:29 »
Hola colega, aqui esta mi aportacion:

En primer lugar, probablemente hayas oido hablar del termino BPS o bits por segundo. Son velocidades de transmision, Existen velocidades estandares, por lo cual seria bueno que te ajustaras a ellos, dichas velocidades van desde 2400 4800 9600 19200... y asi sucesivamente.

Significa que cada bit de transmision toma 1/9600 Segundos (en el caso de esta velocidad). Como la transmision se realiza de manera serial, es necesario conocer la forma en la que se acomodan los datos. El formato estandar para ello es el siguiente:

1bit de inicio
8 bits de datos
1 bit de paridad
1 bit de stop

Hay variaciones de esto, por ejemplo, puedes optar por no utilizar la paridad, tambien algunos aparatos utilizan 2 bits de stop o tambien pueden configurarse para utilizar 1.5 bits de stop. Otros utilizan 7 bits de datos y el 8vo bit lo utilizan para la paridad, pero el formato anterior es el por decirlo asi mas general. Significa que para transmitir un byte, ocupas transmitir unos 11 bits, donde cada bit debe durar el tiempo de bit, valga la redundancia, en este caso de 1/9600 Segundos.

Es importante cumplir con estos tiempos. La rutina de transmision no es muy compleja en ensablador, la de recepcion lo es un poco mas, pero creeme, no es nada de otro mundo ni demasiado complicado. Lo unico complicado es el protocolo que manejara tu aplicacion, es decir como va a interpretar la informacion, pero eso lo define cada quien, en lo que mas podemos ayudarte quiza es en estas capas del Modelo OSI, la FISICA y la de RED.

Bueno, en el caso de la fisica, se refiere a los niveles de voltaje y caracteristicas electricas y mecanicas. En lo que concierne a las mecanicas, pues vas a utilizar minimamente 3 cables, uno de transmision, uno de recepcion y uno de tierra para unir las referencias de ambos equipos. Si deseas comunicarte con un equipo que tiene implementado un puerto RS232, aqui hay un detalle:
La logica de voltajes en la tranmision serial rs232 es diferente a la TTL, es decir, mientras que en TTL un 1 logico corresponde  un voltaje de 5v, en rs232 corresponde a un voltaje entre -3v y -12v, y un cero logico en TTL son 0 volts, y en rs232 corresponde a un voltaje entre +3v y +12v.

Como podras ver, no puedes utilizar un pic diretamente para comunicarte, se requiere de un conversor de niveles logicos. El mas famoso y sencillo de utilizar es el MAX232, encontraras miles de paginas en internet con informacion de este circuito y diagrams de como implementarlo, creeme, no es nada complicado.

Te recomiendo que inicies pruebas a velocidades de transmision bajas. 9600 BPS es iuna velocidad que puede parecer baja, pero muchos equipos la utilizan porque, el que la comunicacin sea lenta tiene sus ventajas si le ponemos atencion a la integridad de los datos transmitidos, mas si la distancia de transmision es grande, no recuerdo cual es el limite en rs232, pero no es mucha, y mucho menor debe ser si optas por comunicarte directamente con niveles TTL.

Existen otras señales en la comunicacion serial que sirven para llevar un control delñ flujo de la informacion, señales como la dtr, rts, entre otras. Puedes profundizar un poco en eso en paginbas de internet donde hablen de un puerto serial, aunque muchos equipos tambien optan por no utilizar un control de flujo por hardware.

Espero te sea un punto de apoyo en tu busqueda... hasta luego colega..