|
BLUEPORT
– Bluetooth interface for embedded systems
Abstract
BLUEPORT
is a small, card sized module intended to be used as a smart
SPI peripheral and providing seamless communication over Bluetooth
for any embedded application. The application designer doesn’t
have to take care about all the inner works of the Bluetooth
protocol stack since these are handled by the BLUEPORT. From
the application designer point of view, communication over Bluetooth
is reduced to writing some API calls to the SPI port to open/close
a communication channel to an other Bluetooth device and to
send/receive data to/from the remote device.
BLUEPORT
has its applicability in any embedded application where wireless
communication over Bluetooth has to be achieved with minimum
code overhead.
An
AT90S8515 with 32K external SRAM, running at 11.0592MHz and
an Ericsson ROK100108 Bluetooth module runs a mini Bluetooth
stack, implemented according to the Generic Access Profile from
the Bluetooth specification v1.1.
All
Bluetooth functionality is hidden behind an easy to use API,
accessible through the SPI.
Top
view and block diagram of BLUEPORT:

Implementing
the Bluetooth stack lower layers: HCI and L2CAP, BLUEPORT handles
all operations required to communicate over Bluetooth: managing
baseband connections, logical channels, packet segmentation/reassembly
and provides 57600 bps data rate through the radio link.
BLUEPORT
handles up to two baseband ACL links and up to four logical
channels. Implementation in the host controller of higher layer
protocols such as SDP, RFCOMM or TCP/IP is possible .
It
is presented the test application for BLUEPORT which also could
be a typical application: an AT90S8515 is linked to the BLUEPORT
through its SPI port, and to a host PC through its hardware
UART. On an other PC is running the OGENEK Bluetooth stack (see
www.cstack.com).
The host PC, running a simple terminal program will send through
its UART at 57600bps numbers, indexing BLUEPORT API calls. The
host AVR will translate these indexes in real API calls and
send these calls to the BLUEPORT. Events and data received from
the BLUEPORT through the SPI is sent through the UART to the
PC.
With
this configuration I’ve realized Bluetooth connections and data
transfers initiated both from the PC running the OGENEK stack
and from the PC running the terminal program. This sample application
is the base for a Bluetooth dongle for the PC serial port: BLUEPORT
is running the basic Bluetooth stack, while the other AVR controller
runs the higher layer protocols such as SDP and RFCOMM and bridges
data from the PC UART to BLUEPORT SPI port.
Typical
application: an application running on a PC with Bluetooth interface
monitor several embedded applications, each running a Bluetooth
stack in BLUEPORT.

|