all | frequencies |
|
exhibits | applications |
---|---|---|---|---|
manual |
app s | submitted / available | |||||||
---|---|---|---|---|---|---|---|---|
1 |
|
User Manual | Users Manual | 4.35 MiB | October 04 2015 | |||
1 | Cover Letter(s) | October 04 2015 | ||||||
1 | Block Diagram | October 04 2015 | ||||||
1 | External Photos | October 04 2015 | ||||||
1 | Internal Photos | October 04 2015 | ||||||
1 | ID Label/Location Info | October 04 2015 | ||||||
1 | Attestation Statements | October 04 2015 | ||||||
1 | Operational Description | October 04 2015 | ||||||
1 | Parts List/Tune Up Info | October 04 2015 | ||||||
1 | RF Exposure Info | October 04 2015 | ||||||
1 | Schematics | October 04 2015 | ||||||
1 | Test Report | October 04 2015 | ||||||
1 | Test Setup Photos | October 04 2015 | ||||||
1 | Attestation Statements | October 04 2015 |
1 | User Manual | Users Manual | 4.35 MiB | October 04 2015 |
User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Model: ODYSSEY-MAX10-KIT Revision 2.1 March 26, 2015 2015/02/11 Mpression by Macnica Group http://www.m-pression.com Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression Solutions by Macnica Group Disclaimer The information in this document (hereinafter called Information) is subject to change without notice. Macnica Inc. (hereinafter called Manufacturer) makes no warranty of any kind regarding this document, or of any liability arising out of the application or use of information in this document, and assumes no responsibility for any errors that may appear in this document. This document is distributed without any charge and reselling or copying without written authorization by Manufacturer is restricted. IN NO EVENT WILL MANUFACTURER BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR RELATING TO YOUR USE OF THE INFORMATION, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE TOTAL CUMULATIVE LIABILITY OF MANUFACTURER IN CONNECTION WITH YOUR USE OF THE INFORMATION IN THIS DOCUMENT, WHETHER IN CONTRACT OR TORT OR OTHERWISE, WILL IN NO EVENT EXCEED THE AMOUNT OF FEES PAID BY YOU TO MANUFACTURER HEREUNDER FOR USE OF THE INFORMATION. YOU ACKNOWLEDGE THAT THE FEES, IF ANY, REFLECT THE ALLOCATION OF RISK SET FORTH IN THIS AGREEMENT AND THAT MANUFACTURER WOULD NOT MAKE AVAILABLE THE INFORMATION TO YOU WITHOUT THESE LIMITATIONS OF LIABILITY. The Information is not intended for use in the development of on-line control equipment in hazardous environments requiring failsafe controls, such as in the operation of nuclear facilities, aircraft navigation or communications systems, air traffic control, life support, or weapons systems (High-Risk Applications). Manufacturer specifically disclaims any express or implied warranties of fitness for such High-Risk Applications. You represent that use of the Information in such High-Risk Applications is fully at your risk. 2 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Regulatory FCC:
Model: ODYSSEY-MAX10-KIT FCC ID: 2AEDQODSY001 This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions:
(1) This device may not cause harmful interference, and
(2) This device must accept any interference received, including interference that may cause undesired operation. This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
Reorient or relocate the receiving antenna. Increase the separation between the equipment and receiver. Connect the equipment into an outlet on a circuit different from that to which the receiver is connected. Consult the dealer or an experienced radio/TV technician for help. Any changes or modifications not expressly approved by the party responsible for compliance could void the users authority to operate the equipment. IC:
Model: ODYSSEY-MAX10-KIT IC: 20022-ODSY001 This device complies with Industry Canada licence-exempt RSS standard(s). Operation is subject to the following two conditions: (1) this device may not cause interference, and (2) this device must accept any interference, including interference that may cause undesired operation of the device. Under Industry Canada regulations, this radio transmitter may only operate using an antenna of a type and maximum (or lesser) gain approved for the transmitter by Industry Canada. To reduce potential radio interference to other users, the antenna type and its gain should be so chosen that the equivalent isotropically radiated power (e.i.r.p.) is not more than that necessary for successful communication. French:
Cet appareil est conforme avec Industrie Canada exempts de licence standard RSS (s) l'opration est soumise aux deux conditions suivantes: . ( 1) ce dispositif ne doit pas causer d'interfrences et
( 2) cet appareil doit accepter toute interfrence , y compris les interfrences qui peuvent provoquer un mauvais fonctionnement de l'appareil. Conformment la rglementation d'Industrie Canada, cet metteur radio ne peut fonctionner l'aide d'une antenne d'un type et maximum ( ou moins ) Gain approuv pour l'metteur par Industrie Canada. Afin de rduire le risque d'interfrence avec d'autres utilisateurs, le type d'antenne et son gain doivent tre choisi que la puissance isotrope rayonne quivalente (PIRE ) ne dpasse pas ce qui est ncessaire pour une communication russie . Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
3 Odyssey MAX 10 FPGA and BLE Sensor Kit Index 1. Safe Usage __________________________________________________________________ 10 1.1 Legend ..................................................................................................................................... 10 1.2 Cautions ................................................................................................................................... 10 1.3 Developer Information............................................................................................................. 10 1.4 Inquiries ................................................................................................................................... 12 2. Overview ___________________________________________________________________ 13 2.1 Introduction ............................................................................................................................. 13 2.2 Prerequisites ............................................................................................................................ 14 2.2.1 Mpression MAX 10 FPGA and BLE Sensor Kit ............................................................................ 14 2.2.2 Power ........................................................................................................................................ 14 2.2.3 Smartphone ............................................................................................................................... 15 2.2.4 Web Utility Account .................................................................................................................. 15 2.2.5 Serial Communications Terminal............................................................................................... 16 2.2.6 USB Virtual COM Port Driver ..................................................................................................... 17 2.2.7 Development Software ............................................................................................................. 17 3. Components & Interfaces ______________________________________________________ 18 3.1 The Odyssey IoT Solutions Boards ........................................................................................... 18 3.1.1 BLE sensor board ....................................................................................................................... 18 3.1.2 Battery board ............................................................................................................................ 21 3.1.3 FPGA board ............................................................................................................................... 22 3.2 Engineering Documents ........................................................................................................... 25 3.2.1 BLE sensor board ....................................................................................................................... 25 3.2.2 Battery board ............................................................................................................................ 26 3.2.3 MAX 10 FPGA board .................................................................................................................. 26 4. Assembly/Disassembly ________________________________________________________ 27 4.1 Included HW ............................................................................................................................ 27 4.2 Tools ......................................................................................................................................... 27 4.3 Disassembly ............................................................................................................................. 27 4.4 Reassembly .............................................................................................................................. 27 5. Firmware Updates ____________________________________________________________ 28 5.1 EFM32 ...................................................................................................................................... 28 5.1.1 Serial console ............................................................................................................................ 28 5.1.2 Simplicity Studio ........................................................................................................................ 30 5.2 BLE ........................................................................................................................................... 30 5.2.1 Virtual COM Port ....................................................................................................................... 31 5.2.2 WICED SDK ................................................................................................................................ 35 4 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 6. Run Preprogrammed Demonstrations (Personalities) ________________________________ 36 6.1 Apply Power ............................................................................................................................. 36 6.2 Launch Smartphone App ......................................................................................................... 36 6.3 Connect to Device .................................................................................................................... 38 6.4 Select Personality ..................................................................................................................... 39 6.5 Exercise Personality Features ................................................................................................... 40 7. The Mpression Odyssey IoT Solutions Framework __________________________________ 41 7.1 The Smartphone ...................................................................................................................... 41 7.1.1 Communications link ................................................................................................................. 41 7.1.2 The Application ......................................................................................................................... 41 7.1.3 Personality control .................................................................................................................... 42 7.2 The Bluetooth Low Energy Device ........................................................................................... 42 7.2.1 Communications link ................................................................................................................. 42 7.2.2 Odyssey Profile The GATT Database ....................................................................................... 42 7.2.3 Command Interpreter ............................................................................................................... 43 7.2.4 Sensor data processing.............................................................................................................. 43 7.3 The EFM32 Microcontroller ..................................................................................................... 44 7.3.1 Communications link ................................................................................................................. 44 7.3.2 Personality loading and FPGA Programming ............................................................................. 44 7.3.3 Flash Layout .............................................................................................................................. 44 7.3.4 Command Interpreter ............................................................................................................... 46 7.3.5 Sensor data processing.............................................................................................................. 46 7.4 The FPGA.................................................................................................................................. 46 7.4.1 Communications link ................................................................................................................. 46 7.4.2 Custom logic .............................................................................................................................. 46 7.4.3 Programming ............................................................................................................................. 47 7.4.4 Sensor data processing.............................................................................................................. 47 7.5 Personality Commands ............................................................................................................ 47 7.5.1 I2C .............................................................................................................................................. 48 7.5.2 Get HRM .................................................................................................................................... 49 7.5.3 CMD Stop .................................................................................................................................. 49 7.5.4 NOP Stop ................................................................................................................................... 49 8. The Web Utility - Create A Custom Personality _____________________________________ 50 8.1 Sign in to Smartphone App Web Utility ................................................................................... 50 8.2 Create New Personality ............................................................................................................ 51 8.2.1 Text Fields ................................................................................................................................. 52 8.2.2 Autonomous Field ..................................................................................................................... 53 8.2.3 Comparison Indicator Fields (Not implemented) ...................................................................... 53 8.2.4 FPGA Required Field .................................................................................................................. 53 8.2.5 Personality Setup Commands Field ........................................................................................... 56 8.2.6 Background Commands Field .................................................................................................... 56 Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
5 Odyssey MAX 10 FPGA and BLE Sensor Kit 8.2.7 Background Interrupt Commands Field (Not Implemented) ..................................................... 57 8.2.8 Personality Controls Fields ........................................................................................................ 57 8.3 Download Custom Personality ................................................................................................. 60 8.4 Load Personality to Flash ......................................................................................................... 60 8.4.1 Update FPGA design with Console Menu .................................................................................. 65 8.5 Run Custom Personality ........................................................................................................... 67 9. Tips and Tricks _______________________________________________________________ 70 9.1 Consult FAQs ............................................................................................................................ 70 9.2 Cut standoffs ............................................................................................................................ 70 9.3 Stand-alone MAX 10 FPGA board ............................................................................................ 70 9.3.1 Parts list ........................................................................................ Error! Bookmark not defined. 9.4 Getting leverage for the FPGA I2C interface ............................................................................. 70 9.5 Startup delay ............................................................................................................................ 71 10. Document Revision History _________________________________________________ 72 6 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit List of Figures Figure 2-1 Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit ...................................... 13 Figure 2-2 Micro USB Cable ..................................................................................................... 14 Figure 2-3 Mpression Odyssey App on Google Play Store ....................................................... 15 Figure 2-4 Mpression Smartphone App Configuration Web Utility ....................................... 16 Figure 3-1 Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit ...................................... 18 Figure 3-2 BLE Sensor Board Block Diagram ......................................................................... 19 Figure 3-3 BLE Sensor Board ................................................................................................... 19 Figure 3-4 Battery Board ........................................................................................................... 21 Figure 3-5 MAX 10 FPGA Board Block Diagram ..................................................................... 23 Figure 3-6 MAX 10 FPGA Board ............................................................................................... 23 Figure 3-7 FPGA Board Power Tree ......................................................................................... 24 Figure 5-1 EFM32 Programming Mode Short ......................................................................... 28 Figure 5-2 EFM32 Programming Serial Console Configuration ............................................ 29 Figure 5-3 EFM32 Programming via XMODEM Protocol ...................................................... 29 Figure 5-4 EFM32 Programming File Selection ...................................................................... 30 Figure 5-5 BLE Device Programming Jumper ......................................................................... 31 Figure 5-6 Setting SDK_INSTALL Environment Variable ..................................................... 32 Figure 5-7 Auto-detect of Odyssey kit ....................................................................................... 32 Figure 5-8 File Selection for BLE Device Firmware Update .................................................. 33 Figure 5-9 BLE Device Programming Status ........................................................................... 33 Figure 5-10 Configuration File Selection for BLE MAC Address Update .............................. 34 Figure 5-11 Setting New MAC Address .................................................................................... 34 Figure 5-12 BLE Device Programming Status ......................................................................... 35 Figure 5-13 BLE Device Run Mode Jumper ............................................................................. 35 Figure 6-1 Micro USB Cable ..................................................................................................... 36 Figure 6-2 Login Screen ............................................................................................................. 37 Figure 6-3 Device Discovery ...................................................................................................... 38 Figure 6-4 Personality List ........................................................................................................ 38 Figure 6-5 Activity LED ............................................................................................................. 39 Figure 7-1 Bluetooth SMART Stack ......................................................................................... 41 Figure 8-1 Private and Public Personality List ....................................................................... 50 Figure 8-2 Personality Editor .................................................................................................... 52 Figure 8-3 Smartphone App Fields ........................................................................................... 52 Figure 8-4 Create JAM File Selection ...................................................................................... 54 Figure 8-5 Create JBC ............................................................................................................... 54 Figure 8-6 Successful JAM File Creation ................................................................................. 55 Figure 8-7 FPGA Required Selection ........................................................................................ 55 Figure 8-8 FPGA JAM (JBC) File Selection ............................................................................. 56 Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
7 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-9 Upload JAM File ...................................................................................................... 56 Figure 8-10 Personality Control Edit Fields ............................................................................ 57 Figure 8-11 Available Commands ............................................................................................. 57 Figure 8-12 Command Specific Data Fields ............................................................................. 58 Figure 8-13 Complete Custom Personality .............................................................................. 59 Figure 8-14 Saved Custom Personality .................................................................................... 60 Figure 8-15 COM Port Settings ................................................................................................ 61 Figure 8-16 MAX 10 Present/Console Menu Push-button ...................................................... 61 Figure 8-17 Console Menu ......................................................................................................... 62 Figure 8-18 Tera Term New-line Setting .................................................................................. 62 Figure 8-19 Flash Resident Personalities ................................................................................ 63 Figure 8-20 Upload to Flash Personality #7 ............................................................................ 63 Figure 8-21 Send File to Device ................................................................................................ 64 Figure 8-22 File Being Sent To Device...................................................................................... 64 Figure 8-23 Custom Personality Loaded into Flash ................................................................ 65 Figure 8-24 Load JAM File ........................................................................................................ 66 Figure 8-25 File Being Sent To Device...................................................................................... 66 Figure 8-26 Select Personality to Associate JAM File ............................................................. 67 Figure 8-27 Custom Personality Available ............................................................................... 68 Figure 8-28 Custom Personality Control Screen ..................................................................... 68 Figure 8-29 Heart Rate Sensor Finger Position ....................................................................... 69 Figure 8-30 Personality Data Fields Active ............................................................................. 69 Figure 9-1 Clip Locking Standoffs ............................................................................................ 70 Figure 9-2 Stand-alone MAX 10 FPGA Board ......................................................................... 70 8 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit List of Tables Table 1 Serial Terminal Emulator Settings.............................................................................. 16 Table 2 BLE Sensor Board Push Buttons ................................................................................. 21 Table 3 BLE Sensor Board LEDs/Diodes .................................................................................. 21 Table 4 Battery Board J4 Jumper Settings .............................................................................. 22 Table 5 BLE Sensor Board Documents ..................................................................................... 25 Table 6 Battery Board Documents ............................................................................................ 26 Table 7 MAX 10 FPGA Board Documents ................................................................................ 26 Table 8 Assembly Parts .............................................................................................................. 27 Table 9 Odyssey Profile .............................................................................................................. 42 Table 10: Flash Memory Layout ................................................................................................ 45 Table 11: Personality File Format ............................................................................................. 45 Table 12: Personality Commands .............................................................................................. 47 Table 13 I2C Devices .................................................................................................................. 49 Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
9 Odyssey MAX 10 FPGA and BLE Sensor Kit 1. Safe Usage Be sure to follow the instructions given in this Manual which are intended to prevent harm to the user and others as well as material damage. 1.1 Legend Danger Warning Caution Indicates an imminent hazardous situation which if not avoided will result in death or serious injury. Indicates a potentially hazardous situation which if not avoided could result in death or serious injury. Indicates a potentially hazardous situation which if not avoided may result in minor or moderate injury or in property damage. 1.2 Cautions Danger Coin cell batteries are not supplied with this kit. If a coin cell battery is used with the kit, keep this battery away from children. Children may swallow the battery causing severe injury or death from electrical or chemical reactions and burns. Children may also choke on the battery. Coin cell batteries are not supplied with this kit. If a coin cell battery is used with the kit, beware of shorting the battery terminals, as this can cause heating and fire. Coin cell batteries are not supplied with this kit. If a coin cell battery is used with the kit, please read and follow all warnings and directions of the coin cell manufacturer to avoid injury. This kit contains small parts that represent a choking hazard to children. Please keep the kit and all parts of the kit away from children. Do not apply strong impacts or blows to the kit. Doing so may cause the kit to emit heat, explode, or ignite, or the equipment in the kit to fail or malfunction. This may also cause fire. When disposing of the main unit, do not dispose of it along with general household waste. Throwing the main unit into fire may cause it to explode. Dispose of the main unit following the laws, regulations, and ordinances governing waste disposal. Do not use the kit in places subject to extremely high or low temperatures or Warning severe temperature changes. Doing so may cause the kit to fail or to malfunction. Always be sure to use the kit in a temperatures ranging from 5C to 35C and a humidity range of 0% to 85%. Do not attempt to use or leave the kit in places subject to strong direct sunlight or other places subject to high temperatures such as in cars in hot weather. Doing so might cause the kit to emit heat, break, ignite, run out of control, warp, or malfunction. Also, some parts of the equipment might emit heat causing burn 10 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit injuries. USB cables are not provided with this kit, but can be used with the kit. Please note that cables can present a strangulation hazard, especially in small children. Please be aware of this hazard. Please keep cables away from children and always follow the manufacturers directions when using USB cables. Do not place this Board in locations where excessive force is applied to the Board. Failure to do so may cause the PC board to warp, leading to breakage of the PC board, missing parts or malfunctioning parts. Do not clean this Board by using a rag containing chemicals such as benzene or thinner. Failure to do so will likely to cause this Board to deteriorate. When using a chemical cloth be sure to comply with any directions or warnings. Do not immediately turn on the power if you find that water or moisture had condensed onto the main unit after removing the board from the package. Condensation might occur on this Board when taking it out of the box, if the board is cool yet the room temperature is warm. Do not apply power to the Board while water or moisture has condensed on it because the moisture may cause the Board to break or may shorten the service life of the parts. When you first take this Board out of the box be sure to leave it at room temperature for a while before using it. If condensation or moisture has occurred on this Board, first wait for the moisture to fully evaporate before installing or connecting the Board to other devices. Unplug any USB cable and remove any battery when carrying out maintenance or updates to the devices in the kit. Remove power this way when connecting or disconnecting any boards, cables, or connections to the board. Do not disassemble, dismantle, modify, alter, or recycle parts unless they are clearly described as customizable in this Manual. Although this kit is customizable, if parts not specified in this Manual as customizable are modified in any way, then the overall product operation cannot be guaranteed. Please consult with Manufacturer beforehand if you wish to customize or modify any parts that are not described in this Manual as customizable. Caution
(Continued from previous page) 1.3 Developer Information Macnica Americas 380 Stevens Ave. Suite 206 Solana Beach, CA 92075 http://www.macnica-na.com/
Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
11 Odyssey MAX 10 FPGA and BLE Sensor Kit 1.4 Inquiries In case of any inquiries about the use this product, please contact the local Macnica office or make inquiries through the contact form in the following web site:
http://www.m-pression.com/contact Macnica companies:
China & HK:
ASEAN & India:
Taiwan:
North America:
Brazil:
Japan:
Cytech Technology Cytech Global http://www.cytech.com/
http://www.cytechglobal.com/
Galaxy Far East Corp. http://www.gfec.com.tw/
Macnica Americas Macnica DHW Altima Elsena http://www.macnica-na.com/
http://www.macnicadhw.com.br/en/
http://www.altima.co.jp http://www.elsena.co.jp 12 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 2. Overview 2.1 Introduction The Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit is an evaluation board ideal for doing Internet of Things (IoT) proof-of-concept development. The board is designed to allow users to evaluate the use of and write software for the BCM20737S BLE module, Max10 FPGA, Energy Micro Giant Gecko microcontroller, and the sensors included in the kit for use in their own end products. This kit encompass everything users need to connect wirelessly using Bluetooth Low Energy
(BLE), collect information from the environment and even add custom designs using programmable logic. Figure 2-1 Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit The Odyssey MAX 10 FPGA and BLE Sensor Kit contains a BLE sensor board, an FPGA expansion board and a battery board. The BLE sensor board has a Bluetooth SMART device, a microcontroller and various sensors. The sensors include UV and ambient light, pulse rate and blood oximetry, temperature and humidity as well as acceleration. It also features a physical interface to either the battery board or the FPGA expansion board. The FPGA expansion board includes an FPGA for programmable logic, a microphone, LEDs, switches, push-buttons and expansion capabilities to an Arduino Nano. The battery board allows the user to power the BLE sensor board off a coin cell battery for true wireless applications. An I2C expansion port and a J-Link interface to program the microcontroller are also integrated on the battery board. The kit is designed to interact with a Smartphone via the BLE link. This communications link is used to exercise the sensors and other interfaces by means of a complex firmware infrastructure. Depending on individual needs, users can easily use the existing framework to implement a design or users can modify the firmware to achieve unique design goals. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
13 Odyssey MAX 10 FPGA and BLE Sensor Kit It is the object of this document to both introduce the first time user to the details of connecting to and using the Odyssey kit as well as expose some details of the underling framework for more experienced engineers that need to build upon the existing infrastructure. 2.2 Prerequisites In order to have a successful experience using the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit it is highly recommended users follow the guidelines as presented here. This User Guide is written in such a fashion that the kit will provide a sufficient platform for understanding the sensor integration and firmware framework. 2.2.1 Mpression MAX 10 FPGA and BLE Sensor Kit At a minimum a user will need to have the BLE sensor board. This board provides the minimum hardware and software necessary to enable the Odyssey system. If a user wishes to explore the capability of using and/or creating custom logic in a programmable device the FPGA board must be installed. Likewise, to enable a wireless solution using the BLE sensor board, the battery board must be installed. See section 4 below for assembly details. 2.2.2 Power A. USB Cable The primary means to power to the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit is through the micro USB connector on the BLE sensor board. If a user is using the USB cable solely to supply power, it is not necessary to connect the cable to a PC, a wall adapter instead. However, in order to upload any configuration files or use the Console Menu, the USB cable will need to be connected to a PC. This cable is not supplied with the kits. Note, there are no LEDs or other indicators providing feedback that the kit is powered. Figure 2-2 Micro USB Cable To power-up the kit, simply insert a micro USB cable into the BLE sensor board receptacle and the other end to a USB port supplying a standard 5 volts. B. FPGA board DIP pins An alternate method to power the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit is by means of the DIP pins of the FPGA board. A solderless bread board can be used to mount the FPGA board and supply power to the system. See section 3.1.3 and the FAQ below for more details. C. Battery When using the battery board to supply power to the Odyssey kit, install a coin cell battery, part number CR2032, into the battery retainer. When the FPGA board is being used, the battery 14 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit cannot be utilized and the kit must be powered via the USB cable or via the DIP interface of the FPGA board. 2.2.3 Smartphone A. Device In order to interact with the Odyssey kit users will need to have a device running either the Android operating system version 4.4 (KitKat) or higher or an Apple device running iOS7 or higher. The device must have Bluetooth SMART or be Bluetooth SMART Ready. The device must also have access to the Internet to enable the cloud based infrastructure of the Odyssey system. The Internet connection can be provided either via cellular data or WiFi. Throughout the remainder of this document, this device will be referred to as a Smartphone. B. Application The Mpression software team has created a custom application that will be used on the Smartphone to interact with the Odyssey kit over the Bluetooth Low Energy communications link. This application is available on Google Play and the Apple App Store. It is titled Mpression Odyssey. (Note: At the time this User Guide was released, the iOS app is not available on the Apple App Store. It will be released in the near future.) Figure 2-3 Mpression Odyssey App on Google Play Store 2.2.4 Web Utility Account As users progress into understanding the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit, users will most likely want to create a custom personality to interact with the various sensors and create a custom Smartphone control page. In order to create a custom personality the user must create an account to access the Mpression Odyssey IoT Solutions Smartphone App Configuration Web Utility. The Web Utility is also the location where new and updated reference Smartphone app personalities can be downloaded from or used as templates for custom personalities. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
15 Odyssey MAX 10 FPGA and BLE Sensor Kit The Mpression Odyssey IoT Solutions Smartphone App Configuration cloud based utility is located at https://odyssey.m-pression.com Users can also create an account via the Mpression Odyssey Smartphone app directly. Figure 2-4 Mpression Smartphone App Configuration Web Utility 2.2.5 Serial Communications Terminal In order to interact with the Console Menu on the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit, a serial communications terminal emulator is required. All development and testing was done using the open-source Tera Term emulator. All serial communications use the following settings. Table 1 Serial Terminal Emulator Settings Baud rate 115200 Data bits Parity Stop bits 8 None 1 Flow control None New-line Auto or LF The installation package is available here:
http://en.sourceforge.jp/projects/ttssh2/downloads/62353/teraterm-4.85.exe/
16 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 2.2.6 USB Virtual COM Port Driver In order for the users PC to recognize the Odyssey MAX 10 FPGA and BLE Sensor Kit and communicate with it using the above serial terminal emulator, a Silicon Labs USB virtual COM port driver needs to be installed. It can be obtained here:
http://www.m-pression.com/solutions/boards/odyssey/odyssey-downloads 2.2.7 Development Software Currently, it is beyond the scope of this document to detail the specifics of doing stand-alone microcontroller, BLE device or FPGA development. However, the tools used are as follows. A. Silicon Labs Simplicity Studio To develop software for the EFM32 microcontroller Simplicity Studio is required. http://www.silabs.com/products/mcu/Pages/simplicity-studio.aspx B. Broadcom WICED Smart SDK To program the Broadcom BLE device, a batch file as described in section 5.2.1 below relies on several files included as part of the WICED Smart SDK. Users will need to register with the Broadcom Community to gain access to and install the development tools. To develop software for the Broadcom BLE device, the WICED Smart SDK 2.1.1 or higher is required. http://community.broadcom.com/community/wiced-smart C. Altera Quartus-II Quartus-II version 14.1 or later is required to develop MAX 10 FPGA designs. https://newwww.altera.com/products/design-software/fpga-design/quartus-ii/overview.html Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
17 Odyssey MAX 10 FPGA and BLE Sensor Kit 3. Components & Interfaces 3.1 The Odyssey IoT Solutions Boards As discussed above, the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit is comprised of several boards. Below, each board is independently discussed and features highlighted. Figure 3-1 Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit 3.1.1 BLE sensor board The BLE sensor board is the heart and soul of the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit. Fundamentally, it includes most of the sensors, the Bluetooth Low Energy communication device and a microcontroller. The BLE device, EFM32 microcontroller and sensors communicate via a network of I2C and SPI busses while configuration and interactions with the outside world are handled via USB and JTAG ports as seen below. 18 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 3-2 BLE Sensor Board Block Diagram Details of each component are outlined here. Figure 3-3 BLE Sensor Board A. Broadcom BCM20737S Bluetooth SMART (BLE) module (U5) The BCM20737S from Broadcom gives the board its wireless connectivity and plays the master role in executing and interpreting commands for the Odyssey system. The module is a Bluetooth Low Energy (BLE/Bluetooth SMART) module that includes the BLE radio, an onboard ARM Corex-M3 processor, memory, and peripherals making it an all-in-one solution for BLE connected devices and wearables. It supports an easy-to-use embedded stack for host and controller functions and includes full capability for developing and implementing new profiles and applications. In addition to an onboard stack and profiles, this 6.5 x 6.5 SIP Module includes BT SMART transceiver, crystal, EEPROM, antenna, passives, and regulatory approvals as well. The module uses a development environment called the WICED Smart SDK which can be downloaded from Broadcom's community portal. See section 2.2.7B. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
19 Odyssey MAX 10 FPGA and BLE Sensor Kit B. Silicon Labs EFM32GG395F512 low-power Giant Gecko 32-bit microcontroller
(U6) The EFM32 low-power Giant Gecko microcontroller provides the USB interface and acts as the programmer/debug port for the above Broadcom Bluetooth SMART (BCM20737S) module. It also manages the loading of the MAX 10 FPGA. In addition, it enables loading of new "personalities"
into the flash memory on the Odyssey board so users can leverage the Mpression smartphone app in their custom designs. Certain sensor functions are also enabled by this processor. C. Cypress CY62148 4MB SRAM (U2) The CY62148EV30 is a 4-Mbit MoBL SRAM that serves as an expansion memory for the EFM32 microcontroller to support FPGA JTAG loading (JAM player, which is a very memory-intensive function). The CY62148EV30 is designed for extending battery life in portable devices, with ultra-low active current and an automatic power-down feature that consumes only 1uA typical standby current. Cypress is well known for its broad array of reliable, high-performance SRAMs and nonvolatile RAMs used in mission-critical systems. D. Micron M25PX16 Flash (U9) The M25PX16 is a 16Mbit NOR SPI flash from Micron used to store "personality" information on the Odyssey board. The device is controlled from the EFM32 and features an operating voltage down to 2.3V and deep power-down current of 10uA max. E. Enpirion EP5358 power regulator (U3) The EP5358HUI PowerSoC from Altera is a tiny DC-DC switching regulator with built-in inductor. It provides up to 600mA of power to the Odyssey board from the USB port at up to 93% efficiency which helps to avoid heating the nearby humidity/temp sensor. F. Linear Technology LTC4415 dual ideal diode / power path controller (U8) The LTC4415 is a dual ideal diode allowing power to be switched seamlessly between the coin cell battery and the USB source without the voltage drop associated with diode-or'ing. G. Wurth WE-TVS diode (D2) It's always important to protect high speed data lines such as the cabled USB 2.0 interface from over-voltage caused by electrostatic discharge (ESD), electrical fast transients (EFT) and lightning strikes (surge). The Odyssey board utilizes the Wurth Elektronik WE-TVS Diode array to provide protection for the USB port lines with very low (<2pf) capacitance. H. Analog Devices ADXL362 accelerometer (U4) The ADXL362 accelerometer allows the board to detect and report motion to the smartphone app based on a threshold set by the user. The ADXL362 3-axis accelerometer is one of the lowest power in the industry at less than 2A @ 100Hz sampling, and also includes a unique mode allowing motion-triggered wake up which operates at an amazing 270 nano Amps. This allows a system to be design such that it is optionally powered down completely until motion is detected, saving battery power. I. Silicon Labs Si7020 temperature/humidity sensor (U1) The Si7020 allows the Odyssey to measure temperature and relative humidity and report the values via the I2C interface. It's factory calibrated and available with an optional factory-installed protective cover. 20 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit J. Silicon Labs Si1147 proximity/UV/ambient light/heart rate monitor sensor
(U7) The Si1147 provides a variety of sensor functions including measuring UV levels, ambient light, proximity and gestures, heart rate, and blood oximetry. The data is communicated over the I2C interface. K. Molex 501920-3001 mating connector (J2) The BLE sensor board mates to either the battery board or FPGA board via this 30 position (2x15) plug. L. Push buttons Table 2 BLE Sensor Board Push Buttons S1 S2 BLE Reset EFM32 Reset M. LEDs/Diodes Table 3 BLE Sensor Board LEDs/Diodes D1 D2 D3 D4 D5 D6 Green LED EFM32 GPIO TVS Diode USB Protection IR LED Pulse Rate/Ox Detector Red LED Pulse Rate/Ox Detector IR Emitter Proximity Detector IR Emitter Proximity Detector 3.1.2 Battery board The battery board serves many purposes. As to be expected it can be used to supply power to the BLE sensor kit for true wireless operation. This board also includes connectivity for direct EFM32 microcontroller programming and debug as well as I2C expansion. Details of each component are outlined here. Figure 3-4 Battery Board Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
21 Odyssey MAX 10 FPGA and BLE Sensor Kit A. Samtec 2x5 programming and debug header (J2) This 50MIL spaced 10 position header is used to connect a Segger J-Link ARM programming and debug module. B. I2C expansion port (SCL, SDA, GNC, VIN/TP1-4) The battery board allows a user to connect any I2C capable device via these 4 unpopulated through-holes. The signaling for this port comes via the J1 mating connector. C. CR2032 battery retainer (J3) Battery power to the BLE sensor kit is achieved by installing a CR2032 coin cell battery in this retainer. Operational power is only used from the battery when the USB or FPGA DIP interface supplied power is unavailable as determined by the LTC4415 dual ideal diode on the BLE sensor board. D. Samtec 1x4 header (J4) This 50MIL spaced 4 position header is used to control the BLE device mode of operation on the BLE sensor board. Table 4 Battery Board J4 Jumper Settings 3-4 Shorted BLE Normal Operating Mode 2-3 Shorted BLE Programming Mode E. Molex 52991-0308 mating connector (J1) The battery board will mate to the BLE sensor board via this 30 position (2x15) receptacle. F. EFM32/BLE GPIO (S1) This push-button is used as a GPIO into the BLE and the EFM32. Its primary function is to enable the Console Menu. 3.1.3 FPGA board The FPGA board is ideal for doing proof-of-concept experiments that require custom programmable logic. The boards primary feature is the Altera MAX 10 FPGA. Along with the enormous processing power of the FPGA, this board includes additional interfaces such as a MEMS microphone, LEDs, dip switches and push-buttons for user interaction. This FPGA board can also be expanded by means of the DIP connectors that are Arduino Nano compatible. It is also possible to use the FPGA board in a stand-alone configuration. See Tips & Tricks section below. The FPGA board communicates with the BLE sensor board via I2C and the FPGA can be programmed by either the EFM32 on the BLE sensor board or directly through JTAG as shown here. 22 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 3-5 MAX 10 FPGA Board Block Diagram Details of each component are outlined here. Figure 3-6 MAX 10 FPGA Board A. Altera MAX 10 FPGA - 10M08SAU169C8GES (U1) An Altera 10M08 FPGA is the featured device on the MAX 10 FPGA Evaluation board. On this board, a single core voltage supply version of the MAX 10 FPGA is used in a space-efficient 169-pin UBGA that measures 11x11mm. Integrated features include analog-to-digital converters (ADCs) and dual configuration flash allowing a user to store and dynamically switch between two images on a single chip. Unlike CPLDs, MAX 10 FPGAs also include full featured FPGA capabilities such as digital signal processing (DSP) blocks, PLLs, block memory, and soft DDR3 memory controllers
(on certain devices). The MAX 10 FPGA also enables the use of the Nios II soft core embedded processor. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
23 Odyssey MAX 10 FPGA and BLE Sensor Kit B. Analog Devices ADG788 IC switch (U3, J2) An Analog Devices ADG788 quad SPDT analog IC switch is used to switch the JTAG connection between the JTAG header (2x5 pin header from Wurth) and the connector from the BLE sensor board. When a USB Blaster is plugged into the MAX 10 FPGA board, it automatically switches the JTAG lines so that MAX 10 FPGA loading can be performed from a USB Blaster rather from the EFM32 Giant Gecko microcontroller on the BLE sensor board. C. Wurth Electronik WE-SMCW LEDs (D1-D8) On the Odyssey MAX 10 FPGA board, mono-color bright green top view style LEDs from Wurth Elektronik is used for signaling. D. Switches, pushbuttons, and DIP pins (S1, S2, SW1, J3, J4) Other user IO is provided by switches (Wurth), pushbutton switches (Omron), and two 15-pin gold plated headers (Wurth) that give the FPGA board the appearance similar to the dual inline packages (DIP) common in the 80s and 90s. This DIP design is good for easy prototyping, debug and supplying power. See section 3.2 below to access the schematics for pinout details. Additionally, a close look at the pinout shows that it is compatible with the Arduino Nano boards
(Note: Pin 1 on J4 does NOT align with the pin 1 silk screen label for Arduino on the MAX 10 FPGA board.) E. Audio input circuit (U2, U8) An interesting input option for Odyssey is the MEMS microphone from Invensense. Invensense makes versions of this tiny microphone with digital outputs, but this one drives an analog signal into a Linear Technology LT6220CS5 op amp used as a non-inverting gain stage (gain of about 72). This is then fed into one of the analog inputs on the MAX 10 FPGA. F. Power tree The FPGA board is designed to operate on a desk, powered only by the USB via the BLE sensor board, or bread-boarded with power supplied from a bench supply (with or without the BLE sensor board attached). Also, the MAX 10 FPGA has multiple IO banks that can run at different voltages. The Odyssey system is designed to allow two of these banks to be powered from a variable power supply through one of the DIP/header pins. If power is not supplied to the variable rail, the variable banks default to 2.5V. A power diagram is shown below, and the components broken out separately after that. Figure 3-7 FPGA Board Power Tree 24 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit G. Linear Technology LTC4413 dual ideal diode / power path controller (U4) The Linear Technology LTC4413 dual ideal diode selects where to source the 3.3V board power from either the 3.3V_in DIP pin of the FPGA board or the power supplied from the BLE sensor board. The dual ideal diode does this seamlessly without the voltage drop associated with diode oring. This allows the FPGA board to be completely powered by the USB port on the BLE sensor board or from a bench supply when prototyping with a breadboard. H. Enpirion EP5358 power regulator (U5) The EP5358LUI PowerSoC is a tiny DC-DC switching regulator with built-in inductor that creates a steady 2.5V rail as an option for two of the MAX 10 IO banks. 2.5V is useful when driving LVDS or a 2.5V IO standard (2.5V LVCMOS for example). It provides up to 600mA of power at up to 93%
efficiency. I. Linear Technology LTC4415 dual ideal diode / power path controller (U6) The Linear Technology LTC4415 dual ideal diode seamlessly selects the IO voltage for the variable IO voltage rail on the MAX 10 FPGA without the voltage drop associated with diode oring. IO power can be supplied via a DIP pin or from the on-board 2.5V supply created by the Enpirion power regulator device. J. Linear Technology LTC6700 dual comparator (U7) A Linear Technology LTC6700-1 comparator is used in conjunction with the LTC4415 dual ideal diode to determine which MAX 10 FPGA IO rail supply to use. If the power supplied via the DIP pin falls into the range of 1.7-3.4V, the DIP pin power rail will be used to power the MAX 10 FPGAs variable IO banks. If the DIP supply falls outside of that range, the static 2.5V rail will be selected. K. Molex 52991-0308 mating connector (J1) The FPGA board will mate to the BLE sensor board via this 30 position (2x15) receptacle. L. EFM32/BLE GPIO (S3) This push-button is used as a GPIO into the BLE and the EFM32. Its primary function is to enable the Console Menu. M. IR LED (D9) Infrared LED that can be used as an IR link to IR receive capable devices. This LED is connected to the MAX 10 FPGA on a GPIO pin. 3.2 Engineering Documents Macnica Americas has made all the engineering details for each board readily available on the web. 3.2.1 BLE sensor board Table 5 BLE Sensor Board Documents Schematic www.m-pression.com/odyssey-ble-sch Bill of materials www.m-pression.com/odyssey-ble-bom Board drawings www.m-pression.com/odyssey-ble-assy Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
25 Odyssey MAX 10 FPGA and BLE Sensor Kit 3.2.2 Battery board Table 6 Battery Board Documents Schematic www.m-pression.com/odyssey-battery-sch Bill of materials www.m-pression.com/odyssey-battery-bom Board drawings www.m-pression.com/odyssey-battery-assy 3.2.3 MAX 10 FPGA board Table 7 MAX 10 FPGA Board Documents Schematic www.m-pression.com/odyssey-max10-sch Bill of materials www.m-pression.com/odyssey-max10-bom Board drawings www.m-pression.com/odyssey-max10-assy User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group 26 Odyssey MAX 10 FPGA and BLE Sensor Kit 4. Assembly/Disassembly 4.1 Included HW The primary BLE sensor board will come installed with the FPGA board by means of 4 nylon stand-off connectors and washers. The kit can be used immediately out-of-the box without any modifications. However, the need may arise to disassemble/reassemble the kit. Please follow the instructions below to avoid damage. The kit comes with the boards mated and no additional parts are required to connect the boards. If additional or replacement parts are needed, the part numbers are as follows. Table 8 Assembly Parts Part Description Manufacturer Part Number Stand-offs Washers*
Polyamide spacer Wurth 709651000 Polyamide spacer Seatrom Manufacturing 5610-424-20 Heart Rate O-ring ID 1/8", OD 1/4" McMaster-Carr Jumper shunts 1.27 mm shunt Digi-Key 4061T111 S9345-ND Alternate shunts 1.27 mm shunt Harwin, Inc M50-1900005
*Not required for board mating creates tighter fit. 4.2 Tools Due to the small form factor and delicate nature of the mating connector, no large-scale tools are to be used for disassemble and reassembly. The only tool necessary is a pair of needle nose plyers. 4.3 Disassembly As shipped, the method by which the boards are connected are the locking stand-offs. In order to pull the two boards apart, the locking portion of the stand-offs need to be compressed. Gently use needle nose plyers to squeeze just the locking head of the stand-off while gently pulling the boards apart, allowing the head to pull out of the mounting hole. Do this for each of the four corners of either the battery board or the FPGA board, depending on the kit setup. Optionally, leave the stand-offs and washers attached to the BLE sensor board as they can be used for reassembly. Once the stand-offs have been released use only hands to separate the two boards. 4.4 Reassembly Reassembly of the kit requires no tools other than hands. Simply line-up the mating connecter between the two boards along with the stand-offs at each corner and gently press the boards together at each corner until the stand-offs are all seated and then ensure the mating connector is seated as well. If a tighter fit is desired, install the washers over the locking head of the stand-offs. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
27 Odyssey MAX 10 FPGA and BLE Sensor Kit 5. Firmware Updates As the development team continues to improve and enhance the functionality of the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit, updates will be made available that a user can download to the board. Both the microcontroller and Bluetooth LE device can be updated. All updates can be accessed via the Mpression Odyssey IoT Solutions downloads page. http://www.m-pression.com/solutions/boards/odyssey/odyssey-downloads 5.1 EFM32 As discussed earlier, the Silicon Labs EFM32 microcontroller is an integral part of the Odyssey system. There are two methods by which a user can update the EFM32. For users that are not familiar with Simplicity Studio and the EA Commander, the Silicon Labs EFM32 development platform, a serial console method can be used. 5.1.1 Serial console The EFM32 can directly receive a firmware update via the USB serial connection. Be sure the Odyssey kit is unpowered first then connect the battery board to the BLE sensor board according to section 4 above. In order to place the EFM32 microcontroller into the appropriate maintenance mode, create a short between pins 1 and 4 on J2 (VIN and CLK) on the battery board using a jumper with micro-clips. Be sure not to short the adjacent pins. Figure 5-1 EFM32 Programming Mode Short Power-up the kit by plugging the USB cable into a PC with the serial terminal application as described is section 2.2.5 above. Note: The short needs to be in place when power is first applied. Using the PCs Device Manager, determine the COM port number assigned to the Odyssey kit and open a Tera Term session with the following settings. 28 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 5-2 EFM32 Programming Serial Console Configuration First type i to verify a good console session is established. The boot-loader information will be displayed. Type u in the Tera Term session window this starts the programming procedure. The console will show the word Ready followed by C. The C will repeat about every 5 seconds if the file transfer is not immediately started. Transfer the EFM32 update file using the XMODEM CRC protocol. In Tera Term, go to the File menu 1. 2. Select Transfer menu option 3. Select XMODEM menu option 4. Select Send menu option Figure 5-3 EFM32 Programming via XMODEM Protocol 5. This opens a file selection window. Browse to the EFM update image file, select the CRC radio button, and click Open. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
29 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 5-4 EFM32 Programming File Selection 6. The file will be transferred and programmed into the EFM32. This takes about 2-3 seconds. 7. Programming is now complete. Option: typing c in Tera Term will show the CRC as a check. 8. Disconnect the USB cable and remove the short. 5.1.2 Simplicity Studio It is beyond the current scope of this document to detail programming the EFM32 via the Silicon Labs Simplicity Studio development tools. Please see the Silicon Labs web site for additional details. http://www.silabs.com/products/mcu/Pages/32-bit-microcontroller-tools.aspx 5.2 BLE The Broadcom Bluetooth SMART device is an integral part of the Odyssey system. From a functionality point of view, the BLE device provides the wireless communications link between the Smartphone and the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit. It also handles command processing and masters the I2C and SPI busses. As part of this Bluetooth wireless protocol, a default Bluetooth (BT) MAC address* is assigned to each Odyssey at the factory but it may be necessary to change this address to fit a users needs. The BLE device also encompasses a highly integrated firmware architecture that enables the Odyssey to take on different personalities and interact with the many different sensors. There are two methods by which a user can update the BLE firmware or just the BT MAC address. For users that are not familiar with the Broadcom Bluetooth SMART development platform, to do the firmware updates, a virtual communications port script can be used.
* Note: All factory programmed kits will have the SAME MAC address. If more than one kit is to be used within the same vicinity, it will be necessary to change the MAC address to unique values. 30 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 5.2.1 Virtual COM Port The BLE device can directly receive a firmware update, inclusive of a new BT MAC address, via the USB connection using a script file created by the Mpression development team. This batch file and the BLE device update firmware files can be accessed via the link in section 5 above. The batch file requires that the Broadcom WICED SMART SDK is accessible & installed on a PC. See section 2.2.7B above. First, the BLE Firmware Update Utility script and firmware files need to be downloaded to the PC. Place the script and firmware files on the PC in a location of choice. Note: The firmware file name and directory path cannot exceed 260 characters in overall length. Be sure the Odyssey kit is unpowered first and then connect the battery board to the BLE sensor board according to section 4 above. In order to place the BLE device into the appropriate programming mode, attach the jumper on the middle pins of J4 (pins 2 and 3) using the shunt provided. Figure 5-5 BLE Device Programming Jumper Power-up the kit by plugging the USB cable into the board and to the PC with installed BLE Firmware Update Utility script and firmware files. Double click on the BLE_Firmware_Update.bat file. If the SDK_INSTALL environment variable is not set, the utility will prompt the user to select the Broadcom WICED Smart SDK installation folder. See section 2.2.7B above. Select the folder which contains the WICED-Smart-SDK folder. (NOT the WICED-Smart-SDK folder, but the folder that contains it. ~/WicedSmart 2.2.0/SDK in the example below.) Note: The batch file will create a permanent environment variable so that this step will not be necessary the next time the batch file is run. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
31 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 5-6 Setting SDK_INSTALL Environment Variable The BLE Firmware Update utility will automatically scan all COM ports on the PC and determine on which one the kit is active. If the device is not detected, verify the J4 jumper is installed correctly and that there are no other serial console applications open and accessing the kit via the virtual COM port. i.e. Tera Term from either EFM32 updates or Console Menu. Figure 5-7 Auto-detect of Odyssey kit At this point the user needs to choose to either update the BLE firmware or change the BT MAC address. If the user chooses option a the script will prompt for the BLE device firmware update hex file. (Note: The hex file name and directory path cannot exceed 260 characters in overall length.) 32 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 5-8 File Selection for BLE Device Firmware Update The BLE module will program in about 15 seconds and it will notify the user of success when complete. Press any key to close the window. Figure 5-9 BLE Device Programming Status If the user chooses option b the script will prompt for the BLE device configuration cgs file.
(Note: The cgs file name and directory path cannot exceed 260 characters in overall length.) Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
33 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 5-10 Configuration File Selection for BLE MAC Address Update The user will then be prompted to enter a new 12 digit hexadecimal MAC address. Enter the 12 digits with no spaces, colons, dashes or other delimiters between digits. i.e. 1234567890AB Figure 5-11 Setting New MAC Address The BLE module will program in about 15 seconds and it will notify the user of success when complete. Press any key to close the window. 34 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 5-12 BLE Device Programming Status Programming is now complete. Unplug the USB cable and move the jumper on J4 to the pins closest to outside edge of the board (on pins 3 and 4). Figure 5-13 BLE Device Run Mode Jumper 5.2.2 WICED SDK It is beyond the current scope of this document to detail programming the BLE device via the Broadcom WICED SMART SDK development tools. Please see the Broadcom Community web site for additional details. http://community.broadcom.com/community/wiced-smart Macnica has also produced a series of Broadcom Bluetooth SMART videos to help bring a user up to speed. Bluetooth SMART Introduction and Concepts http://www.macnica-na.com/vworkshops/bluetooth-smart-1 The WICED SMART Bluetooth Environment http://www.macnica-na.com/vworkshops/bluetooth-smart-2 Build Your Own WICED SMART Bluetooth LE Device Application http://community.broadcom.com/videos/1229 Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
35 Odyssey MAX 10 FPGA and BLE Sensor Kit 6. Run Preprogrammed Demonstrations
(Personalities) 6.1 Apply Power The Odyssey MAX 10 FPGA and BLE Sensor Kit comes assembled with the MAX 10 FPGA board attached to the BLE sensor board. The power for this assembly is derived from the micro USB connector located on the BLE sensor board. This cable is not supplied with the kits. Figure 6-1 Micro USB Cable To power-up the kit, simply insert a micro USB cable into the receptacle and the other end to a USB port supplying a standard 5 volts. A user can use a laptop, PC or wall charger. Note, there are no LEDs or other indicators providing feedback that the kit is powered. 6.2 Launch Smartphone App In order to run the demonstration personalities loaded into the flash on the kit as described in section 2.2.3, the user must have the Mpression Smartphone application installed on a Bluetooth Low Energy capable device. Launch the application which by default starts on the log in screen. Note: The Smartphone app will verify that the devices Bluetooth radio is turned on. It will request permission to turn on the radio if it is off. Or, the user can manually ensure the radio is on before launching the app. 36 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 6-2 Login Screen If a user has not created an Mpression web-utility account, select the Sign Up Here link on the bottom of the page to create an account. If a user has previously created an account log in with the credentials used when the account was created. Note: The application will stay logged in so the user does not have to re-enter credentials every time the application is launched unless explicitly logged out. However, if the user changes the password via the web based utility, the user will need to log out and log back in to the Smartphone app. As users become more familiar and faster with the power-up, login and Smartphone application launch sequence, be sure to allow the Odyssey system to fully boot (approximately 7 seconds) before attempting to connect to the device over Bluetooth. The next screen that appears will be the device discovery screen. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
37 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 6-3 Device Discovery Here a user will see the Odyssey kit in the list of available devices to connect to. If the user does not see it in the list, touch on the SCAN button to re-initiate the scanning sequence and verify the kit is powered. (Note: The BT MAC address may vary as compared to the above screen shot.) 6.3 Connect to Device Select the Macnica_Mpression device to advance to the next screen where the list of preloaded personalities will display. Figure 6-4 Personality List 38 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 6.4 Select Personality There are 8 Odyssey kit personalities preloaded into the onboard flash that can be used to demonstrate the capabilities of the kit. A. ADC and Audio Monitor This personality allows the user to read the value of the MAX 10 FPGA Analog to digital convert channels. The Odyssey MAX 10 FPGA board also reads the microphone and outputs the sound level on the LEDs. B. MAX 10 Remote Control This personality allows the user remote monitoring of the Odyssey MAX 10 FPGA board switches and allows remote control of the Odyssey MAX 10 FPGA board LEDs. C. Frequency Detect This personality uses the MAX 10 PLL to generate several output frequencies based on the input oscillator. It also has a frequency counter used to measure a generated clock or an external clock. LEDs output a binary representation of the detected frequency in 0.1Mhz increments. D. PWM LEDs This personality demonstrates how FPGA logic can be used to create a large number of PWM controllers, common in lighting and motor control applications. It is related to the MAX 10 Dual Config personality. E. Dual Config FPGA Load & Dual Config PWM LEDs - This set of personalities is used to demonstrate the MAX 10 FPGA dual configuration capability. Dual Config FPGA LOAD includes a non-volatile loader which programs the MAX 10 FPGA so the configuration loads instantly at power on. Because the non-volatile loader takes a long time to run, a second personality, Dual Config PWM LEDs, is provided to control the FPGA after power-up, assuming the FPGA image was previously programmed with the non-volatile version of the Dual Config personality. F. Temp Humidity This personality measures temperature and relative humidity using the Silicon Labs Si7020 sensor. G. Heart Rate Monitor This personality measures heart rate using the Silicon Labs Si1147 UV/light/heart rate sensor. To select the personality of choice, simply touch the name of the personality and the information will be transferred via BLE and the Odyssey kit sensors and FPGA will be configured as required to enable the personality functions. Depending on the personality chosen, the FPGA may or may not need to be configured. If the FPGA does require configuration, the single D1 green LED on the BLE sensor board will illuminate while the configuration process takes place. Figure 6-5 Activity LED Take note that the Smartphone app will notify the user that the personality has successfully loaded, but this is only the phone app portion. Do not try to exercise any of the personality features until the green LED has turned off on the BLE sensor board. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
39 Odyssey MAX 10 FPGA and BLE Sensor Kit If a user chooses to change the personality of the kit, hit the back button,
, on the Smartphone to return to the Personality List screen and choose another option. 6.5 Exercise Personality Features Once a personality has fully loaded on the Smartphone and on the Odyssey kit, the user can interact with the personality features by simply tapping the button associated with the feature. Some features may require the user to input data while others are simply a command to be issued to the kit. Each personality has a unique set of features to showcase the capabilities of the Odyssey MAX 10 FPGA and BLE Sensor Kit. 40 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 7. The Mpression Odyssey IoT Solutions Framework By exercising the many preprogrammed personalities of the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit, a user can get a good feel for the grand functionality build into the kit. Before being able to create a custom personality a user first needs to have a general understanding of how all the moving parts of the Odyssey system work. This highly integrated infrastructure is referred to as the Framework. The basic function of each key component is outlined below. 7.1 The Smartphone As the primary human interface to the Odyssey system, the Smartphone takes on the role of the controller for the entire system. 7.1.1 Communications link The main link between the Smartphone (the client) and the Odyssey device (the server) is the Bluetooth Low Energy wireless radios. This link conforms to the Bluetooth specification v4.1 which defines the low energy requirements of a BLE device. The protocol in use is the Bluetooth SMART protocol stack. Figure 7-1 Bluetooth SMART Stack 7.1.2 The Application As defined by the Bluetooth specification, a client Application interacts with a servers Profile by means of the Attribute (ATT) protocol. As seen in Figure 7-1, immediately above the ATT protocol layer is the Generic ATT profile (GATT) layer. It is within this layer that a GATT data base, or the Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
41 Odyssey MAX 10 FPGA and BLE Sensor Kit Profile, is defined and used for transferring commands and data between the Smartphone and the Odyssey device. The actual GATT database is hosted by the BLE device as defined by specification. See section 7.2.2 below for details on the Odyssey Profile. 7.1.3 Personality control A Personality is defined as a unique interaction with the Profile that sets up control of selected sensors, collects data from selected sensors and provides basic processing of the collected data. The personality control is presented graphically to the user via a Smartphone app that is built up of buttons, data entry and data return fields. As part of the flexibility designed into the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit, the user can define a custom personality; A Smartphone app AND the unique method by which to interact with the Odyssey Profile. This is done by using an Internet cloud based Web Utility called the Smartphone App Configurator. This Web Utility creates all the necessary Smartphone App code as well as defining the Profile interactions without the user having to write a single line of code or needing to know how to manipulate the Bluetooth SMART protocol stack. Once the Bluetooth LE communications link is established between the Smartphone and the Odyssey kit, the Smartphone app will query the Personalities programmed into the device flash. It will then access the users cloud based Personality database to create the Smartphone application GUI used to interact with the selected Personality. 7.2 The Bluetooth Low Energy Device The Broadcom Bluetooth Low Energy device on the BLE sensor board is responsible for many base level interactions with the Smartphone, the EFM32 microcontroller and several sensors. 7.2.1 Communications link As mentioned above, the main link between the Smartphone and the Odyssey device is the Bluetooth Low Energy wireless radios. All Odyssey control and data is transferred via this unencrypted link. 7.2.2 Odyssey Profile The GATT Database The Profile that is defined for the BLE device of the Odyssey system is comprised of the following 10 services and characteristics. Table 9 Odyssey Profile Service Name Type Number of Characteristics GATT GAP Device Info Battery Profile Info Personality Button SIG Required SIG Required SIG Defined SIG Defined Custom Custom Custom 0 2 2 1 2 7 2 42 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Entry Filed Data Custom Return Field Data Custom Auto Update Custom 8 8 2 It is beyond the scope of this document to go into depth on the specific implementation and use of each of the above. However, it is useful to understand how each unique personality utilizes the above services. In particular, with respect to the Smartphone app and user control and data interaction, the above services take on the following roles. A. Profile Info - Provides information related to the currently load personality and the presence of the FPGA board. B. Personality - Provides the characteristics to control the loading of a personality and retrieve fundamental information of that personality. (revision, personality number, FPGA required, etc.) C. Button Used to control the processing of a button that is pressed by a user on the Smartphone app. (trigger/scheduling and completion) D. Entry Filed Data Used to carry the data entered into the entry field(s) of the Smartphone app to the BLE device (and then onto the FPGA if necessary) E. Return Field Data Used to carry data collected by the BLE device (sensors or FPGA) to the Smartphone app. F. Auto Update Used to automatically transfer data from the BLE device to the Smartphone without the need for a user request. 7.2.3 Command Interpreter Along with the responsibility of maintaining the communications link (and the GATT database) the BLE device can also execute commands or interpret and forward them. Depending on the information received across the BLE link, the action to be taken may or may not be the responsibility of the BLE device itself. In the cases where the BLE device does not need to handle the command or data, it will forward the command and/or data onto the EFM32 microcontroller or FPGA for further processing. See section 7.5 below for details on the commands processed by the BLE device. 7.2.4 Sensor data processing For sensor applications requiring simple command processing, the BLE will execute the command and immediately respond with the results. The sensors that the BLE handles data processing for are:
Temperature Humidity Proximity UV Light Accelerometer FPGA Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
43 Odyssey MAX 10 FPGA and BLE Sensor Kit 7.3 The EFM32 Microcontroller The Silicon Labs EFM32 microcontroller acts as a secondary command and data processor. It is a slave device connected to the BLE device via the SPI bus. Code for this microcontroller is written in C using Silicon Labs Simplicity Studio tool set. No operating system is implemented or required. 7.3.1 Communications link The EMF32 microcontroller has a built in USB port that implements a virtual COM port to its host. Application code running on the EFM32 passes traffic between the USB port on the EFM32 and the UART of the EFM32 that is connected to the Broadcom BLE device UART. This allows USB download of code images, via the virtual COM port, to the BLE (from a PC script or WICED Smart SDK) and it also allows debug trace data from the BLE to pass through the EFM32 out the USB port. An additional application running on the EFM32 implements a Console Menu. Through this menu a user can load personality and FPGA programming images to the flash. See the following sections for details. 7.3.2 Personality loading and FPGA Programming One of the most critical functions the EFM32 handles is the transfer of the personality configuration data from the on-board flash to the appropriate devices. The unique GATT database interaction definition and the FPGA design programming file stored in flash (the personality data file) is retrieved, on command, as a result of a user choosing to change personalities. The flash is initially programmed over the USB connection from a host PC using the Console Menu interface. See section 8.4 below. Local to the Odyssey kit, the BLE is programmed via the UART interface handled by the EFM32s virtual COM port. The FPGA is also programmed by the microcontroller running application code called the JAM player. This JAM player exercises GPIOs of the EFM32 connected to the JTAG port of the FPGA when attached, programming the FPGA with the image stored in on-board flash. 7.3.3 Flash Layout The SPI flash on the BLE sensor board is used to hold up to 15 personalities that can be loaded as described in the previous section. The first ten personality locations (slots) are large enough to accommodate the inclusion of an FPGA design configuration file (<design>.jbc). The flash layout is as follows. 44 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Table 10: Flash Memory Layout Offset Size (bytes) Description 0x000000 0x030000 0x060000 0x1B0000 0x1E0000 0x1E2000 0x1E8000 192K 192K 192K Personality 1 data file Personality 2 data file Personality 3 data file 192K Personality 10 data file 8K 8K 8K Personality 11 data file*
Personality 12 data file*
Personality 15 data file*
0x1EA000 88K Reserved
*Cannot contain an FPGA design configuration file Each above personality data file entry contains the following information. Table 11: Personality File Format Offset Name Size
(bytes) Description 0x00000 Personality number 4 Globally unique number that identifies the 0x00004 Personality name 0x0001A FPGA required 22 1 0x0001B Revision 0x0001C Reserved 0x00020 Personality size 1 228 4 0x00024 Reserved 0x00100 Personality setup 224 512 commands personality Personality name -- Null terminated string Bits [1:0]
00: No FPGA required; Erase FPGA 01: FPGA required; Erase and program FPGA 10: No FPGA required; Dont erase FPGA 11: FPGA required; Dont erase but program FPGA Bits [7:2] Reserved Personality revision number (optional) Reserved. Default 0xFF Size, in bytes, of the Device Personality Flash File. If no FPGA is present, this will be 4096 bytes, otherwise it will vary depending on the FPGA .jbc file size. This file size does not include the checksum byte (if present). Reserved. Default 0xFF Commands to execute when the personality is first loaded. Executed by the BLE module after the FPGA is loaded, if applicable. 0x00300 Background 256 Commands that execute continuously in the commands background. 0x00400 Background INT 256 Command to execute in response to an interrupt*
commands 0x00500 Button 1 commands 0x00600 Button 2 commands 0x00700 Button 3 commands 0x00800 Button 4 commands 0x00900 Button 5 commands 256 256 256 256 256 Command to execute in response to a button press. Command to execute in response to a button press. Command to execute in response to a button press. Command to execute in response to a button press. Command to execute in response to a button press. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
45 Odyssey MAX 10 FPGA and BLE Sensor Kit 0x00A00 Button 6 commands 0x00B00 Button 7 commands 0x00C00 Button 8 commands 0x00D00 Reserved 256 256 256 768 Command to execute in response to a button press. Command to execute in response to a button press. Command to execute in response to a button press. Reserved. Default 0xFF 0x01000 FPGA configuration 188K Space to hold the <FPGA design>.jbc file used to
* Not currently implemented program the FPGA 7.3.4 Command Interpreter Any commands that are not processed by the BLE device that are passed on to the EFM32 via the SPI bus are handled by application code running on the EFM32. See section 7.5 below for details on the commands processed by the EFM32 microcontroller. 7.3.5 Sensor data processing For sensor applications requiring several commands or significant processing, the BLE will issue a single command to the EFM32 for processing. The EFM32 will process and respond with the results. This offload processing is done by the EFM32 because it has a large code space and external SRAM attached. The sensors that the EFM32 handles complex data processing for are:
Heart rate monitor Blood oximetry 7.4 The FPGA The FPGA board includes an Altera MAX 10 FPGA. This reconfigurable logic device allows users to create an unlimited number of designs that can interact with the EFM32 microcontroller, the outside world and users directly. 7.4.1 Communications link The MAX 10 FPGA communicates to the BLE sensor board via the I2C and JTAG interfaces. Since the FPGA is a device on the I2C bus, personalities can be created that control the MAX 10 FPGA opening an entirely new realm of design possibilities. 7.4.2 Custom logic The MAX 10 FPGA is a blank slate of reprogrammable logic provided to the user to configure as needed. The tool set required to create a custom FPGA design is the Altera Quartus-II suite version 14.1 or higher and it is recommended that a user start from an existing Odyssey MAX 10 design and modify it. Once modified, a new FPGA programming file will be generated that a user will convert to the required format as described in section 7.3.2 above. It is beyond the scope of this document to detail how to design with the MAX 10 FPGA. Please refer to the abundant resources available from Altera and Macnica to make the most of the MAX 10 FPGA flexibility. Users may find the Altera Design Store a valuable resource for example designs that can be leveraged for custom designs. Included are the designs preprogrammed into the flash. Altera Design Store: https://cloud.altera.com/devstore/
46 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 7.4.3 Programming As covered in the previous sections, the FPGA will be primarily programmed by the EFM32 microcontroller over the JTAG interface. There is a header available on the FPGA board to program the FPGA using a stand-alone JTAG programmer as well. 7.4.4 Sensor data processing With the limitless capabilities of the MAX 10 FPGA and the provided connectivity of the FPGA board, the MAX 10 FPGA can process data for:
On-board MEMS Microphone On-board LEDs On-board Dip Switches Arduino Nano compatible boards Anything a user wants to connect to the expansion pins 7.5 Personality Commands There are many personality commands available to the user that are built into the Framework enabling the features of the Mpression Odyssey MAX 10 FPGA and BLE Sensor Kit. This list of commands is accessible via the Web Utility when editing a personality. Table 12: Personality Commands Command Type Processor Implemented*
I2C Read/Write SPI Read/Write Get HRM CMD Stop Get UV Get Proximity BLE BLE EFM32 EFM32 BLE BLE Get Blood Oximetry EFM32 LED On/Off Detect Motion EFM32 BLE Get Diagnostics EFM32 GET EFM Revision EFM32 NOP NOP Stop BLE BLE Yes No Yes Yes No No No No No No No No Yes
*At the time this document was updated, these are the currently available commands. The other commands will be added with future releases. Each of the above commands may require a subset of the following data fields. I2C Command I2C Device Address SPI Command*
Register Address Size (in bytes) 0 to 3 Register Address (if non-zero Register Address Size) Number of Data Bytes Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
47 Odyssey MAX 10 FPGA and BLE Sensor Kit 1 to 4 Write Endianness*
Write Source Smartphone app user data entry field 0-7 or fixed value*
Fixed Write Data Read Destination Smartphone app user data return field 0-7 or autonomous field Read Endianness*
Wait Period (in msec)*
*At the time this document was updated, these items are not implemented or have limited functionality. 7.5.1 I2C This is perhaps the most flexible personality command available. When the using the FPGA board, the FPGA itself can be configured to be an I2C slave and receive commands from the Smartphone passed through the BLE device. When using the battery board, the I2C commands can be issued to an external device via the expansion pins. Write - Writes command/data onto I2C bus. Supported data fields Device Address Register Address Size Register Address Number of Data Bytes Write Source Fixed Write Data Read - Reads data from the I2C bus Supported data fields Device Address Register Address size Register Address Number of Data Bytes Read Destination 48 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Device Address Data Sheet Table 13 I2C Devices Si7020 Humidity/
Temperature Sensor Si1147 Proximity/
UV/Ambient Light Sensor 0x40 http://www.silabs.com/Support%20Documents/TechnicalDocs/Si7020.pdf 0x60 http://www.silabs.com/Support%20Documents/TechnicalDocs/Si1145-46-47.pdf FPGA Design Dependent*
See FPGA Designs
* The factory installed personalities that include an FPGA design have the I2C address set to 0x30 7.5.2 Get HRM This command initiates heart rate processing that includes a sequence of I2C transactions with the Silicon Labs Si1147 device. This processing detects the presence of a finger over the sensor LED to determine pulse rate and reports the rate data back to the Smartphone app via the Broadcom BLE device. Supported data field Read Destination 7.5.3 CMD Stop Commands the EFM32 to terminate interactions with the Si1147 device and perform a graceful shut down. This terminates the collection of heart rate measurements. Supported data fields None required 7.5.4 NOP Stop Perform no operation. Do not execute any further commands associated with personality set-up, buttons pressed, interrupts or background commands. Supported data fields None required Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
49 Odyssey MAX 10 FPGA and BLE Sensor Kit 8. The Web Utility - Create A Custom Personality As part of the feature rich development environment of the Odyssey MAX 10 FPGA and BLE Sensor Kit, a user can create a personality similar to those preprogrammed. By using an internet cloud based utility a user can define a custom sensor configuration, FPGA control and usage scenario. 8.1 Sign in to Smartphone App Web Utility Once logged in, a list of private and public personalities will be provided. See prerequisites section 2.2.4 above. Each custom personality created will first be listed in the My Personality List which remains visible only to the user account until explicitly requested to publish it to the Public Personality List. 50 Figure 8-1 Private and Public Personality List User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 8.2 Create New Personality Click on the Add New Personality button to open the personality editor page. Or, alternatively, a user can select Copy & Edit to the right of an existing personality to create a new custom personality by using an existing one as a starting point. This is an excellent way to see how to use many of the features built into the factory loaded personalities. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
51 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-2 Personality Editor Each of the entry fields has a description and usage helper pop-up window accessible by placing the mouse over the icon. Below is the correlation of the editor entry fields to the Smartphone app screen. Personality Name Instructions Personality Control Button Return Field Autonomous Field Location Figure 8-3 Smartphone App Fields 8.2.1 Text Fields The Personality Name, Description, Teaser Field and Personality Instructions fields allow a user to enter any character string (or URL for Description) to help identify and instruct the use case of the custom personality. 52 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 8.2.2 Autonomous Field Enable this Return field by sliding the ON/OFF switch appropriately if the personality will be returning a data value repeatedly and without user request. The user may enter a short character string to identify the autonomous filed and also define what data type to display the return field. 8.2.3 Comparison Indicator Fields (Not implemented) 8.2.4 FPGA Required Field In many use cases it will be necessary to program the FPGA with a design to complete functionality requirements. The FPGA design can be programmed into the MAX 10 FPGA by one of two methods. By means of a personality load (Recommended) When using a personality to load the FPGA a user can easily switch between personalities that have different FPGA designs and the FPGA will be automatically reprogrammed. Directly via the JTAG header on the MAX 10 FPGA board If this method is used, the Odyssey Framework has no awareness of the FPGA design. It is beyond the scope of this document to detail this method. The Web Utility Personality Editor or the Console Menu must associate FPGA design images, using the JAM jbc (Jam Byte Code) file format, with a personality. The image is programmed into the FPGA via the FPGA JTAG pins using software that is running on the EFM32 microcontroller called a JAM player. A valid JAM (<design>.jbc) file can be created by converting a MAX 10 FPGA SOF file that is generated as part of the Quartus II tool flow as described in section 7.4 above. Note:
This works for POF-to-JBC format conversions as well. Open the Quartus II Programmer (see section 2.2.7C) Click on Add File and browse to the directory with the SOF file and select it. Click Open From the File menu, click on Create JAM, JBC, SVF, of ISC file Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
53 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-4 Create JAM File Selection In the pop-up window, name the JBC file and make sure the file format is set to .jbc. Feel free to use any filename desired. Click OK Message should pop-up indicating successful creation of the JAM file. Figure 8-5 Create JBC 54 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-6 Successful JAM File Creation Once a valid JAM file has been generated, the file needs to be associated with a specific personality. Note: If the user has selected the FPGA Required option in the Personality Editor, the user MUST supply an FPGA JAM file. If it is missing, an incorrect file size will result. During the development cycles, the user can manually update the JAM file in the flash by means of the Console Menu. See section 8.4.1 below. In the FPGA Required drop-down menu section of the Web Utility (just under the image of the Smartphone), select FPGA Required, but just run the JAM file option. Figure 8-7 FPGA Required Selection Notice that the FPGA section now has Choose File and Upload options showing. Browse to the FPGA <design>.jbc file. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
55 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-8 FPGA JAM (JBC) File Selection Click on the Upload button to have the file uploaded, associated and appended to the current personality file. Figure 8-9 Upload JAM File 8.2.5 Personality Setup Commands Field Run when a personality is first loaded. This will occur after the FPGA has been loaded (if applicable). Up to 16 commands are allowed. 8.2.6 Background Commands Field Run on a 1 second interval once the personality is loaded. Up to 5 commands are allowed. 56 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit 8.2.7 Background Interrupt Commands Field (Not Implemented) 8.2.8 Personality Controls Fields Run on demand via a button press once the personality is loaded. Up to 8 controls are allowed. Each of the 8 controls can be easily enabled or disabled by checking the Visible box. The Personality Control editor is made accessible by clicking on the edit link to the right of each of the 8 available controls. Figure 8-10 Personality Control Edit Fields The Control Name field is a character string that will appear on the Smartphone app button that user will press to initiate the commands as defined in the Control Command Lines field. If the command requires either a data entry field or a data return field, those are enabled by sliding the ON/OFF switch respectively. The return data size, format and name will be required as well as the entry data format and limits dependent on the fields enabled. Each of the above Command entry fields are populated by clicking the icon adjacent to the command field of choice. The list of available commands, as discussed in section 7.5 above, is displayed as below. Figure 8-11 Available Commands Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
57 Odyssey MAX 10 FPGA and BLE Sensor Kit Recall that each command may require additional data fields to be populated. Figure 8-12 Command Specific Data Fields Here is an example creating a custom heart rate monitor personality with a few of the above fields populated. This personality will automatically return the current heart rate in the autonomous field as well as retrieve an instantaneous heart rate reading when the user pushes control button 1. 58 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-13 Complete Custom Personality Once a user has completed creating and populating all the fields, buttons and commands desired, save the personality and it will populate to the My Personality list. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
59 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-14 Saved Custom Personality 8.3 Download Custom Personality With the new custom personality complete, the next step is to download the Web Utility generated personality configuration file to the PC. Simply click on the Download link for the new personality in the My Personality List and save the GATT_xxx.bin file to the PC and note the location where it is saved. The name of the personality file can changed as desired. 8.4 Load Personality to Flash Now that the custom Odyssey personality configuration is accessible on the PC, the user needs to load it to one of the 15 personality slots available on the Odyssey kit. This is achieved via the USB cable connected to the Odyssey and loading the binary configuration file using a serial communication protocol. Be sure to have the USB virtual serial COM port drivers installed before connecting the Odyssey kit. See section 2.2.6 for details. Power up the Odyssey kit with the USB cable connected to the PC. Upon successful connection, a virtual serial COM port will be opened between the PC and the device. (Wait for the Windows device connection tone.) Use the Device Manager to determine the COM port number assigned to the Odyssey kit. Open a Tera Term session using the above COM port and establish a connection using the following settings:
60 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-15 COM Port Settings To initiate the Console Menu system built into the Odyssey kit for maintenance purposes press the M10 (S3) switch on the MAX 10 FPGA board located nearest the JTAG connector. The D1 green LED will illuminate on the BLE sensor board just as it did in Figure 6-5 from above. Figure 8-16 MAX 10 Present/Console Menu Push-button Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
61 Press the Enter key to display the menu options Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-17 Console Menu If the console output is skewed, change the New-line characteristics of the Tera Term session under the Setup -> Terminal pull-down menu. Select either LF or Auto. Figure 8-18 Tera Term New-line Setting Select option 0 to display the current list of personalities loaded into the flash and then press Enter to return to the main menu. 62 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-19 Flash Resident Personalities Now select option 1 and select an available flash location, 07 in this case, to upload the custom personality configuration to the device at slot 7 in the flash. Note: The BLE sensor board contains enough flash memory to hold 10 personalities that include an FPGA design programming file and 5 additional personalities without FPGAs. Slots 1-10 can be used for personalities with or without FPGAs and slots 11-15 are only for personalities without FPGA designs included. Figure 8-20 Upload to Flash Personality #7 Use the Tera Term File -> Send File pull-down menu to select the GATT_xxx.bin file saved to the PC from section 0 above. Be sure to select the Binary option to ensure a successful transfer. A window will briefly open up showing the transfer. Depending on the size of the Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
63 Odyssey MAX 10 FPGA and BLE Sensor Kit configuration file (usually very small unless there is an FPGA configuration file included) there may not be time to enough to read the details of the transfer. Figure 8-21 Send File to Device Figure 8-22 File Being Sent To Device When the transfer is complete, return to the serial console and press the Enter key. Once again select menu option 0 to view the flash resident personalities. The new custom personality should be visible. 64 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-23 Custom Personality Loaded into Flash 8.4.1 Update FPGA design with Console Menu If the user chooses to update an FPGA design JAM file via the Console Menu, the user must first load the associated personality, inclusive of a JAM file, into an open flash location. See section 8.4 above. Keep in mind, the FPGA programming JAM file will only be programmed into the MAX 10 FPGA if the associated personality has the FPGA Required option set. Note: Personalities with FPGA images are only allowed in slots 1 thru 10. Slots 11-15 are too small in terms of allocated flash memory space. Access the Console Menu by means of the steps outlined in section 8.4 below. Use Console Menu option 0 to list the personality slots to see which are populated. Be sure to have a valid personality loaded into a slot (1-10) before attempting to load the FPGA JAM file Load JAM file to the chosen personality slot with option menu 5 Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
65 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-24 Load JAM File Use the Tera Term File -> Send File pull-down menu to select a <design>.jbc file. Be sure to select the Binary option to ensure a successful transfer. A window will briefly open up showing the transfer. Figure 8-25 File Being Sent To Device After the JAM file has been sent to the Odyssey, select the personality to associate with the new FPGA programming file. 66 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-26 Select Personality to Associate JAM File The new FPGA design programming file is now loaded into the flash on the BLE sensor board and associated with the personality. Now when the user selects this personality from the list of personalities on the Smartphone app, the FPGA will be programmed with the desired design. 8.5 Run Custom Personality Now that the custom personality has been created and loaded onto the Odyssey MAX 10 FPGA and BLE Sensor Kit, the user can interact with it. Cycle power to the kit by unplugging and plugging back in the USB cable. (The activity LED on the BLE sensor board will turn off) On the Smartphone App, select the Discover Devices button on the lower-left corner of the screen to return to the Discover screen. Once again, select the Macnica_Mpression device from the list to open the Personalities List screen. Notice the custom personality is now one of the available options in the list. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
67 Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-27 Custom Personality Available Select the new personality to download and open the Personality Control screen. Figure 8-28 Custom Personality Control Screen If the user has followed this example and created a heart rate monitor, place a finger gently on top of the O-ring on the BLE sensor board enough to cover both the sensor LEDs of the heart rate detection circuit. 68 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit Figure 8-29 Heart Rate Sensor Finger Position Notice the Autonomous field will automatically update as we designed in the Personality Editor. Also, notice that when the user presses the Get HR button, the return data field is updated with the current heart rate as well. Figure 8-30 Personality Data Fields Active Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
69 Odyssey MAX 10 FPGA and BLE Sensor Kit 9. Tips and Tricks 9.1 Consult FAQs http://www.m-pression.com/odyssey-faq 9.2 Cut standoffs The standoffs holding the boards together can be modified to be easier to work with. If a user takes sharp cutters and cuts near the very tips of the standoffs, a user can get the boards on and off more quickly and without damaging force. Figure 9-1 Clip Locking Standoffs 9.3 Stand-alone MAX 10 FPGA board Bread-boarding the MAX 10 FPGA kit using solderless breadboards has several advantages. These inexpensive bread boards give the MAX 10 board kit stability and flexibility for probing and testing, as well as options for powering the board independently. Figure 9-2 Stand-alone MAX 10 FPGA Board 9.4 Getting leverage for the FPGA I2C interface Leverage the Odyssey MAX 10 designs to get the I2C interface going quickly. The example designs are based on the Opencores I2C core (www.opencores.org) that is widely used. A user can have alternate designs or revisions that pinout the I2C signals to the FPGA board DIP interface (under side) pins so there is access at the breadboard. 70 User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group Odyssey MAX 10 FPGA and BLE Sensor Kit FPGA project and source code files for the Odyssey example personalities are posted on the software downloads page: http://www.m-pression.com/solutions/boards/odyssey/odyssey-downloads Schematics and bill of materials for the kit may be found in the documentation section of the quick start page: http://www.m-pression.com/solutions/boards/odyssey-fpga#quick start For assessing I2C interaction, users can take advantage of a couple of inexpensive debug tools:
The Bus Pirate (http://dangerousprototypes.com/docs/Bus_Pirate_v3.5) is an inexpensive board with I2C software that can generate custom commands just by typing them in or using scripts. There are also low cost analyzers by Saelae for I2C and SPI (http://www.saleae.com). If the battery board is to be used, there are I2C test points available as well. 9.5 Startup delay If a user connects to the Odyssey board over Bluetooth shortly after applying power, it may be getting interrogated before it has finished its boot cycle. It is best to wait 5-7 seconds after power-on to connect to the device. It is often a good idea to exit the Smartphone app, kill it from background memory, and restart it. Mpression by Macnica Group User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit -
71 Odyssey MAX 10 FPGA and BLE Sensor Kit 10. Document Revision History 72 Date February 11, 2015 1.0 Revision February 23, 2015 1.1 Changes Update all sections, added Framework details, Tips &
Initial Document March 6, 2015 March 9, 2015 March 26, 2015 1.2 2.0 2.1 Updated Tips & Tricks Removed all references to 2 separate kits. Added regulatory statements Tricks. User Guide Odyssey MAX 10 FPGA and BLE Sensor Kit Mpression by Macnica Group
frequency | equipment class | purpose | ||
---|---|---|---|---|
1 | 2015-04-10 | 2402 ~ 2480 | DTS - Digital Transmission System | Original Equipment |
app s | Applicant Information | |||||
---|---|---|---|---|---|---|
1 | Effective |
2015-04-10
|
||||
1 | Applicant's complete, legal business name |
Macnica Americas, Inc.
|
||||
1 | FCC Registration Number (FRN) |
0024184962
|
||||
1 | Physical Address |
380 Stevens Avenue
|
||||
1 |
Solana Beach, California 92075
|
|||||
1 |
United States
|
|||||
app s | TCB Information | |||||
1 | TCB Application Email Address |
V******@tuvam.com
|
||||
1 | TCB Scope |
A4: UNII devices & low power transmitters using spread spectrum techniques
|
||||
app s | FCC ID | |||||
1 | Grantee Code |
2AEDQ
|
||||
1 | Equipment Product Code |
ODSY001
|
||||
app s | Person at the applicant's address to receive grant or for contact | |||||
1 | Name |
J****** N********
|
||||
1 | Telephone Number |
214-2********
|
||||
1 | Fax Number |
760-4********
|
||||
1 |
j******@macnica.com
|
|||||
app s | Technical Contact | |||||
n/a | ||||||
app s | Non Technical Contact | |||||
n/a | ||||||
app s | Confidentiality (long or short term) | |||||
1 | Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | No | ||||
1 | Long-Term Confidentiality Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | No | ||||
if no date is supplied, the release date will be set to 45 calendar days past the date of grant. | ||||||
app s | Cognitive Radio & Software Defined Radio, Class, etc | |||||
1 | Is this application for software defined/cognitive radio authorization? | No | ||||
1 | Equipment Class | DTS - Digital Transmission System | ||||
1 | Description of product as it is marketed: (NOTE: This text will appear below the equipment class on the grant) | Sensor Kit with BLE | ||||
1 | Related OET KnowledgeDataBase Inquiry: Is there a KDB inquiry associated with this application? | No | ||||
1 | Modular Equipment Type | Does not apply | ||||
1 | Purpose / Application is for | Original Equipment | ||||
1 | Composite Equipment: Is the equipment in this application a composite device subject to an additional equipment authorization? | No | ||||
1 | Related Equipment: Is the equipment in this application part of a system that operates with, or is marketed with, another device that requires an equipment authorization? | No | ||||
1 | Grant Comments | Output power is EIRP. | ||||
1 | Is there an equipment authorization waiver associated with this application? | No | ||||
1 | If there is an equipment authorization waiver associated with this application, has the associated waiver been approved and all information uploaded? | No | ||||
app s | Test Firm Name and Contact Information | |||||
1 | Firm Name |
TUV SUD America Inc.
|
||||
1 | Name |
M**** E******
|
||||
1 | Telephone Number |
813-2********
|
||||
1 | Fax Number |
978 9********
|
||||
1 |
W******@tuvsud.com
|
|||||
Equipment Specifications | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Line | Rule Parts | Grant Notes | Lower Frequency | Upper Frequency | Power Output | Tolerance | Emission Designator | Microprocessor Number | |||||||||||||||||||||||||||||||||
1 | 1 | 15C | 2402.00000000 | 2480.00000000 | 0.0004140 |
some individual PII (Personally Identifiable Information) available on the public forms may be redacted, original source may include additional details
This product uses the FCC Data API but is not endorsed or certified by the FCC