10.4.1原理图查询
(1)gsensor的供电由PWMTOUT3引脚控制。当PWMTOUT3输出低电平时gsensor无电不工作;当输出高电平时gsensor才会工作。
(2)gsensor的SDA和SCL接的是S5PV210的I2C端口0。
(3)将来编程时在gsensor init函数中要去初始化相关的GPIO。要把相应的GPIO设置为正确的模式和输入输出值。
10.4.2重力加速度传感器
(1)用在手机、平板、智能手表等设备上,用来感受人的手的移动,获取一些运动的方向性信息用来给系统作为输入参量。
(2)可以用来设计智能手表的计步器功能。
(3)重力加速度传感器、地磁传感器、陀螺仪等三个传感器结合起来,都是用来感测运动的速度、方位等信息的,所以现在有9轴传感器,就是把三者结合起来,并且用一定的算法进行综合得出结论,目的是更加准确。
(4)一般传感器的接口有2种:模拟接口和数字接口。模拟接口是用接口电平变化来作为输出的(譬如模拟接口的压力传感器,在压力不同时输出电平在0~3.3V范围内变化,每一个电压对应一个压力。),SoC需要用AD接口来对接这种传感器对它输出的数据进行AD转换,转换得到的数字电压值,再用数字电压值去校准得到的压力值;数字接口是后来发展出来的,数字机接口的sensor是在模拟接口的sensor基础上,内部集成了AD,直接(通过一定的总线接口协议,一般是I2C)输出一个数字值的参数,这样SoC直接通过总线接口初始化、读取传感器输出的参数即可(譬如gsensor、电容触摸屏IC)。
10.4.3 I2C从设备的设备地址
(1)KXTE9的I2C地址固定为0b0001111(0x0f)
(2)I2C从设备地址本身是7位的,但是在I2C通信中发送I2C从设备地址时实际发送的是8位,这8位中高7位(bit7~bit1)对应的I2C从设备的7位地址,最低一位(LSB)存放的是R/W信息(就是说下一个数据时主设备写从设备读(对应0),还是主设备读从设备写(对应1))
(3)基于以上,对于KXTE9来说,主设备(SoC)发给gsensor信息时,SAD应该是:0b00011110(0x1e)。如果是主设备读取gsensor信息时,SAD应该是:0b00011111(0x1f)
10.4.4 I2C从设备的通信速率
(1)I2C协议本身属于低速协议,通信速率不能太高。
(2)实际上通信的主设备和从设备本身都有最高的通信速率限制(属于各个芯片本身的参数),实际编程时怎么确定最终的通信速率?只要小于两个即可。
(3)一般来说只能做从设备的sensor芯片本身i2c通信速率偏低,像KXTE9最高支持400KHz的频率。
嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。在评论区私信“嵌入式”0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!