Autor Tema: Duda alcance 18F2550  (Leído 4499 veces)

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

Desconectado NewbieGeek

  • PIC10
  • *
  • Mensajes: 2
Duda alcance 18F2550
« en: 21 de Marzo de 2010, 00:34:38 »
Buenas a todos, soy nuevo con el tema de los pics y luego de leer durante unas 3 horas varios temas en el foro decidi preguntar algunas cosas que tal vez sean basicas pero inevitablemente por mi nula experiencia las desconozco.

Es posible realizar lo siguiente con un 18F2550:
tener una conexion via USB con un PC en el host tener un programa que lea los datos via USB del pic y realice operaciones matematicas basicas como una multiplicacion?

Es posible mantener ese resultado de la multiplicacion en el pic, desconectarlo de la PC y al conectarlo mantenerlo alli?

leyendo muchos temas, me surgio una duda con los bootloaders, y me desperto mas curiosidad el hacer algo como un update del software del pic, sin necesidad de sacarlo del montaje.

es posible a traves de un bootloader, almacenar otros parametros como una lista de valores y consultarlos desde el host en el PC?

Que otro pic de bajo costo puedo usar para lograr eso? me interesaria que tuviera un modulo USB como el mencionado en el asunto del post.

De verdad muchas gracias



Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Duda alcance 18F2550
« Respuesta #1 en: 21 de Marzo de 2010, 05:06:42 »
Hola, NewbieGeek. Bienvenido al Foro.

tener una conexion via USB con un PC en el host tener un programa que lea los datos via USB del pic y realice operaciones matematicas basicas como una multiplicacion?
Si. Esa es su función básica.

Es posible mantener ese resultado de la multiplicacion en el pic, desconectarlo de la PC y al conectarlo mantenerlo alli?
Si. Haciendo uso de la EEPROM interna.

... el hacer algo como un update del software del pic, sin necesidad de sacarlo del montaje.
Si, toda esta familia de PIC's es capaz auto-escribir su memoria Flash de programa, y por lo tanto es capaz de auto-reprogramarse.

es posible a traves de un bootloader, almacenar otros parametros como una lista de valores y consultarlos desde el host en el PC?
Si, en la info enviada mediante un bootloader puede incluirse tanto una tabla de constantes para ser almacenada en la Memoria Flash como valores para escribir en la EEPROM.

Que otro pic de bajo costo puedo usar para lograr eso?
Si, su hermano mayor: el 18F4550, por ejemplo.

Por último decirte que aunque te he contestado que si a todo el hacerlo no es fácil ni inmediato, hay que estudiar mucho y realizar muchas pruebas, pero ten confianza, todo lo que nos has planteado está realizado y descrito en nuestro Foro (aunque repartido en decenas de hilos con miles de post) por lo que solo te recomiendo paciencia y mucho buscar y rebuscar en él.

Un saludo de nuevo y suerte con tu proyecto.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Duda alcance 18F2550
« Respuesta #2 en: 21 de Marzo de 2010, 08:31:18 »
Hola buenos dias estimado colega y paisano, como ya te explico el colega y maestro Redpic todo lo planteado es posible con el pic18f2550 y con su hermano el pic18f4550; ahora seria bueno que nos explique que es lo que tienen en mente con tu proyecto si es posible para asi ayudarte un poco mas y que compilador usaras para el pic y que lenguaje para la pc ya que estas hablando de comunica el pc con el pic via usb son muchas las cosas pero con paciencia y dedicasion se logra eso y mucho mas.

Saludos y aca tienen buenas personas y con amplico conocimiento y dedicacion de ayudar que es lo mejor asi que aprovecha este maravilloso foro lastima que por ocupaciones yo no lo aprovecho ni al 2% pero si que me gustaria.

Atten.
Alexander Santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado NewbieGeek

  • PIC10
  • *
  • Mensajes: 2
Re: Duda alcance 18F2550
« Respuesta #3 en: 21 de Marzo de 2010, 08:32:16 »
Muchas gracias por tu ayuda.

Desconectado Pchuqui_1

  • PIC16
  • ***
  • Mensajes: 187
Re: Duda alcance 18F2550
« Respuesta #4 en: 22 de Marzo de 2010, 12:15:01 »
Hola. Hace poco que estoy en el foro. Estoy empezando las investigaciones con el USB de los pics, y quisiera saber dónde puedo descargar el archivo mpusbapi.dll para comunicar mi pic con windows vista, porque creo que tengo la versión vieja y no me permite hacer la comunicación. Intenté buscarlo en la página de Microchip pero no tuve suerte. Gracias.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Duda alcance 18F2550
« Respuesta #5 en: 22 de Marzo de 2010, 14:57:09 »
Hola. Hace poco que estoy en el foro. Estoy empezando las investigaciones con el USB de los pics, y quisiera saber dónde puedo descargar el archivo mpusbapi.dll para comunicar mi pic con windows vista, porque creo que tengo la versión vieja y no me permite hacer la comunicación. Intenté buscarlo en la página de Microchip pero no tuve suerte. Gracias.

Es parte de Microchip Application Libraries

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en537044

Desconectado Pchuqui_1

  • PIC16
  • ***
  • Mensajes: 187
Re: Duda alcance 18F2550
« Respuesta #6 en: 22 de Marzo de 2010, 17:54:45 »
Hola migsantiago. Gracias por contestar. Te cuento que estoy probando por primera ves una comunicación usb con el pic18f2550 y estoy usando uno de los ejemplos de este foro. Me pareció leer que a la libreria mpusbapi.dll hay que hacerle alguna modificación para que funcione con Vista, es asi? yo descargue de la paguina la version 1.1.0.0. Gracias.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Duda alcance 18F2550
« Respuesta #7 en: 22 de Marzo de 2010, 17:58:38 »
La última versión que Microchip ofrece es compatible con xp, vista y 7. No recuerdo el número de versión pero ya tiene tiempo que la compatibilidad se arregló.

Desconectado guille_de_plottier

  • PIC10
  • *
  • Mensajes: 7
Duda alcance 18F4550
« Respuesta #8 en: 23 de Marzo de 2010, 19:43:15 »
hola a todos, estuve leyendo varios post, digamos que fechados desde el 2006 haciendo referencia a PalitroqueZ, buscando la configuración del PLL del pic en cuestion, titulo 18F4550.
Hice algunos ensayos copiando partes de codigos, puntualmente los Fuses. Ahora me surge una pregunta que o logro responder.... al utilizar un crystal de 4Mhz configurando el PLL para que funcione a 48Mhz

¿la velocidad de procesamiento del micro será de 48Mhz o solo se utiliza para la comunicación USB y el resto funciona a 4Mhz?

Esto viene a que yo configuré un micro esperando que el tiempo de procesamiento de un bucle for sea de 8.33us (corresponde a un for de 100 ciclos) y me da como resultados, al medir en el osciloscopio analógico o con el proteus,  que tarda en procesar el bucle de 100 ciclos 50us, o sea que está trabajando a 4MHz y no a 48MHZ..

¿Esta bien lo que digo o tal vez el uC no funciona así?

Los algoritmos que programé son los siguientes:

// Este es el primer programa para el Proyecto Viluz 1
// Se comenzará a pasar los algoritmos desarrollados en VB6.0
// a codigo C sobre el programa compilador CCS
// ----------------------------------------------------------
// Micro a utilizar = PIC18F4550


#include <18F4550.h>    //archivo de cabecera- definiciones de valores de bits
//#FUSES HSPLL         //High Speed Crystal/Resonator with PLL enabled
#FUSES XTPLL      // Indica que usa cristal de 4Mhz y no otro
#FUSES MCLR       // Indica que el PIN 1 será utilizado como reset
#FUSES NOWDT      // INdica que no se utiliza WatchDog Timer
#FUSES NOPROTECT  //
#FUSES NOLVP      // No se programará en modo de programacios bajo voltage
#FUSES NODEBUG    // No permite el debugging in-Circuit
#FUSES NOUSBDIV     // El clock para el puerto UBS se tomará del PLL/2
#FUSES PLL1       // El "PLL prescaler" dividirá por 1 la frecuencia del cristal
#FUSES CPUDIV1    // El Postscaler dividirá en 2 las frec del PLL de 96Mhz
#FUSES NOVREGEN   // Desabilita el regulador de voltage del puerto USB
#FUSES NOPBADEN   // Deshabilita las intradas analógicas

#use delay (clock=48000000) // el clock que tendremos a la entrada del CPU

#define Muestreo  1
#define otra_cosa_mariposa 2
#define time_clock 3

int8 Bandera_Tareas;
int8 aux1;
int8 counter_samples;


void main() {
//----- INICIALIZACION DE VARIABLES ---------------
   int8 i;
   i=0;
   Bandera_Tareas = 0;
   aux1 =0;
   
//-----------------------------------------
    set_tris_a(0x0);   // configura los puertos como salidas
    set_tris_b(0x0);   
    set_tris_c(0x0);
    set_tris_d(0x0);
    set_tris_e(0x0);
//----------------------------------   
   disable_interrupts(int_rda); //Deshabilita la interrupción del RS-232
   disable_interrupts(int_ext);
   disable_interrupts(int_ext1);
   disable_interrupts(int_ext2);
     
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(FALSE);
   setup_psp(PSP_DISABLED);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   port_b_pullups(FALSE);
   
//---------------------------   
   output_a (0);    // saca un nivel bajo de salida en los puertos
   output_c (0);
   output_d (0);
   output_e (0);
while(true){
     
         output_high(PIN_B4);
         for(i=0;i<100;i++);
         output_low(PIN_B4);
         for(i=0;i<100;i++);
     }
}
 

 :-/
Saludos,
              Guille
« Última modificación: 23 de Marzo de 2010, 19:50:26 por guille_de_plottier »

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Duda alcance 18F4550
« Respuesta #9 en: 23 de Marzo de 2010, 20:51:14 »
¿la velocidad de procesamiento del micro será de 48Mhz o solo se utiliza para la comunicación USB y el resto funciona a 4Mhz?

La clave está en el fuse CPUDIV1 , fíjate aquí donde RedPIC explica el funcionamiento de la etapa del oscilador. En la imagen se ve que el CPU del microcontrolador trabajará a una frecuencia que dependerá de ese fuse, o sea 96/2, 96/3, 96/4 o 96/6.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Duda alcance 18F2550
« Respuesta #10 en: 23 de Marzo de 2010, 21:14:24 »
...Hice algunos ensayos copiando partes de codigos, puntualmente los Fuses. Ahora me surge una pregunta que o logro responder.... al utilizar un crystal de 4Mhz configurando el PLL para que funcione a 48Mhz

¿la velocidad de procesamiento del micro será de 48Mhz o solo se utiliza para la comunicación USB y el resto funciona a 4Mhz?
...


un caso particular pero aplica igual para tu caso

¿Quién es Fosc en los pic 18F?

« Última modificación: 23 de Marzo de 2010, 21:17:25 por PalitroqueZ »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado guille_de_plottier

  • PIC10
  • *
  • Mensajes: 7
Re: Duda alcance 18F2550
« Respuesta #11 en: 25 de Marzo de 2010, 20:48:04 »
Estimados:
                   ya estoy convencido y entendido.. jeje

Ahora, en base a sus afirmaciones, claro está que el CPU también funciona a esa velocidad (48Mhz con PLL1 y CPUDIV1), pero mis pruebas comprobaban lo contrario. Hoy me doy cuenta que es muy importante estudiar las instrucciones de assemble para estimar de forma correcta cuanto tiempo tomará un proceso.

En mi caso yo hacía evolucionar un FOR a 100 veces (I=0;I<100;I++) y esperaba que esto sean 100 ciclos de clock interno (o sea 100 * Fosc/4 = 100* 48MHz/4) y  AHÍ estaba mi error  :5] un bucle for demanda 6 instrucciones en assembler. Estimaba los tiempo de forma incorrecta y por lo tanto parecía que el micro funcionará mas lento......  :oops:

RECOMENDACIÓN: Para los que están empezando como yo.. ¡Es muy útil la herramienta de simulación MPLAB SIM, ya que nos permite observar instrucción a instrucción como corre nuestro programa. (en lenguaje C y assembler)..... yo particularmente enlazo el CCS con el MPLAB y compilo desde ahí, me resulta mas cómodo...
 
Muchas gracias PalitroqueZ y Suky

 Hasta pronto....

Guille..... 8)