Puente I2C-to-SPI y tarjeta SD

0

Estoy usando un microprocesador PIC18F25k80, que se está comunicando mediante el uso del protocolo I2C con circuitos integrados periféricos. Después de recopilar los datos de los circuitos integrados, deseo almacenarlos en una tarjeta SD. Sin embargo, para la tarjeta SD necesito transferir los datos utilizando un protocolo SPI, ya que no puede operar con un protocolo de transferencia de datos bajo. Por esa razón, puse un puente I2c a SPI (SC18IS602BIPW) en el bus. Al escribir la dirección del puente de interfaz, seguido de un 0 (bit de control / escritura), en el bus I2C puede comunicarse con él. Después de la dirección, una función predefinida debe seguir (las funciones se explican dentro de la hoja de datos) y luego una serie de datos, que pueden tener una longitud de 0 a 200 bytes. Los datos se almacenan en un búfer dentro del chip del puente de interfaz y luego se envían automáticamente a través de SPI a un dispositivo. La función predefinida determinó el bit de selección de chip y, por lo tanto, el dispositivo con el que se está comunicando el puente.

Quiero inicializar un sistema de archivos en la tarjeta SD, para poder crear archivos donde se almacenarán mis datos. ¿Cómo puedo usar la función dentro del FSIO.h para hacer eso? ¿Debo enviar las funciones a la tarjeta SD a través del bus y, en caso afirmativo, cómo puedo hacerlo?

Hoja de datos del puente de interfaz: enlace

    
pregunta user2344158

1 respuesta

3

Lucharás para que este sistema funcione. Una tarjeta SD ofrece un sistema de archivos estructurado por bloques, que requiere escrituras de bloques completos de al menos 512 bytes. Su puente solo admite bloques de 200 bytes.

También la velocidad lenta de I²C te dará problemas. La transferencia de 512 bytes a través del enlace I²C de 400 kbit / s llevará aproximadamente 10 ms.

Finalmente, deberá escribir una capa de controlador de software para conducir la tarjeta SD a través del puente. Esto requerirá mucho esfuerzo.

Observo que el PPC18F2580 tiene una interfaz SPI. Debe usar la interfaz SPI para hablar con la tarjeta SD y la interfaz I²C para hablar con los sensores. No debería haber necesidad del puente.

    
respondido por el harry courtice

Lea otras preguntas en las etiquetas