<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP">
<TITLE> USB_SIO </TITLE>
</HEAD>
<BODY BGCOLOR="#F0FFF0">

<H1><IMG SRC="icons/suz.gif"> USB_SIO </H1>
<P>
<CENTER>
<IMG SRC="http://www.at.sakura.ne.jp/~suz/EAGLE/ROMWriter-02085.jpg">
<IMG SRC="http://www.at.sakura.ne.jp/~suz/EAGLE/ROMWriter-02086.jpg">
</CENTER>
<P>
FTDI $B$N(B FT245AM $B$H$$$&%A%C%W$H(B Xilinx $B$N(B XC9572XL-VQ64 $B$H(B
$B$$$&(B CPLD $B$G(B $B:n$k(B $B%7%j%"%k(B I/O $BAuCV$N>R2p$G$9!#(B
<P>
FT245AM $B$H$$$&%A%C%W$O!"(BUSB $B%$%s%?!<%U%'%$%9(B $B$r(B
$BAPJ}8~$N(B 8bit $B%G!<%?DL?.(B $B$KJQ49$9$k%A%C%W$G!"(BOS $B$+$i$O(B $B%7%j%"%k$K8+$($k(B
$B%I%i%$%P$rDL$7$F%"%/%;%9$7$^$9!#(B
<P>
XC9572XL-VQ64 $B$H$$$&(B CPLD $B$G!"$3$N(B $BAPJ}8~$N(B 8bit $B%G!<%?DL?.$r!"(B
$B$5$i$K!"(BJTAG $B$d(B SPI $B$H$$$C$?%7%j%"%k(B I/O $B$KJQ49$7$^$9!#(B

<P>
$B$3$N%\!<%I$O!"#2%A%c%M%k$N%7%j%"%k(B I/O $B$r$b$C$F$$$F!"(B
$B$=$l$>$l$N%A%c%M%k$K$D$$$F(B
<P>
<PRE>

      DI -- $B%7%j%"%k%G!<%?F~NO(B
      CK -- $B%/%m%C%/=PNO(B
      DO -- $B%7%j%"%k%G!<%?=PNO(B
      MS -- $B=PNO%]!<%H(B

</PRE>
<P>
$B$H$$$&#4$D$N?.9f@~$,$"$j$^$9!#(B

<HR>

<P>
<H3>$B$J$<(B JTAG,SPI $B$J$N$+(B</H3>
<P>
$B$3$NAuCV$r:n$C$?:GBg$NL\E*$O!"9bB.$K(B JTAG $B$N(B I/O $B$r$7$?$$$H$$$&$3$H!#(B
XC9500,XC9500XL $B%7%j!<%:$N$h$&$J(B CPLD $B$r(B config $B$7$?$j!"(B
$B%9%Q%k%?%s(BII $B$N$h$&$J(B FPGA $B$r(B config $B$9$k$@$1$G$J$/!"(B
FPGA $B$d(B CPLD $B0J30$NAuCV$N(B $B%P%&%s%@%j%9%-%c%s$r$9$k$h$&$J$3$H$^$G!"$7$?$$(B
$B$H9M$($^$7$?!#FC$K:G6a$N(B PDA $B$J$I$O!"(BROM $B$G$O$J$/!"(BFlash ROM $B$r:\$;$F$$$k(B
$B$3$H$,B?$/!"$5$i$K(BFlash ROM $B$N=q$-49$($O!"%P%&%s%@%j%9%-%c%s$G=q$-9~$`(B
$B$h$&$K$J$C$F$-$F$$$k$h$&$G$9!#(B

<P>
PDA $B$J$I$N(B Flash ROM $B$N=q$-49$($^$G$G$-$k$+$I$&$+$o$+$j$^$;$s$,!"(B
$B$=$l$,$G$-$k%b%N$r:n$C$F$_$?$$$H$$$&$N$,(B $B$R$H$D$NF05!$K$J$C$F$$$^$9!#(B
<P>
SPI $B%$%s%?!<%U%'%$%9$K$D$$$F$O!"(B
JTAG $B$G!"(BCPLD $B$d(B FPGA $B$r(B config $B$9$k$J$i(B config $B$7$?%G%P%$%9(B $B$H(B
HOST $B$H$NDL?.7PO)$b$"$C$?J}$,4r$7$$$@$m$&$H$$$&$3$H$+$i(B
JTAG $B$N$D$$$G$K:n$l$k$b$N$H$7$F:NMQ$7$F$$$^$9!#(B
<P>
SPI $B$r07$($k%G%P%$%9$b$?$/$5$s$"$j$^$9!#$=$&$$$&$b$N$r(B
$B<B83E*$K07$C$F$_$k(B ... $B$H$$$&$3$H$K$bMxMQ$G$-$=$&$G$9!#(B

<BLOCKQUOTE>
<PRE>
SPI $B$r07$($k%G%P%$%9$NNc(B
         * MMC -- Multi Mediea Card
         * AVR $B%^%$%3%s(B $B$N(B $B%W%m%0%i%_%s%0(B
         * $B%7%j%"%k(B EEPROM 93C46 $B$J$I(B
         * USBN 9603/4 ( USB $B%3%s%H%m!<%i(B ) $B$J$I(B $B$N%G%P%$%9(B 
</PRE>
</BLOCKQUOTE>
<P>
<H3>$B$J$<(B USB $B$J$N$+(B</H3>

<P>
$B%Q%i%l%k%]!<%H7PM3$G;H$($k(B NAXJP $B$d(B ianjtag $B$H$$$C$?%=%U%H$b$"$j$^$9$,!"(B
$B%Q%i%l%k%]!<%H7PM3$G$O!"%N%$%:BP:v$d9bB.2=$,Fq$7$=$&$G$9!#(B
USB $B$J$i!"AuCV$N6a$/$^$G(B USB $B%1!<%V%k$r$N$P$;$PNI$$$N$G!"(B
$B%N%$%:BP:v>eM-Mx!#$7$+$b(B Ver 1.1 $B$G$b(B 12Mbps $B$G$9$+$i!"(B
$BIaDL$K;H$&J,$K$O==J,9bB.$@(B... $B$H$$$&$3$H$G!"(BUSB $B%$%s%?!<%U%'%$%9$r:NMQ(B
$B$7$^$7$?!#(B

<P>
<H3>$B$J$<!"(BFT245AM $B$H(B XC9572XL-VQ64 $B$NAH$_9g$o$;$J$N$+(B</H3>
<P>
    $B%^%$%/%m%3%s%H%m!<%i(B + USB $B%A%C%W$N$_$G$O!"?t(B Mbps $B$G(B JTAG/SPI 
$B$r07$&$N$OL5M}$,$"$j$=$&$G$9!#7k6I%O!<%I%&%'%"%5%]!<%H$,I,MW$K$J$j$=$&$G$9!#(B
$B%O!<%I%&%'%"$r(B CPLD $B$GAH$`A0Ds$@$H!"(B
FT245AM + XC9572XL-VQ64 $B$,%3%9%HE*$K$b9=B$E*$K$b(B $B$b$C$H$bM-Mx$K;W$($^$7$?!#(B
<P>


<HR>

<H3>$B%7%j%"%k(B I/O $B%$%s%?!<%U%'%$%9(B</H3>


$B<L??$G!"(B10 pin $B$N%T%s%X%C%@$,8+$($^$9$,!"1&$+$i(B

<PRE>
         1    2    3    4    5    6    7    8    9    10

$B%7%k%/(B   NC   DI   CK   DO   SEL  TDI  TCK  TDO  TMS  GND
VHDL          DI1  CK1  DO1  MS1   DI2  CK2  DO2  MS2 GND  

</PRE>

$B$H$$$&Iw$KL>A0$rIU$1$F$$$^$9!#(BXX1 $B$H(B XX2 $B$O!"(BXX $B$H$$$&5!G=$N(B
$B%A%c%M%kHV9f$N0UL#!#0J2<$G$O!"(BDI,CK,DO,MS $B$N(B $B5!G=$N@bL@$r$7$^$9!#(B

$B35MW(B

$B<!$N$h$&$K!"(BCK $B$N(B $B"-",(B $B$H$H$b$K(B 1bit $B$N(B $B%G!<%?$r(B 1 $B%S%C%H=PNO$7!"(B
CK $B",(B $B$G(B 1bit $B$N(B $B%G!<%?$r(B $B<h$j9~$`$N$,4pK\$N%7!<%1%s%9$G$9!#(B
1 $B2s$N(B $B%V%m%C%/(B $BAw?.(B/$B<u?.(B $B$G!"(B1 - 1016 bit $B$^$G$N(B bit stream $B$r(B 
$B=PNO$7!"F~NO$G$-$^$9!#(B

<PRE>

      DO           |    DATA    |

      CK           |______|~~~~~~

      DI                  o
</PRE>
<P>
$B%G!<%?$O!"(BMSB $B$+$i=PNO$7$F!"(BMSB $B$+$i<h$j$3$s$G$$$-$^$9!#(B
<P>
<PRE>
       DO    ----| O7  | O6  | O5  |  O4 |  O3 |  O2 |  O1 |  O0 |---

       CK    ~~~~|__|~~|__|~~|__|~~|__|~~|__|~~|__|~~|__|~~|__|~~~~~

       DI     ---- I7 -- I6 -- I5 -- I4 -- I3 -- I2 -- I1 -- I0 ---    

</PRE>
<P>
$B=PNO%G!<%?$r%7%U%H$9$k$H$H$b$K!"F~NO%G!<%?$HF~$l49$($F$$$/F0:n$J$N$G!"(B
$B:G8e$N%P%$%H$N%G!<%?$,(B8 bit $B$KK~$?$J$$>l9g(B 
...$B$?$H$($P(B 3 bit $B$N>l9g$O<!$N$h$&$K<h$j$3$_!"(B
HOST $B$+$iFI$a$k%G!<%?$O(B $B>e(B 5 bit $B$,!"=PNO%G!<%?$r(B 3 bit $B%7%U%H$7$?(B
$BFbMF(B $B$K$J$j$^$9!#(B

<PRE>
       DO    ----| O7  | O6  | O5  |---

       CK    ~~~~|__|~~|__|~~|__|~~~~~~~   $B"*(B   | O4 - O0 | I2 - O0 |

       DI     ---- I2 -- I1 -- I0---    

</PRE>

<H3>$B3F5!G=$NJaB*(B</H3>


<UL>
<LI> DI <BR>
$B$3$NAuCV$+$i8+$F%G!<%?F~NO$J$N$G!"(BDI $B$H$7$F$$$^$9!#(B
<P>
<LI> CK <BR>
CK $B$NCM$r(B $B@_Dj$9$k$3$H$,$G$-!"(B
$B%/%m%C%/F0:n$G!"(B2$B2sH?E>$7$^$9!#(BCK $B$N(B $B<~GH?t$O!"(B6MHz 
$B8GDj(B ( $B$$$^$N$H$3$m(B)
<P>
$B$^$?!"(B2 $B<oN`$N%?%$%_%s%0$r@qBr$G$-$k$h$&$K$7$F$$$^$9!#(B
<P>
<PRE>
$B%G!<%?=PNO(B
                    XXXXXXXXXXXXXXX
$B%G!<%?F~NO(B
                           $B",(B


$BIiO@M}(B $B%?%$%_%s%0(B fast

             -------+      +-------+
                    |      |
                    +------+  
$BIiO@M}(B $B%?%$%_%s%0(B slow

             --------------+      +
                           |      |
                           +------+  


$B@5O@M}(B $B%?%$%_%s%0(B fast

                    +------+
                    |      |
             -------+      +-------+
$B@5O@M}(B $B%?%$%_%s%0(B slow

                           +------+
                           |      |
             --------------+      +------

</PRE>



<P>
<LI> DO <BR>
DO $B$O(B 1 CLK $B$N4VJ];}$5$l$^$9$,!"$=$N8e=PNO$9$Y$-%G!<%?$,$J$1$l$P!"(B
HI-Z $B$K$J$j$^$9!#(B
<P>

<LI> MS <BR>
$BC1$J$k(B bit $B=PNO$G$9!#(B
<P>

</UL>


<HR>

<H3>$B;H$$J}(B</H3>

<P>
<H3>$BFbIt%l%8%9%?(B</H3>
<P>
<PRE>
        7    6    5    4    3    2    1    0
      +---+----------+----+----+----+----+----+
      |   | CLK MODE |CKT |CK2 |CK1 |MS2 |MS1 |
      +---+----------+----+----+----+----+----+

     CLK MODE 0: 1/1 : 6 MHz
              1:  X
              2:  X
              3:  X

     CKT --- ck1,ck2 timining
              0: slow timing
              1: fast timing

</PRE>
<P>

<H3>$B%W%m%H%3%k(B</H3>

$B<!$N$h$&$K(B CMD , BYTES, N $B%P%$%H$N%G!<%?(B $B$r<u$1<h$j(B DO $B$KAw?.$7$^$9!#(B
HOST $B$X$NAw?.$O!"(BCMD, BYTES $B$N(B $B%(%3!<%P%C%/$N8e(B
DI $B$+$i<u$1<h$C$?(B N $B%P%$%H$N%G!<%?$K$J$j$^$9!#(B
<P>
<PRE>
     | CMD  | BYTES |            DATA          |
     +------+-------+------+------+     +------+
     |      |   N   |  1   |  2   |  ...|  N   |
     +------+-------+------+------+     +------+ 

     (BYTES $B$NCM$NHO0O(B 1 - 127)

     CMD $B%U%)!<%^%C%H(B

       bit 7   0 
       bit 6   $BL$;HMQ(B
       bit 5   $BL$;HMQ(B
       bit 4-3 $B%A%c%M%k(B
                  0 -> $B%A%c%M%k(B1
                  1 -> $B%A%c%M%k(B2
                  2 -> $BFbIt%l%8%9%?(B
       bit 2-0  N $B8DL\$N%G!<%?$N(B $BM-8z(B bit $B?t(B
 
</PRE>
<P>
$B>e$N$h$&$J!"$R$H$+$?$^$j$N%G!<%?$r(B HOST $B$+$i$O(B $B%7%j%"%k(B $B$N2s@~$H$7$F(B
write $B$7!"F1$8(B $B%P%$%H?t$r(B read $B$9$k$3$H$K$J$j$^$9!#(B
<P>
$BCM$rO"B3E*$K99?7$7$?$$>l9g$O!"Aw$j$?$$$@$1$N(B $B%G!<%?$r(B write $B$7!"(B
$B8e$G!"(Bread $B$9$l$P(B $BNI$$$O$:$G$9!#(BOS $B$d(B FTDI $B$N%A%C%W$G(B
$B%P%C%U%!%j%s%0$7$F$/$l$kNL$^$G$O!"FI$`I,MW$,=P$k$^$GAw$j$D$E$1$i$l$^$9!#(B
Linux $B$G$7$+;n$7$F$$$^$;$s$,!">/$J$/$H$b(B $B?t(B KB $B$O(B $B%P%C%U%!%j%s%0$5$l$k(B
$B$h$&$G$9!#(B
<P>
$B%G!<%?$rFI$s$G$+$i!"$I$N$h$&$K=hM}$9$k$+7h$a$k$h$&$J>l9g$O!"(B
($B$?$V$s(B ms $B%*!<%@$N(B)$B%G%#%l%$$,$+$+$j$^$9!#(BPC $B$N%Q%i%l%k%]!<%H$N$h$&$K(B
1 bit $B$E$D=hM}$9$k$3$H$b2DG=$G$9$,!"(B
$B$=$N$h$&$J=hM}$G$O!"(B($B$?$V$s(B)$B5$$,1s$/$J$k$[$ICY$$$H$$$&$3$H$K$J$j$=$&$G$9!#(B

<P>
<H3>ModelSYM $B$G$N(B $B%?%$%_%s%0(B</H3> 
<P>
<CENTER>
<IMG SRC="http://www.at.sakura.ne.jp/~suz/arc/usb_sio.gif">
</CENTER>
<P>
$B$3$l$r8+$k$H$o$+$j$^$9$,!"O"B3$7$F!"(Bbit stream $B$r(B $BF~=PNO$G$-$^$;$s!#(B
$BM}O@>e$N:G9b@-G=$O!"(B6MHz $B$N(B 8/12 $B$9$J$o$A(B 4Mbps $B$H$$$&$3$H$K$J$j$^$9!#(B

<HR>
<P>
<H3>VHDL $B%=!<%9%3!<%I(B</H3>
<P>
<ul>
<li> <A HREF="http://www.at.sakura.ne.jp/~suz/arc/usb_sio-008.tgz">
usb_sio-008.tgz </A>
</ul>
<P>
<H3>$B%a%b(B</H3>
<ul>
<li> <a href="USBSER.txt">XC9572XL$B$H(B8U245AM$B$G:n$k(BUSB$B%7%j%"%k(BIO $B@_7W%a%b(B</a>
<li> <a href="CPLDROMW.txt">XC9572XL$B$G:n$k(BROM$B%i%$%?@_7W%a%b(B</a>
<li> <a href="http://suz.s7.xrea.com/cgi-bin/tiki.cgi?c=v&p=%C5%C5%BB%D2%B9%A9%BA%EE%2F%A5%DC%A1%BC%A5%C9%C0%DF%B7%D7">$B%*%s%i%$%s$N%a%b(B(tiki)</a>
</ul>

<P>
<H3>$B4XO"(B URL </H3>
<ul>
<li><a href="http://member.nifty.ne.jp/nahitafu/naxjp/naxjp-j.html">NAXJP</a>
<BR>
Linux/Windows $B$G(B PC $B$N%Q%i%l%k%]!<%H$r;H$$(B Xilinx CPLD $B$N=q$-9~$_$,$G$-$k(B
$B%=%U%H!#(B
    <ul>
    <li> <a href="http://www.at.sakura.ne.jp/~suz/arc/VQ64.diff">
VQ64.diff </a> --- $B%P%&%s%@%j%9%-%c%s(B XL9572XL-VQ64 $B%5%]!<%H%Q%C%A(B
    </ul>
<li><a href="http://www.ipishop.com">IPI</a> 
<BR>
FT245AM $B$rF~<j!#(B

<li><a href="http://www.ftdichip.com/Documents/ft245r09.pdf">FT8U245AM$B%G!<%?%7!<%H(B</a>

<li><a href="http://www.tripleone.net">$B%H%j%W%k%o%s(B</a> 
<BR>
$B%H%i5;9-9p$r$_$F(B Xilinx CPLD XC9572XL-VQ64 $B$rF~<j!#(B

<li><a href="http://www.morphyplanning.co.jp/">$B%b%k%U%#!<4k2h(B</a>
<BR>
USB $BIt$O!"(B
$B$3$3$N(B FTDI $B%\!<%I$N2sO)?^$H$[$\F1$8$G$9!#(B( $B2sO)$N%*%j%8%J%k$O(B 
FTDI $B$+$i=P$F$$$k$i$7$$$N$G$9$,!"$3$C$A$r8+$^$7$?!#(B)

<li><a href="http://rswww.co.jp/">rswww.co.jp</a>
<BR>
$BI=LL<BAuItIJ$r$3$3$+$iF~<j$7$h$&$+$H;W0FCf!#(B

<li><a href="http://www.xilinx.co.jp/"> Xilinx $B%[!<%`%Z!<%8(B</a>
<BR>
$B$3$3$+$i(B $B@=IJ>pJs(B -> CPLD -> XC9500XL $B$H$?$I$l$P!"(BXC9572XL $B$N>pJs$,F~<j2DG=!#(B
<li><a href="http://www.xilinx.co.jp/support/sitemap.htm">Xilinx $B%5%]!<%H(B $B%5%$%H%^%C%W(B</a>
<BR>
$B$3$3$N(B $B%=%U%H%&%'%"EPO?(B WebPACK  $B$+$i!"3+H/%D!<%k$,%@%&%s%m!<%I$G$-$^$9!#(B
$B$?$@$75pBg!#(B(100MB $B0J>e$@$C$?$h$&$J(B...)
</ul>

<HR>
<p>Mail</p>
<dl>
<dd><i><a href="mailto:suz@at.sakura.ne.jp">suz@at.sakura.ne.jp</a></i>
</dl>
<!--#exec cmd="./cgi-bin/counter.cgi"-->
</BODY>
</HTML>







