Microcontroller Usage in System Design

Thread Starter

chonc76

Joined Jan 26, 2016
2
I am a software engineer looking for some advice on the use of a microcontroller in a new project I am working. I am pretty unfamiliar with embedded software but the system engineers have tasked me to assess the viability of a microcontroller in the system design running some pretty simple code that takes relatively small input on the order of KBs probably <10.

The system will be Tx/Rx data via a 1GbE interface. The code needed to execute is as follows:

Read 4 incoming values, V1, V2, V3, V4
A1 = Minimum(V1, V2, V3, V4)
Look up in a table (8x5 floating point values) based on A1.
A2 = A1 - some scalar
Write A2 to 1GbE

The latency requirements for the whole operation from time of receipt of V1 to write of A2 needs to be <20 milli secs, based on my limited knowledge any reasonable higher end microcontroller should be able to do this on the order of micro-seconds.

The 1GbE is connected to a high end switch and the published latencies under full load are 80 micro-seconds so that shouldn't be a limiting factor.

My questions are:

Recommend a microcontroller that has 1GbE interface. Budget is less of a factor so high end is not off limits.
Could this MC mount to a chassis? Or are there enclosures that also handle 110v power interface?
What is a rough estimate (order of magnitude) of the latency to do operations above, after all the reads are completed?
What is the typical interupt latency to factor, order of magnitude?

I apologize ahead of time if my questions are ill conceived or too broad. Any advice is greatly appreciated.
 

Papabravo

Joined Feb 24, 2006
21,225
If you have the time I would start with a single board computer of the ARM variety (RPi, BeagleBone) and develop familiarity with the environment. Then once you understand what is going on you can turn a PCB to reduce the cost of making them in quantity.
 

Thread Starter

chonc76

Joined Jan 26, 2016
2
If you have the time I would start with a single board computer of the ARM variety (RPi, BeagleBone) and develop familiarity with the environment. Then once you understand what is going on you can turn a PCB to reduce the cost of making them in quantity.
This is being incorporated into a demonstration system and will never need to goto production. Raspberry Pi is a consideration but I was concerned with the OS effecting latencies. If using something like Raspberry Pi what kind of latency can I expect?
 

Papabravo

Joined Feb 24, 2006
21,225
Well you have to run the experiment. I use an RPi to provide precise FSK RTTY timing to my radio. There is not much in the way of latency that I can detect.
 

sailorjoe

Joined Jun 4, 2013
365
Here's an article on the subject. http://www.digikey.com/en/articles/...hernet-enabled-mcus-for-your-next-application
Off the top of my head, I don't know of any mcu's with 1GbE built in, but maybe someone here can explain if regular 10/100 Ethernet can work on a 1 Gb Ethernet at the same time. If not, I'm sure there is a network switch that would interface the two.
Where are the four inputs coming from? That's important to your MCU selection.
The other important question might be the amount of data you need to store. Different boards have widely different RAM capacity. Also, do you need to store information permanently in case of power loss?
Then there's the programming language and development environment to consider. All the popular boards have different "OS's" and development environments. Programming an Arduino in C++ in their IDE is fairly simple. Programming a Beagle Bone Black is more like working with a Linux server.
 
Top