pingtaro
2017年8月21日 18時10分
Armadilloを初めて使用するため、マニュアルを読んでいます。
420をI2Cマスタとして、スレーブデバイスを制御しようとしています。
CON14のI2CのPU抵抗値に関し、マニュアルにさまざまな記載があり、
420内でのI2C(CON14)のPU抵抗値がわからないのでご教示ください。
マニュアルの記載
ハードウエアマニュアル付録B→100kΩPU(全ての信号について、出力電流をstd)。
ソフトウエアマニュアル→22kΩPU、[c]RTCオプションモジュールで1kΩPU。
実践開発ガイド→A/DコンバータとのI2C利用例で420外部で10kΩPU。
at_yashi
2017年8月25日 10時39分
> マニュアルの記載
> ハードウエアマニュアル付録B→100kΩPU(全ての信号について、出力電流をstd)。
プルダウン (PD)でしょうか。
マニュアルに記載のある通り、SoC の「リセット解除後の信号状態」です。ソフトウェアが
なにも動いていない状態では、 SoC 内部のデフォルトで 100 kΩ でプルダウンされています。
初期化が終わるまでこの状態なので、それを考慮してハードウェアを設計してください。
この時間を短くしたい場合は、ブートローダーなどで設定を変更しても良いと思います。
ただし、どうしても変更までの時間はできてしまうので、ハードウェアでの考慮は必要です。
> ソフトウエアマニュアル→22kΩPU、[c]RTCオプションモジュールで1kΩPU。
Linux が I2C として使うときに I/O の設定を 22 kΩ のプルアップに変更しています。
設定いているのは、↓このファイルです。
linux-3.14-at/arch/arm/mach-imx/armadillo4x0_extif.c
また RTC のオプションモジュールでは、この信号線上に 1 kΩ のプルアップ抵抗がついています。
> 実践開発ガイド→A/DコンバータとのI2C利用例で420外部で10kΩPU。
作った基板に 10 kΩ のプルアップ抵抗がついているということです。
使う機能に合わせて、SoC の内部抵抗と外部抵抗の値を決めてください。