Hello all, long time no see.
I do digital architecture and system interface design for high power amplifiers. All the system interfaces I've done to date have been parallel or basic serial (RS-232, etc). But lately we've seen customers wanting Ethernet interfaces for their amplifier systems.
For my designs, I've always used basic microcontrollers. Though some Ethernet-capable versions of these kind of chips exist (e.g. PIC18F97J60), I was thinking about using the Raspberry Pi for such applications.
I'm very new to the Pi (I recently got a Pi 3 running Raspbian), and to network programming, but so far the results seem promising. And our latest application will require data logging, which would be much easier to implement in an OS rather than discrete memory.
My biggest concerns are based on using an OS in systems that can see frequent power cycles. Specifically, my concerns are:
- Boot-up time: With basic microcontrollers, the digital circuitry is ready in milli-seconds. With the Pi, this can be as long as 30 seconds. (As long as the end user is okay with this, it shouldn't be an issue.)
- Power off: Our systems are expected to be turned off with a front panel circuit breaker, and we can't expect the user to provide a "shutdown" command.
- Quick power cycling: It's not uncommon during test to turn the system on and then off again in a matter of seconds. There is also no way to prevent the user from doing so.
I have been researching ways to either allow safe immediate power-off without shutdown, or using batteries/charge circuits to keep the Pi on long enough to perform a shutdown (this thread seems the most interesting so far). The latter approach seems safer in the event of a fast power cycle, as the Pi can fully boot before executing a shutdown.
Does anyone have any opinions on whether this is a practical application to use the Raspberry Pi?