¿Cuántos bytes se pueden enviar en un solo mensaje i2c?

1

Últimamente he estado trabajando con i2c entre un beaglebone y un Atmel 328P donde el Atmel controla varios dispositivos bajo la dirección del beaglebone. Para lograr lo que he hecho hasta ahora, he estado usando el Biblioteca Adafruit_I2C para Python .

Por lo que entiendo de i2c (he leído numerosos artículos sobre el protocolo), todas las comunicaciones que ocurren entre las condiciones de inicio y parada (sin contar los bits de control) son simplemente una dirección de 7 bits y un número de bytes de 8 bits. para la carga útil. En ninguna parte he visto nada sobre cuánto tiempo puede ser esta carga útil. Eso es lo que busco específicamente.

Ahora, al usar la biblioteca Adafruit, hace una serie de suposiciones. Específicamente, todas sus funciones se modelan en torno a la lectura o escritura de valores (generalmente de 8 o 16 bits) dentro o fuera de los registros (en el chip direccionado). También tienen una función writeList() , que presumiblemente intentaron escribir en un número de registros consecutivos.

Su función writeList() , aunque solo puede manejar un máximo de 32 bytes de datos. Me pregunto: ¿es esto una limitación real de i2c o es un límite arbitrario establecido en su biblioteca?

    
pregunta Octopus

2 respuestas

4

Esta limitación de 32 bytes no es una limitación real del bus I 2 . Es solo una limitación de software en la biblioteca que está utilizando.

Para darle un contraejemplo, hay un chip EEPROM con interfaz I 2 C, que tiene un búfer de escritura de 128 bytes ( 24LC512 ). Esta EEPROM no es una excepción, es solo un ejemplo.

Por lo que sé, la especificación I 2 C no tiene el límite en el número de bytes después del byte de dirección.

    
respondido por el Nick Alexeev
2

No he leído en ningún lugar sobre un límite en el número de bytes consecutivos que se pueden enviar. El esclavo simplemente aceptará después de cada byte que lo envíe hasta que envíe el bit de parada.

    
respondido por el matben243

Lea otras preguntas en las etiquetas