Autor Tema: perdida de muestras convesor Analogico-Digital  (Leído 1710 veces)

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

Desconectado neoakira

  • PIC10
  • *
  • Mensajes: 4
perdida de muestras convesor Analogico-Digital
« en: 03 de Mayo de 2010, 11:20:08 »
Hola a todos.

Soy estudiante de ingenieria electronica y realizo el proyecto fin de carrera que consta de lecturas del convesor Analogico-Digital de 10bits cada 50us y enviarlas por rs232 al pc para luego representar pero, me aparece un problema, la funcion printf() que realiza la transmision me hace desestabilizar los tiempos de lecturas ya que el tiempo que necesita para enviar es de unos 15ms aproximadamente y me gustaria reducirlos mas acorde a los tiempos de lectura del convesor Analogico-Digital.

Muchas gracias.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: perdida de muestras convesor Analogico-Digital
« Respuesta #1 en: 03 de Mayo de 2010, 11:54:10 »
Hola neokira, la verdad me parece que realizar conversiones cada 50us lo que significaría 20.000 muestras por segundo me parece demasiado, esto sin conocer obviamente tu aplicación, pero si así es como debe ser te recomiendo aumentar la velocidad de transmisión rs232 a 19200 bps o mayor y generar por medio de un timer con interrupción el tiempo de 50us y en esta realizar la conversión

saludos.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: perdida de muestras convesor Analogico-Digital
« Respuesta #2 en: 03 de Mayo de 2010, 11:59:33 »
Además la funcion printf es bastante compleja y genera mucho codigo de maquina. Podrias utilizar una forma mas simple de enviar los datos, como putc. Pero vas a tener q ver como codificas los datos y como los decodificas luego en la PC.
saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado neoakira

  • PIC10
  • *
  • Mensajes: 4
Re: perdida de muestras convesor Analogico-Digital
« Respuesta #3 en: 03 de Mayo de 2010, 12:09:40 »
Gracias por la respuesta, la he aplicado y en el pc me salen simbolos, antes de hacer alguna prueba con el conversor he realizado un hola mundo para ver si me llegaba pero no.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: perdida de muestras convesor Analogico-Digital
« Respuesta #4 en: 03 de Mayo de 2010, 12:26:12 »
Como dije, si usas putc, los datos no van a ir formateados, por lo tanto tenes q "decodificarlos" en la PC.
Tendrias q mostrarnos tu codigo para ver q tipo de datos estas enviando y como lo haces. Y tambien decirnos con q programa estas viendo los datos del lado de la pc. Acordate q a la larga los simbolos q ves son numeros, q se representan en ASCII.

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado ariznaf

  • PIC10
  • *
  • Mensajes: 23
Re: perdida de muestras convesor Analogico-Digital
« Respuesta #5 en: 06 de Mayo de 2010, 17:15:57 »
Pues vamos a hechar unas cuentas...
Vamos a suponer que quieres muestrear un único dato de 10 bits cada 50us.
Vamos a suponer que al micro le lleva unos 20us en hacer la conversión y otras cuentas que necesites.
Dispones pues de unos 36us para la transmisión (lo cuál es mucho suponer, pues el programa seguramente haga otras cosas).

Vamos a suponer que sólo transimitieras el dato en hexadecimal como númeor de 16 bits, o que usas formato binario con un byte de inicio y otro de fin.
Vamos que son 6 bytes de transimisión.

Como cada byte son 9 bits transimidos (con el de parada) hay que transmitir 36 bits.
Para cada bit dispones pues de 36/36= 1us.

Por tanto necesitarías una velocidad de transmisión en baudios de 1/1e-6 = 1000000 baudios.
Lo que no es alcanzable via serie.
Tal vez en USB puedas hacerlo, pero en serio son velodidades muy altas.

Eso sin contar los tiempos que necesitas para hacer las conversiones, y el printf se echará lo suyo. Puedes usar una función de conversión a hex o a BCD.

Desconectado nbc

  • PIC10
  • *
  • Mensajes: 39
Re: perdida de muestras convesor Analogico-Digital
« Respuesta #6 en: 08 de Mayo de 2010, 00:05:44 »
que es lo que mides que necesitas 20000muestras por segundo ? tal vez si bajas bastante la tasa de  muestreo puedas comunicarte....

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: perdida de muestras convesor Analogico-Digital
« Respuesta #7 en: 08 de Mayo de 2010, 23:28:46 »
si siempre deseas enviarlo por serial sería mejor que utilizaras una RAM o una FIFO externa en la cual almacenes los datos y luego los envíes, así no necesitarás una velocidad de transmisión muy alta, pero recuerda que una vez que la RAM o la FIFO se llenen comenzarás a peder los datos.

 :? No estoy muy seguro, pero creo que los osciloscopios y las tarjetas DAQ realizan algo similar para poder enviar los datos a la PC o para poder realizar cálculos.
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA


 

anything