How to find the embedded platform?

I am new to the field of embedded programming hardware, and therefore, after you are completely overloaded with all the options (pc104, custom boards, zillion option for each board, volume discounts, devel kits, ahhh !!) I ask something here direction.

Basically, I have to find a new motherboard and (most likely) repeat the implementation of the program logic. Overwriting this in C / C ++ / Java / C # / Pascal / BASIC is not a problem for me. so my real problem is finding the hardware. Several other devices will be installed on this motherboard. Here is a summary of what I need to do:

It is required:

  • 2 RS232 serial ports (one is used for the primary user interface, the second is not continuous)
  • 1 modem (9600+ baud normal) [The modem will be used simultaneously with one of the serial port devices, so sharing interrupts with one serial port is fine, but not both)
  • Minimum Permanent / Long-Term Storage: Regardless of whether O / S + 1 MB (executable file) + 512 KB (data files) is required
  • RAM: minimal, regardless of what is required for O / S, plus maybe 1 MB for the executable.

Nice to have:

  • USB port (s)
  • Ethernet network port
  • Wireless network

Implementation languages ​​(any O / S to which I will adapt):

  • First Java / C # Choice (Mono ok)
  • Second choice - C / Pascal
  • Third - BASIC

Well, given all this, I have a lot of problems finding equipment that will support this, which is low in cost. Each manufacturer site has many options, and it is difficult to determine whether their offer will satisfy my mandatory requirements (for example, they sometimes list 3 "serial ports", but it seems that only one of the three is RS232, for example, do not mention that other two). Limitation # 1 is the cost, No. 2 is the size.

Can anyone help me with this? This small task made me think that I should have gone for EE, not CS :-).

EDIT: A bit of background: this is a system that is currently running, but the original programmer has passed away, and the current hardware manufacturer cannot find the hardware to run the (currently) DOS system, so I need to redefine this in a modern platform. I can only change the programming and motherboard.

+4
source share
6 answers

I suggest buying a cheap Atom Mini-ITX board, some of which come with several 4 RS232 ports.

But with Serial-> USB converters this is not a problem. Just get Atom. And if you have code, port your software to Linux.

Here is a link to the Jetway Mini-Itx board and a link to the 4-port RS232 expansion module . ~ $ 170, some optional for memory, drive and chassis and power supply. 250-300 US dollars.

Now here is the Intel Atom Board for $ 69, to which you can add flash memory instead of disks, and serial USB converters for any data collection you need to do.

The PC104 is of great value in maximizing the space used in 19 "or 23" rack configurations - if you're not in that space, the PC104 is a waste of your time and money, IMHO.

+3
source

BeagleBoard should have everything you need for $ 200 or so - it can run Linux, so use whatever programming language you like.

+3
source

A "modern" system will run DOS as long as it is x86, I suggest you look at the industrial board from a supplier, for example Advantech , your existing system can work without changes if it adheres to PC / DOS / BIOS standards.

However, if your source system runs on DOS, there is a possibility that you do not need the horsepower of a modern x86 system, and you can save money by using a microcontroller board using something fairly common, like ARM . In addition, if DOS was an OS, then you probably don't need an OS at all, and you could develop a bare-metal system. The resources needed only to support Linux are probably much larger than your existing application and OS together, and with little or no benefit if you do not intend to significantly expand the capabilities of the system.

There are many resources available (free and commercial) for implementing the file system and the USB system as a voice system or a system using a simple real-time kernel, such as FreeRTOS or eCOS, which have much smaller fingerprints than Linux.

+2
source

Embedded Windows site ( http://www.microsoft.com/windowsembedded/en-us/default.mspx )

has many resources and links to hardware partners, distributors and development kits. There is even a spark incubation project ( http://www.microsoft.com/windowsembedded/en-us/community/spark/default.mspx )

What is also very nice about using windows ce is that it now supports Silverlight as a development environment.

+2
source

I used the jetway boards / daughter cards that Chris mentioned with success for various projects from the built-in control, my home router, my HTPC interface.

You did not indicate what the actual application is, but if you need something more industrial due to temperature or humidity limitations, I found http://www.logicsupply.com/ to be a good resource for mini X systems, who can beat.

The tip for this board is that, given the minimum storage requirements, do not use a hard drive. Use the IDE adapter for a compact flash card as a system storage or SD card. No moving parts are usually a big plus in these applications. They also usually offer DC powered models, so you can use an external power source for your laptop or wall, which minimizes its final size.

This http://www.fit-pc.com/web/ is another option on the very small PC market with atoms, you will probably have to use some USB converters to get the desired connectivity.

The Beagle recommendation mentioned by Paul is also a good choice, there are daughter cards for this that add all the ports you need, and you have a built-in SD card reader for any storage you need. It is also significantly lower power compared to atomic systems.

There are a ton of single-board computers that fit your needs. When searching, you usually find that they do not contain many interface connectors on the processor board itself, but you need to look at the daughter cards in the stack that will provide any connections you need (RS-232, etc.). Often why you see only the “serial port” in the description, since the final physical layer for the serial port will be defined on the child card.

There are a ton of hand-based gaming platforms that you can also use, for many that are listed, they look like a beagle board. Googling for "System on module" is a good way to find many options. They also usually represent a module with a processor / plunger / flash on 1 card, and then offer various carrier cards to which the module is connected, in which various forms of connection that you need will be provided.

From a developmental point of view, atomic boards are likely to be the lightest if you're more familiar with x86 development. ARM is heavily supported on Linux, although it's not that difficult to work with.

Personally, I would avoid windows for headless design, as you discuss, I rarely see a Windows-based embedded device that is not just bad.

+1
source

Take a look at one of the boards in the Arduino line, in particular the Arduino Mega . Very flexible boards at a low price, and Mega has enough I / O ports to do what you need. There is no built-in modem, but you can connect to something like the Phillips PCD3312C via an I2C connector or you can find an additional Arduino board (called a “screen”) to provide you with the modem functionality (or Bluetooth, ethernet, etc.). In addition, they are very easy to connect to an external storage device (such as a flash drive or SD card), so you should have enough storage space.

For something more than a PC, look for an existing device that is powered by a VIA EPIA board. There are many devices that use these (consoles, border routers, network security devices, etc.) that you can buy and reprogram. For example, I found a device that was supposed to be a network security device. It comes with an EPIA board, RAM, hard drive and power supply. All I had to do was format the hard drive, install Linux (Debian already had all the necessary drivers), and I had a ready-made mini-computer, ready to work. It only cost me about $ 45 (bought a new one, undisclosed on ebay).

Update: I found that I found EdgeSecure i10 from Ingrian Networks.

+1
source

Source: https://habr.com/ru/post/1306805/


All Articles