PDA

View Full Version : how reliable is an embedded system?



pyrogeek
- 7th August 2011, 03:13
I'm wondering if any of you guys that code for a living can answer this question. i'm not really asking how reliable the systems are but more like asking does anyone put some kind of self test feature in the system they engineer? maybe something like everytime the system powers up it runs a selftest to see that everything is functioning properly.

rmteo
- 7th August 2011, 04:22
To get an idea of how high-reliability embedded systems for mission and safety critical applications are designed, developed and tested, take look here http://www.ghs.com/

Jumper
- 7th August 2011, 04:36
According to my experience embedded systems are very reliable if they are designed properly. There are a few minor problems.

1: Init of ALL registers and VARIABLES to a correct value. Since you might have noticed there are abunch of registers in a PIC. Some of these registers will be reset to a specific value when you power up the pic, others might not.

2: Power supply, I would say if you have a bad power supply you will have a bad experience. A clean and stable power supply that can support the PIC and also all other things in the circuit without noice is important, especially if you switch things on and off. If you use relays it might even be smart to have a separate power for the pic and an other supply feeding the relay circuits (of course with a common ground)

3: Watch-dog, a nice little creature that can be very useful or very annoying. If it is used properly it will reset your PIC if the software hangs in an unexpected way. But if you forget to reset the watch dog frequently enough it will bite you. But if the code stops working for one reason or an other it will reset the pic to a known state which is kind of good.

4: BOR, brown out reset. A great thing to use to make sure the PIC stops dead if the power becomes too low. If you do not use this the PIC can run on almost no power at all and you will not know what it can do on very low voltage.


5: Filter inputs and outputs to make sure noice does not make your PIC go wild. ESD can do the most unexpected things so you also need to consider how the circuit will be protected against this. The electric discharge can both damage the PIC or other components in the circuit or it can cause the PIC to reset if you are unlucky.

6: Self-test, well ... sure it can be a good thing but here I would say hardware design is even more important. Make sure all signals will have a pre-set value (pull-up or pull-down) so that the entire system is held in a known state until the PIC powers up. It will take some time before the PIC is up and running and you really want to know what all signals do during this short time.

Of course you can double check later when the PIC is up that the system works by using some inputs from important signals but just a selftest will not protect you if step 1-5 is not done properly.

For a pyrotechnic controller MAYBE you can as a selftest test the igniting circuit for each device to see if it is properly connected by switching on some really HUGE pullup resistor.

7: Breadboard! If you should have any chance to make a stable system that you can trust you need to make a PCB or at least solder everything onto a proper develpment board. Loose cables and connections will drive you mad. PCB is of course a bit trouble and expensive but they do add alot of stability to the design.

pyrogeek
- 7th August 2011, 06:20
thanks for the reply, i get what your saying, most of those thing are common practice for me. Breadboards can be a pian in the butt, and i spend a couple grand a year on custom PCB's, i hate those perf boards. So basically there's no need for a self test.