Encaro mi primer proyecto completo hard-soft, usando Raspberry y Beaglebone black, además necesitaba usar un bus de comunicaciones para enlazar varias placas y me he decidido por CAN bus, como entorno de desarrollo QT Creator con C++ bajo Windows, la instalación y configuración ya la documenté al detalle en este post:
http://www.todopic.com.ar/foros/index.php?topic=41770.0La decisión del tipo de bus a usar, me ha liado un poco, en principio las placas las diseñé para comunicarse con un bus paralelo de 8 hilos, más una linea de control por placa, máximo 7 placas, pero como se van a instalar en un entorno ruidoso electromagnéticamente hablando, y el cableado puede llegar a tener 1 ó 2 metros, decidí buscar otra solución. Se me presentaban 3 opciones, RS485, CAN bus o Ethernet, el primero no lo conozco y tendría que empezar de cero, así que descartado, Ethernet requiere un hardware caro, un hub, un conector demasiado voluminoso y un controlador para la capa física demasiado pequeño (LQFP48) para montar prototipos caseros o hacer pequeñas tiradas, así que me he decidido por CAN bus, los transceptores son baratos, a 1Mb/s de velocidad tengo de sobra y el conector y cableado no es caro ni específico.
Aquí van las 3 placas, que tengo diseñadas por ahora, ya están encargadas a HQPCB, salieron este Lunes de China, así que las espero en breve. El reto va a estar realmente en el desarrollo del software, porque QT apenas lo conozco, pero todo es empezar, me parece un entorno de desarrollo extraordinario y además es GRATUITO.
Placa MASTER, con zócalos para pinchar una Raspberry o una Beaglebone Black, PIC32 para controlar LEDS digitales WS2812B, MOSFET para controlar un motor DC, tarjetero micro SD para actualización de firmware con bootloader encriptado, controlador CAN bus MCP2551 o MCP2561, conversor SPI - CAN bus MCP2515 para dotar a la RPI/BBB de comunicación CAN bus, comunicación auxiliar por I2C RPI/BBB - PIC32, puerto USB para conexión a PC o Sticks PC (MK802, Mele, uHost, etc...).

Placa ESCLAVA de entradas, con PIC32, tarjetero micro SD, controlador CAN bus MCP2551, entradas en matriz de 8*16 (128 pulsadores)

Placa ESCLAVA de salidas, con PIC32, tarjetero micro SD para actualización de firmware, controlador CAN bus MCP2551. Salidas a MOSFET para controlar 8 bobinas alimentadas a 50 voltios DC.
