Autor Tema: Utilizar PIC como buffer de comunicaciones  (Leído 5133 veces)

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

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Utilizar PIC como buffer de comunicaciones
« en: 26 de Junio de 2006, 14:30:10 »
hola

tengo un circuito el cual me gustaria mandar la informacion al PC, pero creo que no tiene una velocidad estandar para PC, asi que quiero utilizar un pic como buffer, que vaya capturarando los datos (1 linea TTL) y los envie al PC atraves de un MAX232 a una velocidad estandar como por ejemplo 9600. La verdad es que no tengo mucha idea de pic, estoy empezando y he puesto este mensaje aqui porque creo que en C me seria mas facil que en ensamblador enteder si alguien me pone algun ejemplo ¿alguien puede ayudarme?. gracias

saludos de antonio

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #1 en: 26 de Junio de 2006, 14:47:38 »
hola

tengo un circuito el cual me gustaria mandar la informacion al PC, pero creo que no tiene una velocidad estandar para PC, asi que quiero utilizar un pic como buffer, que vaya capturarando los datos (1 linea TTL) y los envie al PC atraves de un MAX232 a una velocidad estandar como por ejemplo 9600. La verdad es que no tengo mucha idea de pic, estoy empezando y he puesto este mensaje aqui porque creo que en C me seria mas facil que en ensamblador enteder si alguien me pone algun ejemplo ¿alguien puede ayudarme?. gracias

saludos de antonio

¿Ejemplos de qué?  ¿De usar el puerto serie en C? Si es así, te aconsejo buscar en los ejemplos para 16F876A que estan hechos para el CCS

Ahora bien, quieres hacer un buffer pero  ¿de cuantos byte? y ¿cuántos bytes quieres transmitir por segundo?

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #2 en: 26 de Junio de 2006, 17:02:42 »
hola

la verdad que soy muy novato en electronica y necesitaria ayuda. haber si me explico correctamente, tengo una linea que llega tx, a un pulso de unos 5 microsegundos (0 ó 1). Aunque segun especificaciones creo que puede llegar sobre los 250kb/s y los 500kb/s (2 velocidades). yo quisiera mandar estas informaciones por el puerto serie al pc para capturar el trafico pero no se si llegaria correctamente. por eso queria ir almacenando los pulsos y cuando tenga un byte mandarlos al pc ¿se podria hacer? gracias

saludos de antonio

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #3 en: 26 de Junio de 2006, 21:03:28 »
hola

la verdad que soy muy novato en electronica y necesitaria ayuda. haber si me explico correctamente, tengo una linea que llega tx, a un pulso de unos 5 microsegundos (0 ó 1). Aunque segun especificaciones creo que puede llegar sobre los 250kb/s y los 500kb/s (2 velocidades). yo quisiera mandar estas informaciones por el puerto serie al pc para capturar el trafico pero no se si llegaria correctamente. por eso queria ir almacenando los pulsos y cuando tenga un byte mandarlos al pc ¿se podria hacer? gracias

saludos de antonio

Habría que analizar más en detalle eso de los tiempos.

Si esos pulsos son continuos y piensas usar solo un  pic, ,no podrás ya que terminarás en algun momento llenando la memoria del mismo.

Dicha velocidad solo deja tiempo como para memorias ram estática, las cuales requieren numerosos pines para ser controladas, los cuales tal vez estén fuera del rango de lo que tengas.

Aún así, estarás en problemas ya que si la trasnmisión es continua y durante mucho tiempo, no habrá memoria que aguante.

¿Puedes especificar más la comunicación entrante?  ¿En velocidad y en cantidad de datos? ¿Si los datos se reciben continuamente o si hay 'cortes' en la recepción?  Si hay cortes, ¿de cuantos milisegundos o segundos estamos hablando?

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #4 en: 27 de Junio de 2006, 13:46:42 »
hola

En una placa industrial (no se que fabricante es ya que no lo pone, parece un desarrollo especifico) que lleva comunicaciones por el bus can. Yo lo que quiero hacer es una especie de logeador del trafico, vamos capturar todos los paquetes que le llegan y mandarlo al PC.

saludos de antonio

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #5 en: 28 de Junio de 2006, 14:33:20 »
alguien puede echarme una manita? gracias

saludos de antonio

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #6 en: 28 de Junio de 2006, 15:06:05 »
alguien puede echarme una manita? gracias

saludos de antonio

Me remito a tu post donde pusiste que 'eres muy novato en electrónica' , este proyecto es muy ambicioso para alguien que recien comienza.

El can bus tiene velocidades de 250kbps a 1Mbps. 

Hacer un analizador de tráfico de eso, te significaría al menos guardar todo lo que circule por él durante varios segundos sino minutos!. 

La única forma de hacer eso, es con una memoria estática (las flash son muy económicas pero lentas para cuando se las quiere grabar).

Como lo haría yo.

Antes que nada

a) Analizar muy bien cuantos 'segundos' quieres loguear lo cual te determinará el tamaño de la memoria


1) Leer de alguna forma el dato circulante por el CAN BUS

2) Guardar el dato en la memoria estática (son rápidas)

3) Cuando quieras 'sacar' la información ahí si ya lo podrás hacer por el puerto serie pero recordando que no puedes capturar más mientras haces esto ya que cuando capturas necesitas todo el potencial de tu hardware.  Hacer ambas cosas al mismo tiempo no es algo imposible pero sí te aseguro que en algún momento se te llenará la memoria estática.  Podrías hacer algo más optimo usando un buffer de doble puntero, pero no te la quiero complicar si estas complicado conociendo recien la arquitectura

4) Otra alternativa sería que por ejemplo si lees datos a 250Kbps, eso sería algo así como 32Kbytes por segundo.  Si mal no recuerdo los puertos paralelo EPP pueden transmitir mas de 100.000 Bytes e incluso 1 o 2 MegaBytes por segundo por segundo o velocidad similar.  De todas formas, tendrás que ingeniartelas del lado de la PC para hacer el handshake con el puerto para que no sea 'muy veloz' el pic vs la pc.



Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #7 en: 28 de Junio de 2006, 15:44:41 »
hola

yo pensaba que con un pic se podria hacer, una especie de redireccion al puerto serie. como he visto analizadores y cosas parecidas para los coches, pense que tambien me valdria una adaptacion de eso; es mas ELM ELECTRONICS vende unos micros para esta tarea y son unos pics enmascarados ¿no se podria hacer algo similar a esto? gracias

saludos de antonio
« Última modificación: 28 de Junio de 2006, 15:46:39 por Kid_Bengala »

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #8 en: 29 de Junio de 2006, 17:08:21 »
 :-/

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #9 en: 29 de Junio de 2006, 19:55:53 »
hola

yo pensaba que con un pic se podria hacer, una especie de redireccion al puerto serie. como he visto analizadores y cosas parecidas para los coches, pense que tambien me valdria una adaptacion de eso; es mas ELM ELECTRONICS vende unos micros para esta tarea y son unos pics enmascarados ¿no se podria hacer algo similar a esto? gracias

saludos de antonio

Muchas cosas son posibles, el tema es qué tanto sabes!

Hay cosas que son solo para un grupo selecto de ingenieros y cosas que las puede hacer cualquier mortal.

En el caso puntual que tu mencionaste anteriormente hablaste de CAN BUS y ahora hablas de OBD-II

La comunicación OBD-II es muy lenta y claro que la podrías hacer con un PIC.

Si tu interes es este, es una cosa, ahora bien si quieres CAN BUS a RS232... creo que lo que te puse antes no es errado, pero bueno,  pide opinión a otro tal vez te diga algo que yo desconozca.

Otra opción sería CAN BUS --> USB , ahí las velocidades nuevamente son equivalentes pero tampoco es para alguien 'novato'.   

Hay muchos proyectos en internet que versan sobre USB con PC y PICs pero tampoco me parece que sean proyectos para que se convierta en tu "primer proyecto con PICs".

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #10 en: 01 de Julio de 2006, 16:44:12 »
hola

la comunicacion es can bus, pero puse esa direccion porque uno de sus integrados pone algo de bus can. La velocidad de esta placa creo haberme enterado que va sobre los 125kb/s.¿Porque deberia logear varios segundos o minutos?¿no se podria ir guardando los valores de la señal (binario) y cuando tenga 1 byte mandarlo por el puerto serie al PC y vaciar el buffer del pic? Esto no almacenaria tantos datos ¿no? muchas gracias.

saludos de antonio

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #11 en: 01 de Julio de 2006, 17:07:57 »
hola

la comunicacion es can bus, pero puse esa direccion porque uno de sus integrados pone algo de bus can. La velocidad de esta placa creo haberme enterado que va sobre los 125kb/s.¿Porque deberia logear varios segundos o minutos?¿no se podria ir guardando los valores de la señal (binario) y cuando tenga 1 byte mandarlo por el puerto serie al PC y vaciar el buffer del pic? Esto no almacenaria tantos datos ¿no? muchas gracias.

saludos de antonio

Kid_Bengala te pido que releas bien mis posts.

¿Como piensas leer los datos ? Es decir como piensas 'tomar' esos datos en primera instancia?

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #12 en: 03 de Julio de 2006, 17:06:28 »
hola

hoy he conseguido un osciloscopio en el trabajo y he podido comprobar la velocidad de la señal, es a 62,5kb. ¿A esta velocidad se podria hacer algo? gracias.

saludos de antonio

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #13 en: 03 de Julio de 2006, 23:25:22 »
hola

hoy he conseguido un osciloscopio en el trabajo y he podido comprobar la velocidad de la señal, es a 62,5kb. ¿A esta velocidad se podria hacer algo? gracias.

saludos de antonio

Kid_Bengala

1) Siempre se puede "hacer algo" , el punto es que hay que analizar el fenómeno y con qué recursos uno cuenta (conocimientos, presupuesto, recursos, ,tiempo del que se dispone).

2) No me has respondido como piensas capturar esos famosos 62.5kb .  Si piensas hacer a) una conversión análogo digital, b) colgarte del can bus oyendo , c) Midiendo anchos de pulsus digitalmente.

Si puedes leer a esa velocidad, transmitirlo por la usart sería algo muy simple ya que podrías armar o bien una comunicación a 115200bps o bien a 57600 con un pequeño buffer y de seguro habrá "momentos" en que por el bus no se transmita nada pero tu transmitirás siempre y eso te dará el tiempo suficiente para vaciar tu buffer.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Utilizar PIC como buffer de comunicaciones
« Respuesta #14 en: 04 de Julio de 2006, 14:09:21 »
hola

habia pensado utilizar un mcp2551 de microchip y un pic, pero la verdad es que soy muy novato y no se si podria abarcar este proyecto. muchas gracias.

saludos de antonio


 

anything