Inicialmente publiqué esto en SuperUser, pero sospecho que este podría ser un mejor lugar para publicar esto (¡perdón por la doble publicación!): Soy bastante principiante en sistemas integrados, pero estoy ansioso por aprender más. He usado un Arduino anteriormente y recientemente compré una Raspberry Pi (pero no la usé tanto). Tengo numerosas preguntas para las que no he encontrado respuestas cuando uso Google, ¡así que la publicación! Agradecería cualquier idea (¡disculpas de antemano si mis preguntas parecen demasiado ingenuas!).
Recientemente, he estado trabajando en un código de procesamiento de imágenes utilizando algunas bibliotecas de procesamiento de imágenes. Mi código está escrito usando C++ en Visual Studio en Windows XP. Mi programa utiliza capacidades de subprocesos múltiples en varias etapas principalmente porque algunas de las tareas de procesamiento consumen bastante tiempo. Mi intención es transferir este código de trabajo e instalar las bibliotecas de back-end (OpenCV, Boost, etc.) en un sistema integrado que simplemente está conectado a una cámara.
Básicamente tienes dos posibilidades:
Depende de cómo defina su sistema integrado. Hay módulos ARM disponibles con cuatro núcleos, cada uno funcionando a más de 1 GHz (por ejemplo, la familia Toradex Apalis es un módulo ARM Cortex-A9 de varios núcleos, pero también hay otros disponibles).
Si tiene requisitos altos con respecto a la RAM y la velocidad del procesador, probablemente la mejor opción sea seleccionar un Core-i7 o algo similar (consulte las familias COMExpress de, por ejemplo, Congatec) y construya eso en un sistema más pequeño.
Ahora, ¿cómo decide cuál es el sistema operativo correcto?
Mire las placas base compatibles x86 industriales / "integradas" que contienen APU AMD. en.wikipedia.org/wiki/AMD_Accelerated_Processing_Unit en.wikipedia.org/wiki/List_of_AMD_Accelerated_Processing_Unit_microprocesadores
Algunas placas base tienen plataformas de GPU NVIDIA como Ions.
en.wikipedia.org/wiki/Nvidia_Ion
www.amd.com/us/products/embedded/apu/Pages/embedded-apu.aspx
Intel tiene algunas placas integradas con GPU Intel y varios procesadores de la serie ATOM.
Para el procesamiento de imágenes "básico", puede usar la CPU x86 y si tiene algo que es muy paralelo, siempre puede ejecutar sombreadores de píxel / computación simples o tal vez OpenCL en la 'GPU'.
Estas placas a menudo están en el rango de $ 150 o menos para los modelos de consumo y menos de $ 600 o menos para las unidades SBC integradas industriales en cantidades bajas, y generalmente tienen mucho más rendimiento de CPU GFLOPS y rendimiento de GPU de precisión única GFLOPS que un DSP de medios de la competencia. / Procesador de medios SOC. El consumo de energía por lo general no es excelente en el rango máximo de 2-6 W, pero eso es completamente suficiente para algo como una PC montada en un automóvil o una unidad móvil grande alimentada por batería o algo así. Lo bueno es que puede programar y probar el software en una PC de escritorio genérica fácilmente sin ningún esfuerzo de portabilidad a un objetivo incrustado radicalmente diferente.
Si realmente necesita un tamaño más pequeño que un factor de forma ITX fraccional o un consumo de energía más pequeño, entonces puede buscar algún tipo de placa de desarrollo orientada a "tableta" que tenga una CPU ARM CORTEX A multinúcleo o similar, tal vez con una GPU y que puede ejecutar Linux, Android, Tizen o algo conveniente. La nueva serie i.MX de Freescale o TI Pandaboard o algo así. Si conecta la cámara a través de un puerto host USB 2 HS que va a una cámara web o una cámara USB personalizada, entonces no necesita muchos puertos de interfaz de cámara/GPIO personalizados en el SBC, lo que amplía las opciones de hardware y reduce la carga del software personalizado. Por supuesto, varias de las unidades también tendrán una interfaz paralela digital para un sensor de imagen CMOS, aunque no todas la tendrán.
www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB#
www.freescale.com/webapp/sps/site/taxonomy.jsp?nodeId=018rH3ZrDR988D
www.omappedia.com/wiki/PandaBoard
Editar: aquí está la buena guía de soluciones integradas de AMD. http://www.amd.com/us/Documents/AMD_Embedded_Solutions_Guide.pdf
Una placa de consumo basada en APU de gama alta más nueva (no sin ventilador o de menor costo) http://www.legitreviews.com/article/2110/1/
Así que puede elegir mini-ITX, nano-ITX, otro factor de forma, menos de 5 W de consumo de energía u opciones de mayor rendimiento/potencia, o algunas de las placas ARM de menor potencia/rendimiento/tamaño. La mayoría tiene GPU que se pueden usar para el procesamiento de imágenes, así como las CPU y, en general, todos tienen una capacidad de 512 MBy a varios GBy de DRAM DDRx de rendimiento razonable para software e imágenes. Algunas de las placas de consumo de tamaño mini ITX cuestan alrededor de $ 79 por placa base/CPU. Puede iniciar desde la red o desde una unidad flash USB para una buena funcionalidad integrada.
También está el leopardboard o el craneboard y otras alternativas al pandaboard si está buscando una plataforma de procesamiento de imágenes más antigua que aún sea razonable.
el fotón
Kaz
c0d3rz