|
D16550はTL16C550Aと機能的に同一の、ユニバーサル非同期受信/送信(UART)のソフトコアです。D16550では、UARTモードと FIFOモードの2種のモードでシリアル伝送が可能です。FIFOモードでは、内部FIFOが起動し送信受信の両方向で16バイトを記憶します(RCVR FIFOには更に1バイト毎に3ビットのエラーデータ)。D16550は、周辺デバイスまたはMODEMから受信したデータキャラクタの直列並列変換と、 CPUから受信したデータキャラクタの並列直列変換を行いま。
CPUは機能動作中いつでもUARTの全ステータスを読めます。報告されるステータス情報は、UARTによって動作中の転送タイプ及び状態、及びエラー状態(パリティ、オーバーラン、フレーミング及びブレーク・インタラプト)です。D16550にはプログラマブル・ボーレート生成器があり、タイミング・リファレンス・クロック入力を1から(216-1)の除数で割る能力があり、内部転送ロジックを作動する16xクロックを生成します。D16550は完全な MODEM制御機能とプロセッサ・インターラプト・システムを備えています。インターラプトはコミュニケーションリンク操作に要求される演算処理を最小限とするように、ユーザの要求に応じてプログラム可能です。
構成機能では、モデム制御ロジックとFIFO制御ロジックの合成処理やFIFOサイズの変更を、ユーザがイネーブルまたはディセーブルできます。よってゲート規模(エリア)に制限のあるアプリケーションやUARTが16450モードでのみ動作する場合には、モデム制御とFIFOをディセーブルすることで、ロジック・リソースを約50%節約できます。
実装結果
以下に典型的な性能とリソースの利用結果を示します。
| デバイス1 |
スピードグレード |
LUT数/PFU数 |
Fmax |
| SC |
-7 |
541/232 |
253 MHz |
| ECP2 |
-7 |
529/232 |
177 MHz |
| ECP2M |
-7 |
529/232 |
177 MHz |
| XP |
-5 |
569/239 |
130 MHz |
| ECP |
-5 |
569/239 |
143 MHz |
| EC |
-5 |
569/239 |
166 MHz |
| ispXPGA |
-4 |
415/144 |
78 MHz |
| ORCA 4 |
-3 |
368/84 |
60 MHz |
| ORCA 3 |
-7 |
372/92 |
30 MHz |
1 FIFOs implemented in RAM's - 304 Bits
機能
- 16450および16550 UARTとソフトウェア互換性。
- 2種のオペレーションモード:UARTモードとFIFOモード。
- 構成機能。
- FIFOモードでは送信器と受信器はそれぞれ16バイトFIFOでバッファされ、CPUへのインターラプト回数を低減。
- シリアルデータに対する標準非同期コミュニケーション用ビット(スタート、ストップ及びパリティ)を追加または除去。
- UARTモードでは、受信器と送信器は二重バッファされ、CPUと直列データ間の正確な同期は不要。
- 送信、受信、ラインステータス、データセットインターラプトは独立制御。
- 偽のスタートビット検出。
- 16ビット・プログラマブル・ボーレート生成器。
- 独立の受信クロック入力。
- MODEMコントロール機能(CTS、RTS、DSR、DTR、RIおよびDCD)
- 完全プログラム可能なシリアル・インターフェイスの特長:
-
完全プログラム可能なシリアル・インターフェイスの特長:
- 5-、6-、7-または8-ビット文字長。
- 偶数パリティ、奇数パリティまたはノン・パリティ・ビット生成と検出。
- 1-、1.5-または2-ストップビットの生成。
- ボーレート生成。
- 完全ステータス報告機能。
-
ライン・ブレーク生成と検出。以下を含む内部診断機能:
- ループ・バック制御でコミュニケーションリンク故障の分離。
- ブレーク、パリティ、オーバーラン、フレーミング・エラー・シミュレーション
- 完全に優先順位付けされたインターラプトシステム制御。
- 完全合成可能スタティック設計で内部トライステート・バッファなし。
アプリケーション
- シリアルデータ・コミュニケーション・アプリケーション
- モデムインターフェイス
|
|