完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 xble 于 2016-2-24 13:37 编辑 S500有twi的概念也就是i2c,two wire interface就是两根线实现所有的操作,我们这里就分析一下twi。
上图是guitar40pin外界gpio原理图。可以看到Twi2和twi3两组接口,不过twi3与spi共用,是否可以直接使用还是未知数。 上面是twi接口原理图,好像比以前接触过的iic复杂不少。 不过反倒没有类似下图这样明确的开始和停止条件说明。 也没有下面很明确的地址寻址说明. 数据传输的时序图倒是有一个 下面是3个twi接口的地址和每个twi内部寄存器说明。 具体寄存器说明需要时在对照看。 最后给出了twi读写eeprom流程说明。 不过上面泛泛的概念和空洞的流程说明大家未必可以将i2c理解清楚,我们从实际功能入手来看看twi到底是如何工作的? 这里要提到一个非常简单实用的软件i2c-tools,它是linux下面开源的i2c测试工具。代码公开,编译简单,理解起来也不难,所以我们先来通过它测试一下开发板上的twi接口。 root@Lemuntu:~# apt-get install i2c-tools 由于开发板使用debian系统,我们可以直接安装i2c-tools这个工具,当然下载代码编译在使用也没有问题。 root@Lemuntu:~# i2cdetect -l i2c-0 i2c OWL I2C adapter I2C adapter i2c-1 i2c OWL I2C adapter I2C adapter i2c-2 i2c OWL I2C adapter I2C adapter 三个i2c接口。 root@Lemuntu:~# i2cdetect -y -r 0 0 1 2 3 [ 206.572471] owl_i2c: owl_i2c_fifo_irq(): [i2c0] no ACK, fifostat 0x3 [ 206.572471] 4 5 6 7 8 [ 206.581801] owl_i2c: owl_i2c_fifo_irq(): [i2c0] no ACK, fifostat 0x3 [ 206.581801] 9 a b c d e[ 206.590939] owl_i2c: owl_i2c_fifo_irq(): [i2c0] no ACK, fifostat 0x3 [ 206.590939] i2cdetect -y -r 1 i2cdetect -y -r 2都一样出现类似log,当然我们这时没有插入任何i2c设备,这可跟bbb开发板执行后的结果不一样。按照最上面的40pin原理图插上一个i2c设备试试,i2cdetect 命令得到类似错误log,而不是类似下面的信息。 根据错误信息我们找到./arch/ARM/mach-owl/i2c-owl.c,具体内容暂不分析。不过可以总结出来lemaker-guitar开发板对i2c-tools的支持不好,看来只能我们自己写代码来分析这个i2c设备。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 22:45 , Processed in 0.364867 second(s), Total 41, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号