Los chips serie-usb FTDI FT232RL pueden ejecutarse a 2Mbd, es decir, 200 kbytes / seg.
Esto es mucho más rápido que la tasa I2C.
Digamos que lees I2C a una velocidad máxima de 400kHz (44kByte / s), solo necesitas 887kBd para enviar los datos como hex-ascii (2 caracteres / byte).
Por supuesto, esa es la tasa de lectura I2C sostenida una vez que se aborda. En la práctica, tiene inicio / parada, direccionamiento, control de escritura de registros, código arduino, etc. Por lo tanto, su capacidad real para obtener datos para enviarlos de vuelta probablemente sea solo la mitad. Es probable que encuentre que 230kbd o 460kbd son bastante adecuados.
Así que eres bueno con el chip estándar de usb-serie, solo cambia la velocidad de transmisión.
Sin embargo, las rutinas seriales de arduinos pueden no estar a la altura (no soy un usuario de arduino).
Su punto de partida es hacer que la serie realice una prueba.
enlace
Realterm puede configurar estos (cualesquiera) velocidades de transmisión y capturar los datos en un archivo, marca de hora, ejecutar scripts de postproceso, etc. También tiene la capacidad de convertir y mostrar datos hexcsv (específicamente de un dispositivo I2C)
Tenga en cuenta que a altas velocidades en baudios, Arduino podría necesitarle espaciar los caracteres que le envíe. También puede encontrar que para obtener la velocidad de envío máxima, debe manejar el comando de TX directamente para omitir cualquier software quince, lo que puede llevar bastante tiempo. La buena noticia es que no tiene que almacenar en búfer cuando el uart se envía tan rápido.
Lo que quieras hacer funcionará bien.
Es correcto capturar en el archivo y luego procesar. Es mucho más fácil ponerse en marcha y encontrar fallas más tarde. Si tiene una opción, los caracteres ASCII son más fáciles que los binarios. Un formato hexcsv es fácil para lo que quieres hacer.
Un buen consejo es que puedes comprimir estos archivos de datos si quieres mantenerlos, siempre se comprimen masivamente.