Anonymous
Anonymous asked in 電腦與網際網路硬體附加元件 · 1 decade ago

請問一下I2S bus 裡的 DATA調停和Clk同步化

http://bp2.blogger.com/_hk6kFvjHW1s/RtZtxOBO7VI/AA...

http://bp1.blogger.com/_hk6kFvjHW1s/RtZud-BO7WI/AA...

有沒有人可以解釋一下上面兩個的時脈圖,尤其是第二張的clock

同步,,我看不太懂到底是誰要同步SCL,,

拜託了,各位大大

我在網路上有找過了,,他的解釋我看不太懂 ..

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    你好,

    對不起, 先更正一下你的題目, 你的這兩張圖應該是從 Philips I2C Spec. 剪下的吧!?

    我僅就我的認知說明一下給你參考, 詳細的請翻閱 Philips I2C Specification.

    圖一(http://bp2.blogger.com/_hk6kFvjHW1s/RtZtxOBO7VI/AA...

    講的是當兩個 master 同時在搶 SDA bus, 因為 I2C 是 wire-AND, 所以當一方 (圖中是 master 1) 在第3個 SCL 正緣發現 SDA 上讀回來的資料 (圖中是 low) 與自己送的 SDA 資料 (high) 不一致時, 表示目前 bus 上有其他 master, 並且 master 1 因 SDA 搶輸別的 master, 而 lost arbitration, master 1 不得再發送 SDA 來干擾其他 master.

    圖二 (http://bp1.blogger.com/_hk6kFvjHW1s/RtZud-BO7WI/AA...

    因為 I2C 是 wire-AND, 所以當一方來不及處理資料時 (圖中是 SCL2), 可以在 SCL 上輸出 low, 因為 SCL 被拉 low, 所有的傳輸都無法繼續, 就等於強迫其他 I2C nodes 進入 wait state, 一直等到 SCL2 處理完資料, 再把 SCL 放開回到 high, 才能繼續剩下的傳輸工作.

    2008-07-25 15:30:18 補充:

    我個人看法是, "只是要告訴你, SDA 是 wire-AND, 當有人拉 low 時, SDA bus 就會變成 low."

    至於真正的做法, 每個產品都不一樣, 你可以再讀一下其他的資料或其他相關產品的 datasheet.

    Source(s): Pegasus
  • 1 decade ago

    哇,太感謝你了,,clock我了解了,

    可是data 的我不是很懂前一開始

    它標明Data1和Data2對SDA的影響.

    我不太了解它是什麼意思

    2008-07-25 16:46:59 補充:

    喔喔,,因為我也是從Philips I2C Spec上讀的

    我有點看不太懂它說的意思,,

    不過還是感謝您

    高手一名呀 !!

    2008-07-25 16:49:21 補充:

    啊對了,,我有投給你最佳票嗎 ?

    我第一次用這個知識發表

    不太清楚有沒有成功

Still have questions? Get your answers by asking now.