2014.1.30

前へ
次へ
ホームページトップへ戻る

CPLD+SIMMを使ってUSBプロトコルの解析を!
VHDLを速習! XC95144XL+16MB・SIMMを使ってUSBプロトコルアナライザを作ってしまいました!
主目的は差し迫った事情からUSBプロトコルの解析をすることだったのですが、その手段として選んだのがコレ!


[第8回]


●CY7C1347G

前回からの続きです。
ロジアナ基板に搭載されているCY7C1347Gは4Mビット(128K×36)同期SRAM(Synchronous SRAM)です。
同期SRAMなどというのは今までさわったことはありません。
普通のSRAMは昔からさわっていますしDRAMも昔にさわっていましたからわかりますが、こういうものは初めてです。
簡単にことを済まそうと思っていましたのに、いざ蓋を開けてみますとなかなかに面倒です。
んでも乗りかかった船です。
今更降りるわけには行きませんでしょう。
データシートを読んでみますと、なんだかよくわからない信号がいっぱい羅列してあります。


[出典]Cypress Semiconductor Corporation CY7C1347G Datasheet

ちょっと制御信号が多すぎて、何をどのように扱うのかいささか面食らってしまいますが、幸いと言いますか、ロジアナ基板では制御線のうちのいくつかはVDDまたはVSSに接続してその機能を固定しています。
それを列挙しますと
1)BWA〜BWD、BWEはVDDに接続。WE信号はGWのみが有効。
2)CE1はVSSに、CE2はVDDに接続。CE3のみが有効。
3)ADVはVSSに接続。アドレスを自動インクリメントするとかの機能に関係しているようですが、これは使うつもりはありません。
4)ADSPはVDDに接続。ADSCのみが有効。
5)MODEはVDDに接続。3)ADVに関連しているようですが、これは使うつもりはありません。

そのように整理してみますと、ADSCをどう扱うのかというあたりがちょっとなんだかなあという感じですが、あとはまあ大体普通のSRAMと似たりよったりでありましょう。
よくわからないときは信号のタイミングチャートが参考になります。

こちらがREADサイクルです。

[出典]Cypress Semiconductor Corporation CY7C1347G Datasheet

そしてこちらがWRITEサイクルです。


[出典]Cypress Semiconductor Corporation CY7C1347G Datasheet

しかしどうしてこういうわかりにくい図を描くのでありましょうねえ。
いろんな場合を全部1枚の図にしてしまうからこういうわかりにくいものになってしまいます。
実にひどいものです。
これはもう考えているよりも、実際にやってみるほうが早いようです。

ここではっきりわかることはカギはCLKだということです。
全ての信号がCLKの立ち上がりエッジでサンプリングされるようです。
それで同期式なのでしょうね。

問題はアドレスとデータのタイミングです。
READサイクルではサンプリングされたアドレスのデータは次のクロックのときに出力されるようです。
つまりアドレスの投入と、そのデータの読み出しとの間に1クロックのずれが生じます。
ここが普通のSRAMと全然異なっているところです。

ではWRITEサイクルはどうかといいますと、こちらもやはりアドレスとデータとの間に1クロックのずれがあるようですが、ただADSC=LかつWE=Lの場合にはアドレスとデータは同時に入力されるようです。
なおREADサイクルでもWRITEサイクルでもアドレスのサンプリングにはADSCをLにしておくことが必要なようです。

気になるのがCLKです。
上の図を見ていますとCLKには10MHzとか100MHzのようなクロックを常に与えなくてはいけないように思ってしまいます。
最初は私もついつられてしまってそのように誤解してしまいましたが、その必要は全くありません。
DRAMと違ってあくまでSRAMですからデータを維持するためにクロックは必要ありません。
要はアドレスやデータその他の制御線の状態をサンプリングするために立ち上がりパルスが必要なだけですから、ストローブパルスを作って与えればよいのです。
そうは言いましても、おそらくPentiumなどのCPUに接続する場合にはCPUクロックに同期してアクセスできるのでしょうが、Z80などにこのままメモリとして接続するのは(バンクメモリとして接続するとしても)ちょいと無理がありそうです(回路を工夫すればできないことはないと思いますけれど)。
Z80などの場合にはI/Oとしてならできるでしょうが、アクセスタイムがうんと遅くなってしまいますから、あえてこういうものを使うメリットはありませんでしょう。
ええ。
CPLDなら、いいと思いますね。

CPLD+SIMMを使ってUSBプロトコルの解析を![第8回]
2014.1.30upload

前へ
次へ
ホームページトップへ戻る