Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

TraveoII自動車ボディコントローラー – FAQ – I2C-KBA232509 - Community translation (JA)

TraveoII自動車ボディコントローラー – FAQ – I2C-KBA232509 - Community translation (JA)

JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

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. 設定1LOW_PHASE_OVS 15HIGH_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. 設定2LOW_PHASE_OVS 13HIGH_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. 設定1tRF = 100nstF = 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. 設定2tRF = 300nstF = 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の設定済みクロックはこの範囲内にあり、違反はありません。

0 件の賞賛
145 件の閲覧回数