8051/8032マイクロコントローラのドロップイン置換品としてのDS80C320
要約
ダラスセミコンダクタの高速マイクロコントローラは旧型の8051/8032設計をアップグレードする際に性能と消費電力を改善することができます。DS80C320は少ないクロックサイクルで同じ動作を行いながら命令セットとオブジェクトコードの互換性を維持します。このマイクロコントローラは旧型8032および8051設計のドロップイン置換品です。このアプリケーションノートはソフトウェアループ、タイマー、クロック速度、パワーオンリセットおよびメモリインタフェースなどの主要な問題を扱います。
はじめに
DS80C320高速マイクロは、ダラスセミコンダクタの8051命令セットと互換性を持つマイクロプロセッサファミリの1つです。従来の8032と同じピン配置および基本リソースを使って設計されましたが、大きく改善された性能といくつもの追加リソースを備えています。命令セットとピン配置が同じであるため、多くの場合でドロップイン置換品として使用可能です。しかし、それを行う際、考慮しなくてはいけない問題がいくつかあります。このアプリケーションノートではこれらの問題について議論します。
プロセッサ速度
DS80C320は8051命令セットと100%コンパチブルですが、命令の実行は性能を向上するために改善されています。以前は完了するのに12クロック必要であったシングルバイトの命令は、今では4クロックで実行します。更に、8032のバージョンの中には最大12MHzのクロックであるものがあったのに対して、DS80C320では33MHzまで許容されます。このようにより高性能であるため、DS80C320を8032のドロップイン置換品として評価する場合、考慮しなくてはならないプロセッサ速度に関する問題があります。
メモリインタフェース¹
基本的な命令実行時間がDS80C320において短縮化されているので、データをメモリへあるいはメモリから伝送するために利用できる時間も短縮されます。これは、同一周波数の水晶であれば、メモリアクセスに使用可能な時間がより少なくなっていることを意味します。この点について、簡単な例を示します。標準的な8032で12MHzの水晶を使用する場合、プログラムメモリは(あらゆるアドレスラッチオーバーヘッドを無視して) 302nsより速いアドレスアクセス時間を備えていなければなりません。また、12MHz水晶を使用したDS80C320は約230nsのアドレスアクセス時間のメモリを必要とします。これは大きな違いがあるわけではありませんが、考慮すべき、またはあるシステムにとって重要になりうることです。
ソフトウェアのタイミング/遅延ループ
速度について考慮しなければならない他の問題としては、ソフトウェアタイミングの使用です。通常、ソフトウェア技術者は遅延を生成するために、推定されるプロセッサの一定な実行速度を実時間のリファレンスとして利用します。DS80C320は標準8032よりも大幅に早く命令を実行するので、以前に設計されたタイミングループでは本来意図した結果をもたらしません。ソフトウェアのタイミングループの使用は通常、好ましくないソフトウェア設計として受け入れられますが、実際それらは組込みアプリケーションでよく使われます。DS80C320は8032のタイマーとまったく同じ動作をするように内部タイマーのデフォルト状態が設計されました。アプリケーションコードがソフトウェア遅延よりむしろこれらのタイマーを利用するように書かれているならば、コードは本来意図されたように動作します。
パワーオンリセット
DS80C320は独自のパワーオンリセット機能を発生する回路を取り入れています。RSTピンが外部のリセット発生回路に接続されていても、このオンボード機能は便利な機能として新規の設計に提供されます。多くの場合、自己リセット機能を備えているプロセッサは利点であることは事実ですが、オンボードリセットが必ずしもユーザが求めている機能であるとは限りません。リセットが要求される電圧レベルでなかったり、要求される期間ではない状況も考えられます。この1例として、バッテリバックアップRAMがストレージに使われる場合があります。このRAMがそれ自体の電圧検出回路を備え、DS80C320のリセット解除と同じ電圧(約4.0V)で保護されない状態にならなければ、プロセッサは保護されたRAMにアクセスすることができるでしょう。これらのケースは一般的ではありませんが、それぞれ特定のアプリケーションでは考慮しなければならないことです。
電力消費
DS80C320はより性能の高い製品であるだけでなく、同等の処理を考慮した場合8032よりも低電力のデバイスでもあります。CMOS製品は速度が上がるとより多くの電力を消費するという特性を示します。DS80C320はより高速の製品であるため、所定の水晶周波数ではより多くの電力を消費します。しかし、同等の処理を考慮すると従来の8032よりも消費電力はわずかに少なくなっています。この消費電力の違いはバッテリ駆動アプリケーションのみに重要かもしれませんが、この場合ストップモード電力がより重要になるでしょう。
¹DS80C320の正確な速度のメモリデバイスを選択するための詳細についてはダラスセミコンダクタのアプリケーションノート57 「DS80C320 Memory Interface Timing」にあります。