以前のリビジョンの文書です


EPCSインターフェース

Embedded Peripheral IPマニュアルでは詳細が記述されておらず、HALドライバを使ってね、とある。

気になるではないか。中身はどうなっているのだ?

基本はSPIインターフェース

EPCSのデータシート(http://www.altera.co.jp/literature/hb/cfg/cyc_c51014.pdf)や生成されたHALドライバのソースを見れば、 SPIであることが容易に分かる。

実際、説明無しレジスタのうち(Read Data~Slave Enable)は、SPI Coreのレジスタと同一になっている。

オフセット1)レジスタR/W説明
0x000 .. 0x0FFBoot ROM MemoryR先頭256bytesのデータを直接読めるエリア。
ブート領域に使うため。
0x100rxdata (Read Data)RSPI Coreのレジスタ(0~5)と同じ
0x101txdata (Write Data)W
0x102status (Status)R/W
0x103control (Control)R/W
0x104reserved
0x105slaveselect (Slave Enable)R/W
0x106End of PacketR/W

デバイスの識別

Read Silicon IDコマンド(0xab)を送信2)すると、1byteのIDが返ってくる。IDにより、容量等を判断可能。

ID型番容量ブロック数ブロック長
0x10EPCS11Mb432768
0x12EPCS44Mb865536
0x13EPCS88Mb1665536
0x14EPCS1616Mb3265536
0x16EPCS6464Mb12865536
0x183)EPCS128128Mb64262144

EPCS先頭の読み方

FPGAのコンフィグレーションはEPCSの先頭(オフセット0x0)に置かなければならない。従って、EPCS上にNiosIIのコード等を格納する場合は、 コンフィグレーションデータより後ろに配置する必要がある。もし、コンフィグレーションデータの直後に置く場合には コンフィグレーションデータの長さが知りたくなるが、どうやって読み取るか。

CycloneIII/CycloneIVの場合

1)
Cy1とCy2除く
2)
後ろに3byteのダミーwriteも必要
3)
これはRead Silicon IDではなく、Read Device IDコマンド(0x9f)で読み取れる
altera/qsys/epcsインターフェース.1411170664.txt.gz · 最終更新: 2014/09/19 23:51 by kimu_shu
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0