GreenPAK SLG46826
データシート
データシート "15.1 I2C SERIAL COMMUNICATIONS MACROCELL OVERVIEW"
回路の構成情報は通常NVMに置かれ、起動時に揮発性RAMレジスタに転送される。
I2C経由でRAMレジスタを直接読み書き可能。
NVMに割り当たってないレジスタも読み書き可能。
例えば接続行列(Connection Matrix)への入力線。ここには各素子(macrocells)の出力信号が出ている。
素子の出力を読めるということはデバッグに役立ちそう!uchan.icon
データシート "15.2 I2C SERIAL COMMUNICATIONS DEVICE ADDRESSING"
https://gyazo.com/36e60d058a23062cff061c1d9bca21fe
Control Codeの値はレジスタかIO2~IO5により設定される。
それぞれのビットをレジスタから取るか、IOxから取るかは[1623:1620]で設定される
対応するビットを0にするとレジスタから、1にするとIOxから取る
Block Addressは読み書きするデータの最上位ビットを表す。
0000xxxと1111xxxはI2C規格で特別なアドレスと規定されているので、他のI2Cスレーブ機器が接続されている時にそれらのアドレスを使う場合は注意すること。
table: Block Address
A10 A9 A8 メモリ空間
0 0 X 2kビットのレジスタデータ
0 1 0 2kビットのNVMデータ
0 1 1 2kビットのEEPROM
1 X X Not Used
NVM書き換えのために消去し、デバイスを再起動した後、Control Codeは0000になる。
[1623:1620]が0000になり、レジスタ[1619:1616]からControl Codeの値が取得される
[1619:1616]も0000になっているため、結局、Control Code=0000となる