サイト内検索

前回、セキュリティ(暗号化)において既存の多くのマイコンが課題を抱えていること、そしてEFM32PG/JGが解決策になるかもしれないこと、についてお話ししました。(前回の記事はこちら
今回はEFM32PG/JGの仕様について見ていきたいと思います。

EFM32PG/JGの基本仕様

Silicon Labs社(シリコンラボラトリーズ)が展開するEFM32ファミリは、“Energy Friendly Microcontroller”の名に違わず、低消費電力に強みを持ったマイコン製品群です。EFM32PG(Pearl Gecko)およびEFM32JG(Jade Gecko)は、このEFM32ファミリに加わった8番目・9番目の製品になります。

以下に全9ファミリの主要スペックの比較表を示します。

Article header   184

CPUコアには、EFM32PGではARM Cortex-M4Fを、EFM32JGではARM Cortex-M3を採用しています。ペリフェラルには差分はありませんので、DSP命令を使用したければPGを、そうでなければJGを選択することになります。

EFM32PG/JGの基本仕様は次のとおりです。

フラッシュメモリ 128kB or 256kB
RAM 32kB
消費電流
(EM0…Activeモード時)
78 uA/MHz(38MHz内蔵クロック動作時、内蔵DC/DC使用)
112 uA/MHz (38MHz内蔵クロック動作時、内蔵DC/DC未使用)
消費電流
(EM2…Deep Sleepモード時)
1.4 uA(内蔵DC/DC使用)
3.47 uA (内蔵DC/DC未使用)
GPIO ~32本
ハードウェア暗号化  
タイマ 16bit x 2 (各タイマに3~4のコンパレータが用意されています)
DMAコントローラ  
シリアルインタフェース USART x 2、Low Energy UART x 1、I2C x 1 (USARTでSPIやUARTを実現できます)
アナログペリフェラル 12-bit ADC x 1、DAC x 1、アナログコンパレータ x 2
パワーオンリセット  
内蔵クロック 38MHz(HFRCO)、32.762kHz(LFRCO)
動作電圧 1.85 ~ 3.8V
動作温度 -40 ~ 85℃

 

タイマの本数が少ないように見えますが、各タイマに3~4のコンパレータが用意されていますので、実質的には本数は多くなります。また内蔵クロックは精度がそれ程高くありませんので、精度が必要な場合には外付けクロックが使用できます。このあたりは他のEFM32ファミリと同様です。

なお、EM1(Sleepモード)、EM2(Deep Sleepモード)時の消費電流値についてはエラッタが出ており、現行のレビジョンではデータシートのスペックよりも電流値が高くなっている点に注意が必要です。次レビジョンで修正される予定だそうです。

Article header efm32jpブロック図  1

暗号化ハードウェア

EFMPG/JGには、CRYPTOというペリフェラルが追加されています。これが暗号化ハードウェアです。暗号化に必要な演算の大部分をこのハードウェアで実現してしまいますので、CPUの負担はゼロ或いは最小に押えることができます。

対応している暗号方式は、以下のとおりです。

  • AES 128/256ビット鍵 (ECB、CTR、CBC、PCBC、CFB、CBC-MAC、GMAC、CCM、GCMなどにも対応)
  • SHA-1、SHA-224、SHA-256
  • ECC(P-192、P-224、P-256、K-163、K-233、B-163、B-233)


Silicon Labs社の資料によると、この他にもレガシーな暗号方式であるDES、3DES、MD4、MD5、RC4にも対応できるそうです。サポート範囲が広いですね。

ハード処理の実力を見てみたい!

せっかくハードウェア実装されたからには、実力の程を確かめてみたいですね。SiliconLabs社が提供するサンプルコードを探してみたところ、暗号化をハードウェア処理した場合とソフトウェア処理した場合の、処理時間を比較できるコードが用意されていました。
次回はこのサンプルコードを使って、セキュリティ・エンジンの実力を確かめてみたいと思います。

EFM32シリーズマイコンが気になった方はこちらもご覧ください

関連記事