Robofun 機器人論壇

標題: [請益]"I-squared-C" 有關SRF10!! [打印本頁]

作者: robot2009    時間: 2010-2-27 15:19
標題: [請益]"I-squared-C" 有關SRF10!!
Q1.想請問I2C是1980年代由Philips公司發展出的一個雙線、雙向的串列傳輸
    介面,目的是提供一個簡易的連接方法讓CPU與周邊IC溝通,早期應用
    在電視或螢幕上,而因為此通訊介面存在於Inter-Integrated  
     Circuits(內部集成電路)中,所以簡稱"I-squared-C"。
    我的疑問是!?  為何叫"I-squared-C"卻不叫"I-two-C"。
    squared只是代表2個"I"嗎?! 如果是這樣為何叫"I-two-C"不對?
    [WIKI查到的覺的很怪]


Q2.我想簡單的問!! 就是說 如果我說UCB的通訊協定與I2C一樣 這樣的說法對嗎?!
            為何我會這樣想是因為假設 我以一個MASTER(指電腦) 而SLAVE(指感測器)
     假若我透過I2C的方式連接各個SENSOR那就是說我在電腦與SENSOR溝通之間
       使用的溝通方式就是使用 polling(查詢法) 因為i2c是同步傳輸 也就是說它就是擁
       有隨插即用的效果!
            這樣不就是代表i2c與usb能畫上等號?!
     因為usb就是使用polling(查詢法)  這種機制來做電腦與I/O的溝通?

Q3.我在還查到 在通訊協定方面,I2C是採用主從架構,也就是可以在相同的匯流排上連接多項I2C裝  置,裝置與CPU之間有Master與Slave區別,Master可以改變Slave位址或讀取Slave資料,若同一時間有一個以上的Master在傳送或接收Slave資料,就會產生仲裁

我想知道仲裁是指??

Q4.SRF10 一定是slave沒錯八?!


Q5.I2C在實體連接上僅有兩條線路:
       串列資料線(SDA Serial Data Line)、串列時脈線(SCL Serial clock  Line),
       所有I2C裝置都有接這兩條線路,同時各連接都是開汲式的I/O 接腳,
       但是I2C要使用的是真正的邏輯高準位,所以再SDA、SCL兩線上
       都加入提升電阻,使未導通狀態下線路都會處於高準位狀態。
  [img][img]
     何謂開汲式的I/O 接腳?!

Q6.有大大知道哪邊有更清楚I2C的資料嗎?!
作者: scrush    時間: 2010-2-27 20:55
A1.  square 是平方的意思,I2C不是正統說法
A2.  不對的,雖然我沒看過USB的通訊方式,i2c沒有隨插即用

Q3.  仲裁是指有多個裝置要存取同一個裝置時,會有一個機制來分辨由哪個裝置做存取的動作,
       有點類似interrupt priority

其他的問題我只能說,好好的把i2c的原廠 spec看清楚,你說的問題都可以得到解決
作者: robot2009    時間: 2010-2-27 21:48
scrush大大!!

不好意思 i2c的原廠 spec 要在哪抓阿= =
作者: robot2009    時間: 2010-2-27 21:53
PS.我知道square 是平方的意思

我查清楚為何它要叫"I-squared-C"了!!

I2C全名為Inter-IC,IC即積體電路。
   至於唸法,Philips半導體的官方網站如此寫著:「 eye-squared-see 」。

謝謝!!
作者: scrush    時間: 2010-2-28 12:18
http://www.nxp.com/documents/user_manual/UM10204.pdf
我是看這份,其實網路搜尋就很多了,看這種資料還是看原文的會比較好,對英文真的不行的話
就抓重點看,再搭配網路上一些玩家的中文解釋會比較明瞭
作者: robot2009    時間: 2010-3-2 14:44
scrush 大大!! 謝謝你提供的資訊!! 感恩!!
作者: mac1    時間: 2010-3-2 16:13
印象中有看過大陸翻譯的 I2C資料
如果你能習慣看簡體的話, 也是一個方式
大陸用語更不一樣喔...
(我是覺得英文的比較知道在寫什麼啦,,也不用全部都看,
很多是用不到或是沒人在用的,挑常見的看清楚就行了)

square是平方的意思吧, 如果你見過原始的logo, 那個2 是在I的右上方
也就是平方的意思阿
--------------------------------------
USB用的是 D+/D-, I2C用的是SCK, SDA,光是同步非同步的觀念要先弄清楚喔
一樣的硬體可以有很多種通訊協定在上面,
你要說 CAN 和 USB接近還比較能比喔...那又是另一個長篇故事了
--------------------------------------
仲裁只會發生在兩個以上的 master電路組合,
假設同時間有兩個master 要用I2C,
則後來的master 要檢查 bus 是否 busy(看SCK就行了)
這就是簡單的仲裁機制,複雜的還可以有優先權問題...但這是少數人才這樣用
作者: robot2009    時間: 2010-3-11 19:04
mac1 大~ usb 跟 i2c 不是都屬於  同步串列嗎?!




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2