KR260のRpiのピンアサイン確認して、I2C通信をしてみた

本サイトはアフィリエイト広告を利用しています。
FPGA

KR260にはラズパイと同じく40ピンのピンヘッダーがあります。

ピンアサインを確認して、Vivadoで合成してPYNQからI2C通信をしてみました。

プログラム、オシロスコープ交えたテスト動画含めて紹介します。

 

スポンサーリンク

KR260のRpiのピンアサイン確認して、I2C通信をしてみた

KR260にはラズパイと同じく40ピンのピンヘッダーがあります。

ピンアサインを確認して、Vivadoで合成してPYNQからI2C通信をしてみました。

 

プログラム、オシロスコープ交えたテスト動画含めて紹介します。

 

VivadoでIICのIPを追加する

KR260の環境でI2Cを合成していきます。

VivadoでIICのIPを追加しています。

 

I2CのIPはデフォルトで設定しています。

 

.xdcファイルは下記のようにラズパイのピン配置に合わせた形で設定しています。

 

PYNQからのプログラムは下記のような形で用意しました。

 

ラズパイとオシロスコープでI2C通信テスト

最初に比較用としてラズパイで練習しました。

(スレーブアドレスの確認含めてです)

i2cdetectする際のI2C通信の波形を確認します。テスト動画は下記となります。

 

I2CのEEPROMのクロックとデータにオシロスコープを接続済です。

 

使用したEEPROMは下記です。

 

ラズパイでi2cdetectのコマンドを入力します。

ラズパイの画面を確認しても、「0x03」から「0x77」までのアドレスを検索しています。

今回のEEPROMだと「50」と「58」がスレーブアドレスとなっています。

 

波形を取得できました。詳細を確認していきます。

i2cdetectをすることで、ラズパイは総当たりでアドレスにチェックしにいっています

 

今回ラズパイとEEPROMをI2Cで接続しています。スレーブアドレスは50と58です。

その付近の波形を確認しています。

 

50周辺の波形を確認しています。

50のアドレスをReadする波形にはACKが確認できます。

 

ACKがあった後は、ALL1のデータを確認できます。

 

同様な波形を下記記事でもI2C測定して、紹介しています。

よろしければ一緒にご確認ください。

I2Cの波形をオシロスコープで確認してみた

I2Cの波形をオシロスコープで確認してみた
I2C通信の波形をオシロスコープで測定してみました。 i2cdetectを行い、該当のアドレス箇所での信号を確認しています。 実際のI2Cのクロックとデータの波形を詳細に紹介します。

 

KR260とオシロスコープでI2C通信テスト

KR260でもI2C波形を取得します。

Pythonのプログラムは下記に保存しています。

 https://github.com/iotengineer22/kr260-ubuntu-test/blob/main/pynq-i2c/i2c-test.ipynb

 

テスト動画が下記となります。

 

ラズパイと同じようにオシロスコープ含めて、I2CとEEPROMを接続済です。

 

最初にスレーブアドレス0x50、メモリアドレス0101にデータ「5A」を書き込みます。

 

その後、スレーブアドレス0x50、メモリアドレス0101をReadします。

 

書き込んだデータ「5A」を読めることを確認しました。

 

まとめ

KR260にはラズパイと同じく40ピンのピンヘッダーがあります。

ピンアサインを確認して、Vivadoで合成してPYNQからI2C通信をしてみました。

ぜひ皆様も同様にテストしてみてください。

 

コメント