RD74LVC5901BP の動作解析

これは某所で売られていた DIP 16 ピンの詳細不明 IC です。
カスタム IC ながらわざわざ 74LVC シリーズの型番を付けている理由は不明ですが、
最初に見かけたときから値付けが変わらない、さりとて売り切れそうでもなさそうなのでこのへんで解析しておきます。

解析した結果を下記に示します。

電気的特性

RD74LVC シリーズに準じる(VDD = 1.65-5.5V, 入力 +5V トレラント)と思います。

ピン配置


OUT[7:0] は出力ピン、それ以外は入力ピン
/CLK ピンのみプルアップ内蔵

動作

16bit バイナリカウンタと出力ラッチ (D-FF) が内蔵されているようです。

カウント動作クロック /CLK 入力に同期して動作します。/CLK は負論理で、立下りパルスを基準とします。

UPDATE/CCLR/CLK動作
XLX内部カウンタ (CNT) クリア (非同期), ラッチ更新許可
X↑Lカウンタに 1 セット? (CNT <- 1)
XH↓内部カウンタインクリメント (CNT <- CNT+1)
HH↓ラッチ更新可能ならば出力ラッチ更新 (OUT <- CNT), ラッチ更新禁止
LHLラッチ更新許可

UPDATE=H, /CCLR=H のとき出力ラッチ更新動作をします。UPDATE=L, /CCLR=H のときは、ラッチ更新許可動作です。/CCLR=L のときは、カウンタ値がクリアされます。出力ラッチはクリアされません。カウンタは UPDATE の状態によらず、/CLK の↓エッジでインクリメントされます。

連続した出力ラッチ更新は無効になります。内部にラッチ更新許可のフラグを持っているようで、出力ラッチを再度更新するためには、一度カウンタクリアもしくはラッチ更新許可を行う必要があります。

/OE, OSELA, OSELB は出力状態を選択します。8bit 出力ピンの状態を 16bit カウンタ値の上位、カウンタ値下位、Hi-Zから選択します。

OSELA=OSELB=L のときの動作は不明です。内部の消費電流が増加することを確認しています。内部で CNT[7:0] と CNT[15:0] を接続している?アナログスイッチで Mpx しているのでしょう。

/OEOSELAOSELBOUT[7:0]
HXXHi-Z
LLL禁止(カウンタ H の個数ぶん消費電流増大)
LLHカウンタ値下位 CNT[7:0] 出力
LHLカウンタ値上位 CNT[15:8] 出力
LHHHi-Z

回路図にすると、上記のような感じになると思います。(追記:回路図で /PR の論理と入力からの接続がまちがっています)

動作チャート例

結論

RD74LVC5901BP は 16bit バイナリカウンタ IC です。解析された動作からすると、一定のクロック周波数を入力した状態で、/CCLR=L のタイミングを T=0 として、UPDATE 入力が最後に L から H に遷移したときの時間 T を得るための IC と考えると自然です。上の図で動作チャート例を示しました。

最大周波数は内部カウンタの実装によりますが、リプルカウンタだとすると、たとえば RD74LVC74B は VDD=3.3V で fmax=150MHzf_{max}=150MHz , tpd=5.2nst_{pd} = 5.2ns なので 16段で 83.2ns… 最大 11MHz 程度になってしまいます。同期カウンタならば・・・74LVC シリーズにはカウンタ IC がないので、HD74LVC161A の値を借りてくると fmax=130MHz(typ)f_{max} = 130MHz (typ) ですがカスケードする場合 tsu(ENT)+tpd(CLK)+tpd(ENT)∗2=7.5+8.7+7.5∗2=31.2nst_{su(ENT)}+t_{pd(CLK)} + t_{pd(ENT)}*2 = 7.5 + 8.7+7.5*2 = 31.2ns なので最大 30MHz くらい。下位8bit のみ使うならその倍くらいになりますが、まあ 8bit マイコンのペリフェラルより多少高速なカウンタが期待できます。応用としては、容量計や ADC など、マイコンレスの離散時間計測に使ってみるとおもしろいかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です