引用:
作者NTC_TW_IT
i2c協定,是由master往slave送,沒有印象有slave往master送的狀況阿(印象中PCH上的smbus,好像同時有兩個身分,這各當例外看待
當線路被掛上i2c controller時, 好奇問一下,怎樣抓?
|
先要提到, 還是那句, Multi master的I2C或是SM BUS是存在的, 而且在需要擴展的系統中經常實際的存在
要找到新裝置被放上bus的話大致上有3個方式,
1. 輪尋已知可能位址(但是要考慮到現在的系統位址短的話是7bit, 長的是10bit, 輪循完成要很久, 而且位址也不是唯一, 如果是對付已知的系統應該可以用輪尋方式來做)
2. 偷聽線上有誰存在
3. 等待有人衝撞封包
不過你提到很好的問題, 現代的SM BUS實際上和I2C幾乎是同一個介面了
部分I2C裝置也配備了廣播功能, 以及time out機制
而有些SM BUS裝置也配備了clock stretch功能, 兩者的界線就我所知不是很明顯