| デザイナー | フリースケールセミコンダクタ |
|---|---|
| ビット | 8ビット/ 16ビット |
| デザイン | CISC |
| エンコーディング | 変数 |
| エンディアン | 大きい |
| レジスター | |
| 8 | |

68HC12 (6812 または HC12 とも略される) は、モトローラセミコンダクタ(後にフリースケール、NXP から)のマイクロコントローラ ファミリです。1990 年代半ばに最初に導入されたこのアーキテクチャは、フリースケール 68HC11の拡張版です。HC11 用に作成されたプログラムは通常、いくつかの追加命令を持つ HC12 と互換性があります。最初の 68HC12 派生製品は、最大バス速度が 8 MHz、フラッシュ メモリサイズが最大 128 KBでした。
建築
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 年以降、バス速度が最大 25 MHz、フラッシュ サイズが最大 512 KB の MC9S12 派生製品が導入され、ファミリが拡張されました。
MC9S12NE64 は、2004 年 9 月に Freescale によって発表され、「業界初のシングルチップ高速イーサネット フラッシュ マイクロコントローラ」とされています。この製品は、25 MHz HCS12 CPU、64 KB の FLASH EEPROM、8 KB のRAM、およびイーサネット10/100 Mbit/sコントローラを備えています。
MC9S12X派生製品
2004 年に導入された MC9S12XDP512 は、バス速度が 40 MHz で、XGATE と呼ばれる周辺コプロセッサを搭載しており、一部のタスクを CPU からオフロードできます。S12X 派生の CPU には、パフォーマンスを向上させるための新しい命令もいくつか搭載されています。
フリースケールは、S12X ファミリを 50 MHz のバス速度までさらに拡張し、メモリ保護ユニット (セグメンテーションに基づく) とエミュレートされたEEPROM を提供するハードウェア スキームを追加した MC9S12XEP100 を 2006 年 5 月に発表しました。
HCS12 製品には単一のプロセッサが含まれており、HCS12X には追加の XGATE 周辺プロセッサが搭載されています。
S12X ファミリは、64KByte を超えるアドレス指定に 2 つの主な方法を提供します。
- 64 KB ローカル マップ内のページ メモリ領域: ページ プログラム データの場合は PPAGE、ページ RAM の場合は RPAGE、ページ EEPROM/フラッシュの場合は EPAGE
- グローバル アドレス指定により、8 MB のアドレス空間内の任意のアドレスにアクセスできます。GPAGE は、特殊なオペコードと組み合わせて使用されます。(gldaa など)
エクスゲート
XGATE コプロセッサは、メイン バス クロックの 2 倍で動作する 16 ビット RISC プロセッサです。割り込みのみを処理し、バックグラウンド ループを実行しないことで S12X コアの負荷を軽減します。XGATE の最初のバージョンでは、現在処理中の割り込みを優先する優先度の高い割り込みを許可していませんが、9S12XEP100 (およびその他) に搭載されている「XGATEV3」では許可されています。S12X は XGATE コアでソフトウェア割り込みをトリガーでき、その逆も可能です。セマフォ システムが実装されており、S12X コアと XGATE コアが周辺機器へのアクセスを同期できます。
通常、XGATE コードはデバイスの起動時に RAM にコピーされ、速度向上のため RAM から実行されます。XGATE には、ページングのない部分的な 64KByte アドレス空間があります。レジスタはアドレスを共有しますが、フラッシュと RAM はコア間で異なるアドレスに表示されます。(詳細についてはデータシートを参照してください。)
参考文献
- ^ Sibigtroth, James M. (1996)「M68HC11 コードの M68HC12 デバイスへの転送」、Motorola Semiconductor アプリケーション ノート AN1284/D、Motorola。
さらに読む
- 組み込みシステム - 68HC12 および HCS12 を使用した設計とアプリケーション、Steven Barrett および Daniel Pack、645 ページ、2005 年。
- Motorola 68HC12 リファレンス マニュアル、Motorola、1996 年。
外部リンク
- サンプルアプリ付きのHCS12用リアルタイムカーネルソースコードを無料で提供
- Freescale の MC9S12NE ファミリー向け SourceForge 公式 OpenTCP プロジェクト
- DRAGON12-light HCS12/9S12 トレーナー、EVB、開発ボード
- 68HC11と68HC12の両方で動作するMiniIDE開発環境
- 68HC12 ディスカッション グループ
