22-07-2013, 05:31 PM
Estoy un poco atascado y necesito vuestra ayuda, os comento.
Estoy automatizando poco a poco la casa (lo típico, luces, temperaturas,....) con configuración modular. Los módulos del enjambre son "distintos" pero a nivel lógico son "iguales" (atmega's y attiny's) y se comunican entre ellos por i2c utilizando configuración multi master (esto es que todos son esclavos y que cada uno de ellos puede convertirse en maestro "si tiene algo de decir"). Todo funciona sin problemas, de hecho tengo un analizador lógico para ver el tráfico en el bus por si hay problemas.
Este enjambre es totalmente independiente pero inútil, ya que no hay ni un solo dispositivo de salida donde visualizar valores y aquí es donde entraba la segunda parte en la cual estoy atascado.
Hasta hace 3 días era feliz, pensaba utilizar como cerebro una raspberry que soportase una interfaz web de control donde podría tener acceso para lectura y control de los diferentes dispositivos y sensores, sonaba bien. Pero llegado el momento de implementación me he encontrado una bonita sorpresa, la raspberry no soporta i2c en configuración multi master y eso me destroza absolutamente todo el proyecto.
He estado pensando utilizar otro microcontrolador más en el enjambre que repitiese el tráfico del bus i2c y se lo pasase por SPI a la raspberry pero no sé qué tal podría funcionar.
Qué se os ocurre?
PD: En ninguno de los dos buses necesito velocidad (con 50khz me sobra), el tiempo de ocupación del bus será como mucho de 0.1% y según lo tengo configurado cada orden a cualquier dispositivo o desde cualquier dispositivo ocupa un máximo de 16bytes.
PD2: No me importa publicar código y esquemas (lo haré si os interesa) pero aún lo tengo todo bastante desorganizado como para hacerlo, ya lo iré preparando.
Estoy automatizando poco a poco la casa (lo típico, luces, temperaturas,....) con configuración modular. Los módulos del enjambre son "distintos" pero a nivel lógico son "iguales" (atmega's y attiny's) y se comunican entre ellos por i2c utilizando configuración multi master (esto es que todos son esclavos y que cada uno de ellos puede convertirse en maestro "si tiene algo de decir"). Todo funciona sin problemas, de hecho tengo un analizador lógico para ver el tráfico en el bus por si hay problemas.
Este enjambre es totalmente independiente pero inútil, ya que no hay ni un solo dispositivo de salida donde visualizar valores y aquí es donde entraba la segunda parte en la cual estoy atascado.
Hasta hace 3 días era feliz, pensaba utilizar como cerebro una raspberry que soportase una interfaz web de control donde podría tener acceso para lectura y control de los diferentes dispositivos y sensores, sonaba bien. Pero llegado el momento de implementación me he encontrado una bonita sorpresa, la raspberry no soporta i2c en configuración multi master y eso me destroza absolutamente todo el proyecto.
He estado pensando utilizar otro microcontrolador más en el enjambre que repitiese el tráfico del bus i2c y se lo pasase por SPI a la raspberry pero no sé qué tal podría funcionar.
Qué se os ocurre?
PD: En ninguno de los dos buses necesito velocidad (con 50khz me sobra), el tiempo de ocupación del bus será como mucho de 0.1% y según lo tengo configurado cada orden a cualquier dispositivo o desde cualquier dispositivo ocupa un máximo de 16bytes.
PD2: No me importa publicar código y esquemas (lo haré si os interesa) pero aún lo tengo todo bastante desorganizado como para hacerlo, ya lo iré preparando.