モトローラ 68HC12

68HC12
デザイナーフリースケール・セミコンダクタ
ビット8ビット/ 16ビット
設計CISC
エンコーディング変数
エンディアンビッグ
レジスタ
8
68HC12搭載のDragon12-Pマイクロコントローラ評価ボード

68HC12 (6812またはHC12とも略される)は、モトローラ・セミコンダクタ(後にフリースケール、NXP)のマイクロコントローラファミリーです1990年代半ば最初導入されたこのアーキテクチャは、フリースケール68HC11の拡張版です。HC11用に作成されたプログラムは通常、いくつかの追加命令を持つHC12と互換性があります。最初の68HC12派生製品は、最大バス速度8MHz  フラッシュメモリサイズは最大128KB でし

アーキテクチャ

68HC11と同様に、68HC12は2つの8ビットアキュムレータAとB(AとBを組み合わせて16ビットの演算を可能にする場合は、1つの16ビットアキュムレータDと呼ばれます )、2つの16ビットプロセッサレジスタXとY、16ビットプログラムカウンタ、16ビットスタックポインタ、および8ビット条件コードレジスタを備えています。68HC11とは異なり、プロセッサは16ビットの内部データパスを備えています

68HC12は、68HC11の命令の一部を追加、または6809プロセッサに近い新しい形式に置き換えています。さらに重要な点として、命令エンコーディングの密度が大幅に向上し、6809に類似した多くのインデックス機能が追加され、中にはより柔軟性の高いものもあります。その結果、コードサイズは平均で30%縮小されています。[ 1 ]

HCS12/MC9S12派生製品

2000年以降、最大25MHzのバス速度と最大512KBのフラッシュサイズを備えたMC9S12派生製品の導入により、このファミリーは拡張されました

MC9S12NE64はフリースケール社が2004年9月に発表した「業界初のシングルチップ高速イーサネットフラッシュマイクロコントローラ」です。25MHzのHCS12 CPU、64KBのフラッシュEEPROM、8KBのRAM、そして10/  100Mbpsイーサネットコントローラを搭載しています。

MC9S12X派生製品

2004年に発売されたMC9S12XDP512は、バス速度40MHzと、CPUから一部のタスクをオフロードできるXGATEと呼ばれる周辺コプロセッサを備えています。S12X派生製品のCPUには、パフォーマンスを向上させるための新しい命令もいくつか搭載されています

フリースケールは、S12X ファミリを 50 MHz のバス速度までさらに拡張し、メモリ保護ユニット (セグメンテーションに基づく) とエミュレートされたEEPROMを提供するハードウェア スキームを追加したMC9S12XEP100 を2006 年 5 月に発表しました。

HCS12 製品には単一のプロセッサが含まれており、HCS12X には追加の XGATE 周辺プロセッサが搭載されています。

S12X ファミリは、64KByte を超えるアドレス指定に主に 2 つの方法を提供します。

  • 64 KB ローカルマップ内のページメモリ領域: ページプログラムデータの PPAGE、ページ RAM の RPAGE、ページ EEPROM/フラッシュの EPAGE
  • グローバルアドレス指定は、 8MBのアドレス空間内の任意のアドレスへのアクセスを許可します 。GPAGEは特殊なオペコード(gldaaなど)と組み合わせて使用​​されます。

XGATE

XGATEコプロセッサは、メインバスクロックの2倍で動作する16ビットRISCプロセッサです。割り込みのみを処理することでS12Xコアの負荷を軽減し、バックグラウンドループは実行しません。XGATEの初期バージョンでは、現在処理中の割り込みを優先する、より優先度の高い割り込みを許可していませんでしたが、9S12XEP100(およびその他の製品)に搭載されている「XGATEV3」では、これが可能です。S12XはXGATEコアのソフトウェア割り込みをトリガーすることができ、その逆も可能です。セマフォシステムが実装されており、S12XコアとXGATEコアが周辺機器へのアクセスを同期させることができます

通常、XGATEコードはデバイスの起動時にRAMにコピーされ、その後RAMから実行されるため、速度が向上します。XGATEはページングのない64KBの部分的なアドレス空間を備えています。レジスタはアドレスを共有しますが、フラッシュメモリとRAMはコア間で異なるアドレスに配置されます。(詳細はデータシートをご覧ください。)

参考文献

  1. ^シビトロス、ジェームズ・M. (1996)「M68HC11コードのM68HC12デバイスへの転送」、モトローラ・セミコンダクター・アプリケーションノート AN1284/D、モトローラ

さらに詳しい情報