Hi,
I have to measure maximum data rate transfer between two Dialog radios. I came to know that we can achieve maximum 140kBit/s. I followed UM-B-30. This document explains data rate measurement using smart snippets with the setup of two development kits (central and peripheral).
我有测量的最大数据速率ins BLE模块ide my product. UART of Dialog module is connected with external processor in my design.
Please suggest how can I measure maximum BLE data rate between my two devices? I want to create test application for both central and peripheral module.
thanks,
sabasit
Device:
Hi sabasit,
我们通常使用一个嗅探器来测量throughput of a link, the sniffers have a dedicated tool in order to measure the throughput. Other than that there is no standard way i suppose that a quick and dirty way is to print the data of your link over a uart, send fixed size data on the other side of the link and measure the time that your device prints them on the other side, by doing this you will be able to approach the actual throughput of your system. Or even measure the time via a timer and count the data sent/receive in your fw in order not to insert too much delays from the UART.
Thanks MT_dialog
Hi MT_dialog,
For our product that is under development and using DS14580 we need to meet certain certification (Not FCC) requirements. For this we are looking to allow the ability to switch on / off data modulation at our maximum data rate (whichever is possible) to measure radio performance. We are trying to understand few things related to test mode and need your help to understand how to accomplish few things in the code.
1- Achive maximum data transmission rate.
a) As per my understanding we can go up to 140kb/sec only when a device is connected to another device and not in the test mode. Is it right?
b) Do we have any data rate control, what rate could that be (or do we need some level of interaction from another BLE module to allow data communication)?
2 - Use settable transmission channels (Lowest, Middle, Highest).
a) Ch37, 38 and 39 are for advertisement but we can use them for random data transmission in test mode as well. Is it right?
b) Do these channels support frequencies only (2402 MHz (ch37), 2026 MHz (ch38) and 2480 MHz (ch39)) or we can go upto 140kb/sec with these in test mode?
c) Is transmission at the frequencies specified without modulation or with modulation? (We are looking to allow the ability to switch on / off data modulation at our maximum data rate to measure radio performance).
d) Do we have any control over channel setting and data modulation in the firmware(or is this specifically an embedded feature not accessible to us?)
3 – Maximum power
a) Do we have any control over maximum transmission power level while in test mode. As per my understanding we can have normal (0dm and Near Field Mode -27dbm) in test mode.
I tried to put my question in simple way but my understanding is limited. Please let me know if you need any clarification.
Looking forward to your replies to above question.
Thanks and Regards,
saBasit
Hi sabasit,
1) Achieve maximum data transmition rate.
a) I suppose that at the 140kb/s you are refering to the the throughput example, the direct test mode has nothing to do with it, in direct test mode the device is using only the controller
layer of the device to transmit or to receive a series of test packets without the use of any upper layer protocols. If you are looking for a data rate at this mode then the data rate
achieved is much higher than the data rate that you are mentioning. That also depends on the length of the payload which is configurable with maximum size 37 bytes so the chip can transmit
about 1500 packets in one second so it can achieve rates like 55.5 KB/sec or 444Kbits/sec. Of cource the theoretical datarate is even larger about 1Mbits/s but the test packets involve some overhead and also transmition is not continious.
b) In the direct test mode your are able to control the packet length, therefore you will be able to control the data rate.
2) Use settable transmition channels.
a) In the direct test mode you can transmit in all the available BLE channels, if you check the connection manager or the CLI there is a "Frequency" option that allows you to do that.
b) You will be able to transmit with the direct test rate in all channels, but these might be interfered by other advertising devices and possibly reduce the data speed.
c) I dont get the question, modulation is required, else there is no data in the RF. With the unmodulated Tx option you only transmit the carrier and this is only usefull in order to verify that you are transmitting in a specific frequenciy. Without modulation how are you going to transmit data and measure performance ? Check the document UM-B-008 Production Line Tool reference for all the available commands of the tool.
d) Those tools are available by using the prod_test software, there is no API from the SDK in order to change channels or directly manipulate the radio.
3 - Maximum power:
a) Yes you can set the transmition power level between those two settings, you should able to set the device in near field mode while you are in DTM by the CLI tool by writing to the
appropriate register. For example prodtest.exe -p xx write_reg16 0x50002418 0x0030 for near field mode.
Thanks MT_dialog
Hi MT_dialog,
Thanks for detailed answers.
Is there some document that describes bit wise functionality of BLE registers defined in datasheet.h?
I need description of following registers
#define BLE_RWBTLECNTL_REG (0x40000000) /* BLE Control register */
#define BLE_VERSION_REG (0x40000004) /* Version register */
#define BLE_RWBTLECONF_REG (0x40000008) /* Configuration register */
#define BLE_INTCNTL_REG (0x4000000C) /* Interrupt controller register */
#define BLE_INTSTAT_REG (0x40000010) /* Interrupt status register */
#define BLE_INTRAWSTAT_REG (0x40000014) /* Interrupt raw status register */
---------
---------
---------
---------
#define BLE_CNTL2_REG (0x40000200) /* BLE Control Register 2 */
#define BLE_RF_DIAGIRQ_REG (0x40000204) /* BLE/RF Diagnostic IRQ Control Register */
please also mention if there some document about API to use these BLE registers.
thanks,
sabasit
Hi sabasit,
All the available information for the registers are included in the datasheet, the rest of the register file that is not mentioned in the datasheet is confidential, therefore we cannot provide any further information. Most of the registers that you mention are low level, BLE related registers, and no API is available.
Also please dont post a different question in an allready answered thread with an irrelevant topic, you can always create a new thread.
Thanks MT_dialog