[問題] Embedded Linux i2c work slave mode ?

作者: liang168 (小強)   2015-02-02 22:17:55
因有使用上的要求,要在 ARM Cortex-A8 Linux 下實作
i2c Slave mode 給別人控制,己知系統有三組硬體i2c 要拿一組做i2c slave
但找了一下資料發現 ARM Linux 都是拿來實作 i2c Master 功能
拿來做i2c Slave mode 的很少,己知不能用單晶片實作,因不可能再加東西進去
要以現有的東西下去實作,請問一下有無大大實作過,或是那裡有資料可看
謝謝
作者: askacis (ASKA)   2015-02-02 22:44:00
新版的kernel不知道,但舊的沒有slave mode可以自己用字元裝置的方式寫寫看
作者: alongalone (沿著孤單的路)   2015-02-02 23:31:00
slave應該就是負責收資料做動作,類似小ic這樣吧
作者: liang168 (小強)   2015-02-03 09:25:00
是的想利用i2c slave 功能做被控制動作
作者: leolarrel (真.粽子無雙)   2015-02-03 11:57:00
目前只能自己控制電壓硬幹出來了,很多小型晶片廠的fwRD 都是自行控制兩根gpio 來實現i2c slave
作者: liang168 (小強)   2015-02-03 16:39:00
如果要用硬做也可,Linux要如何收每個bit?
作者: askacis (ASKA)   2015-02-03 21:00:00
原po你有硬體i2c,可以看對應的中斷去處裡寫個kernel thread,當有中斷產生的時候喚醒該thread做事處理
作者: leolarrel (真.粽子無雙)   2015-02-04 15:41:00
liang168,如果要用gpio硬做,你要先學會linux kernel 裡控制/讀取gpio的方法,然後找兩跟gpio當i2c用,依賴不停快速的輪詢/控制兩跟gpio的狀態,實作i2c protocol,來達到讓你的Linux成為i2c slave 的要求
作者: kingofsdtw (不能閒下來!!)   2015-02-04 23:25:00
google I2C http://goo.gl/7x8SpZ 實作它1個Clock 1個data

Links booklink

Contact Us: admin [ a t ] ucptt.com