Interfaz con SATA en sistemas integrados

¿Sería posible utilizar una interfaz SATA en un sistema integrado, por ejemplo, un reproductor de MP3 o una cámara de vídeo? (velocidad no crítica)

¿Cuál es la forma típica de hacer esto? Periféricos en chip, circuitos integrados externos, etc. ¿Cuáles son las cosas importantes a tener en cuenta al implementar tales interfaces?

Depende del tipo de controlador que vaya a utilizar para su sistema integrado. Puede obtener procesadores ARM con soporte sata incorporado, si está pensando en un micro económico como un PIC o MSP430, tal vez un puente USB a SATA. Sin embargo, te gustaría escribir un software serio para eso. Si solo está jugando, tal vez obtenga una placa de desarrollo de Linux como un PI o algo así y un disco duro USB para comenzar. Son esencialmente unidades SATA con un chip de puente USB a sata en su interior.
Como no especificó la pregunta de manera muy limitada, creo que también puede ver cómo Cubieboard integra SATA - cubieboard.org/download

Respuestas (2)

SATA no es una cosa simple. Los periféricos SATA se ofrecen a través de convertidores PCIe a SATA, puentes USB a SATA o el procesador tendrá un periférico en el chip. Tienes que ir a bastante alta tecnología para obtener un controlador periférico SATA integrado.

Texas Instruments tiene algunos buenos puentes USB a SATA, ideales para bahías de discos duros externos.

He buscado en Internet y no he podido encontrar un IC SATA externo que pueda comunicarse con un periférico de bajo protocolo de comunicación. Hay algunos que van de P/ATA (IDE) a SATA aunque ya no se puede encontrar un controlador que maneje un protocolo P/ATA, excepto quizás desde las profundidades más oscuras del mundo.

Si desea implementar una interfaz SATA, debe tener en cuenta que el diseño de la interfaz requiere pares diferenciales, que por supuesto deben enrutarse de manera diferencial (longitud coincidente, enrutado lo más paralelo posible).

Gracias, gran respuesta. Al igual que usted, no pude encontrar ningún IC convertidor de señalización de baja velocidad SATA dedicado y los IC que tienen SATA como periférico realmente parecen extremadamente avanzados (complejos). La ruta SATA->USB + USB->controlador/procesador parece la más sencilla para realizar pruebas. Los convertidores son fáciles de obtener y lo suficientemente económicos para fines de prueba, y las MCU con soporte de host USB parecen mucho más comunes que las que tienen SATA.
De acuerdo, incluso Freescale tiene controladores ARM M0+ que cuentan con un dispositivo/host USB OTG y USB. Es bastante sorprendente en realidad.

La respuesta anterior ya es bastante buena, pero un enfoque alternativo si su microcontrolador es demasiado viejo/lento/tonto incluso para el host USB o USB-OTG es usar una interfaz P/ATA de software (bit-banged) con un P/ Chip puente ATA a SATA. Uno comúnmente disponible es el JMicron JM20330, cuya hoja de datos se puede encontrar aquí JM20330 . El mínimo común denominador PIO Mode 0 es prácticamente solo un bus paralelo de 16 bits, cuyos detalles se pueden encontrar aquí . El enlace también tiene una implementación basada en 8051 de 8 bits que probablemente será portátil para casi cualquier microcontrolador, incluso aquellos que son de muy baja tecnología para un host USB.

+1 por mencionar a JMicron. Si desea obtener su chip, deberá contactarlos directamente, aunque tardan un tiempo en responder (o al menos lo hicieron conmigo). Además, su lista de piezas no está actualizada.