Autor Tema: Crear Software Grabacion  (Leído 10739 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Crear Software Grabacion
« Respuesta #30 en: 28 de Diciembre de 2006, 18:57:28 »
Gracias por tu consejo omix, veo que la función que has escogido es bastante más simple que la mia pero, hay algo que no entiendo: ¿no deberías usar un int16 en vez de un int8? Lo digo porque la palabra de un PIC18 es de 16 bits...

La verdad es que a conforme voy avanzando me doy cuenta de cosas que podía haber hecho mejor; por ejemlo, escribir de forma predictiva: si en vez de borrar el PIC y grabarlo entero, vas borrando y grabando("begin erase programming cycle" en vez de "chip erase" + ciclos de "begin programming only cycle") puedes ahorrar mucho tiempo, pues tienes la posibilidad de leer antes de escribir y si el valor es el mismo no escribes nada(leer siempre es más rápido que escribir  :-/); de esta forma consigues que cuando se graba siempre el mismo código(ligeramente modificado) el tiempo de grabación sea mucho menor.... ¿Tú lo haces así?

En fin, queda claro que la primera vez que haces las cosas no salen como deberian... pero, al menos en mi caso, como se trata de mi PFC dejaré las mejoras para un futuro pues si no veo que no termino nunca  :D.

Saludos
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Crear Software Grabacion
« Respuesta #31 en: 28 de Diciembre de 2006, 20:09:02 »
Permitanme Felicitarlos. Su trabajo, enrriquece mucho al foro.

FELICITACIONES y mucho ANIMO.  :-/
Creo que ya ven el FIN.

Desconectado omix

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 244
Re: Crear Software Grabacion
« Respuesta #32 en: 29 de Diciembre de 2006, 08:05:25 »
Gracias por tu consejo omix, veo que la función que has escogido es bastante más simple que la mia pero, hay algo que no entiendo: ¿no deberías usar un int16 en vez de un int8? Lo digo porque la palabra de un PIC18 es de 16 bits...

Efectivamente un PIC18 tiene una palabra de 16bits, pero en el caso de la serie 18F se lee un byte por cada comando de lectura enviado, es decir, el pic no te devuelve directamente un dato de 16bits sino que para leerlo tienes que hacer dos lecturas de 8 bits: comando lectura + dato 8bits (0) y devuelve dato 8 bits + comando lectura + dato 8 bits (0) y devuelve dato 8 bits.


La verdad es que a conforme voy avanzando me doy cuenta de cosas que podía haber hecho mejor; por ejemlo, escribir de forma predictiva: si en vez de borrar el PIC y grabarlo entero, vas borrando y grabando("begin erase programming cycle" en vez de "chip erase" + ciclos de "begin programming only cycle") puedes ahorrar mucho tiempo, pues tienes la posibilidad de leer antes de escribir y si el valor es el mismo no escribes nada(leer siempre es más rápido que escribir  :-/); de esta forma consigues que cuando se graba siempre el mismo código(ligeramente modificado) el tiempo de grabación sea mucho menor.... ¿Tú lo haces así?

Yo tampoco lo hago asi, yo borro el micro y luego lo programo. No se el ahorro de tiempo que se conseguira (seria cuestión de probarlo), pero tal cual tengo hecho el programador, grabo un 18F6722 al completo (128KB flash + 1KB eeprom + fuses + IDs), en un tiempo de 37s y la lectura completa me tarda unos 19s. Desde mi punto de vista creo que es un tiempo bastante bueno, de todas formas estaria bien probar la otra forma de grabación a ver si se consigue algo de mejora.

En fin, queda claro que la primera vez que haces las cosas no salen como deberian... pero, al menos en mi caso, como se trata de mi PFC dejaré las mejoras para un futuro pues si no veo que no termino nunca  :D.

Saludos

Si, como solemos decir los informaticos, lo primero que funcione bien, luego ya vendran las mejoras.

Saludos.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Crear Software Grabacion
« Respuesta #33 en: 29 de Diciembre de 2006, 08:48:53 »
Gracias por tu consejo omix, veo que la función que has escogido es bastante más simple que la mia pero, hay algo que no entiendo: ¿no deberías usar un int16 en vez de un int8? Lo digo porque la palabra de un PIC18 es de 16 bits...

Efectivamente un PIC18 tiene una palabra de 16bits, pero en el caso de la serie 18F se lee un byte por cada comando de lectura enviado, es decir, el pic no te devuelve directamente un dato de 16bits sino que para leerlo tienes que hacer dos lecturas de 8 bits: comando lectura + dato 8bits (0) y devuelve dato 8 bits + comando lectura + dato 8 bits (0) y devuelve dato 8 bits.


La verdad es que a conforme voy avanzando me doy cuenta de cosas que podía haber hecho mejor; por ejemlo, escribir de forma predictiva: si en vez de borrar el PIC y grabarlo entero, vas borrando y grabando("begin erase programming cycle" en vez de "chip erase" + ciclos de "begin programming only cycle") puedes ahorrar mucho tiempo, pues tienes la posibilidad de leer antes de escribir y si el valor es el mismo no escribes nada(leer siempre es más rápido que escribir  :-/); de esta forma consigues que cuando se graba siempre el mismo código(ligeramente modificado) el tiempo de grabación sea mucho menor.... ¿Tú lo haces así?

Yo tampoco lo hago asi, yo borro el micro y luego lo programo. No se el ahorro de tiempo que se conseguira (seria cuestión de probarlo), pero tal cual tengo hecho el programador, grabo un 18F6722 al completo (128KB flash + 1KB eeprom + fuses + IDs), en un tiempo de 37s y la lectura completa me tarda unos 19s. Desde mi punto de vista creo que es un tiempo bastante bueno, de todas formas estaria bien probar la otra forma de grabación a ver si se consigue algo de mejora.

En fin, queda claro que la primera vez que haces las cosas no salen como deberian... pero, al menos en mi caso, como se trata de mi PFC dejaré las mejoras para un futuro pues si no veo que no termino nunca  :D.

Saludos

Si, como solemos decir los informaticos, lo primero que funcione bien, luego ya vendran las mejoras.

Saludos.

Si no es molestia podran poner el codigo que estan haciendo para grabar??
O al menos enviarmelo al privado??

Me interesa para el proyecto del PLC con PIC, por eso los molesto con esta pregunta... :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Crear Software Grabacion
« Respuesta #34 en: 29 de Diciembre de 2006, 10:15:34 »
Sin problemas... llo que llevo hecho(que tampoco es mucho :D) no estará terminado del todo hasta como minimo una semana más. Ahora mismo está por terminar, sin comentar y muy desordenado... cuando lo ordene en librerias te lo mando por el privado(tampoco es cuestión de colgar en el post 3000 lineas de código...).

Saludos
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Crear Software Grabacion
« Respuesta #35 en: 29 de Diciembre de 2006, 18:25:23 »
Gracias!!! :-/ :-/ :-/ :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Sispic

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1685
    • winpic800
Re: Crear Software Grabacion
« Respuesta #36 en: 30 de Diciembre de 2006, 16:15:08 »
Con lo de modificar solo los valores cambiados no se gana mucho ya que tambien hay que leer todo el pic  .

Aqui esta el codigo fuente del PICkit 2 que puede ayudar .

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1960


« Última modificación: 30 de Diciembre de 2006, 16:18:58 por Sispic »

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Crear Software Grabacion
« Respuesta #37 en: 30 de Diciembre de 2006, 19:25:39 »
Citar
Con lo de modificar solo los valores cambiados no se gana mucho ya que tambien hay que leer todo el pic  .

Hola Sispic, lo acabo de pensar mejor y la verdad es que tienes razón. Ejemplo, en un 16F87X, si utlizas el commando "begin programming only cycle" puedes  progamar 8 palabras en un 1ms... si tuvieses un código lleno de 8000 palabras donde sólo cambiase la última palabra, leerias las 8000 palabras(yo tardo en leer unos 80us/palabra) y sólo escribirias 1 con lo que mas o menos ahorrarias: 8000*125us = 1 seg (sin tener en cuenta los tiempos para leer cada palabra y para poner otra en los latches, que se compensan).... es decir NADA!

Como ya comenté antes, mi programador tarda en grabar un PIC más o menos el doble que WinPic800 pero igualmente comenté que no es lo mismo que un PIC a 4Mhz se coma todo el trabajo a que lo haga un Pentium a 3Ghz :D... Creo que no tengo mucho que ganar intentado modificar mi algoritmo...

Saludos y gracias por el link.
« Última modificación: 30 de Diciembre de 2006, 19:33:07 por manwenwe »
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado mariano_pic

  • PIC18
  • ****
  • Mensajes: 498
    • Software Electronica Microncontroladores
Re: Crear Software Grabacion
« Respuesta #38 en: 16 de Febrero de 2007, 23:06:23 »
Hola mis queridos compañeros.
Yo hase tiempo queria haser un software de programacion de pic, cuando no eran gratuitos y habia que comprarlos, investigue lo nesesario para darme cuenta que no era capas y encontre el icprog y listo para que mas jaja.

Pero encontre una pagina con una aplicacion en delphi con los codigos fuente y e estado esperando para saber lo suficiente para lograrlo, pero ya que no pude creo que a ustedes si les podra servir el archivo es el famoso nopp bajo windows, esta ecaha en DELPHI y compila con el Delphi 5 la direccion de descarga es:

http://www.lsis.com.ar/files/nopppw.zip

LA pagina del autor es:

http://www.covingtoninnovations.com/noppp/index.html

Bueno espero les halla servido bye  :-/

Necesitas ayuda para tu proyecto electronico?
buscame, tal ves pueda colaborarte.
Blog: http://electronicosembebidos.blogspot.com.co/
mail: electronicosembebidos@gmail.com
Mi grupo de facebook: https://www.facebook.com/groups/ProgramandoPics/