TraveoII自動車ボディコントローラー – FAQ – I2C-KBA232509 - Community translation (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Original KBA: Traveo II Automotive Body Controller - FAQ – I2C - KBA232509
Translated by: Kenshow
15. I2C
15.1.実際のバスの状態に基づいてI2C構成をどのように評価できますか?
400KHzの構成例を考えてみましょう。
CLK_SCB = 10MHzまたはtCLK_SCB = 0.1us。
AF_in = 0、AF_out = 0、DF_in = 1。
002-24401Traveo™II自動車ボディコントローラーハイファミリーアーキテクチャテクニカルリファレンスマニュアル(TRM)のグリッチフィルタリングとオーバーサンプリングおよびビットレートに基づいて議論されています。
マスタ:
アーキテクチャTRM002-24401 Rev. * Cの表23-15は、I2Cバスのワーストケース条件を想定しています。次の式を使用して、独自のシステムの設定を決定できます。これには、システムのSCLおよびSDAラインの立ち上がり時間と立ち下がり時間を測定することが含まれます。
tCLK_SCB(Min)=(tLOW + tF)/ LOW_PHASE_OVS |
式1 |
clk_scbがこれよりも速いと、I2C仕様のtLOWに違反します。システムのtFを測定してください。
tCLK_SCB(Max)=(tVD – tRF – 100 ns)/ 3 (アナログフィルタが有効でデジタルが無効の場合) |
式2 |
tCLK_SCB(Max)=(tVD – tRF)/ 4 (アナログフィルタが無効で、デジタルフィルタが有効な場合) |
式3 |
ここで、tRFは立ち上がり時間または立ち下がり時間の最大値です。
clk_scbがこの周波数より遅い場合、tVD に違反します。
実際のバスの状態を測定および評価して、互換性のある構成を見つけます。互換性を理解するには、式1から式3を使用します。
ここで、データシート002-21617 Rev. * Gに記載されているタイミングパラメータについて考えてみます。400 KHzについては、表25-10を参照してください。シリアル通信ブロック(SCB)の仕様は、データシートの「I2Cインターフェイス-高速モード」を参照してください。また、データシートの「図25-8 I2C タイミングダイアグラム」にタイミングの仕様が記載されています。
方程式で使用されるタイミングパラメータについては、次のアプローチに従ってください。
- tF 、 tR – バスで測定します。
- tLOW – 理論値を使用します。
- tVD – 仕様値を使用します。tVD = tVD; DAT_F = tVD; ACK_F.
セクション6.1.3002-25401 Rev. * Bのビットレート設定に基づく:
- LOW_PHASE_OVS + HIGH_PHASE_OVS + 2 = 25
- LOW_PHASE_OVS + HIGH_PHASE_OVS = 23
002-24401 Rev. * Cの表23-15を検討します。
- LOW_PHASE_OVSの範囲は[13,15]です
- HIGH_PHASE_OVSの範囲は[7,15]です
可能な組み合わせは次のとおりです。
- LOW_PHASE_OVS 13、HIGH_PHASE_OVS 10
- LOW_PHASE_OVS 14、HIGH_PHASE_OVS 9
- LOW_PHASE_OVS 15、HIGH_PHASE_OVS 8
例を考えてみましょう。(LOW_PHASE_OVS、HIGH_PHASE_OVS)(15、 および(13,10)
仮定tFは = 100ns、TR = 100ns、TVD = 900ns、tLOW = 1250ns。
式1と式3は関連する式であり、ここで繰り返します。
tCLK_SCB(Min)=(tLOW + tF)/ LOW_PHASE_OVS |
式1 |
tCLK_SCB(Max)=(tVD – tRF)/ 4 (アナログフィルタが無効で、デジタルフィルタが有効な場合) |
式3 |
1. 設定1:LOW_PHASE_OVS 15、HIGH_PHASE_OVS 8
tLOW = 1250 ns, tF = 100 ns, LOW_PHASE_OVS =15, tVD = 900 ns, tRF = 100 ns
tCLK_SCB (Min) = (1250 + 100)/15 = 90 ns = 0.09 us
tCLK_SCB (Max) = (900 – 100)/4 = 200 ns = 0.2 us
tCLK_SCB の範囲は [0.09, 0.2]
tCLK_SCB 0.1 usの設定済みクロックはこの範囲内にあり、違反はありません。
2. 設定2:LOW_PHASE_OVS 13、HIGH_PHASE_OVS 10
tLOW = 1250 ns, tF = 100 ns, LOW_PHASE_OVS =13, tVD = 900 ns, tRF = 100 ns
tCLK_SCB(Min) = (1250 + 100)/13 = 90 ns = 0.104 us
tCLK_SCB(Max) = (900 – 100)/4 = 200 ns = 0.2 us
tCLK_SCB の範囲は [0.104, 0.2]
tCLK_SCB 0.1 usの設定済みクロックがこの範囲外であり、違反があります。
スレーブ:
tCLK_SCB(Max)=(tVD – tRF – 100 ns)/ 3(アナログフィルタが有効でデジタルが無効の場合) |
式4 |
tCLK_SCB(Max)=(tVD – tRF)/ 4 (アナログフィルタが有効でデジタルが無効の場合) |
式5 |
tRFは、立ち上がり時間または立ち下がり時間の最大値です。clk_scbがこの周波数より遅い場合、 tVDに違反します。
clk_scbの最小期間は、次の式のいずれかによって決定されます。
tCLK_SCB(MIN)=(tSU; DAT(min)+ tRF)/ 16 (アナログフィルタが有効でデジタルが無効の場合) |
式6 |
tCLK_SCB(Min)=(0.6 * tF – 50 ns)/ 2 (アナログフィルタが有効でデジタルが無効の場合) |
式7 |
tCLK_SCB(Min)=(0.6 * tF)/ 3 (アナログフィルタが無効でデジタルが有効な場合) |
式8 |
上記の2セットの方程式から最大の周期を生成する結果を使用して、clk_scbの最小周期を設定する必要があります。
式5および式6 /式8は関連する式であり、ここで繰り返します。
tCLK_SCB(Max)=(tVD – tRF)/ 4 (アナログフィルタが有効でデジタルが無効の場合) |
式5 |
tCLK_SCB(MIN)=(tSU; DAT(min)+ tRF)/ 16 (アナログフィルタが有効でデジタルが無効の場合) |
式6 |
tCLK_SCB(Min)=(0.6 * tF)/ 3 (アナログフィルタが無効でデジタルが有効な場合) |
式8 |
1. 設定1:tRF = 100ns、tF = 100ns。
tF = 100ns, tVD = 900 ns, tRF = 100ns, tSU;DAT(min) = 100ns
tCLK_SCB(Max) = (900 – 100) /4 = 200 ns = 0.2 us
tCLK_SCB(Min)1 = (100 + 100)/ 16 = 12.5 ns = 0.0125 us
tCLK_SCB(Min)2 = (0.6 * 100)/ 3 = 20 ns = 0.02 us
tCLK_SCB(Min) = Max (tCLK_SCB(Min)1, tCLK_SCB(Min)2) = 0.02 us
tCLK_SCBの範囲は[0.02、0.2]です
tCLK_SCB 0.1 usの設定済みクロックはこの範囲内にあり、違反はありません。
2. 設定2:tRF = 300ns、tF = 300ns。
tF = 300ns, tVD = 900 ns, tRF = 300ns, tSU;DAT(min) = 100 ns
tCLK_SCB(Max) = (900 – 300) /4 = 150 ns = 0.15 us
tCLK_SCB(Min)1 = (100 + 300)/ 16 = 25 ns = 0.025 us
tCLK_SCB(Min)2 = (0.6 * 300)/ 3 = 60 ns = 0.06 us
tCLK_SCB(Min) = Max (tCLK_SCB(Min)1, tCLK_SCB(Min)2) = 0.06 us
tCLK_SCBの範囲は[0.06、0.15]です。
tCLK_SCB 0.1 usの設定済みクロックはこの範囲内にあり、違反はありません。