FXLS8471Q Transient

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

FXLS8471Q Transient

跳至解决方案
3,380 次查看
davidsherman
Senior Contributor I

I am trying to create a transient event using the FXLS8417Q.  I have been following the AN4461, and although it is written for a different chip, it seems to be similar.

I have this code:

AccelWriteByte(ACCEL_CTRL_REG2_REG, ACCEL_CTRL_REG2_RST_BIT); // reset chip
while(AccelReadByte(ACCEL_CTRL_REG2_REG) & ACCEL_CTRL_REG2_RST_BIT);
AccelWriteByte(ACCEL_TRANSIENT_THS_REG, 0x8f); // should trigger on >0.945g
AccelWriteByte(ACCEL_TRANSIENT_COUNT_REG, 0x1); // debounce of 1


AccelWriteByte(ACCEL_TRANSIENT_CFG_REG, (ACCEL_TRANSIENT_CFG_ELE_BIT | ACCEL_TRANSIENT_CFG_ZEFE_BIT | ACCEL_TRANSIENT_CFG_YEFE_BIT | ACCEL_TRANSIENT_CFG_XEFE_BIT | ACCEL_TRANSIENT_CFG_HPF_BYP_BIT)); // trigger on any axis, high pass bypassed


AccelWriteByte(ACCEL_CTRL_REG4_REG, ACCEL_CTRL_REG4_INT_EN_TRANS_BIT); // enable transient interrupt


AccelWriteByte(ACCEL_CTRL_REG5_REG, ACCEL_CTRL_REG5_INT_CFG_TRANS_BIT);  // route transient interrupt to INT1


AccelWriteByte(ACCEL_CTRL_REG1_REG, (ACCEL_CTRL_REG1_DATA_RATE_50HZ | ACCEL_CTRL_REG1_ACTIVE_BIT)); // set for 50 Hz ODR, set to active

 

I can't get any event to happen, even if I enable the high pass filter.  No interrupt occurs, and no event is ever reported in the TRANSIENT_SRC_REG when shaking or bumping the board.  I have even tried adjusting the threshold to the minimum, but nothing ever happens.

 

 I know the accelerometer is working because with this code:

 

byDummy = AccelReadByte(ACCEL_WHO_AM_I_REG);
AccelWriteByte(ACCEL_CTRL_REG1_REG, 0x0); // set to standby


AccelWriteByte(ACCEL_XYZ_DATA_CFG_REG, byFSRange); // set full scale range
AccelWriteByte(ACCEL_CTRL_REG1_REG, (ACCEL_CTRL_REG1_DR(ACCEL_CTRL_REG1_DATA_RATE_200HZ) | ACCEL_CTRL_REG1_LNOISE_BIT | ACCEL_CTRL_REG1_ACTIVE_BIT)); // set for 200Hz ODR, set active

I can read live accelrometer data from the FIFO that is reporting correctly.

 

What am I missing?

0 项奖励
1 解答
3,375 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi David,

 

Please have a look at my simple example code and let me know if it works on your side or not. 

 

Best regards,

Tomas

在原帖中查看解决方案

0 项奖励
2 回复数
3,371 次查看
davidsherman
Senior Contributor I

Thank you Tomas, I think I got it working.  I don't think it liked the software reset from the app note, I think it stopped talking SPI when I did that because I couldn't even read the ID byte.  I took out the software reset and I get the interrupt now.  Thank you!

0 项奖励
3,376 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi David,

 

Please have a look at my simple example code and let me know if it works on your side or not. 

 

Best regards,

Tomas

0 项奖励
%3CLINGO-SUB%20id%3D%22lingo-sub-1136458%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EFXLS8471Q%20%E7%9E%AC%E6%80%81%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1136458%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20FXLS8417Q%20%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%9E%AC%E6%80%81%E4%BA%8B%E4%BB%B6%E3%80%82%20%E6%88%91%E4%B8%80%E7%9B%B4%E5%9C%A8%E5%85%B3%E6%B3%A8%20AN4461%EF%BC%8C%E8%99%BD%E7%84%B6%E5%AE%83%E6%98%AF%E4%B8%BA%E4%B8%8D%E5%90%8C%E7%9A%84%E8%8A%AF%E7%89%87%E7%BC%96%E5%86%99%E7%9A%84%EF%BC%8C%E4%BD%86%E4%BC%BC%E4%B9%8E%E5%BE%88%E7%9B%B8%E4%BC%BC%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%9C%89%E8%BF%99%E6%A0%B7%E7%9A%84%E4%BB%A3%E7%A0%81%3C%2FP%3E%3CP%3EAccelWriteByte%20(ACCEL_CTRL_REG2_REG%EF%BC%8CACCEL_CTRL_REG2_RST_BIT)%3B%2F%2FRESET%E8%8A%AF%E7%89%87%20while%20(ACCEL_CTRL_REG2_REG)%20%26amp%3B%20ACCEL_CTRL_REG2_REG)%3B%2F%2F%E5%BA%94%E8%AF%A5%E5%9C%A8%20%26gt%3B%200.945g%20%E4%B8%8A%E8%A7%A6%E5%8F%91%E4%BF%A1%E5%8F%B7%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3EAccelWriteByte(ACCEL_TRANSIENT_COUNT_REG%2C%200x1)%3B%20%2F%2F%20%E9%99%A4%E6%8A%96%201%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EAccelWriteByte%20(ACCEL_TRANSIENT_CFG_REG%EF%BC%8C(ACCEL_TRANSIENT_CFG_ELE_BIT%20%7C%20ACCEL_TRANSIENT_CFG_ZEFE_BIT%20%7C%20ACCEL_TRANSIENT_CFG_ZEFE_BIT%20%7C%20ACCEL_TRANSIENT_CFG_ZEFE_BIT%20%7C%20ACCEL_TRANSIENT_CFG_ZEFE_BIT%20%7C%20ACCEL_TRANSIENT_CFG_BYP_BIT)%3B%2F%2F%E8%A7%A6%E5%8F%91%E4%BF%A1%E5%8F%B7%E5%9C%A8%E4%BB%BB%E4%BD%95%E8%BD%B4%E4%B8%8A%EF%BC%8C%E9%83%BD%E7%BB%95%E8%BF%87%E4%BA%86%E9%AB%98%E9%80%9A%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EAccelWriteByte(ACCEL_CTRL_REG4_REG%2C%20ACCEL_CTRL_REG4_INT_EN_TRANS_BIT)%3B%20%2F%2F%20%E5%90%AF%E7%94%A8%E7%9E%AC%E6%80%81%E4%B8%AD%E6%96%AD%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EAccelWriteByte(ACCEL_CTRL_REG5_REG%2C%20ACCEL_CTRL_REG5_INT_CFG_TRANS_BIT)%3B%20%2F%2F%20%E5%B0%86%E7%9E%AC%E6%80%81%E4%B8%AD%E6%96%AD%E8%B7%AF%E7%94%B1%E8%87%B3%20INT1%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EAccelWriteByte(ACCEL_CTRL_REG1_REG%2C%20(ACCEL_CTRL_REG1_DATA_RATE_50HZ%20%7C%20ACCEL_CTRL_REG1_ACTIVE_BIT))%3B%20%2F%2F%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%2050%20Hz%20ODR%EF%BC%8C%E8%AE%BE%E7%BD%AE%E4%B8%BA%E6%B4%BB%E5%8A%A8%E7%8A%B6%E6%80%81%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E5%8D%B3%E4%BD%BF%E5%90%AF%E7%94%A8%E9%AB%98%E9%80%9A%E6%BB%A4%E6%B3%A2%E5%99%A8%EF%BC%8C%E4%B9%9F%E6%97%A0%E6%B3%95%E5%8F%91%E7%94%9F%E4%BB%BB%E4%BD%95%E4%BA%8B%E4%BB%B6%E3%80%82%20%E6%8C%AF%E5%8A%A8%E6%88%96%E7%A2%B0%E6%92%9E%E6%9D%BF%E6%97%B6%EF%BC%8C%E4%B8%8D%E4%BC%9A%E5%8F%91%E7%94%9F%E4%B8%AD%E6%96%AD%EF%BC%8C%E4%B9%9F%E4%B8%8D%E4%BC%9A%E5%9C%A8%20TRANSIENT_SRC_REG%20%E4%B8%AD%E6%8A%A5%E5%91%8A%E4%BB%BB%E4%BD%95%E4%BA%8B%E4%BB%B6%E3%80%82%E6%88%91%E7%94%9A%E8%87%B3%E8%AF%95%E8%BF%87%E6%8A%8A%E9%98%88%E5%80%BC%E8%B0%83%E5%88%B0%E6%9C%80%E5%B0%8F%EF%BC%8C%E4%BD%86%E4%BB%80%E4%B9%88%E4%B9%9F%E6%B2%A1%E5%8F%91%E7%94%9F%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%88%91%E7%9F%A5%E9%81%93%E5%8A%A0%E9%80%9F%E5%BA%A6%E8%AE%A1%E5%9C%A8%E5%B7%A5%E4%BD%9C%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%9C%89%E4%BA%86%E8%BF%99%E6%AE%B5%E4%BB%A3%E7%A0%81%EF%BC%9A%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EbyDummy%20%3D%20AccelReadByte(ACCEL_WHO_AM_I_REG)%3B%3CBR%20%2F%3EAccelWriteByte(ACCEL_CTRL_REG1_REG%2C%200x0)%3B%20%2F%2F%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%BE%85%E6%9C%BA%E7%8A%B6%E6%80%81%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EAccelWriteByte(ACCEL_XYZ_DATA_CFG_REG%2C%20byFSRange)%EF%BC%9B%2F%2F%20%E8%AE%BE%E7%BD%AE%E6%BB%A1%E5%88%BB%E5%BA%A6%E8%8C%83%E5%9B%B4%3CBR%20%2F%3EAccelWriteByte(ACCEL_CTRL_REG1_REG%2C%20(ACCEL_CTRL_REG1_DR(ACCEL_CTRL_REG1_DATA_RATE_200HZ)%20%7C%20ACCEL_CTRL_REG1_LNOISE_BIT%20%7C%20ACCEL_CTRL_REG1_ACTIVE_BIT))%3B%20%2F%2F%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%20200Hz%20ODR%EF%BC%8C%E8%AE%BE%E7%BD%AE%E4%B8%BA%E6%B4%BB%E5%8A%A8%E7%8A%B6%E6%80%81%3C%2FP%3E%3CP%3E%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BB%8E%E6%8A%A5%E5%91%8A%E6%AD%A3%E7%A1%AE%E7%9A%84%20FIFO%20%E8%AF%BB%E5%8F%96%E5%AE%9E%E6%97%B6%E5%8A%A0%E9%80%9F%E5%BA%A6%E8%AE%A1%E6%95%B0%E6%8D%AE%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%88%91%E9%94%99%E8%BF%87%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1139579%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20FXLS8471Q%20Transient%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1139579%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%B0%A2%E8%B0%A2%E4%BD%A0%EF%BC%8C%E6%89%98%E9%A9%AC%E6%96%AF%EF%BC%8C%E6%88%91%E6%83%B3%E6%88%91%E6%88%90%E5%8A%9F%E4%BA%86%E3%80%82%20%E6%88%91%E8%AE%A4%E4%B8%BA%E5%AE%83%E4%B8%8D%E5%96%9C%E6%AC%A2%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%AC%94%E8%AE%B0%E4%B8%AD%E7%9A%84%E8%BD%AF%E4%BB%B6RESET%EF%BC%8C%E6%88%91%E8%AE%A4%E4%B8%BA%E5%BD%93%E6%88%91%E8%BF%99%E6%A0%B7%E5%81%9A%E7%9A%84%E6%97%B6%E5%80%99%E5%AE%83%E5%B0%B1%E5%81%9C%E6%AD%A2%E8%AF%B4SPI%E4%BA%86%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%88%91%E7%94%9A%E8%87%B3%E6%97%A0%E6%B3%95%E8%AF%BB%E5%8F%96ID%E5%AD%97%E8%8A%82%E3%80%82%E6%88%91%E5%8F%96%E6%B6%88%E4%BA%86%E8%BD%AF%E4%BB%B6%20RESET%EF%BC%8C%E7%8E%B0%E5%9C%A8%E6%88%91%E8%A2%AB%E6%89%93%E6%96%AD%E4%BA%86%E3%80%82%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1138361%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20FXLS8471Q%20Transient%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1138361%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E6%88%B4%E7%BB%B4%E3%80%81%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E8%AF%B7%E7%9C%8B%E4%B8%80%E4%B8%8B%E6%88%91%E7%9A%84%E7%AE%80%E5%8D%95%3CA%20href%3D%22https%3A%2F%2Ffreescale.jiveon.com%2Fdocs%2FDOC-329684%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81%3C%2FA%3E%EF%BC%8C%E5%B9%B6%E5%91%8A%E8%AF%89%E6%88%91%E5%AE%83%E5%9C%A8%E4%BD%A0%E9%82%A3%E8%BE%B9%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%20%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E9%A1%BA%E7%A5%9D%E5%95%86%E7%A5%BA%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E6%89%98%E9%A9%AC%E6%96%AF%3C%2FP%3E%3C%2FLINGO-BODY%3E