¿Cómo encontrar una plataforma integrada?

Un poco de información: tenemos un sistema actualmente en producción, pero el programador original falleció y el fabricante de hardware actual no puede encontrar hardware para ejecutar el (actualmente) sistema DOS, por lo que necesito volver a implementarlo en una plataforma más moderna. . Solo puedo cambiar la programación y el hardware de la placa base.

Pregunté en StackOverflow y me sugirieron que preguntara aquí.

Soy nuevo en el lado del hardware de localización de la programación integrada y, por lo tanto, después de estar completamente abrumado con todas las opciones disponibles (pc104, arduino, rabbit, placas personalizadas, un millón de opciones para cada placa, beagle, descuentos por volumen, kits de desarrollo, ¡ahhh! !) Estoy pidiendo aquí alguna dirección tomando prestada de su experiencia. (¿Qué harías?)

Básicamente, debo encontrar una nueva placa base y (lo más probable) volver a implementar la lógica del programa. Reescribir esto en C/C++/Java/C#/Pascal/BASIC no es un problema para mí. así que mi verdadero problema es encontrar el hardware. Esta placa base tendrá varios otros dispositivos conectados. Aquí hay un resumen de lo que tengo que hacer:

Requisitos de software: muy mínimos. No necesito RTOS o multitarea, requisitos de CPU muy bajos, solo necesito algo que pueda programar y algo en lo que pueda poner un mecanismo de actualización remota (las actualizaciones del código se descargarán a través de un módem, tal vez 1-4 veces al año).

Hardware requerido:

  • 2 puertos seriales RS232 (uno se usa todo el tiempo para la interfaz de usuario principal, el segundo no se usa continuamente [es una impresora serial])
  • 1 módem (9600+ baudios está bien) [El módem estará en uso simultáneo con solo uno de los dispositivos de puerto serie (IU), por lo que interrumpir los problemas de uso compartido con un puerto serie está bien, pero no con ambos]
  • Almacenamiento mínimo permanente/a largo plazo: cualquier sistema operativo que requiera + 1 MB (ejecutable) + 512 KB (archivos de datos)
  • RAM: mínima, lo que requiera el sistema operativo más quizás 1 MB para el ejecutable.

Agradable tener:

  • puerto(s) USB
  • puerto de red ethernet
  • Red inalámbrica

Idiomas de implementación (cualquier O/SI se adaptará a):

  • Primera opción Java/C# (Mono ok)
  • La segunda opción es C/C++/Pascal
  • El tercero es BÁSICO

Ok, dado todo esto, tengo muchos problemas para encontrar hardware que admita esto y que sea de bajo costo. Cada sitio de fabricante que visito tiene muchas opciones, y es difícil ver si su oferta satisfará mis requisitos imprescindibles (por ejemplo, a veces enumeran 3 "puertos serie", pero parece que solo uno de los tres es RS232 , por ejemplo, y no mencione cuáles son los otros dos, o cuánto cuesta (o incluso es posible) hacerlo RS232). La restricción #1 es el costo, la #2 es el tamaño.

Puede alguien ayudarme con esto? Esta pequeña tarea me ha dejado pensando que debería haber elegido EE y no CS :-).

Además, avíseme si puedo formular mejor mi pregunta.

Un poco más de detalles sobre lo que está buscando en cuanto a costo/tamaño. Por ejemplo, para algunas personas $200 es barato, para otras $200 es caro. ¿Y necesita que quepa en un espacio de 2 pulgadas o si mide 2 pies, está bien? Solo algunos requisitos aproximados ayudarán.
Algunas preguntas más: ¿La presencia de Ethernet y/o WiFi eliminaría la necesidad de un módem? ¿Se siente cómodo conectando cambiadores de nivel para convertir un UART simple en un puerto compatible con RS232? ¿Cuántos módulos necesita hacer (¿tendría sentido un sistema más caro y fácil de usar en lugar de un kit básico? ¿Cuál es realmente su restricción de costos (esto es muy importante)?)
¿Cuál es su costo objetivo? ¿Cuál es tu tamaño objetivo? ¿En qué tipo de entorno necesita que funcione el sistema? ¿Qué necesita hacer realmente el sistema? Parece que tiene una PC integrada que está tratando de reemplazar. ¿Las PC integradas son demasiado costosas para su aplicación? USB se puede convertir a RS232 sin mucha dificultad. No estoy seguro sobre el módem. Hacía tiempo que no buscaba uno.

Respuestas (4)

No conozco una coincidencia exacta para esta especificación, pero hay algunas tarjetas Linux incorporadas bastante buenas que pueden satisfacer sus necesidades.

Eche un vistazo a esta página: chiphacker.com - options-for-a-small-linux-hw-platform

Una ventaja de usar Linux es que puede usar la mayoría de los lenguajes, pero recomendaría usar C o C++. Tal vez Java si puede encontrar un puerto JavaVM para el hardware que seleccione.

Incluso podrías usar pascal si te apetece (ver http://www.freepascal.org/ ), pero no creo que sea una buena idea...

¿Tal vez puedas usar un ARM Cortex-M3? Los periféricos no serían un problema, pero los requisitos de tamaño/memoria de su código pueden serlo. Echa un vistazo al tablero mbed . Tiene un precio de $60 (DigiKey) o €53 (Farnell) y tiene 3 puertos serie y ethernet. Tiene 512kB de memoria Flash (programa) y 64kB de RAM.

Si puede brindarnos más detalles sobre el dispositivo que debe reemplazar, es posible que podamos saber si la memoria Flash y RAM serán suficientes o si debe buscar un dispositivo más grande.

PD. Intentaré ayudarte tanto como pueda, pero en caso de que luego decidas que no quieres hacerlo tú mismo, no dudes en contactarme (puedo ayudarte tanto con el hardware como con el software).

Podría probar un JNIB de Ajile Systems.

Un par de puertos seriales, ethernet, USB, ejecuta Java.

http://www.ajile.com/index.php?option=com_content&task=view&id=23&Itemid=53

He usado sus procesadores y son muy efectivos para desarrollar.

No veo por qué es difícil para usted encontrar hardware para ejecutar el sistema DOS existente. Algunos ARM Linux SBC se pueden encontrar por menos de 100 $ (más un módem externo), pero ¿por qué pasar por todos los problemas de cambio de plataforma si la solución actual funciona bien? Encuentre alguna placa SBC x86 como una solución temporal, y luego solo cambie la plataforma si necesita nuevas funciones que difícilmente se pueden lograr con DOS. El cambio de plataforma y la reescritura desde cero requiere mucho tiempo y puede consumir todo el presupuesto si no tiene un plan de respaldo. Y creo que tienes uno. Simplemente buscar en Google con las palabras "más pequeño" "dos" "sbc" le da suficientes resultados para que pueda comenzar.