Data Rate Calculations

Jan 30, 2015 5 Replies

Hi,



I interfaced MSP430F5438A to a bluetooth module via serial TxD and RxD pins. I programmed the bluetooth module for 9600bps bit rate with start bit, Stop bit and 8 data bits with no parity. The MSP430F5438A clock is 1MHz. Txd Buffer is 8 bits wide.



I am using the following bluetooth module (CB-0BS411i-04)



formatting link



Now, on the Laptop side running windows 7, I have bluetooth 2.0 dongle connected to the CB-OBS411i module and receiving data. My question is how can I calculate what is my actual data rate is ?



I am using RFComm protocol which emulates RS232 standard. I am really confused. Can someone direct me right direction?



jess


AFAIK the only way to know what the data rate is through a complex connection, is to send a ( large ) block of data, and physically time it. There are so many variables and possible delays in response of different parts of a complex chain like PC Bluetooth Device, that its almost impossible to predict what the rate will be. It may even vary depending on how large the data block is, and particularly at the PC, on how many other services are running. With a BT link, it will depend on the signal strength and quality as well.

The old days of having physical hardware links like RS232, with predictable bit times being the only possible delay in the system timing, are long gone.

Regards, Adrian Jansen adrianjansen at internode dot on dot net Note reply address is invalid, convert address above to machine form.

Modern stuff can usually keep a 9600 baud connection pretty highly utilized.

So send as many large blocks of data as you can, each with a unique upcounter number.

Have your receiver count the missing packets and caught packets. Run for a few minutes, then dump the counters.

Reverse the directions and repeat the experiment.

Then try one going both ways.

Les Cargill

pins. I programmed the bluetooth module for 9600bps bit rate with start bit , Stop bit and 8 data bits with no parity. The MSP430F5438A clock is 1MHz. Txd Buffer is 8 bits wide.

connected to the CB-OBS411i module and receiving data. My question is how c an I calculate what is my actual data rate is ?

onfused. Can someone direct me right direction?

When I worked on the very first Bluetooth nearly 15 years ago it was only the uart/pc etc. that set the limit for data-rate, down to the sensitive limit, -90dBm afair, it would do the protocol maximum of 721kbit/sec all da y with good 1Mbit uart and a PC that could keep up

-Lasse

9600 bits/second using 8 data bits out of 10 total (data + 1 start + 1 stop) gives you 960 bytes/second.

But that's the flat-out maximum, with no gaps and hoping you don't lose sync. The actual rate will be less, how much less is strongly software dependant.

As others have said, probably easiest to measure it with representative data.

Cheers

Syd

In asynchronous RS232 the clock rate is typically determined by the master clock and baud rate divisor at the sender. thus with slightly mismatched clocks you can have different rates in each direction.

Absolute data rate is going to vary with ambient temperature, supply voltage, time of day, and lunar phase (etc)

Send ascii "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU" (continuously) And measure the frequency at the output. the baud rate is twice that.

umop apisdn

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required