|
| 1 | +# Platform - I2C Fast Plus Mode # |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +## Overview ## |
| 12 | + |
| 13 | +This project demonstrates the I2C communication in fast plus mode between 2 EFR32xG2x boards. This project contains the implementation for the leader device. Communication process between 2 boards is triggered once the button 0 is pressed on the leader device. |
| 14 | + |
| 15 | +## SDK version ## |
| 16 | + |
| 17 | +- [SiSDK v2024.12.0](https://github.com/SiliconLabs/simplicity_sdk) |
| 18 | + |
| 19 | +## Software Required ## |
| 20 | + |
| 21 | +- [Simplicity Studio v5 IDE](https://www.silabs.com/developers/simplicity-studio) |
| 22 | + |
| 23 | +## Hardware Required ## |
| 24 | + |
| 25 | +- 1 x [Silicon Labs EFR32xG24 Radio Board (BRD4186C)](https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board?tab=overview) and Wireless Starter Kit |
| 26 | + |
| 27 | +- 1 x [EFR32xG24 Explorer Kit](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview) |
| 28 | + |
| 29 | +## Connections Required ## |
| 30 | + |
| 31 | +The hardware connection is shown in the table below: |
| 32 | + |
| 33 | +| Pin | Leader device (BRD2703A) | Follower device (BRD4186C)| |
| 34 | +|:----|:-------------------------|:--------------------------| |
| 35 | +| SCL | PB4 | EXP HEADER 11 | |
| 36 | +| SDA | PB5 | EXP HEADER 7 | |
| 37 | + |
| 38 | +**Note:** You must connect 2 GND pins of 2 board together. |
| 39 | + |
| 40 | +## Setup ## |
| 41 | + |
| 42 | +To test this application, you can either create leader project based on an example project or start with a "Empty C Project" project based on your hardware. You should connect the EFR32xG24 Explorer Kit Board to the PC using a MicroUSB cable. |
| 43 | + |
| 44 | +### Create a project based on an example project ### |
| 45 | + |
| 46 | +1. From the Launcher Home, add the **BRD2703A** to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project filtering by "fast plus". |
| 47 | + |
| 48 | +  |
| 49 | + |
| 50 | +2. Click Create button on the **Platform - I2C Fast Plus Mode** example. Example project creation dialog pops up -> click Create and Finish and Project should be generated. |
| 51 | + |
| 52 | +3. Build and flash this example to the board. |
| 53 | + |
| 54 | +### Start with a "Empty C Project" project ### |
| 55 | + |
| 56 | +1. Create a **Empty C Project** project for your hardware using Simplicity Studio 5. |
| 57 | + |
| 58 | +2. Copy the .c files 'src/app.c' to the following directory of the project root folder (overwriting the existing files). |
| 59 | + |
| 60 | +3. Install the software components: |
| 61 | + |
| 62 | + - Open the .slcp file in the project. |
| 63 | + |
| 64 | + - Select the SOFTWARE COMPONENTS tab. |
| 65 | + |
| 66 | + - Install the following components: |
| 67 | + - [Platform] → [Peripheral] → [I2C] |
| 68 | + - [Platform] → [Peripheral] → [RTCC] |
| 69 | + |
| 70 | +4. Build and flash this project to the board. |
| 71 | + |
| 72 | +### Create follower project ### |
| 73 | + |
| 74 | +1. From the Launcher Home, add the **BRD4186C** to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project filtering by "i2c follower". |
| 75 | + |
| 76 | +  |
| 77 | + |
| 78 | +2. Click Create button on the **Platform - BRD4186C EFR32MG24 I2C Follower** example. Example project creation dialog pops up -> click Create and Finish and Project should be generated. |
| 79 | + |
| 80 | +3. Build and flash this example to the board. |
| 81 | + |
| 82 | +## How it Works ## |
| 83 | + |
| 84 | +Press **BTN0** on the leader kit to trigger an I2C test (read follower buffer, increment, write, read, verify). **LED0** will toggle with a successful I2C test whereas **LED1** will turn on to indicate a failure. You can observe that received values received from the follower (rxBuffer) match transmitted values sent by leader (txBuffer) by viewing *i2c_rxBuffer* and *i2c_txBuffer* respectively in the Expressions window of Simplicity Studio. |
| 85 | + |
| 86 | +## Testing ## |
| 87 | + |
| 88 | +**LED0** is used to verify the result of the transmission process. To confirm that the I2C transmission uses the fast plus mode, an oscilloscope can be used to monitor the frequency. |
| 89 | + |
| 90 | + |
0 commit comments