パラレルポートをちょっと考察。。

以前の記事、LinuxCNCのHALとパラレルポートテスターにて、LinuxCNCでパラレルポートのOUTPUTモードとした時、パラレルポートの2~9番ピン以外の出力パルスの立ち上がりがニブかったので、ちょっと調べてみた。


PCのパラレルポートの電気特性に関しては、インターネット上に色々とありますが、微妙に違ってたりします。



で、とりあえず参考にしたのが、http://www.edaboard.com/とゆうサイトのparallel port max current sink/outputとゆう掲示板。

んで、そのページの最後の方の記述の機械翻訳。。


私はあなたが、PCの背面にあるポートについて求めていると思います。

あなたのポートがIEEEに準拠している場合は、IEEE1284から2000規格では、これがレベル1のデバイスについて述べています:

8.3.2.1.Driver要件
A)ドライバは公称5VのTTLレベルで動作しなければならない。
B)開回路のハイレベル出力電圧が5.5Vを超えてはならない。
C)開回路の低レベルの出力電圧が-0.5Vよりも劣らないものとします。
D)ハイレベルの出力電圧は、0.32ミリアンペアのソース電流で少なくとも2.4Vでなければならない。
E)低レベルの出力電圧は、14ミリアンペアのシンク電流で0.4Vを超えてはならない。
F)プルアップ抵抗が存在する場合、1.8kOhm+の制御及び状態singals用-5%、およびデータsingals用以上1.0kohm+-5%以上であること。
G)回路と浮遊容量は補償されていない容量の50pFのを超えてはならない。追加の容量は、ドライバ回路内の追加のソースおよびシンク電流を提供することによって補償することができる。

この程度のレベル2デバイス
8.3.3.1ドライバーの要件
A)開回路のハイレベル出力電圧が5.5Vを超えてはならない。
B)開回路の低レベルの出力電圧が-0.5Vよりも劣らないものとします。
C)直流定常状態は、ハイレベルの出力電圧は、14ミリアンペアのソース電流で少なくとも2.4Vでなければならない。
D)直流定常状態は、ローレベルの出力電圧は、14ミリアンペアのシンク電流で0.4Vを超えてはならない。
E)ドライバの出力インピーダンスは図34中の(RO)は(VOHおよびVOL)は、出力デバイスの実際の測定電圧である、半分実際のドライバのVOHマイナスVOL電圧で、45-55ohmでなければならない。いずれかの方向に移行するため、ドライバ/ケーブルインターフェイスで測定し、これは、運転者がわずかに無限に長い62ohm伝送路に半分VOHマイナスVOL振幅を超える入射波を発生させる。
F)ドライバのスルーレートは0.05-0.4V/nsでなければならない。

項目E)およびF)の値は、負荷の下でコネクタピンで測定される。

とゆうことらしい。IEEE1284を調べてもきちんとした文書が出てこないのですが、多分これが大本の規格を抜き出したものではないかと。。

要約すると、5VのTTLレベルでソース電流は0.32Aで、シンク電流は14mA。
プルアップ抵抗はデータ信号(2~9番ピン)1kΩ以上、コントロールとステータス信号は1.8kΩ以上。

とゆう感じ。。

また、TexasInstrumentsのパラレルポートインターフェースのあるIC、TL16PIR552 のデータシートを見ると注釈として

All 1284 output and data terminals are low-noise TTL 12 mA drivers. The type of the driver, push/pull or open drain, is switched
dynamically based on the 1284 mode.

とあります。また、

12 mA for 1284 control, 3 mA for all other outputs

とも。。


プルアップ抵抗も何も付けてないコントロールポートを見てみると明らかに立ち上がりが遅く、「もしや、オープンドレイン?」と思ったのでプルアップ抵抗を付けて試してみました。


使ったパラレルポートはD2700MUDマザーボードに付いているパラレルポート。


どの記述を見てもソース電流はとても小さいのですが、シンク電流は10mA程度流せるようなので5Vのプルアップ抵抗として、1kΩを使用してみました。

概算で5mA程度の電流量。。



画像はクリックすると大きな画像が別ウインドウで開きます。



paraosc3.jpg


下がパラレルポートの1番ピンコントロールポートの出力で上がその後に取り付けたバッファIC、TC74LCXR163245の出力です。バッファICのHighレベルの閾値が2V。結構高速なバッファICです。



その2Vまでパラレルポートの信号が立ち上がるのが約600ns=0.6μS  ちょっと掛かりすぎでは。。と。

paraosc4.jpg

パラレルポートの1番ピンに1kのプルアップ抵抗を取り付けた波形。

明らかにバッファICがHighになるまでの時間が短くなってます。

大体150ns=0.15μS程度でしょうか。



paraosc6.jpg

時間のメモリをひとマス100nsと拡大してみました。
大体130nS=0.13μS位ですね。。


paraosc7.jpg


時間のメモリをひとマス1μSにするとこんな感じです。


paraosc2.jpg

比較対象として、データポート(2~9番ピン)の出力です。

こちらは1kΩのプルアップ抵抗を取り付けても取り付けなくても波形の立ち上がり速度は変わりませんでした。

時間軸がひとマス10nSで、バッファICが反応するまで15nS=0.015μS。



プルアップしたコントロールポートの約10倍の速度。

ステッピングモーターへの出力や、スピンドルのへのPWM出力は迷わず2~9番ピンのデータポートに。。


中華基板や海外のオープンソースなパラレルポートブレイクアウトボードの回路図等々に割りとコントロールポートをステッピングモーターの制御用に割り当てている場合があります。。。



もしかしたらパラレルポートのモード設定により、プルアップの有無を変化させることが出来るかもしれません。。

スポンサーサイト

テーマ : 自作・改造
ジャンル : コンピュータ

コメントの投稿

非公開コメント

ライセンス
アクセスカウンター
プロフィール

あきらひとし。

Author:あきらひとし。
木工用CNCルーターフレームと、ステッピングモータードライバを作ってみました。
たぶん記事は一般的な人には殆ど必要のない事ばかりなの、かも。

モーターは回るだけでも楽しい。制御(速度、トルク、位置)できるともっと楽しい!

メールフォーム

名前:
メール:
件名:
本文:

リンク
最新記事
カテゴリ
スポンサードリンク
スポンサードリンク 
スポンサードリンク
オンラインカウンター
現在の閲覧者数:
検索フォーム
RSSリンクの表示
最新トラックバック
最新コメント
月別アーカイブ