CoreMark: Benchmarking Processors

Developed by a non-profit, Embedded Microprocessor Benchmark Consortium(EEMBC) in 1997 is currently one of the most popular benchmarking software available to characterize and compare the processing capabilities of your embedded microcontrollers. It’s a piece of code that runs on practically any processor/controller out there and does a bunch of tests and reports the result in a standard format. The code conducts a bunch of integer arithmetic calculations, matrix manipulations, linked lists and state machine operations. So it does a few of the performance benchmarks which are used in real life (but it’s still synthetic testing though). CoreMark when it was released, was an alternative to another standard known as Dhrystone that was created back in the 1980s. The issue with Dhrystone was that you can always tweak certain settings to get a higher rating based on compiler optimisations.

CoreMark prevents compiler hacks and smart programming tricks to drive up the ratings. The tests and code are available for free on GitHub if you want to run them on any controller of your choice.

Why does this matter for an embedded developer? When you are searching for a new microcontroller for a project you can always look at the CoreMark numbers and make an informed decision(Usually the higher the better). Most good chip manufacturers give the CoreMark ratings on their products but each might give it in a slightly different manner. There are 3 key numbers you need to keep in mind for that. A single CoreMark number shows the overall performance of the chip. Then there is CoreMark/MHz which normalises the core performance based on the clock speed. A chip having a lower CoreMark/MHz can have an overall better compute capability if it’s run at a higher clock speed. The third is CoreMark/mA which gives you a flavour of energy efficiency/power consumption of your processor. So keep all of these in mind when comparing microcontrollers.

CoreMark scores submitted by users all around can be found at https://www.eembc.org/coremark/scores.php.

If you liked the post, Share it with your friends!

Back to Basics: TVS Diodes

Electro Static Discharge (ESD) is one of the most critical things to guard against a mass-produced product. They can easily damage your product, especially in areas where someone can potentially touch it like exposed pads, USB connectors, screens etc. To protect against this issue, you use a Transient Voltage Suppressor(TVS) or ESD diode on the input side of your circuit. TVS diodes and ESD diodes are technically more or less the same as TVS diodes capable of protecting against larger surge currents too. If you are only worried about ESD, then use the smaller ESD diodes.

You connect ESD diodes right at the input(In parallel, across the rest of the input), usually very close to the part which is exposed. There is a common misconception that the ESD diode will absorb all the transient energy just because you put it somewhere. Well, that’s not how it works. ESD diodes help shunt away the high voltage back to the source, hence it’s imperative that you choose a diode that is fast responding and is placed as close to the input as possible so that the energy put in can return back faster thereby protecting circuits downstream. Never use Zener or other types of diodes for this as it’s usually slow to react to the pulse of an ESD.

IEC 61000-4-2 is the testing standard applicable for ESD before releasing your product on the market. Your product will be tested with an ESD gun capable of injecting a voltage of the order of kilovolts.

They are usually of 2 types, Air Discharge(That is when you bring your hand close to a device but not touch it. Think sparks from fingertips due to charge build-up) and Contact discharges(Direct touch). There are different levels from Level 1 to Level 4 increasing the amount of protection your device is ensured against. For example, Level 4 protects against +-15kV(Air Discharge ) and +-8kV(Contact Discharge) There are lots of considerations in choosing diodes and types of them. Can’t fit them on a single post. If there is some interest, will probably do a detailed series later on.

If you liked the post, Share it with your friends!
1 14 15 16 17 18 24