Site Search

Last time, I talked about the security (encryption) issues that many existing microcontrollers have, and how EFM32PG /JG may be a solution. (Previous article here)
This time, I would like to take a look at the specifications of the EFM32PG /JG.

Basic specifications of EFM32PG/JG

The EFM32 family developed by Silicon Labs (Silicon Laboratories) is a group of microcomputer products with strengths in low power consumption, just like the name "Energy Friendly Microcontroller". The EFM32PG (Pearl Gecko) and EFM32JG (Jade Gecko) are the eighth and ninth additions to the EFM32 family.

Below is a comparison table of the main specifications of all 9 families.

Article header 184

For the CPU core, EFM32PG uses ARM Cortex-M4F and EFM32JG uses ARM Cortex-M3. There is no difference in peripherals, so if you want to use DSP instructions, choose PG, otherwise choose JG.

The basic specifications of the EFM32PG /JG are as follows.

flash memory 128kB or 256kB
RAM 32kB
current consumption
(EM0: in Active mode)
78 uA/MHz (at 38MHz internal clock operation, using internal DC/DC)
112 uA/MHz (at 38MHz internal clock operation, internal DC/DC not used)
current consumption
(EM2…deep sleep mode)
1.4 uA (using built-in DC/DC)
3.47 uA (Built-in DC/DC not used)
GPIOs ~32 pieces
hardware encryption  
timer 16bit x 2 (each timer has 3 to 4 comparators)
DMA controller  
serial interface USART x 2, Low Energy UART x 1, I2C x 1 (USART can realize SPI and UART)
analog peripheral 12-bit ADC x 1, DAC x 1, analog comparator x 2
power on reset  
internal clock 38MHz (HFRCO), 32.762kHz (LFRCO)
Operating voltage 1.85 to 3.8V
operating temperature -40 to 85°C

 

Although the number of timers may seem small, each timer has 3 to 4 comparators, so the actual number is large. Also, the internal clock is not very accurate, so an external clock can be used if accuracy is required. This area is similar to other EFM32 family.

Note that there are errata regarding the current consumption values for EM1 (Sleep mode) and EM2 (Deep Sleep mode), and it should be noted that the current revision has a higher current value than the datasheet specifications. . It will be fixed in the next revision.

Article header efm32jpBlock Diagram 1

encryption hardware

EFMPG/JG has an additional peripheral called CRYPTO. This is cryptographic hardware. Since most of the calculations required for encryption are implemented in this hardware, the burden on the CPU can be reduced to zero or to a minimum.

The supported encryption methods are as follows.

  • AES 128/256-bit keys (also supports ECB, CTR, CBC, PCBC, CFB, CBC-MAC, GMAC, CCM, GCM, etc.)
  • SHA-1, SHA-224, SHA-256
  • ECC (P-192, P-224, P-256, K-163, K-233, B-163, B-233)


According to Silicon Labs' materials, it also supports legacy encryption methods such as DES, 3DES, MD4, MD5, and RC4. The support range is wide.

I want to see the power of hardware processing!

Now that it's been implemented in hardware, I'd like to check its capabilities. When I searched for the sample code provided by SiliconLabs, I found a code that can compare the processing time when encryption is processed by hardware and when it is processed by software.
Next time, I will use this sample code to check the capabilities of the security engine.

If you are interested in the EFM32 series microcontrollers, please also see here

Related article