Autor Tema: ¿Cómo funciona y cómo utilizar el "fraccional"????  (Leído 4211 veces)

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

Desconectado ivan braga

  • PIC12
  • **
  • Mensajes: 77
¿Cómo funciona y cómo utilizar el "fraccional"????
« en: 02 de Septiembre de 2010, 20:10:08 »
traducción de Google

Hola.

Bueno, como dice el título, necesitan entender cómo funciona y cómo utilizar el "fraccional" siempre ha trabajado con PICs leer los convertidores ADC con "unsigned int" y luego se multiplica por un valor determinado y listo, tenía información sobre la tensión presente en dijo patillas del μC.

Pero ahora me embarco en los caminos dsPIC y quieren aprender a utilizar esta innovación ", al menos por min.

Voy a citar un ejemplo que puede ayudarme a entender el "fraccional".

Por el momento tengo un trabajo en dsPIC33F 3.3v, y un pin del módulo ADC establecer como entrada, cuando la lectura de este pin con el formato de entrada "unsigned int" después de la conversión tengo el siguiente valor '454 'y cuando me hacen uso de "unsigned fraccional " tienen el valor '29056 '. Si se multiplica 454 * 0.00322v tienen una tensión de 1.46v ~ (3.3v/1024 = 0,00322 ...).

Cómo hacer esto utilizando el "fraccional"?

Gracias.

Ivan
"Mesmo o objeto mais inanimado tem movimento suficiente para ficar na sua frente e provocar um acidente."
"Incluso el objeto más inanimado tiene suficiente movimiento para interponerse en su camino y provocar un accidente."
"Even the most inanimate object has enough movement to stand in your way and cause an accident."

Desconectado blackcat

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 600
Re: ¿Cómo funciona y cómo utilizar el "fraccional"????
« Respuesta #1 en: 03 de Septiembre de 2010, 23:25:56 »
Hola!

El famoso fractional del MPLAB C30 es utilizada para aritmetica en punto fijo, el formato utilizado en dsPIC es llamado Q15 ... podes dar un vistazo a: http://en.wikipedia.org/wiki/Fixed-point_arithmetic

La idea utilizar el bit 15 (en una palabra de 16bits) para el signo y los 15 bits restantes (del 0 al 14) para representacion fraccional con un rango numerico entre -1.0000 a 0.9999 donde 0x8000h seria -1.0 y 0x7FFFh seria aprox 0.9999.

En MPLAB hay dos funciones utiles .. se llaman float2frac y frac2float que permiten convertir de flotante a fijo y viceversa. Obviamente, el dsPIC está optimizado para usar el formato fractional, donde mas se utiliza es en la biblioteca dsp.

Saluodos!
Control Automático, DSP & Microcontroladores

Desconectado ivan braga

  • PIC12
  • **
  • Mensajes: 77
Re: ¿Cómo funciona y cómo utilizar el "fraccional"????
« Respuesta #2 en: 06 de Septiembre de 2010, 23:04:04 »
Gracias por la respuesta, a partir de la información y la dirección que me diste, voy a dar un Google para comprender mejor el tema.

Ivan
"Mesmo o objeto mais inanimado tem movimento suficiente para ficar na sua frente e provocar um acidente."
"Incluso el objeto más inanimado tiene suficiente movimiento para interponerse en su camino y provocar un accidente."
"Even the most inanimate object has enough movement to stand in your way and cause an accident."

Desconectado anton

  • PIC10
  • *
  • Mensajes: 11
Re: ¿Cómo funciona y cómo utilizar el "fraccional"????
« Respuesta #3 en: 07 de Septiembre de 2010, 04:51:57 »
Hola ivan, recuerda que en los numeros binarios dos magnitudes diferentes pueden tener la misma representacion numerica, por ejemplo el numero -1 decimal y 255 decimal ambos se representan en binario de esta forma: 11111111 en notacion complemento a dos, entonces ¿como saber si es -1 o es 255 ? Facil, lo que importa es como interpretamos esa cantidad numerica, si la interpretamos (o estamos trabajando) con numeros sin signo, es un 255; si lo interpretamos  (o estamos trabajando) con numeros con signo, es un -1.
Lo mismo pasa con los numeros fraccionarios, si estas trabajando una palabra de 16 bits, sin importar la notacion (Q15 o alguna otra) solo puedes representar 2^16 cantidades diferentes, entonces para saber que magnitud te da el ADC multiplica el valor de resultado por la minima cantidad expresable en esa notacion, y tendras el resultado deseado.


 

anything