Conectar un pic a un disco duro

Saludos, necesito ayuda a la hora de conectar un procesador a un disco duro, el proyecto se basa en la comunicacion de estos dos dispositivos. A pedido del usuario el pic debe tener la capacidad de recolectar datos externos y los grabarlos en el disco duro, tambien debe poder hacer lo opuesto, es decir, ubicar un dato en el disco y mostrarselo a l usuario. Se que los HD trabajan bajo el sistema FAT pero no se bien como se codifican los datos, ya que no es el sistema binario comun y corriente. Trabajo con un 16f877.

Muchas gracias por su respuestas.
 
Última edición por un moderador:
ilpancho dijo:
Saludos, necesito ayuda a la hora de conectar un procesador a un disco duro, el proyecto se basa en la comunicacion de estos dos dispositivos. A pedido del usuario el pic debe tener la capacidad de recolectar datos externos y los grabarlos en el disco duro, tambien debe poder hacer lo opuesto, es decir, ubicar un dato en el disco y mostrarselo a l usuario. Se que los HD trabajan bajo el sistema FAT pero no se bien como se codifican los datos, ya que no es el sistema binario comun y corriente. Trabajo con un 16f877.

Muchas gracias por su respuestas.

Hay muuuucha información al respecto, creo que debieras buscar algo más por tu cuenta y leer mucho.
Que el formato FAT no es el formato comun y corriente? A que te refieres? Ha sido el estandar por excelencia por mas de 20 años, 90% de las pcs lo usan de seguro y tu dices que no es comun y corriente?
El FAT12 (en diskettes), FAT16 y FAT32 son los mas comunes que encontrarás para almcenamiento de archivos.

Podrias buscar mas en www.pilist.com

Google: www.google.com
Tips para google: IDED interface project
IDE PIC interface
IDE INTERFACE
FAT


A description of an IDE interface for a microcontroller
How to connect an IDE disk to a microcontroller using an 8255

http://www.pjrc.com/tech/8051/ide/wesley.html


PIC/IDE
http://www.telegraphics.com.au/sw/información/picide.html


IDE Hard Disk experiments.
http://hem.passagen.se/communication/ide.html

View the ATA-2 specification working draft here.
http://home.swipnet.se/~w-68269/ide/ata-2.pdf


DOS File Allocation Tables
http://www.piclist.com/techref/dos/fat.htm

Proyectos relacionados:

http://www.mpic3.com/
ftp://ftp.dunfield.com/embedpc.zip
http://www.mp3ar.com/
http://members.optushome.com.au/yizgarnoff/index.html
 
Muchas gracias por tu respuesta, no quise decir que FAT no sea el formato sea el formato comun y corriente dije que no es el formato con el que se trabaja cuando se hacen proyectos con pics (por lo menos los proyectos simples). En algo tenes razon, me va a tocar leer muchisimo.
 
Última edición por un moderador:
Esta bien , el punto es que tu frase
ilpancho dijo:
Se que los HD trabajan bajo el sistema FAT pero no se bien como se codifican los datos, ya que no es el sistema binario comun y corriente. Trabajo con un 16f877.
No da muchas pistas, ya que cualquier forma en que grabes un dato depende de quien lo va a leer y en esto no hay comun y corriente o dicho de otra foram el FAT es bastante comun y corriente.

Si quieres grabar "archivos" no se me ocurre otra forma mas comun y corriente que el FAT.

Ahora si tu por sistema binario comun y corriente te referias a grabar directamente todo derecho en una eeprom bueno, eso sería simple y también lo podrias hacer con un disco duro, pero en la pc debieras tener un programa que te lea todo asi derecho nomas, accesando a los respectivos sectores del disco duro. El punto es que se entiendan los dispositivos que entren en juego con los software que entren en juego.

Si quieres almacenar archivos en una memoria flash o disco duro, veras que terminas haciendo algo como la fat porque en realidad es un sistema bastante simple. Microchip tiene su propio sistema de almacenamiento de archivos el cual usa en sus ejemplos sobre como hacer un webserver en las librerias del stack tcp/ip donde ahí guarda la pagina toda entera. Pero aqui hay que hacer un 'traductor' entre la pagina que uno arma con la pc y la forma en que luego se almacenará en la memoria eeprom, flash o la que elijas.


ilpancho dijo:
Muchas gracias por tu respuesta, no quise decir que FAT no sea el formato sea el formato comun y corriente dije que no es el formato con el que se trabaja cuando se hacen proyectos con pics (por lo menos los proyectos simples). En algo tenes razon, me va a tocar leer muchisimo.
Si, de leer no te salvaras pero veras que el sistema FAT es bastante simple en comparación con otros! como hpfs , ntfs o ext3.
Saludos
 
Hola:

Hoy en día, ya estamos más en SATA que los IDE. ¿Alguien ha hecho proyectos de controlar un disco duro con PIC o lector de DVD?

Un cordial saludo.
 
No lo veo muy lógico teniendo en cuenta que para usar una SD basta un puerto SPI y que hay SD de 32GB bastante baratas.
Si necesitas mas almacenamiento también necesitarás algo mas potente que un pic.
 
Esto me hace recordar a un proyecto que vi en una revista pasada de Elektor en la cual se controla un lector de CD (conexión IDE) con un 16F877 (si no me equivoco)...
 
La verdad que las NAND, sea tarjeta o pendrive, son de uso limitado. Los discos duros están mejor, incluso por encima de los posibles discos duros llamados SSD o algo así.

OCZ_Apex_SSD_Components.jpg
 
La única pega de las nand flash es su precio. Todo el que puede pone en su PC un SSD para que arranque mas rápido y luego un HDD para almacenar "el montón".
Como en todo también hay SSDs malos y baratos y HDDs malos y baratos.

La cuestión es que la cantidad de información que puede generar/gestionar un PIC es mas bien reducida.
Supongamos un sistema de adquisición de datos que toma la temperatura una vez por segundo, eso son 86kB diarios, con una SD de 32GB tardaría 1100 años en llenarla. Digo yo que en 1100 años dará tiempo a ir a vaciarla ¿no?. Una de 1GB que están prácticamente regaladas tardaría 32 años que también es "bastante" tiempo para ir a cambiar la SD.
Además el interface es mas sencillo, funcionan con una sola tensión de 3,3V, no llevan partes mecánicas etc.

Desconozco como funciona el SATA, se que es serie y ya está, es probable que se pueda simular pero casi seguro que haría falta algo de hardware. Siempre se puede hacer un interface PATA y poner un conversor
sku_81615_1.jpg

http://www.dealextreme.com/p/sata-to-pata-adapter-card-81615?item=1
Por menos de 10U$D lo tienes.
 
Buenos días meta y demás Foristas.

Os dejo un tutorial de como funciona y se controla un HD.

http://hem.passagen.se/communication/ide.html.

Sal U2


Buena ese enlace. Estas cosas es lo que quiero ver.
ide_c.gif


Aunque sea IDE me da igual. Eso si, el SATA parece ser serie y tiene protocolo como el RS232, solo que es más rápido.

El SATA como es más nuevo, no se si la gente habrá hecho algún proyecto, al menos con los IDE te puedes entretener. Si hay más Web sobre ello, estaré encantado de leerlas.

En cuanto a @scooter. Gracias por la información, no sabía de ese adaptador. El truco de usar el SSD para Windows y el disco duro para los datos es muy buena idea. Hay SSD y HDD híbridos que en un solo encapsulado hace esa función. Los SSD son carísismos y se rompen antes. Con los años ya sacarán nuevas ideas.

Algunas páginas que pueden ser interesantes.
http://www.pjrc.com/tech/8051/ide/
http://www.pjrc.com/tech/8051/ide/wesley.html
http://www.codepuppies.com/~ben/sens/pic/mp3/
 
hola, yo de programacion en la compu no entiendo un pomo (apenas ASM ) .
pero se que las computadoras trabajan con 32 y 64 bits.
y un pic 16F en 8 bits.
tambien se que direccionar es similar.
y que la info a mirar, mejor en una PC , no vas a mirar 1 y 0 ??

digo, no es casi incompatible querer hacr eso con u pic 16F ??

como son lso registros en un disco duro ?? no son de 32 y 64 bits ???
si uno intenta luego lleer desde la PC no conviene usar ya un lenguaje que sirva para programar el pic y para tambien hacer un programa en la compu ???
 
Hola.

Se trata de circuitos de control que es precisamente el PIC16F. Los 8 bits es la arquitectura del PIC, el disco duro es otra cosa. Si quieres manejar datos de 64 bits se usa 8 bits por 8 veces igual a 64 bits de datos. Encima si es un SATA es en serie, con ello quiero decir que no usa los 64 bits de golpe.

0x12345678 0x12300000 0x458F54C8 0x1200000A

Si no segmentado en 8 bits como puede ser así.

0x12345678
0x12300000
0x458F54C8
0x1200000A

Hay que tener las cosas claras, por ahora se que es así porque lo he leído. El IDE si fucniona en paralelo.

http://www.informaticamoderna.com/Disco_duro_SATA.htm

Un cordial saludo.
 
Hola, me adentro al tema, tengo un montón de discos IDE que me gustaría darles alguna utilidad jejeje, estuve aprendiendo un poco en manejar memorias ram, y la verdad son bastante simples, encntre el pinout del disco, el cual puede servir, incluso pienso que se puede leer igual que una ram jejej, la pagina es esta: http://pinoutsguide.com/HD/Ata44Internal_pinout.shtml se ve comprometedor pero alguien que ayude con los pines desde el 20 al 44 jejejej, los demás son entendibles para mi (o almenos eso creo).

y el del SATA: http://pinoutsguide.com/HD/serialATA_pinout.shtml, se parece mucho al RS485!!!!!, pero que tipo de protocolo sera realmente???, interesante!!!!

Saludos cordiales!!!!
 
Hola, me adentro al tema, tengo un montón de discos IDE que me gustaría darles alguna utilidad jejeje, estuve aprendiendo un poco en manejar memorias ram, y la verdad son bastante simples, encntre el pinout del disco, el cual puede servir, incluso pienso que se puede leer igual que una ram jejej, la pagina es esta: http://pinoutsguide.com/HD/Ata44Internal_pinout.shtml se ve comprometedor pero alguien que ayude con los pines desde el 20 al 44 jejejej, los demás son entendibles para mi (o almenos eso creo).

y el del SATA: http://pinoutsguide.com/HD/serialATA_pinout.shtml, se parece mucho al RS485!!!!!, pero que tipo de protocolo sera realmente???, interesante!!!!

Saludos cordiales!!!!

Hola:

Hablando de la memoria RAM, he sentido curiosidad un tiempo. Como no guarda datos como los discos duros o SSD, he decidido usar el IDE que tengo unos cuantos para probar.

He visto dejar la RAM de una PlayStation 3 y puentarlo para obtener datos sobre él. Lo extrae y lo guarda en el PC para analizarlo. En Pc nunca lo he visto hacer, ya qu eusando www.winhex.com puedes extraer y modificar datos de la RAM directamente, este último se llama Cheat Engine.

Memoria-RAM_1.jpg


1) ¿Qué haz hecho funcionando a una RAM y cómo?

2)
¿Tiene alguna finalidad que no sea sólo didactico o curiosidad?

Un cordial saludo.
 
Hola:

Hablando de la memoria RAM, he sentido curiosidad un tiempo. Como no guarda datos como los discos duros o SSD, he decidido usar el IDE que tengo unos cuantos para probar.

He visto dejar la RAM de una PlayStation 3 y puentarlo para obtener datos sobre él. Lo extrae y lo guarda en el PC para analizarlo. En Pc nunca lo he visto hacer, ya qu eusando www.winhex.com puedes extraer y modificar datos de la RAM directamente, este último se llama Cheat Engine.

http://blog.phonehouse.es/wp-content/uploads/2009/12/Memoria-RAM_1.jpg

1) ¿Qué haz hecho funcionando a una RAM y cómo?

2)
¿Tiene alguna finalidad que no sea sólo didactico o curiosidad?

Un cordial saludo.

Es mas que nada para meter datos o secuencias de LEDS jejejeje, es solo de entretención para mi, pero con un poco de ingenio se puede armar un controlador que maneje muchos datos por segundo o quien sabe, hasta puedas leer/grabar de la RAM para escribir en una matriz o cosas asi, te dejo el link de un aporte para que lo analices, en alguna de esas tienes alguna idea y la puedas compartir!!!! https://www.forosdeelectronica.com/f16/grabacion-memorias-83829/

Saludos Cordiales!!!
 
Hola, me adentro al tema, tengo un montón de discos IDE que me gustaría darles alguna utilidad jejeje, estuve aprendiendo un poco en manejar memorias ram, y la verdad son bastante simples, encntre el pinout del disco, el cual puede servir, incluso pienso que se puede leer igual que una ram jejej, la pagina es esta: http://pinoutsguide.com/HD/Ata44Internal_pinout.shtml se ve comprometedor pero alguien que ayude con los pines desde el 20 al 44 jejejej, los demás son entendibles para mi (o almenos eso creo).

y el del SATA: http://pinoutsguide.com/HD/serialATA_pinout.shtml, se parece mucho al RS485!!!!!, pero que tipo de protocolo sera realmente???, interesante!!!!

Saludos cordiales!!!!

Que tipo de memorias EDO ? BEDO ?
DDR ?
... si te refieres a las que vienen en chips..
ps en PC es otra cosa, comenzando con la frecuencia de Refresco elevadas.
bueno si sabes sobre eso seria genial si lo puedes compartir yo tambien tengo muchas cosas de computadoras listas para querer usarlas, para aprender, procesadores antiguos y algunos mas modernos como el Pentium MMX, memorias y disco duros.
 
Atrás
Arriba