Close or Esc Key

Arduino Projects   |   Raspberry Pi   |   Electronic Circuits   |   AVR   |   PIC   |   8051   |   Electronic Projects

Bluetooth Protocol (Part 2): Types, Data Exchange, Security

Written By: 

Bijal Parikh

ERROR CORRECTION

There are three types of error correction schemes: 1/3 rate FEC, 2/3 FEC and ARQ scheme. In 1/3 rate every bit is repeated three times for redundancy, in 2/3 a polynomial is generated to encode 10 bit code to a 15 bit code and in ARQ scheme a packet is transmitted till an acknowledgement is received. It uses positive and negative acknowledgement values by setting appropriate ARQN values. IF timeout is exceeded, Bluetooth device flushes the packet and proceed to next one.

FLOW CONTROL AND SYNCHRONIZATION

Bluetooth uses the concept of first in first out FIFO queues in ACL and SCO links for transmission and reception. Link manager fills the queues and link controller empties them automatically.

FLOW CONTROL AND SYNCHRONIZATION

If the reception queues are full, flow control is used to avoid the dropping of packets and congestion. If data is not received a STOP indication is transmitted by Link controller of the receiver into header of the return packet. When the transmitter receives the STOP indication it freezes its FIFO queues. Again when receiver is ready it sends a packet which resumes the flow again.

CONTROLLER STATES

The state is a last known or current status of an application or a process. Bluetooth operates in two states Standby and connection.  There are seven sub-states which are used to add slaves or make connections in Pico-net. These are shown in the figure:

CONTROLLER STATES

connection state in bluetoothThe standby state is the default low power state used when there is no interaction between the devices. In connection state the master and slave can exchange packets using channel access code.

NAME

DESCRITIOPN

PAGE

This sub-state is used by the master to activate and connect to a slave. Master sends page messages by transmitting slave's device access code (DAC) in different hop channels.

PAGE SCAN

In this sub-state, a slave listens for its own device access code (DAC) for duration of scan window. The slave listens at a single hop frequency (derived from its page hopping sequence) in this scan window

SLAVE RESPONSE

Slave responds to master's page message in this sub-state which is resulted if slave correlates in the page scan sub-state to the master's page message. Slave enters Connection state after receiving FHS packet from master.

MASTER RESPONSE

Master reaches this sub-state after it receives slave's response to its page message for it. Master sends a FHS packet to slave and if slave replies then master enters Connection state.

INQUIRY

Inquiry is used to find the identity of the Bluetooth devices in the close range. The discovering unit collects the Bluetooth device addresses and clocks of all units that respond to the inquiry message.

INQUIRY SCAN

In this state, the Bluetooth devices are listening for inquiries from other devices. In this scanning device may listen for general inquiry access code (GIAC) or dedicated inquiry access codes (DIAC).

INQUIRY RESPONSE

For inquiry, only slave responds but not the master. The slave responds with the FHS packet which contains the slave's device access code, native clock and some other slave information.

  
  
  
  
  
  
  

Bluetooth Connection

A connection between two devices follows a particular way. First master inquires about Bluetooth devices in the range. If any Bluetooth device is listening for these inquires (inquiry scan sub-state), it responds to master by sending address and clock information (FHS packet) to the master 9 inquiry response state. After sending the information, the slave starts listening for the page messages from the master (page scan). Then master after discovering the Bluetooth devices in the range may page these devices (page sub-state) for connection setup. The slave in the page scan mode will respond if paged by the master (slave response sub-state). The master after receiving the response from the slave may respond by transmitting the master real time, masters BD-ADDR, the parity bits and the class of device (FHS packet). Once they both receive this FHS packet they enter in connection state.

CONNECTION STATE

A connection state starts with a packet sent by master to verify that slave has switch to the masters timing and channel frequency hopping. The slave can respond by sending any type of packet. Various connection states are

ACTVE

In this mode both master and slave actively participates on the channel by listening, transmitting or receiving. Master and slave both synchronize with each other.

SNIFF

In this mode slave rather than listening to the master’s message for that slave, it sniffs on the specified time slots for its messages. Hence it can go to sleep mode to save power.

HOLD

In this mode , a device temporary does not support the ACL packets and goes to low power sleep mode to allow activities like page scan, page inquiry etc.

PARK

When slave does not wants to participate in Pico-net but still wants to synchronize in the channel it goes into park mode which is a low power activity.

 

Comments

which language you use for cod of microcontroler  projects

thanks

Assembly language I use for cod.

In other language we can use? Or only using assembly language

Pages

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Search Engines will index and follow ONLY links to allowed domains.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.