AnsweredAssumed Answered

FXTH87 debugging and code problems

Question asked by alickaufmann on Aug 3, 2017



I am checking the FXTH87 for TPMS application. I dowloaded the codewarrior software here that works with the kinetis receiver but I have a hard time understanding some details in the program of the FXTH87. Maybe you can help me out.


1) First off, I configured the user configuration header file to wake up the FXTH87 each 1 second and send a frame.

            In the main program there is a if(CLEAR=SPMSC2_PDF) condition. As I understand it, we should enter in this block only if we did not wakeup from an interrupt so I guess just the first time I run the program it is going to go in this loop and then it will avoid it (it seems to be the loop in which is implemented some kind of setup like setting up the state machine,...). The thing I don't understand is when I debug, it gets until the last line of the main for(;;) loop instruction which is asm stop and than goes back in the if(CLEAR=SPMSC2_PDF) block but in my opinion it should go in the else{} afterwords. In particular it never goes into the PWU interrupt even though I am in the noLF_PWU mode and that I put a breakpoint in the PWU interruption (I know I can use just one breakpoint and I have putted just one). Isn't this weird?



2) When I use the FXTH87 in the PWU 1 second waiting mode, and I send 1 frame, the following always happen:

            If I hit the debug button and then hit the stop button and do a manual reset of the sensor I receive one packet per second which is correct.

But If I hit the debug button and then hit the run button, I receive a few hundred of packets in a few seconds even though in my opinion I should again receive 1 packet per second. Why is that?


3) In the design reference at page 24 they say 

The signal frequency for both axes increases with the speed. Due to the sensitivity of the sensor, some very simple algorithms allow to differentiate the parking from the motion state.

Does this mean there is a possibility of transmitting only if the car is in motion? For this, should we measure the frequency of the x_accel signal? are there some firmware function that does this? What is the way to do this and consuming minimum current?


4) Often, when I look at the frame stack, there is a function under the main, so I guess it is a function calling the main function which is called 10xA9A6 (0xA9A6)(). What is this?


5) Often, when I run the code and I randomly hit the pause button, it goes into the part of the memory we can't view E721. I have looked the addresses of the firmware functions in the datasheet but none of them have this specific adress. What is this adress? Why do I always fall into it? Is it the interruption vector for the RF interruption?



Thanks for you help!