キャプチャの方法

JDVBT-90502のTS出力は4MHz*8bitのパラレル出力だ。

TSCLK: ____/~~~~\____/~~~~\____/~~~~\____
TSVAL: _____/~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TSDAT: =====X===47H===X===01H===X==02H===

パラレルTSをFX2でキャプチャするにはSlaveFIFOを使うのが第一候補で

TU FX2
TSCLK IFCLK
TSVAL SLWR
TSDAT FD

と接続して同期モードでFIFOに書き込む方法が最初に思いつく。
しかし、FX2のマニュアルによると外部クロックは5MHz以上にいないといけないという制限があるので、
これは使えない。

次に思いつくのが非同期モードでSlaveFIFOを使う方法である。

TU FX2
TSCLK SLWR
TSVAL SLCS or FIFOADDR
TSDAT FD

と接続すれば一応動作はする。ただし、SLWRの立ち上がりでのFDのホールド時間10nsを守るのが大変になる。

確実に読もうと思うとGPIFを使うのが最良だと思う。

TU FX2
TSCLK RDY1
TSVAL RDY0
TSDAT FD

と接続する。そして48MHzのクロックで信号をサンプリングして、TSCLK & TSVALを3クロック連続で達成すれば1バイト読む。
その後TSCLKが下がるのを待つ。



// GPIF Waveform 0: TSRd                                                                    
//                                                                                         
// Interval     0         1         2         3         4         5         6     Idle (7) 
//          _________ _________ _________ _________ _________ _________ _________ _________
//                                                                                         
// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val           
// DataMode NO Data   NO Data   NO Data   Activate  NO Data   NO Data   NO Data            
// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData           
// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int             
// IF/Wait  IF        IF        IF        Wait 1    IF        Wait 1    Wait 1             
//   Term A TSVAL     TSVAL     TSVAL               TSCLK                                  
//   LFunc  AND       AND       AND                 AND                                    
//   Term B TSCLK     TSCLK     TSCLK               TSCLK                                  
// Branch1  Then 1    Then 2    Then 3              Then 4                                 
// Branch0  Else 0    Else 0    Else 0              ElseIdle                               
// Re-Exec  Yes       Yes       Yes                 Yes                                    
// Sngl/CRC Default   Default   Default   Default   Default   Default   Default            
// TP0          0         0         0         0         0         0         0         0    
// TP1          0         0         0         1         0         0         0         0    
// TP2          0         0         0         0         0         0         0         0    
// unused       0         0         0         0         0         0         0         0    
// unused       0         0         0         0         0         0         0         0    
// unused       0         0         0         0         0         0         0         0    

信号が安定しているところで読み出すので、リンギングやクロストークには強いはず。たぶん