Philips Bluetooth QuickStart Kit User Manual

Bluetooth QuickStart Kit Version 1.0 - User’s Guide
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit
User’s Guide
A Quick Way to Start Using and Integrate Bluetooth in YOUR Application…
Builds on InfraBed™ technology
EA2-USG-0402 Rev A
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 2
Embedded Artists AB
Friisgatan 33 SE-214 21 Malmö Sweden
info@EmbeddedArtists.com http://www.EmbeddedArtists.com
Copyright 2004-2005 © Embedded Artists AB. All rights reserved.
No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual or otherwise, without the prior written permission of Embedded Artists AB.
Disclaimer
Embedded Artists AB makes no representation or warranties with respect to the contents hereof and specifically disclaim any implied warranties or merchantability or fitness for any particular purpose. Information in this publication is subject to change without notice and does not represent a commitment on the part of Embedded Artists AB.
Feedback
We appreciate any feedback you may have for improvements on this document. Please send your comments to support@EmbeddedArtists.com
.
Trademarks
InfraBed and ESIC are trademarks of Embedded Artists AB. All other brand and product names mentioned herein are trademarks, services marks, registered trademarks, or registered service marks of their respective owners and should be treated as such.
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 3
Table of Contents
1.1 Contents ......................................................................................... 4
1.2 Using Bluetooth QuickStart Kit in Products................................ 4
1.2.1 Design and Production Services ................................................... 5
1.3 Software License ........................................................................... 5
1.4 Product Registration ..................................................................... 5
1.5 Other QuickStart Boards and Kits................................................ 5
2.1 Software Platform .......................................................................... 6
2.2 Features.......................................................................................... 6
2.3 Typical Usage................................................................................. 7
3.1 Typical Industrial Bluetooth Use-Cases..................................... 10
3.2 Remote Access ............................................................................ 10
3.3 Remote Control ............................................................................ 11
3.4 Remote Diagnostics .................................................................... 11
3.5 Local Service................................................................................ 12
3.6 Bluetooth Profiles ........................................................................ 13
3.6.1 Serial Port Profile ........................................................................ 13
3.6.2 LAN Access Profile ..................................................................... 13
3.7 connectBlue’s Modules............................................................... 14
4.1 File Structure................................................................................ 15
4.2 Program Development................................................................. 16
4.2.1 InfraBed ...................................................................................... 17
4.2.2 IAR Embedded Workbench......................................................... 17
4.2.3 Keil uVision ................................................................................. 17
4.3 Program Download ...................................................................... 17
4.3.1 Philips LPC2000 Flash Utility ...................................................... 18
4.3.2 LPC21ISP ................................................................................... 18
5.1 Schematic ..................................................................................... 20
5.2 Board Interfaces........................................................................... 22
5.3 Bluetooth Modules....................................................................... 24
5.4 Board Jumpers............................................................................. 25
5.5 Board Measurements .................................................................. 27
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 4
1 Introduction
Thank you for buying Embedded Artists’ Bluetooth QuickStart Kit based on the LPC2106 ARM7™ microcontroller from Philips and cb-OEMSPA-13i industrial Bluetooth module from connectBlue.
The Bluetooth QuickStart Kit contains a pre-designed platform, both hardware and software, with all necessary infrastructure functionality for using Bluetooth in industrial applications. The kit allows you to quickly evaluate the applicability of Bluetooth in YOUR application. Extensive documentation is included in order to lower the threshold of start using the kit even further. You can start to develop and include your own application on day 1.
The LPC2106 microcontroller from Philips is used on the board. It is part of Philips new ARM7TDMI-based family of high-performance microcontrollers.
This document is a User’s Guide that describes the Bluetooth Quickstart Kit with accompanying software and program development tools. Amongst other, the document contains information about the included software and a description on how to develop and add your own application. Also, electrical and mechanical information about the board is included.
1.1 Contents
The box received when ordering the Bluetooth QuickStart Kit contains the following:
One Bluetooth QuickStart Board including one cB-OEMSPA-13i Bluetooth module
from connectBlue.
One 64 Mbyte (or larger) SD memory card.
One CD-ROM which includes all necessary software to start developing your
application program. It contains complete as well as evaluation versions of different development environments along with a lot of sample applications.
One DC power supply, 5 volt 300 mA. Observe that the Bluetooth QuickStart Board
does not contain any reverse polarity protection. If voltage is applied with wrong polarity, the board will likely be damaged. Also observe that 6.0 volt is the absolute maximum voltage that can be applied without damaging the on-board voltage regulator (TPS70251). Consult the TPS70251 datasheet for exact details. Always use the included DC power supply to avoid possible damages.
One serial extension cable, DB9-male to DB9-female (DB9M-DM9F), for
connecting the Bluetooth QuickStart Board to a PC.
In addition, you may want the following in order to start developing applications with the Bluetooth QuickStart Board:
An optional JTAG interface, for program development debugging.
Observe that a JTAG interface is not needed for downloading new programs into the Bluetooth QuickStart Board. This can be done through the serial channel, but a JTAG interface enables better control over the processor and better debug support.
1.2 Using Bluetooth QuickStart Kit in Products
The Bluetooth Quickstart Board is not primarily designed for use in volume productions. It has been designed as a reference platform that illustrates how Bluetooth can be used and as an experimentation platform. The board can be used for low-volume production. Low-cost bulk packages (10, or more boards) exist. Contact Embedded Artists for OEM pricing issues.
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 5
Modifications to the design for OEM production can easily be done. Contact Embedded Artists for further information about design and production services.
1.2.1 Design and Production Services
Embedded Artists provide design services for custom designs, either completely new or modification to existing boards. Specific peripherals and/or I/O can easily be added to the different designs, for example communication interfaces, specific analogue or digital I/O, and power supplies. Embedded Artists has extensive experience in designing industrial electronics in general, and specifically with Philips LPC2xxx microcontroller family.
Prototype and low-volume production takes place in Sweden for best flexibility and
short lead times.
High-volume production takes place in China for lowest possible cost.
1.3 Software License
The software platform is provided as a library. This library may only be used in conjunction with the Bluetooth QuickStart Board, i.e., it may only run on a Bluetooth QuickStart Board. Embedded Artists sells commercial licenses for the software platform (including source code) that can run on any custom hardware. Please contact Embedded Artists for pricing information about commercial licenses of the software platform.
1.4 Product Registration
The accompanying CD-ROM contains a lot of information and programs that will QuickStart your program development. Observe that there may be newer versions of different documents and programs available than the ones on the CD-ROM.
By registering as a customer of Embedded Artists and as a Bluetooth QuickStart Kit user you will always have access to the latest information and new material (e.g., new sample applications).
Registering is easy and done quickly.
1) Go to http://www.EmbeddedArtists.com, select Support and then Register.
2) Type in the products serial number (can be found on the Bluetooth QuickStart Board
or on the package carrying the board) along with your personal information.
1.5 Other QuickStart Boards and Kits
Visit Embedded Artists’ home page, www.EmbeddedArtists.com, for information about other QuickStart boards / kits or contact your local distributor.
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 6
2 Bluetooth QuickStart Kit
This chapter provides a description of the Bluetooth QuickStart Kit; the platform (software and hardware aspects), features, and typical usage.
2.1 Software Platform
The Bluetooth QuickStart Kit includes a pre-designed software platform that integrates a mayor part of the needed infrastructure for advanced Bluetooth applications. By using the platform you avoid the long and narrow “do-it-yourself” way when start using new technology with all these typical activities:
Researching (RTOS, Compiler/IDE, TCP/IP Stack, PPP Stack, Web Server, File
System)
Hardware design (this is of course not part of the software platform, but an activity
that is typically also required if you don’t buy an off-the-shelf hardware board).
Configuration (RTOS, Compiler/IDE, TCP/IP Stack, PPP Stack, Web Server, File
System, Board Support Package)
Testing (hardware, each individual software component, integrating the platform)
Figure 1 below illustrates both the software and hardware side of the Bluetooth QuickStart Kit platform. Many sample applications are included in the kit just to lower the threshold of
start using the kit and to quickly get you up-and-running. The green parts in the picture illustrate the mayor software infrastructure functions.
Bluetooth QuickStart Platform
YOUR Application
+
Lots of Sample Applications
Web Server
FAT File
System
Pre-emptive Real-Time Operating System
YOUR
Hardware
Expansion
RS232
MMC/SD
Flash
Memory Card
TCP/IP
PPP
Bluetooth
Module from
connectBlue
Antenna
Figure 1 – Bluetooth QuickStart Platform
2.2 Features
The software features of Embedded Artists’ Bluetooth QuickStart Kit are:
Contains a pre-designed software platform with all necessary infrastructure:
Code delivered as a binary library
Copyright 2004-2005 © Embedded Artists AB
RTOS, TCP/IP Stack, PPP Stack, Web Server, FAT File System, Registry
Source code package also available as separate purchase.
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 7
Software platform code base is easily ported and extended to other hardware,
including other processor families.
Many sample applications included in order to lower the threshold to get you started.
Complete development environment is included (compiler, linker, make, editor, etc.)
Based on GCC.
Other compilers also supported, like Keil and IAR.
The user can easily add own applications and experiment with the technology.
About 30 kbytes of FLASH available and about 10 kbyte of SRAM
The hardware features of Embedded Artists’ Bluetooth QuickStart Kit are:
Built around the new LPC2106 from Philips (ARM7TDMI).
128 Kbyte program Flash and 64 Kbyte SRAM
Processor pins available on an expansion connector for user hardware
expansion.
cB-OEMSPA13i Bluetooth module from connectBlue included in kit.
Also works with cB-OEMSPA13x (external antenna) and cB-OEMSPA33i/x
(100 meter version).
Works with connectBlue’s Serial Port Adapter Wizard program
Connector for MMC/SD memory card
ESD/EMI protected RS232 channel available for connection with other systems or
debug printouts.
Support for automatic program download over the serial channel.
2
32 kByte non-volatile parameter memory (256 Kbit I
C E2PROM)
Standard 20 pos. ARM JTAG connector available for debug.
Size: 108 x 58 mm
Four mounting holes are 100 x 50 mm apart
Power: 5VDC, <150mA
2.3 Typical Usage
The Bluetooth QuickStart Kit can be used to easily create advanced MMI (Man-Machine­Interfaces) based on Internet technologies:
Use the web server to expose information and parameters that can be controlled.
Use the file system to store HTML files and picture files.
Use the serial channel to communicate (expose information or control parameters)
Access the system directly via a PDA, a laptop, or a Bluetooth LAN access point.
Figure 2 below illustrates how the Bluetooth QuickStart Board can be connected to any embedded system and expose internal variables in this system, or alternatively controls
Copyright 2004-2005 © Embedded Artists AB
with ANY System.
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 8
internal parameters in the system. Communication with the (arbitrary) embedded system can be done via the RS232 serial channel.
ANY System
Expose
Application
Control
Bluetooth
QuickStart Kit
PDA
Laptop
Stationary
Ethernet
WWW
Figure 2 – Typical Bluetooth QuickStart Application Scenario
In the scenario above, the Bluetooth QuickStart Board is used to create an advanced user interface to the embedded system. It is also possible to embed a complete application into the Bluetooth QuickStart Board. Relatively large applications can be added to the pre-designed software platform and the hardware can be expanded with necessary I/O. Figure 3 below illustrates this scenario.
Bluetooth
QuickStart Kit
ANY System
Application
PDA
Laptop
Stationary
Figure 3 – Integrating a Complete Application into the Bluetooth QuickStart Board
Ethernet
WWW
There is a trend towards more integrated system solutions, especially in industrial applications. Driving factors are more cost effective solutions (in many cases also increased performance) and better possibilities for surveillance, diagnostics, and maintenance. There
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 9
are many interesting business possibilities when integrating diagnostic functions in a system, like better maintenance and a profitable after market. Remote administration and remote control gives the prerequisites of lower working expenses, lower total system costs, and a profitable after market.
The Bluetooth QuickStart Kit allows you to experiment and develop these kinds of applications.
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 10
3 Bluetooth Use-Cases
This chapter provides a description of typical use-cases when using Bluetooth in industrial applications.
3.1 Typical Industrial Bluetooth Use-Cases
There are basically two different use-cases for industrial Bluetooth applications:
User Interface
In this case, Bluetooth is used to access a system wirelessly in order to control different parameters and/or to retrieve information. A web server is used to create the user interface and a standard web browser can be used to access the system.
Machine-to-Machine Communication (M2M)
In this case, Bluetooth is used for communication between different (industrial) systems. Standard TCP/IP communication is used to transfer information. Alternatively, Bluetooth is used to create a simple serial cable replacement. The Bluetooth modules from connectBlue have this feature built-in from start (i.e., the serial cable replacement). The Bluetooth QuickStart Kit is used to create more advanced applications based on TCP/IP communication.
A user interface can be viewed as the manual version of the automatic M2M communication. An operator can basically perform all the operations manually that would otherwise take place automatically.
The following sections will describe a couple of typical advanced industrial Bluetooth use­cases, all of which can be built by using the Bluetooth QuickStart Kit. Motor applications are used to illustrate the industrial function, but can of course be any industrial building component.
3.2 Remote Access
Remote access of a system has many benefits:
A more up-to-date view of the system is possible, even though the different parts of
the system may be far apart. Bluetooth support distances up to 100 meters. If a longer distance is needed, some systems may connect directly to an Ethernet network.
General cost reduction since information can be accessed without physical presence
near the system.
Examples of remote access systems are different meter systems, like power meters and water meters. The information is produced locally (at a remote location) and is more valuable in a central place. Figure 4 below illustrates the remote access use-case.
Bluetooth or
direct access
Figure 4 – Remote Access Use-Case
Copyright 2004-2005 © Embedded Artists AB
Internet
Operator Stations
Read Status
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 11
3.3 Remote Control
Remote control is almost the same as remote access. The only difference is the direction of the information. In remote access the information mainly flows from the remote system to (typically) a central place. In remote control the information direction is the opposite; from the central place to the remote system. A number of (typical) example applications are:
Motor control, which can for example be a softstarter, power control (on/off),
adding remote I/O capabilities, and simple PLC functionality.
Pumps, which is basically a motor system that must be controlled.
Conveyors, which is also a motor system with many parameters to set.
Ventilation systems, which can be advanced control systems with many parameters
to set and control.
Device configuration, which is the general case of controlling a remote system.
Figure 5 below illustrates remote control of a motor, either via direct cabling or direct Bluetooth access via a PDA or laptop.
Operator Stations
Start Motor
Internet
Bluetooth or direct access
Wireless
PDA
Figure 5 – Remote Control Use-Case
There are many benefits when creating remote control systems:
Of course, the ability to control remote control systems at remote locations
Wireless control, sometimes as simple as serial cable replacement, but also more
advanced forms of communication.
The possibility to control hazardous applications, which can for example be
dangerous to be physically close to the system (i.e., rotating or high-voltage).
3.4 Remote Diagnostics
Remote diagnostics is an important application of remote access. An example application is motor diagnostics that will serve as a reference application in this description. Examples of analyses are:
Bearing vibration analysis
Voltage and current measurement
Temperature measurement
Counting number of start and stops
The information can either be locally analyzed or sent to a central location for further processing. Decisions, like immediately stopping the motor, can be taken locally if the
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 12
decisions must be made quickly. Trends can be discovered when analyzing the data, for example that a bearing is about to break down but will hold for another two months. Maintenance can in such cases be planned in advance to minimize the operation costs. Figure 6 below illustrates a typical system with motor diagnostics.
Operator Stations
Vibration too high.
Stopping motor!
Bluetooth or direct access
Wireless
PDA
Figure 6 – Remote Diagnostics Use-Case
The benefits of remote diagnostics are numerous:
Lower maintenance cost
Fewer unexpected system failures since maintenance can be planned in advance
The prerequisite for Service Level Agreements (SLAs)
The possibility for remote data logging
3.5 Local Service
Local service is a good example of how the web server functionality in the Bluetooth QuickStart Board can be used. The system stores a number of relevant documents, such as:
Service Logs
Blueprints
Datasheets
User’s Manuals
The system can of course also be configured via the web server user interface. Figure 7 below illustrates the local service use-case.
Figure 7 – Local Service Use-Case
Copyright 2004-2005 © Embedded Artists AB
Service Log
[2003-12- 24]
[2004-01- 10]
[2004-02- 25]
Blueprint
Service Log
User’s Manual
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 13
A field engineer, or similar, can then easily access all relevant documents directly on site. The system becomes more self-contained since all relevant documents “follow” the system.
The benefits are also in this case numerous:
Easy local access to the system
No need to physically connect to the system
Manuals and logs are always available on the system
3.6 Bluetooth Profiles
What is a Bluetooth profile?
Well, it is basically the result of genuine engineering work. The profile concept is used to minimize (perhaps not completely eliminate) the risk of interoperability problems between different manufacturers' Bluetooth products. A number of user models describe different user scenarios and roles, where Bluetooth performs the radio transmission. Different profiles have been developed based in these use cases. A profile describes how to implement a specific group of use cases. It also defines options in each protocol (in the Bluetooth protocol stack) that are mandatory for the profile, as well as parameter ranges for each included protocol.
The profile protocols can be viewed as protocols placed on top of the basic Bluetooth protocol stack. A profile can be described as a vertical slice through the protocol stack. Many profiles build on each other. For example, the LAN Access profile requires the Serial Port profile, as do the Dial-up Networking profile.
Every Bluetooth unit must support the Generic Access Profile, or GAP for short. It defines many of the basic Bluetooth functions, such as device discovery, security, and name discovery.
3.6.1 Serial Port Profile
There are a lot of profiles that have absolutely no use in industrial applications but rather targeted for specific consumer applications, such as transferring pictures from a digital camera, transferring data to a printer, and sending/receiving faxes. These profiles will not be covered, but two profiles are worth mentioning. The first of them is the Serial Port Profile, or SPP for short. It emulates a serial cable connection between two peer devices, or simply put, transparently transfers a stream of byte from point A to point B and vice versa.
SPP has defined the roles DevA and DevB. DevA is the initiator of a connection, and DevB is hence the recipient of a connection request. In order for a device to enable incoming connections, the DevB role must be enabled in that specific device. It is possible to have several parallel connections in a device, i.e. several instances of DevA and/or DevB. Figure 8 below illustrates the different SPP roles.
Connect
DevA
Client
Data transfer
DevB
Server
Figure 8 – Serial Port Profile Roles
3.6.2 LAN Access Profile
The second profile what we will have a closer look into is the LAN Access Profile, or LAP for short. It allows a device to access a LAN (typically an Internet network) through a gateway (actually a server). LAP has defined the roles LAN Access Point (LAP) and Data Terminal (DT). The LAP acts like a gateway and provides the actual LAN access, and the DT device uses the services provided by LAP. Figure 9 illustrates the roles. To enable
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 14
incoming connection requests to the LAN Access Profile, the LAP role must be enabled in that specific device. It is possible to enable several instances of the LAP role in order to allow several parallel connections through the LAP. A device must take the DT role in order to connect to other devices supporting the LAP role.
The data transfer takes place over PPP and TCP/IP, which encapsulate the actual user data. The LAN Access profile only provides a transparent serial channel, much like SPP. Only PPP is dictated by the profile, but TCP/IP is almost always used on top of PPP.
Also observe that the LAN must not be an actual LAN (like Ethernet). It can also be a simulated LAN, which is very application specific.
DT
Client
LAN Access Profile
Figure 9 – LAN Access Profile Roles
Connect
Data transfer
(PPP, TCP/IP, user data)
LAP
Server
LAN Access Profile
LAN
3.7 connectBlue’s Modules
The Bluetooth module (cB-OEMSPA-13i) from connectBlue that is used in the Bluetooth QuickStart Kit can operate in one of several different profile modes:
SPP server
The module waits for SPP clients to connect and establish transparent serial channels. This mode is not used in the Bluetooth QuickStart Kit.
SPP clients
The module tries to connect to SPP servers, in order to establish a transparent serial channel. This mode is not used in the Bluetooth QuickStart Kit.
LAN Access Server
This is the normal operating mode when using the Bluetooth QuickStart Kit. The board behaves as a web server that can be accessed from LAN clients that connect to the LAN server. The system waits for clients (i.e., web browsers) to connect. There is no actual LAN that is accessed. Instead the TCP/IP stack and web server on the board are accessed.
LAN Access Client
Copyright 2004-2005 © Embedded Artists AB
This is an alternative operating mode when using the Bluetooth QuickStart Kit. In this case, the system initiate connection requests (i.e., it is a client) to other LAN access servers. These servers can be only web servers without any actual LAN behind when, or they can be LAN access points. In the latter case, the servers act as gateways between the Bluetooth world and (typically) a wired Ethernet world.
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 15
4 Compiling and Running Application
Programs
This chapter provides a description of how to develop, compile, and download applications into the Bluetooth QuickStart Board.
4.1 File Structure
The pre-designed software platform is delivered as a library along with a number of header files that declare the different API:s. See BApplication Program Interface (API) for a detailed API description. The platform contains the following main infrastructure functions:
Pre-emptive Real-Time Operating System (RTOS)
TCP/IP protocol stack
PPP protocol stack
Web server
File system, supporting MMC/SD memory cards. Supports FAT16.
Registry, for non-volatile storage of parameters
The platform is place in a directory called QSPlatform. This directory contains two important files; quickstart_vXYZ.a (which is the library of the platform) and quickstart_vXYZ.h (which is the API definition). _vXYZ indicate the version of the platform, and can for example be _v102 (meaning version 1.0.2). See Figure 10 below for an illustration of the file structure.
QuickStartKit
Glue between platform and application
*.c
glue.c
Application Programmers Interface
API Definit ions
QSPlatform
Inner Subdirectories
Sample_xxx
Sample_yyy
Sample_zzz
*.h
quickstart_vXYZ.h quickstart_vXYZ.a
Sample Applications
*.c
Source code that demonstrates different
*.h
functionality within the platform
Sample Applications
*.c
Source code that demonstrates different
*.h
functionality within the platform
Sample Applications
*.c
Source code that demonstrates different
*.h
functionality within the platform
Figure 10 – Bluetooth QuickStart Kit File Structure
A number of sample applications are included in the Bluetooth QuickStart Kit. These are placed in the different sample_xxx subdirectories. It is recommended to study these examples for a better understanding of the platform and how to create custom applications. Each sample application typically contains one, or more, C-files implementing the
Copyright 2004-2005 © Embedded Artists AB
Your_application
*.c
Your Sample Application
*.h
Source code that implement your application
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 16
application and a makefile. The makefile contains directives of how to compile and link the complete application. A typical makefile is listed in Figure 11 below.
/* * Example makefile that creates a program called ‘mySampleApp’ */
# name of the program NAME = mySampleApp
PROJECT_ROOT = .
# Link program to RAM or ROM (possible values for RAMROM is RAM or ROM, # if not specified = ROM) RAMROM = ROM
# ELF-file contains debug information, or not # (possible values for DEBUG are 0 or 1) DEBUG = 1
# Optimization setting # (-Os for small code size, -O2 for speed) DBFLAGS = -Os
#Extra flags EFLAGS = -mthumb-interwork
# Processes run in ARM or THUMB mode # OBS. Do not change this setting. Instead, re-generate the operating system TASK = THUMB
# subdirectories to recursively invoke make in SUBDIRS =
# additional libraries to merge into this library LIBS = ../quickstart/quickstart_vXYZ.a
# c-code files CSRCS = ../glue.c \ mySampleApp.c
include program.mk
Figure 11 – Example Makefile
Name of final program.
Include the platform library: quickstart.a
Always include glue.c Also include all application files, in this case: mySampleApp.c
A typical application (mySampleApp.c, in this case) includes the file glue.c (under the file root) and includes quickstart_vXYZ.h whenever the platform API must be used. The file glue.c contains a number of initialization functions and program hooks (can be used for extending the functionality of the platform). Also, the library quickstart_vXYZ.a is included in the final link stage.
4.2 Program Development
Three different application program development environments are supported:
InfraBed from Embedded Artists
Embedded Artists unique configurable software generator contains a complete GCC build environment for very easy program development. The current version of GCC is 3.4.3. By installing InfraBed you will automatically also get a complete setup of the build environment. This is the preferred way of developing and compiling application programs.
IAR Embedded Workbench
A complete development environment from IAR Systems, including an editor, project manager, a complete compiler build environment, and a debugger. This development environment must be bought separately from IAR.
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 17
Keil uVision (DKARM version)
This is another complete development environment, but from Keil. It includes an editor, project manager, a complete compiler build environment, and a debugger. An evaluation version can be downloaded from Keils homepage. The DKARM-version is based on the GCC compiler (currently version 3.3.1 of GCC). It is this version of the compiler that can be used for application development.
4.2.1 InfraBed
Along with InfraBed, a complete build environment and program download exist for GCC. The build environment is built around a bash script. This script sets up all necessary paths. When installing InfraBed you will automatically get shortcuts to this bash script. A practical feature is that there can be different scripts for different hardware platforms, for controlling different hardware specific details of the platforms. There can also be many different compilers (including different versions of the same compiler) without conflicting with each other.
To build the application program, start a command prompt (the bash script) and type: make. Depending on the make file content, either an executable program or a library will be created. To also download the executable program, type: deploy instead of make. A description about program downloading can be found in Section 4.3 .
A final note about the make file; make clean will erase all object file.
4.2.2 IAR Embedded Workbench
Consult the IAR Embedded Workbench documentation (after installation) for details about how to get started.
4.2.3 Keil uVision
Consult the Keil uVision documentation (after installation) for details about how to get started.
4.3 Program Download
When the application program has been written, compiled, and linked with the platform it is time to download the program into the Bluetooth QuickStart Board. It is assumed that there exists a HEX-file that represents the binary image of the complete program.
There are basically two ways of downloading a program into the LPC2106 microcontroller:
ISP – In-System Programming
The LPC2106 microcontroller provides on-chip bootloader software that allows programming of the internal flash memory over the serial channel. The bootloader is activated by pulling port pin P0.14 low during reset of the microcontroller. The Bluetooth QuickStart Board contains circuits for automatically controlling pin P0.14 and the reset signal over the RS232 channel. This allows the program download to be fully automated.
Copyright 2004-2005 © Embedded Artists AB
o Philips provides a utility program for In-System Flash (ISP) programming
called LPC2000 Flash Utility.
o Alternatively, there is a program called LPC21ISP that can be used. Source
code is available. This program also provides a terminal functionality, which can be very helpful when developing your application program. The same serial channel that is used to download the program is typically also used for printing out information from the running program. The program immediately switch to terminal mode after program download and will hence not miss any characters sent on the serial channel directly after program start.
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 18
The installation files for both programs can be found on the accompanying CD­ROM.
JTAG
For specific information about program download (i.e., Flash programming) with a JTAG interface, consult the manual for the specific JTAG interface that is used (e.g., J-link from Segger, Ulink from Keil, or Wiggler from MacRaigor).
Set switch SW2 in the position that enables the automatic program download feature. After program download, switch SW2 can be left in the “enable automatic bootloader” position or changed into the “disable automatic bootloader” position, if needed. If, for example, the system that is connected to the RS232 channel controls the RS232 signals DTR and/or RTS during normal program execution, then it might be required that SW2 is placed in the “disable automatic bootloader” position. Else the automatic bootloader may be unintentionally activated.
4.3.1 Philips LPC2000 Flash Utility
Philips LPC2000 Flash Utility program looks like Figure 12 below.
Figure 12 – Philips LPC2000 Flash Utility Screenshot
Configure the dialog as shown above. The program will control the RS232 signals DTR and RTS if the appropriate checkbox is checked, and hence provide fully automated program download.
Test connection with the Bluetooth QuickStart Board by pressing the Read Device ID button. The text fields for Part ID and Boot Loader ID will then contain uploaded information from the microcontroller. Observe that the XTAL Freq. must be set to appropriate value. The default mounted crystal frequency on the Bluetooth QuickStart Board is 14.7456 MHz. In this case the value 14746 shall be written in the text box. If no connection can be established test with a low Baud Rate, for example 1200 bps. Also verify that the correct COM-port has been selected (under Connected to Port).
Select the HEX file to be downloaded and then press the Upload to Flash button.
The downloaded program will immediately start after the download (i.e. the Upload to Flash operation is ready) is the option Execute Code after Upload is checked.
4.3.2 LPC21ISP
The LPC21ISP program is made publicly available by Martin Maurer. Source code is also available at: http://engelschall.com/~martin/lpc21xx/isp/index.html. Figure 13 below shows the command syntax for the program.
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 19
Figure 13 – LPC21ISP Portable Command Line ISP Screenshot
A typical program download sequence may look like in Figure 14 below. As seen, the first part is the actual program download phase. Then this is done, the program switches to being a terminal (the second part) and the messages from the application program are displayed. It also sends anything typed on the keyboard back to the Bluetooth QuickStart Board. As seen the program ends when ESC is pressed.
Program Download Phase
Terminal
Figure 14 – LPC21ISP Portable Command Line ISP Download Screenshot
Phase
Observe that the binary version 1.22 of the program will not work directly without a change in the reset timeout (when the program tries to synchronize to the Bluetooth QuickStart Board). The timeout must be increased to at least 200 ms.
LPC21ISP is automatically invoked when deploy is typed in the command prompt (the bash script from InfraBed).
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 20
5 Schematic and Measurements
The chapter describes the Bluetooth QuickStart Kit board schematic and measurements.
5.1 Schematic
The Bluetooth QuickStart Kit board schematic is drawn in Figure 15 and Figure 16 below.
Figure 15 – Bluetooth QuickStart Board Schematic Drawing Page 1
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 21
Figure 16 – Bluetooth QuickStart Board Schematic Drawing Page 2
Copyright 2004-2005 © Embedded Artists AB
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 22
(p
)
m
(
)
5.2 Board Interfaces
The Bluetooth QuickStart Kit board has a number of external interfaces as illustrated in Figure 17 below.
Bluetooth
module
Status indicating
RGB LEDs
MMC/SD memory
card connector
bottom side
Female
9-pos DSUB
Power
jack
2.1 m
Bluetooth factory
JTAG connector
for LPC2106
Expansion connector
Figure 17 – Bluetooth QuickStart Board Interface Description
Table 1 below explains each board interface in more detail.
Female 9-pos DSUB
A standard RS232 channel with ESD/EMI protection. Normally connected to a PC or an embedded system.
Connector is used for:
1. Program download
2. Terminal printouts for
application program
Pin 2 = transmit data (output)
Pin 3 = receive data (input)
Pin 4 = DTR (input) for controlling automatic
program download
Pin 5 = ground
Pin 7 = RTS (input) for controlling automatic
program download
Pin 8 = CTS (output)
development debugging
Reset
LED
Reset
button
in #1
Copyright 2004-2005 © Embedded Artists AB
3. Connection with ANY embedded
system, in order to transfer data between the system and the Bluetooth QuickStart Board.
Bluetooth QuickStart Kit Version 1.0 - User’s Guide Page 23
Power jack
4-6 V DC, at least 150 mA.
The power input is protected against reverse polarity, but the board may still be damaged if reverse polarity is applied. Also, never exceed +6V DC because the on-board voltage regulator will then be damaged.
Always use the power supply that comes with the Bluetooth QuickStart Kit.
Reset LED
Reset is typically active 120 mS.
Reset button
Manual reset button that will generate a 120 mS reset pulse.
Center pin = Ground
Outer shield = +4-6V DC
The LED lights when reset is active, i.e., the reset signal is low.
Expansion connector
All processor pins are available at the expansion connector. Many pins are used by the Bluetooth QuickStart Kit platform, but some are still available. Consult the LPC2106 datasheet for detailed signal description.
JTAG connector
JTAG connector for program download and program debugging. Consult the LPC2106 datasheet and ARM JTAG description for details about all signals and functionality.
Bluetooth module
This is the Bluetooth module from connectBlue. Consult the modules datasheet for detailed functional and signal description.
See schematic (Figure 15 and Figure 16) for signal positions.
Standard 20 pos. ARM JTAG connector.
How the connector is connected to the LPC2106 processor pins is shown in the schematic, see Figure 15.
See cB-OEMSPA-13i datasheet for signal description
Bluetooth factory reset switch
This push-button is connected directly to the Bluetooth module and is part of the factory reset functionality. Consult the cB-
Copyright 2004-2005 © Embedded Artists AB
Loading...
+ 51 hidden pages