Autor Tema: Nuestro Libro diario con el PIC18F97J60 (Ethernet)  (Leído 321417 veces)

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

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #135 en: 12 de Octubre de 2007, 15:11:19 »
Hola amigo RICHI777..

Entiendo tu posición de verdad, se que lo haces en el buen sentido de la palabra, el recomendar que es mejor C18, es muy muy valida. Solo que se siente muy mal cuando alguien critica el trabajo que se hace de forma gratuita y desinteresada, si te parece que C18 sera mejor, bueno planteas tus opiniones y listo, pero no entrar en peleas es lo mejor.

Como te decía, seria estupendo para todos que trabajaras en Este proyecto usando C18 y así con argumentos, defenderías lo que dices.  Todos los foreros veran las diferencias entre uno y otro y así se enriquece el debate.

"Siempre hay que discutir por sus creencias, pero nunca pelear"

SALUDOS!!!

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #136 en: 12 de Octubre de 2007, 15:15:24 »
Hola:

Amigos, ya se dieron estos casos en algún tema, si mal no recuerdo era en una encuesta sobre que compilador usa cada uno, en fin, cada quien usará el que le parezca mejor, con tanta discusión nos estamos saliendo de la idea del hilo principal, así que favor de tomar el rumbo del hilo nuevamente, paremos las discusiones, y ya saben que los insultos aquí están demás, hay palabras correctas para poder expresarnos debidamente sin ofender a nadie, no porque alguien no esté de acuerdo con nuestros conceptos los vamos a insultar, así es esto, todos tenemos diversos criterios y  no queda más que respetar el de los demás.

Me tomaré la molestia de editar o borrar cualquier mensaje que no sea para bien de este hilo.

Saludos.

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #137 en: 12 de Octubre de 2007, 15:57:07 »
Este es el Codigo que estoy usando para conectar el PIC18F97J60 con la sd..  :mrgreen:


Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #138 en: 12 de Octubre de 2007, 16:07:32 »
Buenisimo, Picmouse. :-/
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #139 en: 12 de Octubre de 2007, 16:13:59 »
Cerrando el tema de discucion:
Muchachos, estaba escribiendo una respuesta acorde a lo que venia leyendo pero las ultimas respuestas de MGLSOFT y PICMouse me hicieron refexionar:
Para MGSOFT ( Marcos ) realmente te pido mil disculpas por la ofensa, tu mensaje habla de que sos una buena persona, espero que de ahora en mas nos llevemos civilizadamente y en armonia, independientemente de que micro usemos cada uno.

Para PicMouse, vos sos un re capo ( En Argentina significa que sabes muchiiiiismo ), aca en el laburo le mostre a todos las fotos de la placa que hiciste y les dije a todos este tipo es un groso !!!. Si vivirias aca en Argentina ya estaria hablando con mi jefe para que te contrate en la empresa donde trabajo. Te cuento que no uso micros PIC, me forme con Motorola ( 6800 ) y los sigo usando, asi que mucho de compiladores C18 y esas cosas nose, lo que si siempre trato de elegir lo que para mi son compiladores serios, eso para mi es que la arquitectura se ajusta con #pragmas no con cualquier palabra y que el codigo sea abierto, si viene con fuentes de las librerias del startup y de las RTL mejor.
Pido sinceramente disculpas a todos lo que mis comentarios ofendieron y voy a editar la mala palabra.
Y espero aprender y aportar mucho!
Saludos a todos !



Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #140 en: 12 de Octubre de 2007, 16:19:12 »
Chicos, ya borre los mensajes desubicados....
Salu2!

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #141 en: 12 de Octubre de 2007, 16:22:38 »
Ahora si!! :-/ :-/
Bienvenido al foro!!
Y esperamos que tus aportes sean de lo mas interesantes!!

Aunque no sepas de PICs, conoces y has visto parir las arquitecturas modernas, por lo tanto tus aportes seran preciosos para todos.
Gracias por tu retractacion y todo esta bien, me alegra que recapacitaras.

Marcos :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #142 en: 12 de Octubre de 2007, 16:50:10 »
BIENVENIDO!!!!  :-/ :-/ :-/

Que sea un capo... Que lo sepa todo.... NO creo amigo, mi papa me dice:

"Por mas que uno crea que se es el mejor en algo, siempre habrá alguien muy por encima de uno" , En cierto, ya que existirá esas ganas de superación diaria, si se fuera el mejor en todo No habría motivación alguna para seguir mejorando para seguir estudiando, para seguir compartiendo. 

El que manejes lenguajes ansi C es muy muy bueno, y en algún momento me picaran las ganas de aprender bien a usar esa forma de programar y molestare. Todos estamos en este foro para aprender y para enseñar.

SALUDOS!!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #143 en: 12 de Octubre de 2007, 17:01:24 »
Te honra tu último post Richi. Me alegro porque se me estaba agriando el humor con tanta discusión.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #144 en: 12 de Octubre de 2007, 19:25:38 »
Hola:

Bueno, es de humanos equivocarse, y de sabios reconocerlo, me alegro Richi, llevemos el tema como en un principio, y bienvenido.

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #145 en: 15 de Octubre de 2007, 01:26:22 »
FAT16 Y MEMORIA SD


La practica que concluiría el trabajo con este PIC y entrenador sera:

Crear un servidor WEB que permitirá que el usuario desde un navegador web, pueda acceder a los archivos disponibles en la memoria SD, descargarlos, modificarlos, etc.  Para lograr esto, ya tenemos al PIC andando, probamos los LEDs, los Interruptores. Pero falta lo mas importante comunicarnos con la SD y usando formato FAT16.

Para el estudio sera necesario tener:

Una memoria SD 512MB


Un lector de memorias SD

El programa WINHEX que puede ser descargado de forma gratuita de estos links.

LINK1
LINK2



El formato FAT es un formado creado por MICROSOFT para lograr que los archivos guardados en unidades de almacenamiento de datos, sean reconocidos por todos sus sistemas operativos. desde MS DOS 4.0 hasta Windows XP SP2.

Para saber mas sobre FAT, leer este hilo, donde nuestro amigo ARIEL ha explicado con detalle de que se trata. NOSOTROS USAREMOS FAT16

Para resumir:

Las memorias SD tienen dividida su memoria por Sectores y cada sector Ocupa 512 Bytes.

El formato FAT16 recibe su nombre porque identifica cada una de las unidades de localización (Clusteres) con un numero de 16 bits.

La estructura Básica del formato FAT consta de 4 componentes:

1) Sector de Arranque (Boot sector)
2) FAT (File allocation table)
3) Directorio RAIZ (Root Ditectory)
4) Area de datos


Cada una de las anteriores áreas, arrancan siempre en la misma posición de memoria, creando de esta forma la compatibilidad entre distintos sistemas usando el formato FAT.  Según el sistema operativo en el que fue formateada la memoria, se conocerán de antemano  las posición desde donde empezar a leer cada sector.

Recordando que cada sector en memoria es de 512Bytes tendremos:

BOOT SECTOR
WIN98 -> Sector 0............... 0x00h
WINXP -> Sector 0-1.............0x00h - 0x200h

FAT1
WIN98 -> Sector 1-120           0x200h-0xF000h
WINXP -> Sector 2-240           0x400h-0x1E000h

FAT2
WIN98 -> Sector 121-240         0xF200h-0x1E000h
WINXP -> Sector 241-279         0x1E200h - 0x22E00h

ROOT DIRECTORY
WIN98 -> Sector 241-272         0x1E200h-0x22000h
WINXP -> Sector 248-511         0x44800h - 0x3FE00hh
« Última modificación: 15 de Octubre de 2007, 14:04:29 por PICmouse »

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #146 en: 15 de Octubre de 2007, 14:05:12 »
Sector de Arranque (Boot sector)
Como estoy trabajando con WIN XP, este sector ocupa desde la posicion 0x00h hasta la 0x3FFh

Este sector corresponde a las primeras 512 posiciones de memoria (512 bytes) de la SD. En este sector, se guarda información de que formato tiene la SD, si FAT16 o FAT32, cual versión de DOS fue la que dio formato a la SD, etc..

VISTA CON WIN-HEX de la SD.

Esos valores los escribió WIN-XP dándole Formato FAT a la SD. Si se quiere implementar que el PIC le de formato a la SD directamente, lo que se debe hacer es leer con el PIC estos datos que le escribio WIN-XP y almacenarlos en la EEPROM del PIC y cada vez que se quiera dar formato a la SD; simplemente se borran todas las posiciones y de la SD y luego se escribe lo que esta en la EEPROM en los primeros 512 bytes de la SD..

Salto al Codigo de Bootstrap 0x00 - 0x02
Los 3 primeros Bytes corresponden a una instrucción de salto a la dirección inicial del código Bootstrap (Boot de arranque).

ID Sistema Operativo 0x03 - 0x0C
Cadena Ascii que indica con cual sistema operativo fue formateada la unidad de almacenamiento.  MSDOS5.0 podemos observar con la lectura de la SD con WINHEX.


Bios Parameter Block  y Extended bios Parameter Block 0x000B - 0x003D
Informacion de la memoria Sd usada por la Bios del PC para conocer las características internas de la memoria .

0x000B-0x000C
Números de Bytes por sectores físicos. Recordemos que decíamos que la Sd tiene 512 bytes por cada sector, pero en otros sistemas de almacenamiento, este valor puede cambiar entre 512, 1024, 2048, 4096.

0x000D
Numero de Sectores por Clusters. En la SD este valor es 4. Pero en otros sitemas de almacenamiento, puede tomar valores de 1, 2, 4, 8, 16, 32, 128.

0x000E-0x000F
Sectores reservados a partir del Volumen 1. En la SD este valor es 1 si se dio formato con WIN98 y 2 con WINXP

0x0010
Numero de copias de la FAT. En la memoria SD este valor es 2. Y lo que indica es que hay dos copias totalmente iguales de la FAT, permitiendo de esta forma recuperar información en caso de haber una mala escritura o perdida de información.

0x0011-0x0012
Numero de registros posibles en el Root Directory. En la SD este valor es de 512.

0x0013-0x0014
Numero de Sectores del volumen. Solo se utiliza para dispositivos de almacenamiento de 32MB. En todos los demás este valor  se coloca la posición 0x0020 del Boot Sector para indicar este valor. Acá se coloca el valor 0x0000.

0x0015
Descriptor del dispositivo.  Es un Byte que indica cual es el tipo de dispositivo de almacenamiento que se esta usando.  Para la SD. Para la memoria SD este valor es de 0x00F8, que indica Disco Fijo. pero hay otros valores como 0x00F9 que indican disco Flexible de 1.5M que no tendremos en cuenta para nuestro trabajo.

0x0016-0x0017
Numero de sectores usados en una copia FAT.

0x0018-0x0019
Numero de Sectores por pistas. Solo se utiliza en dispositivos de almacenamiento en los que es necesario calcular Cilindro, cabeza, sector.

0x001A-0x001B
Numero de cabezas.

0x001C-0x001F
Numero de sectores escondidos. Cuando el espacio del dispositivo de almacenamiento esta particionado, este valor corresponde al numero de sectores que preceden a la primera partición del volumen.

0x0020-0x0023
Numero total de sectores del volumen. Este campo es usado para dispositivos de mas de 32MB.

0x0024
Numero del drive. Este valor es usado en el Codigo Bootstrap para encontrar el driver correcto para poder cargar el sistema operativo. (0x00=Floppy, 0x80h=Disco Duro primario).

0x0025
Posición reservado que Windows NT utiliza para cargar unas banderas que controlan el arranque del scandisk antes de cargar el sistema.

0x0025
Si esta posición tiene el valor 0x0029, significa que los siguientes tres campos están disponibles.

0x0027-0x002C
Numero de 32 bits para identificar al dispositivo.

0x002B-0x0035
11 caracteres ascii que contienen el nombre del volumen.

0x0036-0x003D
Cadena ascii que indica el tipo de formato dado al dispositivo, "FAT16", "FAT32".


Codigo Bootstrap 0x003E - 0x01FD
Este código es usado por la Bios del PC, para poder arrancar el sistema operativo, permitiendo realizar una serie de Test e iinicializaciones.  Para entender mejor esto, puede buscarse en Google BOOTSTRAP y hay mucha información sobre ello. Lo relevante de esto, es que desde una SD se puede inicializar un PC, pero previo formato a la memoria.

0x01FE - 0x01FF
Posiciones de memoria que contienen el valor 0xAA55, valor que identifica al BOOT SECTOR.




Conocer todos los valores anteriores con el PIC, nos permitirá recorrer toda la información de la SD, poder ubicarnos en cualquier sector de la memoria, Sector FAT, o en la copia de la FAT, o en los archivos guardados en la SD.

EJEMPLO:

POSICIÓN DE MEMORIA DEL SECTOR INICIAL DEL FAT2:
(Numero de sectores reservados + Numero de sectores por FAT) x Numero de bytes por sectores = (2+
239)512=123392 = 0x1E200 Que si miramos con WINHEX, efectivamente en la posición 0x1E200 arranca la copia FAT.

En este punto, ya podemos empezar a crear una librería que controle y maneje todo el formato FAT16. En la pagina de CCS hay algunas, pero lo mejor para entender es crear la propia. Con los nombre y funciones propios.

« Última modificación: 15 de Octubre de 2007, 15:52:06 por PICmouse »

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #147 en: 15 de Octubre de 2007, 17:46:46 »
Hola PICMouse, no trabaje nunca con una memoria SD, si con una Compact Flash, en la SD el wear leveling y el manejo de Bad-Blocks es intrinsico ?
Gracias desde ya !
Salu2!

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #148 en: 15 de Octubre de 2007, 18:42:32 »
Ernesto: Que no postee en este hilo no significa que no te siga leyendo todo lo que vas avanzando.  :mrgreen:

Adelante maestro, ánimo y continúa así que tus fans te siguen absortos.   :shock:

Ja, ja, ja  :D :D :D
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Mi Libro diaro con el PIC18F97J60 (Ethernet)
« Respuesta #149 en: 15 de Octubre de 2007, 19:44:32 »
Hola PICMouse, no trabaje nunca con una memoria SD, si con una Compact Flash, en la SD el wear leveling y el manejo de Bad-Blocks es intrinsico ?
Gracias desde ya !
Salu2!

Para los que no sabíamos que era Wear Leveling
Entiéndase "Wear Leveling" Como una técnica patentada por Western Digital que permite leer, escribir y borrar dispositivos de almacenamiento no volátil como EEPROM, FLASH, MMC, etc para alargar la vida útil de estos.  Es bien sabido que la vida de estos dispositivos se mide por la cantidad de ciclos de Lectura escritura soportan, 100.000 en algunos casos 10.000 son los ciclos de una memoria SD.  Usando La tecnica "Wear Leveling"  logra alargar unas 4 veces la vida útil de la memoria.

El las CompactFlash y Secure Digital esta técnica es implementada en el hardware, por lo que es transparente para quien las utiliza. 


LINK Para conocer mas sobre este tema.

Con lo anterior, podría decirte que en la SD el wear leveling y el manejo de Bad-Blocks es intrínseco.


Ernesto: Que no postee en este hilo no significa que no te siga leyendo todo lo que vas avanzando.  :mrgreen:

Adelante maestro, ánimo y continúa así que tus fans te siguen absortos.   :shock:

Ja, ja, ja  :D :D :D


GRACIAS AMIGO POR LAS FLOREZ!!!! :-/




 

anything