Example program for the TLE5012B magnetic 360° angle sensor.

Dependencies:   TLE5012B

Example program for the TLE5012B 360° angle sensor.

TLE5012B

200


The TLE5012B is a 360° angle sensor that detects the orientation of a magnetic field. This is achieved by measuring sine and cosine angle components with monolithic integrated Giant Magneto Resistance (iGMR) elements. These raw signals (sine and cosine) are digitally processed internally to calculate the angle orientation of the magnetic field (magnet). The TLE5012B is a pre-calibrated sensor. The calibration parameters are stored in laser fuses. At start-up the values of the fuses are written into flip-flops, where these values can be changed by the application-specific parameters. Further precision of the angle measurement over a wide temperature range and a long lifetime can be improved by enabling an optional internal autocalibration algorithm. Data communications are accomplished with a bi-directional Synchronous Serial Communication (SSC) that is SPI-compatible. The sensor configuration is stored in registers, which are accessible by the SSC interface.

A bi-directional Synchronous Serial Communication (SSC) Interface (aka 3-wire SPI) is used for the communication. The TLE5012B has a single pin for Data input and and Data output. This pin is connected to the Mbed's SPI MOSI and MISO pins using a series/pull-up resistor as proposed for the 3-wire SPI by Wim Huiskamp


Wiring of a SSC (aka 3-wire SPI) communication bus:

https://os.mbed.com/media/uploads/hudakz/tle5012b_wiring02.png



Used library:

Import libraryTLE5012B

Library for the TLE5012B magnetic 360° angle sensor.

Committer:
hudakz
Date:
Sat Sep 19 18:50:19 2020 +0000
Revision:
2:e2300152c6c5
Parent:
0:0a652123777c
Example program for the TLE5012B Giant Magneto Resistance (GMR) based angle sensor.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 0:0a652123777c 1 ![](./resources/official_armmbed_example_badge.png)
hudakz 0:0a652123777c 2 # Blinky Mbed OS example
hudakz 0:0a652123777c 3
hudakz 0:0a652123777c 4 The example project is part of the [Arm Mbed OS Official Examples](https://os.mbed.com/code/) and is the [getting started example for Mbed OS](https://os.mbed.com/docs/mbed-os/v5.14/quick-start/index.html). It contains an application that repeatedly blinks an LED on supported [Mbed boards](https://os.mbed.com/platforms/).
hudakz 0:0a652123777c 5
hudakz 0:0a652123777c 6 You can build the project with all supported [Mbed OS build tools](https://os.mbed.com/docs/mbed-os/latest/tools/index.html). However, this example project specifically refers to the command-line interface tool [Arm Mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli).
hudakz 0:0a652123777c 7 (Note: To see a rendered example you can import into the Arm Online Compiler, please see our [import quick start](https://os.mbed.com/docs/mbed-os/latest/quick-start/online-with-the-online-compiler.html#importing-the-code).)
hudakz 0:0a652123777c 8
hudakz 0:0a652123777c 9 1. [Install Mbed CLI](https://os.mbed.com/docs/mbed-os/latest/quick-start/offline-with-mbed-cli.html).
hudakz 0:0a652123777c 10
hudakz 0:0a652123777c 11 1. Clone this repository on your system, and change the current directory to where the project was cloned:
hudakz 0:0a652123777c 12
hudakz 0:0a652123777c 13 ```bash
hudakz 0:0a652123777c 14 $ git clone git@github.com:armmbed/mbed-os-example-blinky && cd mbed-os-example-blinky
hudakz 0:0a652123777c 15 ```
hudakz 0:0a652123777c 16
hudakz 0:0a652123777c 17 Alternatively, you can download the example project with Arm Mbed CLI using the `import` subcommand:
hudakz 0:0a652123777c 18
hudakz 0:0a652123777c 19 ```bash
hudakz 0:0a652123777c 20 $ mbed import mbed-os-example-blinky && cd mbed-os-example-blinky
hudakz 0:0a652123777c 21 ```
hudakz 0:0a652123777c 22
hudakz 0:0a652123777c 23
hudakz 0:0a652123777c 24 ## Application functionality
hudakz 0:0a652123777c 25
hudakz 0:0a652123777c 26 The `main()` function is the single thread in the application. It toggles the state of a digital output connected to an LED on the board.
hudakz 0:0a652123777c 27
hudakz 0:0a652123777c 28 ## Building and running
hudakz 0:0a652123777c 29
hudakz 0:0a652123777c 30 1. Connect a USB cable between the USB port on the board and the host computer.
hudakz 0:0a652123777c 31 2. <a name="build_cmd"></a> Run the following command to build the example project and program the microcontroller flash memory:
hudakz 0:0a652123777c 32 ```bash
hudakz 0:0a652123777c 33 $ mbed compile -m <TARGET> -t <TOOLCHAIN> --flash
hudakz 0:0a652123777c 34 ```
hudakz 0:0a652123777c 35 The binary is located at `./BUILD/<TARGET>/<TOOLCHAIN>/mbed-os-example-blinky.bin`.
hudakz 0:0a652123777c 36
hudakz 0:0a652123777c 37 Alternatively, you can manually copy the binary to the board, which you mount on the host computer over USB.
hudakz 0:0a652123777c 38
hudakz 0:0a652123777c 39 Depending on the target, you can build the example project with the `GCC_ARM`, `ARM` or `IAR` toolchain. After installing Arm Mbed CLI, run the command below to determine which toolchain supports your target:
hudakz 0:0a652123777c 40
hudakz 0:0a652123777c 41 ```bash
hudakz 0:0a652123777c 42 $ mbed compile -S
hudakz 0:0a652123777c 43 ```
hudakz 0:0a652123777c 44
hudakz 0:0a652123777c 45 ## Expected output
hudakz 0:0a652123777c 46 The LED on your target turns on and off every 500 milliseconds.
hudakz 0:0a652123777c 47
hudakz 0:0a652123777c 48
hudakz 0:0a652123777c 49 ## Troubleshooting
hudakz 0:0a652123777c 50 If you have problems, you can review the [documentation](https://os.mbed.com/docs/latest/tutorials/debugging.html) for suggestions on what could be wrong and how to fix it.
hudakz 0:0a652123777c 51
hudakz 0:0a652123777c 52 ## Related Links
hudakz 0:0a652123777c 53
hudakz 0:0a652123777c 54 * [Mbed OS Stats API](https://os.mbed.com/docs/latest/apis/mbed-statistics.html).
hudakz 0:0a652123777c 55 * [Mbed OS Configuration](https://os.mbed.com/docs/latest/reference/configuration.html).
hudakz 0:0a652123777c 56 * [Mbed OS Serial Communication](https://os.mbed.com/docs/latest/tutorials/serial-communication.html).
hudakz 0:0a652123777c 57 * [Mbed OS bare metal](https://os.mbed.com/docs/mbed-os/latest/reference/mbed-os-bare-metal.html).
hudakz 0:0a652123777c 58 * [Mbed boards](https://os.mbed.com/platforms/).
hudakz 0:0a652123777c 59
hudakz 0:0a652123777c 60 ### License and contributions
hudakz 0:0a652123777c 61
hudakz 0:0a652123777c 62 The software is provided under Apache-2.0 license. Contributions to this project are accepted under the same license. Please see contributing.md for more info.
hudakz 0:0a652123777c 63
hudakz 0:0a652123777c 64 This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide.