GXTS04温度传感器的IIC接口调试
1.GXTS04温度传感器的介绍
GXTS04是GXCAS公司新推出的高精度数字温度传感器。它的功能包括增强的信号处理,将1.5 ms内的温度转换为16位二级制数,两个独特的和用户可选择的I2C地址和高达1 MHz的通信速度。1.6 V至5.5 V的宽电源电压范围保证了与广泛应用的兼容性。
2.测量流程和实现思路
2.1 测量内容
每个测量周期包含一组四个指令,每个指令由I2C启动条件启动,并由I2C停止条件结束:
1.唤醒指令
2.测量指令
3.读取指令
4.休眠指令
指令 | 二进制表示 |
---|---|
wake up | 0x3517 |
measure normal mode | 0x7866 |
measure low power mode | 0x609c |
sleep | 0xB098 |
上述表格是本次测量用到的指令
2.2 测量要求
1.唤醒时间最长不超过240us,典型值为180us。
2.复位时间最长不超过240us,典型值为180us。
3.测量时间分了两种情况:正常模式和低功耗模式;
正常模式最长不超过12.1ms的测量时间,典型值为10.8ms;
低功耗模式最长不超过1.5ms的测量时间,典型值为1.5ms。
2.3手册参考测量流程
上图为官方手册测量流程,根据此流程做出本次设计流程图:
设计思路该温度模块由两个子模块构成:IIC_CTRL模块和IIC_DRI模块构成。
IIC_CTRL模块:该模块主要控制配置一次测量所需的必要指令。(我的唤醒延时延迟计数采用180us,测量指令采用
正常测量模式,测量延时计数为10.8ms)
IIC_DRI模块:驱动iic,实现发送和读取iic数据。
3.上版调试,抓取结果
3.1ila抓取温度
抓取的温度是一个16位二进制读数:0111000101001111,转换为10进制数:29007
由上述公式可得实际(芯片周围的)温度为 32.457摄氏度。
3.2补充
关于传输数据校验,该芯片采用crc-8 MAXIM的算法(x8 + x5 + x4 +1),并且有初始值0xFF。