SCL3300 三轴倾角计的使用(一)

SCL3300三轴倾角计

特性
3轴测量
带加速度输出和角度输出
-40℃~125℃
3.0V~3.6V工作电压
SPI接口
0.001°/√Hz的噪声


1. 介绍

这篇文档介绍了SCL3300-D01的最基本的技术参数,包括性能参数、SPI接口参数、寄存器详情、电气特性和应用信息。

2. 性能参数

  1. 通用参数
    模拟电压参数参考电压为AVSS,数字电压参考电压为DVSS
    SCL3300 三轴倾角计的使用(一)_第1张图片
  2. 性能参数
    VDD=3.3V, 室温=23℃,g=9.819m/s2
    SCL3300 三轴倾角计的使用(一)_第2张图片
  3. 温度传感器性能参数
    在这里插入图片描述
    传递函数:
    temp [℃] = -273 + (TEMP /18.9)
    TEMP是温度寄存器的输出(十进制格式)
  4. 最大绝对值
    SCL3300 三轴倾角计的使用(一)_第3张图片
  5. 管脚描述
    SCL3300 三轴倾角计的使用(一)_第4张图片
    SCL3300 三轴倾角计的使用(一)_第5张图片
  6. 数字接口特性
    SCL3300 三轴倾角计的使用(一)_第6张图片
    SPI时序
    SCL3300 三轴倾角计的使用(一)_第7张图片
    官方文档对SPI时钟有推荐,因为SCK会影响SCL3300的噪声水平,建议时钟频率再2Mhz~4MHz以获得最优性能
  7. 测量方向
    SCL3300 三轴倾角计的使用(一)_第8张图片

3. 产品描述

SCL3300 三轴倾角计的使用(一)_第9张图片
采用3DMEMS工艺加工,采用变电容原理检测加速度变化
SCL3300再出厂时已经进行过校准,无需再另外校准,校准参数存储在非易失内存里,可以在启动过程中从内存中读出。
因为装配产生的零位误差,可以再回流焊后12h后对系统进行扣零处理(Zeroing).

4. 产品操作、复位和上电

4.1. 产品操作

常规模式下传感器的ODR为2000hz。寄存器每0.5ms就会更新,如果不将所有的数据都读出,噪声水平将不能保证。
为获取最有性能,建议读取ACCX,ACCY,ACCZ使用ODR频率,只有RS指示错误才去读STATUS寄存器。
4.2.上电时序
SCL3300 三轴倾角计的使用(一)_第10张图片
4.3. 工作模式
SCL3300有4中工作模式可选
SCL3300 三轴倾角计的使用(一)_第11张图片

5. 产品接口

5.1.1通用
SPI接口连接关系
SCL3300 三轴倾角计的使用(一)_第12张图片
5.1.2协议
采用OFF-FRAME的协议格式,即对本次请求的响应要在下次请求时才能发送。
SPI传输实在CSB片选下降沿开始的。数据位采样在SCK的上升沿进行。相当于SPI模式0.
SCL3300 三轴倾角计的使用(一)_第13张图片
这是OFFFRAME的协议。
5.1.3SPI帧格式
SPI帧格式包含4个部分
1.操作码(OP),包括读写位(RW)和地址位(ADDR)
2.返回状态(RS)
3.数据位
4.CRC校验码
SCL3300 三轴倾角计的使用(一)_第14张图片
帧格式解析
SCL3300 三轴倾角计的使用(一)_第15张图片
RS为“11”:当error flag出现,或是上一帧出现错误的CRC校验
5.1.4 操作码
SCL3300 三轴倾角计的使用(一)_第16张图片
5.1.5返回状态RS
RS位指示了传感器的功能状态
SCL3300 三轴倾角计的使用(一)_第17张图片
RS的优先级从高至低为:00->11->01,当Status Summary 寄存器中有错误标志,或是上一个命令的CRC校验出错了
5.2CRC校验
SPI的CRC校验
SCL3300 三轴倾角计的使用(一)_第18张图片

// Calculate CRC for 24 MSB's of the 32 bit dword
// (8 LSB's are the CRC field and are not included in CRC calculation)
uint8_t CalculateCRC(uint32_t Data)
{
uint8_t BitIndex;
uint8_t BitValue;
uint8_t CRC;
CRC = 0xFF;
for (BitIndex = 31; BitIndex > 7; BitIndex‐‐)
{
BitValue = (uint8_t)((Data >> BitIndex) & 0x01);
CRC = CRC8(BitValue, CRC);
}
CRC = (uint8_t)~CRC;
return CRC;
}
static uint8_t CRC8(uint8_t BitValue, uint8_t CRC)
{
uint8_t Temp;
Temp = (uint8_t)(CRC & 0x80);
if (BitValue == 0x01)
{
Temp ^= 0x80;
}
CRC <<= 1;
if (Temp > 0)
{
CRC ^= 0x1D;
}
return CRC;
}

一旦CRC出错,RS会在下一帧SPI响应中为“11”

6. 寄存器描述

SCL3300包含两个用户可以切换的寄存器BANK,默认是#0BANK。BANK0应当一直处于激活状态,除非BANK1要使用。当从BANK1读数完成后,应当立即切换为BANK0,以保证不会意外的读写到其他寄存器。
SCL3300 三轴倾角计的使用(一)_第19张图片
用户不应当访问保留或厂家用的寄存器。上下电,复位都会将所有配置的参数复位
6.3 STATUS寄存器
SCL3300 三轴倾角计的使用(一)_第20张图片
SCL3300 三轴倾角计的使用(一)_第21张图片
SW复位是通过SPI总线进行操作,HW复位是通过上下电传感器实现的。如果这都不能复位传感器错误,那说明传感器坏了。
6.4错误标志块
SCL3300 三轴倾角计的使用(一)_第22张图片
STATUS寄存器是报价按了ERR_FLAG1和ERR_FLAG2的寄存器信息,如果出现错误,会反映在STATUS寄存器内容上,ERR_FLAG寄存器是用来更深入了解错误原因的,读取ERR_FLAG寄存器不会造成STATUS的复位,同样RS也不会复位。
ERR_FLAG1
SCL3300 三轴倾角计的使用(一)_第23张图片
ERR_FLAG2
SCL3300 三轴倾角计的使用(一)_第24张图片
6.5CMD寄存器
SCL3300 三轴倾角计的使用(一)_第25张图片
设置SCL3300的工作模式,在power-off,reset(hw或sw),power down ,意外断电后们都必须按照上电启动顺序进行启动。不能随便配置上述没有的功能,否则器件可能会reset
6.6角度寄存器
SCL3300 三轴倾角计的使用(一)_第26张图片
使能角度寄存器
6.7who am i测试
SCL3300 三轴倾角计的使用(一)_第27张图片
返回值 为 C1h
用来测试SPI。

你可能感兴趣的:(嵌入式,倾角仪)