瀏覽單個文章
NTC_TW_IT
Regular Member
 

加入日期: Jul 2014
文章: 89
引用:
作者lifaung
先要提到, 還是那句, Multi master的I2C或是SM BUS是存在的, 而且在需要擴展的系統中經常實際的存在

SMBUS跟BMC掛在同一線路上很常見,主要應該是為了inband+oob混合應用(常見是FRU-EEPROM ACCESS)
如果不是PCH上SMBUS的部分同時有master跟slave角色同時存在,對BMC而言,應該掃不出現路上有其他controller吧?
相反的,其實SMBUS根本也不清楚BMC的i2c controller也在同一條線路上

引用:
作者lifaung
要找到新裝置被放上bus的話大致上有3個方式,
1. 輪尋已知可能位址(但是要考慮到現在的系統位址短的話是7bit, 長的是10bit, 輪循完成要很久, 而且位址也不是唯一, 如果是對付已知的系統應該可以用輪尋方式來做)
2. 偷聽線上有誰存在
3. 等待有人衝撞封包

1: 10bit很少見,一般都7bit為主,常見的100HZ來看,只是probe來說,應該一秒上下就可以搞定,所以應該還好吧?
slave address必須是唯一吧?
當預期發生衝突時,一般都是掛i2c expander,然後再由軟體/韌體去切通道不是?
2: 抓很乖的client就沒問題, 死不回你的就兩手一攤了~至於master,沒得玩
3: 運氣阿~基本上i2c又不是多穩定的東西,retry也司空見慣了

不過multi master device跟一個線路上有多個master是兩回事吧?
可以請教有更實際的做法,找出現路上有沒有被偷掛master?
小弟對i2c大概有一點點了解~偏軟體
舊 2018-10-18, 12:50 AM #163
回應時引用此文章
NTC_TW_IT離線中