BTW, in my SPI connection with 16488, I wrote a sample rate register and set it at 10Hz. However, I would only have 4 to 5 Hz as seen from the output on the terminal. I wonder why and whether I successfully set the rate?
In reviewing this, I probably should offer a small clarification. When DEC_RATE = 0x00F5, we confident that the registers will update at a rate of 10Hz. The previous posts in this discussion demonstrate how the data ready signal (DIO2, factory default) presents a simple way to observe/confirm this expectation. We cannot conclude that the update rate does not match this expectation, based on the observation of output from a system that acquires and displays IMU data in a manner that is asynchronous from the IMU's internal register updates. Look forward to hearing if you are able to observe the data ready signal and confirm 10Hz update rates, for closure of this discussion (but not our support for your future questions).
What did you set DEC_RATE to?
Below is the value I wrote to the register, according to the formulas offered by the datasheet,
imu.write(0x8CF5); //set sample rate at 10Hz
Hmmm...That should work. How are you measuring the update rate? A scope probe on the DIO2 pin would be a quick second-check for this.
I am finding that data ready is coming out on DIO-1. Included the scope shot and your register setting of F5 did give me 10Hz for the sample rate. The scope channels are set up as:
Channel 1 is Data Rdy
Channel 2 CS
Channel 3 SClk
Channel 4 D-Out.
I hope the following images help out.
Thank you! When you go into the Data Capture function on the evaluation software, it automatically configures the ADIS16488 to move the data ready function to the DIO1 line. The factory-default assignment for this is DIO2, but changing it to DIO1 only requires a write to the FNCTIO_CTRL register. Would be possible to have only DIO1(data ready) on the scope shot, with just the Frequency measurement enabled on the actual screen shot? I might be missing something but the tabular data doesn't seem to show the frequency, since the screen shot only has one data ready pulse on it. Thank you!
Here is a better Data Ready scope shot. I hope it helps.
That is perfect! Thank you, Scott!
RobinUofC: Have you had a chance to investigate this any further? Does this help? We look forward to closing this out for you.
Hi Mark and Scott,
I appreciate your continuously supporting. Sorry for my late reply since I've been very busy with other issues.
I havent had time to do a scope on DIO2 or DIO1..Is DIO2 a data ready pin?
By setting DEC_RATE register value to FC, does it mean that I should have 10 samples per second on a PC's terminal?
Also, in terms of the sample rate for the data received by the xbee receiver, I am thinking the baud rate of wireless communication and the performance of the mbed MCUs might be problems.
My case here is I set the sample rate at 10Hz for the IMU, the data were wirelessly transmitted and shown on the terminal, on which it reduced to 4 or 5 Hz? due to those reasons?
So, if I understand you correctly, you are judging the sample rate, based on how quickly your display updates? I can definitely imagine a wireless packet causing you to miss a sample but I do not believe that it will slow the IMU down. If I had to guess, I would say that you are on the right track. You might want to slow the DEC_RATE down to 1Hz to see if the wireless can keep up that way. One qualifying question: does the data ready trigger the wireless data grab and transmission?
I answered your last question first, so let me go back to your first question from today. Setting DEC_RATE = 0x00F5 will cause the data to update its output registers at a rate of 10SPS. The data ready signal will pulse every time the output registers update, so it provides an observable metric to use for validating the configuration. The factory default pin for the data ready is DIO2, but the Data Capture function in the IMU Evaluation software changes that to DIO1. This can be changed back, but the EVAL-ADIS uses DIO1 as the data ready pin for all of the products it supports.
Anyway, the ADIS16488 is a slave device so other than providing a trigger to start a transmission process, it cannot directly influence how fast a data acquisition system will collect data and display it.
I hope that helps!
Xbee Pro S1 module I used would send data once it is powered up and DIN received data from the serial of MCUs..
Is this what you asked? Sorry I am not quite understand your question does the data ready trigger the wireless data grab and transmission.
I am just trying to help you reconcile the DEC_RATE setting expectations with what you are observing on your Xbee-driven output. The honest answer is, I have no idea what is happening in the data read and transmission process. I can only speak of what the DEC_RATE register will do to the data update rate in the IMU itself. Fair enough?
Thank you NevadaMark. Yes, you are right, I checked it as exactly what you said.
I just quickly tried 1Hz by setting 0x8C9B to DEC_RATE register, but nothing has changed..
I am curious about the default sample rate if I do not write to the DEC_RATE register. I found there was no difference in my experiment if I wrote or didn't..Also I am sure that the Xbee Pro Series 1 module should be enough to transmit these 6 register's 16-bit data since it has 250kbps Max data rate.
Retrieving data ...