[问题] 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