ARM® ベースのマイクロコントローラ デバイスが市場に投入される速度は驚異的です。異なるパフォーマンス レベルを持つ互換性のあるコアの共通ファミリを使用すると、新しい製品設計や新しいテクノロジ プラットフォームのベースとなる新しいデバイスを探している組み込み開発者に多くのメリットがもたらされます。しかし、デバイスを急いで市場に投入する中で、マイクロコントローラ サプライヤーは、ARMコアを中心とした周辺機器セットとアーキテクチャの強化を微調整するのに時間を費やすか、新しい設計に着手しているため、今すぐデバイスを必要としている忠実な顧客の市場シェアを失う可能性があるかというジレンマに直面しています。これは、ARMのCortex-M0/M0+ アーキテクチャにまさに当てはまります。過去数年にわたって8ビットデバイスに組み込まれた省電力機能や周辺機能の強化が顧客から高く評価され、あらゆるプラットフォームで可能な限り最高の製品を作るにはカスタム調整が必要であることを認識した一部のマイクロコントローラサプライヤは、最新のARM Cortexを8ビットデバイスに導入するためにより徹底したアプローチを採用しました。® -M0+デバイスを市場に投入。Atmelもその1つです。
Atmelは最初のM0+製品で一歩後退し、8ビット組み込みフラッシュメモリの開発における20年にわたる経験を評価した。 マイクロコントローラ ARMライセンシーになって17年以上になります。tinyAVRに施された革新の多くは明らかだった。®、メガAVR® およびAVR XMEGA® デバイスは、M0+ 実装に非常に関連しています。AVRの一例® エンジニアから高く評価されている機能は、周辺イベント システムです。これは、CPUやバス リソースを使用せずに周辺機器が相互に連携できるようにするアプローチです。Atmelの低電力IPも高く評価されています。これには、低電力発振器、クロック ゲーティング、プリスケーリングの使用に加えて、スリープ ウォーキング モードとシリアル通信の改善が含まれており、ディープ スリープ モードから起動したときにデータが失われないようにします。
Atmel独自のマイクロコントローラのイノベーションの多くの側面をARMのコアIPに組み込んだ結果、Atmel Cortex-M0+ ベースのデバイスであるSAM D20は、CoreMarkベンチマークが2.14coreMark/MHzとなり、アクティブ モードでの消費電力は150µA/MHzを超え、RAM保持モードでは約2µAになりました。比較すると、市場に出回っている他のデバイスでは、同じタスクを同じパフォーマンス レベルで実行した場合のアクティブ電力消費は200 ~ 400µA/MHzの範囲です。これを可能にしたいくつかの機能強化について、もう少し詳しく見てみましょう。
前述したように、イベント システムを使用すると、CPUアクティビティを介さずに周辺機器が通信できるようになります。これは、従来のデータ バス パスから独立したルーティング ネットワークです。周辺機器レベルでのさまざまなトリガーによってイベントが発生する可能性があります。たとえば、タイマーのティックによって別の周辺機器で反応がトリガーされるなどです。D20では8つの独立したチャネル、D21では12のチャネルで構成されるイベント システムのレイテンシは2サイクルに固定されています。SAM D10およびD11には、イベント システムに4つのチャネルがあります。ジッターがないため、100% 決定論的な方法であり、リアルタイム アプリケーションに最適です。CPUがマスク不可能な割り込みを実行している場合でも、イベントは失われず、2サイクルで周辺レベルで処理されます。従来、低電力アプリケーションのアクションを処理する方法は、割り込みを使用することでした。ただし、割り込みによってCPUが起動します。たとえば、PWMを使用するモーター駆動アプリケーションを考えてみましょう。多くのモーター アプリケーションでは、エラー状況を検出するために、アナログ コンパレータまたはADCを使用してモーター ドライブに流れる電流を測定します。過電流状況では、回路への永久的な損傷を防ぎ、安全上の理由から、モーターを駆動しているPWMチャネルをできるだけ早くシャットダウンする必要があります。イベント システムがない場合、過電流状況によって割り込みがトリガーされますが、CPUが他の優先度の高いタスクを実行している場合は、割り込み サービス要求が遅延される可能性があります。イベント システムを使用すると、アナログ コンパレータまたはADCをタイマーに直接接続し、MCUの残りの部分が何を実行しているかに関係なく、常に2サイクルでタイマーをシャットダウンできます。
図1は、CPUからの介入を必要とせずに、イベント システムがモーター制御電流保護を管理する方法を示しています。このアプローチには多くの利点がありますが、主な利点としては、全体的な電力消費予算の削減、CPUからの日常的なタスクの効率的なオフロード、完全に予測可能な応答時間の実現などが挙げられます。
図1 – イベント システム – モーター制御ドライバの例
Atmelのデバイスの他の大きな差別化機能の1つは、高度に構成可能な複数のシリアル通信モジュール (SERCOM) の提供です。D20およびD21部品には最大6つのシリアル インターフェイス チャネル、D10およびD11部品には最大3つのシリアル チャネルがあり、各シリアル ポートはソフトウェアで設定してI2C、SPI、またはUSARTインターフェイスにすることができます。これにより、開発者は必要に応じて利用可能なインターフェースを構成できるため、設計に着手する際に非常に柔軟に対応できます。たとえば、2つのI2Cと4つのUARTが必要な場合は、これを実行します。組み込み開発者にとって、このアプローチには非常に重要な利点が2つあります。まず、必要なシリアル インターフェイスの種類数を備えたデバイスを探すために、マイクロコントローラの仕様を調べる必要がなくなります。これにより、多くの時間を節約できるだけでなく、必要なインターフェースがわずかに異なる可能性のある多数の類似の設計に単一のマイクロコントローラを採用できるようになり、3つのSPIが必要であるために5つのUARTを備えたデバイスを購入する必要がなくなります。2番目の利点は、PCBの設計に関係します。PCB上のサポート インターフェース コンポーネントまたは相互接続の位置と一致するようにインターフェース タイプを選択すると、より効率的なPCBルーティングが可能になり、配線が短くなるだけでなく、電気的にノイズの多いコンポーネントを通過する長い信号パスを回避できます。
これは、複数のSERCOMモジュールがあり、各SERCOMモジュールに複数のピン接続オプションがあるという事実によって可能になります。AtmelのSAM D20デバイスは最大400kHzのI2C高速モードをサポートし、SPIとUARTは最大24 Mb/sの転送速度を実現します。シリアル通信モジュールはすべて、前述の周辺イベント システムに接続されており、CPUの介入なしに周辺機器の連携が可能になります。多くのアプリケーションで必要になる可能性は低いですが、各SECOMモジュールは、ソフトウェアによってオンザフライで別のインターフェイス タイプに再構成することもできます。
最後に、組み込み開発者が求める最も便利な機能を備えたCortex-M0+ 設計を提供するために、AtmelはmaXTouch製品ラインの広範な知識ベースに基づいて、SAM D20およびD21に周辺タッチ コントローラも追加しました。これは、SAM D20およびD21の新しい周辺機器の中で最も革新的であり、ボタン、ホイール、スライダーを使用してタッチ コントロール インターフェイスを実装するために使用できます。近接を利用した検出機能も可能。マトリックス構成で最大256チャネルをサポートする周辺タッチ コントローラ モジュールは、相互容量センシング方式と自己容量センシング方式の両方をサポートします。SAM D20は、優れたノイズ除去と感度特性に加え、自己キャリブレーションも備えており、オンチップで多くのタッチ コントロール機能を提供します。
SAM D21には、USBホスト機能とデバイス機能の両方が備わっています。小型のSAM D10およびD11部品は、省スペースの14ピン、20ピン、および24ピン パッケージで提供されているにもかかわらず、USBデバイス機能を備えています。D10とD11にはDMA機能はありませんが、12ビット350ksps ADCの最大8チャネルと10ビット350ksps DACの1チャネルをサポートします。D21には、オーディオ ストリーミング用の96 MHzフラクショナルPLLを備えたI2Sの2つのチャネルも搭載されています。