Comunicacion PC PIC

Hola, quiero realizar un proyecto de control mediante un pic y una de las características de este es un sistema de configuración del equipo mediante pc.
Lo que quisiera es saber que tengo que buscar para poder realizar esta etapa del proyecto.
Para orientar más, preguntas un poco más concretas.
- ¿Mejor Puerto serie o paralelo?
- ¿Cómo es aconsejable proteger el puerto del PC?
- ¿Qué comandos, registros y configuraciones en ensamblador debo de conocer mejor del pic?
Y por ultimo.
- ¿Se puede hacer facilmenten en wxp con Visual basic o un compilador C para el mismo?
Cualquier respuesta a cualquiera de las preguntas sera bienvenida.
Gracias.

5 Respuestas

Respuesta
1
Sin duda alguna se debe usar puerto serie; si usas un convertidor de capa TTL a 232 tipo MAX232 no necesitas protección alguna, solo utilizar autohandshaking para que el puerto funcione, y conectar las lineas de RX y TX a través del 232 al micro. Al estar el driver 232 de por medio no es necesaria protección alguna, solo conectar las masas del micro y la maquina, para que tengan referencia común. Asgurate por tanto de evitar bucles de tierra.
De ensamblador no te puedo decir mucho, porque yo solo programo en C, como es propio de la ingeniería electrónica en su rama industrial, pero conozco el juego de instrucciones de los PIC más o menos. Las más usadas son la que se usan para leer y escribir en un registro un valor o el contenido de una dirección de memoria; solo con eso se puede hacer casi todo; después las de suma, resta, etc...
Para compilar soft en el PC te recomiendo cualquier compilador de C que tenga librerías para controlar los puertos serie en WinXP, eso debes mirarlo bien, porque si no no funcionara. Mira compiladores de VisualC++ en particular.
Respuesta
1
Respecto a la primer pregunta te digo lo siguiente:
Serie vas a necesitar menos vías de comunicación, solo 2 (data y clock), vas a necesitar también un CI de interface tipo MAX 232, la contra es que tienes que controlar bien los tiempos de cada pulso para no perder el sincronismo entre los dispositivos (PC y PIC). Paralela es más simple de controlar si no tienes mucha experiencia en el tema de comunicación, pero vas a necesitar 1 vía de comunicación por cada dato que quieras leer, ademas vas a necesitar un puerto del PIC para cada linea de datos (vía de comunicación).
La respuesta de cual es más mejor la tienes que decidir tu, depende de tu experiencia, en lo que a mi respecta creo que serie es más práctico.
La segunda pregunta no entiendo a que te refieres con proteger el puerto del PC, si te refieres a proteger contra sobrecargas eléctricas no hay problema ninguno, si usas la puerta serie utilizando un Buffer MAX 232, ese CI ya te aísla un circuito del otro, en la paralela si la conexión es entre la puerta y el PIC tampoco tienes algún tipo de inconveniente, ya que el PIC va trabajar con una fuente de 5 volts y el consumo de sus port's es mínimo.
Con respecto a la tercer pregunta, lo mejor para dominar el PIC es conocer todos los comandos y registros, los comandos son bien pocos (35 instrucciones) y sirven para casi toda la linea de PIC y los registros que son similares en casi todos los PIC son: STATUS, OPTION, INTCON, TRIS y los registros de direccionamiento indirecto FSR e INDF. Para comenzar te aconsejo el 16F84, que tiene un precio bajo, posee memoria Flash (o sea lo puedes borrar y volver a grabar)memoria eeprom y es muy simple de programar, además de contener 13 ports. Como ensamblador lo que te sugiero es MPLAB de la Microchip, lo puedes descargar gratis en la página de la empresa www.microchip.com, es la herramienta más usada, por ser completa y gratis.
Se puede hacer un programa rápido y simple en VB para comunicarce con un PIC tanto por la serie como en la paralela.
Cualquier duda o más datos me avisas, haré lo posible para enviarte la info lo más rápido posible.
Respuesta
1
La comunicación serie usando el protocolo RS-232 es el más usado y efectivo que conozco, puede resultarte algo lento, pero en la mayoría de las aplicaciones es suficiente.
Cuando te adentres en el tema veras que necesitaras un integrado, el MAX-232 que es un adaptador de niveles de entrada/salida entre el PC y el microcontrolador . El programa en el pic es bastante sencillo ya que tiene una USART que con unas pocas instrucciones logra la comunicación. El programa en la PC puede ser en visual, C, o usando el Hiperterminal de Windows todo depende de que tipo de interacción quieras, si no dominas visual o C es mejor que la parte "inteligente" la haga el PIC y que la PC solo se limite a enviar datos (códigos y parámetros).
Muchas gracias por la sugerencia de que la parte inteligente la haga el PC, efectivamente no se demasiado de C solo conocimientos básicos. Gracias y hasta pronto.
Respuesta
1
A mi me gusta más el puerto serie ya que uso 2 terminales en vez de 10.
La comunicación con el puerto serial se hace usando un MAX232 y no hace falta proteger nada. Si es muy importante hay que usar optoacopladores.
Hay que conocer bien el uso de la usart en modalidad asincrónica.
Lo del wxp no se que significa.
Gracias por tu ayuda, tenia mis dudas si era necesario algo más para proteger el puerto. Wxp me refería al Windows XP. Era referente a la transmisión de datos desde el puerto serie al micro.
Respuesta
1
Siento mucho este gran retraso en la respuesta, pero es que no he tenido tiempo de contestarte antes. (No se si aún estás interesada en el tema).
Los nuevos PIC's ya llevan una USART (para comunicaciones serie) integrada. A mi me gusta más usar el puerto serie porque ya lleva el protocol de comunicaciones. Pero si el que quieres usar no lleva, es más aconsejable usar el paralelo (suponiendo que tengas pins suficientes) que implementar tu propia USART por software.
Si usas el puerto serie, el chip que necesitas para adaptar la tensión del PIC con la del PC (MAX232) ya es suficiente. Si usas el paralelo, yo te recomendaría que usases optoacopladores, uno por cada pin que uses.
Los registros del PIC que debes conocer depende del PIC que uses y lo que quieras usar de él. Si lo dedicas a control, supongo que usarás uno que tenga conversores A/D. Pues debes conocer los registros de los conversores. Si tiene USART, debes saber como configurarla y donde coger o poner los datos.
Con Visual basic es muy fácil controlar el puerto serie y el paralelo, pero el C es más robusto. El WinXP no se si te deja acceder libremente a los puertos del PC. No lo he probado nunca. Pero el 98 va de maravillas.
Muchas gracias a pesar del retraso. Puntúo el interés más que la información (en 5 meses me ha dado tiempo ha informarme :P ) más vale tarde que nunca. Gracias otra vez.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas