Creating a Piconet
A piconet can be created in one of 4 ways:
- A page (used by Master to connect to Slave)
- A page scan (a unit listens for its´ device access code)
- A Master – Slave switch is made
- An ”Unpark” of a unit is made (provided there are no active slaves).
In order to establish new connections the procedures inquiry and paging are used. The inquiry procedure enables a unit to discover which units are in range, and what their device addresses and clocks are. With the paging proce-dure, an actual connection can be established. Only the Bluetooth device address is required to set up a connection. Knowledge about the clock will
accelerate the setup procedure. A unit that establishes a connection will carry out a page procedure and will automatically become the master of the connection.
For the paging process, several paging schemes can be applied. There is one mandatory paging scheme which has to be supported by each Bluetooth device. This mandatory scheme is used when units meet for the first time, and in case the paging process directly follows the inquiry process. Two units, once connected using a mandatory paging/scanning scheme, may agree on an optional paging/scanning scheme. |
The Connection Establishment
After the paging procedure, the master must poll the slave by sending POLL or NULL packets, to which the slave responds.
LMP procedures that do not require any interactions between the LM and the host at the paged unit’s side can then be carried out.
When the paging device wishes to create a connection involving layers above LM, it sends LMP_host_connection_req. When the other side receives this message, the host is informed about the incoming connection. The remote device can accept or reject the connection request by sending LMP_accepted or LMP_not_accepted.
When a device does not require any further link set-up procedures, it will send LMP_setup_complete. The device will still respond to requests from the other device. When the other device is also ready with link set-up, it will send LMP_setup_complete. After this, the first packet on a logical channel different from LMP can then be transmitted. |