Member of the ams Group

Similar documents
CCS811. Ultra-Low Power Digital Gas Sensor for Monitoring Indoor Air Quality. General Description

CCS811. Ultra-Low Power Digital Gas Sensor for Monitoring Indoor Air Quality. General Description

Application Note. DN [Document ID] AS72xx. How to Program AS72xx Firmware with FlashCatUSB. ams Application Note Page 1

Eval Kit Manual. DN[Document ID] CCS811. Standard Board CCS811-LG_EK_ST. ams Eval Kit Manual Page 1

Eval Kit Manual. DN[Document ID] AS6200. Adapter Board AS6200-WL_EK_AB. ams Eval Kit Manual Page 1

AN4491 Application note

AN LPC1700 secondary USB bootloader. Document information. LPC1700, Secondary USB Bootloader, ISP, IAP

Firmware Reprogramming Guide

LH79524/LH Application Note. Static Memory System Design INTRODUCTION STATIC MEMORY OPERATION

Bootloader Firmware Update Protocol and Procedure

ams AG austriamicrosystems AG is now The technical content of this austriamicrosystems document is still valid. Contact information:

AS5161-EK-AB / AS5162-EK-AB 12 BIT Magnetic Angle Position Sensor

AN Entering ISP mode from user code. Document information. ARM ISP, bootloader

PSoC 1 I 2 C Bootloader

AN3154 Application note

Eval Kit Manual. AS726x-iSPI Evaluation Kit User Guide. ams Eval Kit Manual Page 1

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

Writing to Internal Flash in PSoC 3 and PSoC 5

TSL250R, TSL251R, TSL252R

Eval Kit Manual. AS7265x Multispectral Chipset Evaluation Kit User Guide. ams Eval Kit Manual Page 1

ams AG austriamicrosystems AG is now The technical content of this austriamicrosystems application note is still valid. Contact information:

AN Automatic RS-485 address detection. Document information

Operation Manual: AS5048-EK-AB-STM1.0. AS5048 Eval-Kit Stepper Motor

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

Application Note: 48V-BMS-AN01 General Description 48V-BMS. AN01 General Description. Revision 1.0 / 06/10/15 page 1/15

AS5261-EK-AB / AS5262-EK-AB 12 BIT Magnetic Angle Position Sensor with 2 Outputs

AVR42789: Writing to Flash on the New tinyavr Platform Using Assembly

AN Sleep programming for NXP bridge ICs. Document information

User Manual AS5304 / AS5306 Demo Kit AS5304 / AS step Linear Incremental Position Sensor with ABI output

Flash Self-programming Library

Application Note: JN-AN-1003 JN51xx Boot Loader Operation

Boot Loader. Bootloader

SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE

1-Wire Current Loop Interface. User Manual

STAND-ALONE PROGRAMMER

Evaluation Boards for the DLP-USB245M USB Adapter

AN10688_1. PN532C106 demoboard. Document information. NFC, PN532, PN532C106, demoboard. This document describes PN532C106 demoboard.

Operation Manual: AS5600-SO_EK_AB AS bit Programmable Contactless Potentiometer. Revision 1.0 /

LPC1300, FM+, Fast-mode Plus, I 2 C, Cortex-M3

AMP DISPLAY INC. SPECIFICATIONS AMP DISPLAY INC 9856 SIXTH STREET RANCHO CUCAMONGA CA TEL: FAX:

Eval Kit Manual. DN[Document ID] TDC-GPX2. Standard Board GPX2-EVA-KIT. ams Eval Kit Manual Page 1

UM EEPROM Management of PN746X and PN736X. User manual COMPANY PUBLIC. Rev February Document information

YHY202D RfidLoginer Datasheet

AN3354 Application note

WM DS28-EV1-REV2 Schematic and Layout WOLFSON DEVICE(S):

Serial Boot Loader For CC2538 SoC

Tag4M Getting Started

Demo Kit Manual. DN[Document ID] GP30. Reference Board GP30-DEV-KIT. ams Demo Kit Manual Page 1

Strike the keyboard for you when it sniffing the tag!

Quick Start Guide QG AquaSensor. Color and Turbidity in Liquids. AS7261 Application. v Jan-08

BLUEGIGA WI-FI SOFTWARE

ArduCAM-M-2MP Camera Shield

AN3965 Application note

Demo Kit Manual. DN[Document ID] TDC-GP30. Reference Board GP30-DEV-KIT. ams Demo Kit Manual Page 1

Installation Manual. Installation Manual for the ADS design kit version v2.1. ADS Design kit Windows Linux Unix Instruction Manual RF small signal

QPRO Family of XC1700E Configuration PROMs

M2351 Trusted Boot. Application Note for 32-bit NuMicro Family

WM DS28-EV2-REV1 Schematic and Layout

AS1370. Application Note: AS1370-AN01- Evaluation Board Description. High Voltage, Low Quiescent Current, 200mA LDO. AN01-Evaluation Board Description

STEVAL-SPBT4ATV3. USB dongle for the Bluetooth class 1 SPBT2632C1A.AT2 module. Features. Description

Use the Status Register when the firmware needs to query the state of internal digital signals.

POWERKEY PRO & POWERKEY

RC1140-RC232 Firmware Product Change Notification

ES_LPC81xM. Errata sheet LPC81xM. Document information

AN 038. Getting Started with the KXTJ2. Introduction

Kinetis Bootloader to Update Multiple Devices in a Field Bus Network

Using the bq3285/7e in a Green or Portable Environment

CC2650 Java SBL Imp CC2650.

UM PCSerial. Document information. PCSerial, MFRD52x development board, MFRC52x, PN51x design-in kit

Expansion Port CNT USER MANUAL

AN2792 Application note

AN PN5180 Secure firmware update. Application note COMPANY PUBLIC. Rev December Document information

High speed USB interface for digital processor system

AN SC16IS760/762 Fast IrDA mode. Document information

EZ I 2 C Slave. Features. General Description. When to use a EZ I 2 C Slave 1.50

USB ZigBee Adapter. User Manual. 1.0, Dec 2011

October 2012 Rev FEATURES

M3H Group(1) Application Note. I 2 C Interface (I2C-B) MASTER/SLAVE

SPBT3.0DPx BT module. Firmware Update Procedure. Revision 1.0

MOSAIC CONTROL DISPLAYS

Nuvoton Touch Key Series NT1160 Datasheet

Application Note AN0003. Binary Messages. SkyTraq Venus 5 GPS Receiver

1-Wire Mini Host. User Manual

Application Note: AS3935-AN01 Demo Board Description AS3935. Franklin Lightning Sensor Demo Board. Revision 1.1 / 21/11/12 page 1/20

USER GUIDE 1 INTRODUCTION 2 GENERAL DESCRIPTION. A) Mbed enabled MCU Board. B) Shield Board. Quad SPI Evaluation Kit

VINCULUM-BASED TEMPERATURE / HUMIDITY / VOLTAGE DATA LOGGER FEATURES:

PCA9633 demonstration board OM6282

Member of the ams Group

NUC505 ICP Programming Tool User Guide

AxiCat Command Line Tool

Preliminary. Gas Sensor Analog Front End Datasheet GasSensorAFE V Features and Overview. This datasheet contains Preliminary information.

AxiCat Command Line Tool

SH-2 SHTP Reference Manual

OM13071 LPCXpresso824-MAX Development board

FW UPGRADE SPECIFICATION

CE PSoC 4: Time-Stamped ADC Data Transfer Using DMA

Installation Manual Installation Manual for the MicroWave Office design kit version v1.0

USB Bootloader GUI User s Guide

DIO16 8 Channel digital input and 8 Channel digital output board. V1.0 August CANBUS-DIO16 Rev B v1.0

Modbus Map: Automatic Generator Start (AGS) Device

Transcription:

Cambridge CMOS Sensors is now Member of the ams Group The technical content of this Cambridge CMOS Sensors (CCS) document is still valid. Contact information: Headquarters: ams AG Tobelbader Strasse 30 8141 Premstaetten, Austria Tel: +43 (0) 3136 500 0 e-mail: ams_sales@ams.com Please visit our website at www.ams.com

CCS811 Application Firmware Download Guide This application note details the method of reprogramming the CCS811 device with a new Application code binary file over the I 2 C interface It assumes that the I 2 C communication protocol, as described in application note CC-000803-AN has been implemented (including control of the nwake signal). Deciding to download a new Application code binary file If a new Application code binary file is available the decision to upgrade may be made by: 1. Reviewing the changes documented in the appropriate release note 2. Checking there are no restrictions associated with the new Application code binary file, such as HW version or Bootloader Firmware version. If not known the CCS811 Hardware version or Bootloader Firmware version should be checked before attempting to download a new Application code binary file The HW Version is stored at register 0x21. The FW Boot Version is stored at Register 0x23. Bootloader Mode The CCS811 must be in Bootloader mode to download a new Application code binary file. When a CCS811 device is reset it automatically starts in Bootloader Mode. A reset could be initiated by: Powering on the CCS811 Asserting pin nreset low for at least 20us and then reasserting high Writing the command for a Software Reset Validating that the CCS811 is in Bootloader Mode can be done by reading bit 7 of the STATUS Register (0x00). In Bootloader mode bit 7 is 0, in Application Mode bit 7 is 1. Software Reset To assert SW_RESET a sequence of four bytes must be written to register 0xFF in a single I 2 C sequence: 0x11, 0xE5, 0x72, 0x8A. P a g e 1

Firmware Download The flow of commands and actions required for a CCS811 Application code binary file download is illustrated below: Figure 1: Application/Boot Code Download Activity Diagram The BIN file contains the CCS811 application code binary. This is in a proprietary format and the contents cannot be modified by the user. Erase To erase the CCS811 application code, send the following I 2 C byte sequences to the ERASE Register (0xF1) of the CCS811: 0xE7, 0xA7, 0xE6, 0x09. This four byte sequence is required (to prevent accidental erase operations). The APP_VALID bit [4] of the STATUS Register (0x00) will be cleared by the CCS811 after issuing and successfully processing the above command. After issuing the ERASE command the application software must wait 300ms before issuing any transactions to the CCS811 over the I2C interface. P a g e 2

Program The following diagram illustrates the process of writing bytes extracted from a BIN file to the CCS811: Figure 2: CCS811 Programming Activity Diagram The application binary code length is in multiple of 8 bytes. For every 8 bytes of program code read from the BIN file, the following 9 bytes I 2 C data payload is constructed, where REG_BOOT_APP is the command to Write Data to FLASH (0xF2): Figure 3: CCS811 Program Write Payload This I 2 C payload is then sent to the CCS811 as a single sequence (effectively writing the 8 bytes to Register REG_BOOT_APP (0xF2). The process is repeated until all program code has been read from the source BIN file and sent to the CCS811. Verify To verify the program code has been received error free by the CCS811 device, the host can send the VERIFY command by doing a single byte write of 0xF3. The APP_VALID bit [4] and APP_VERIFY bit [5] of the STATUS Register (0x00) will be set by the CCS811 if the VERIFY operation was successful. After issuing the VERIFY command the application software must wait 70ms before issuing any transactions to the CCS811 over the I2C interface. P a g e 3

Pseudo-Code Example The following pseudo-code example code illustrates the overall programming flow for performing an application code binary file download on CCS811: const byte REG_BOOT_APP = 0xF2; const byte[] CCS811_REG_STATUS = { 0x00 ; const byte[] CCS811_ERASE = { 0xF1, 0xE7, 0xA7, 0xE6, 0x09 const byte[] CCS811_VERIFY = { 0xF3 ; byte buffer[] = new byte[61]; // Pulse Reset Pin WriteLatch(device, 0x00, CCS811_RESET_PIN); Sleep(100); WriteLatch(device, 0xFF, CCS811_RESET_PIN); Sleep(100); // Set WAKE low WriteLatch(device, 0x00, CCS811_WAKE_PIN); Sleep(100); // Erase application writebus(ref device, CCS811_ERASE, 5); Sleep(500); // Read file in 8-byte chunks until the end is reached, and send each to the board uint length = ProgramBinFile.Length; byte *s = ProgramBinFile.ReadBytes(); byte payload[] = new byte[9]; payload[0] = REG_BOOT_APP; for (int i = 0; i < length; i+=8){ for (int j = 0; j < 8; j++) { payload[j + 1] = *(s + (i * 8) + j); writebus(device, payload, 9); Sleep(50); // Verify application writebus(device, CCS811_VERIFY, 1);Sleep(500); writebus(ref device, CCS811_REG_STATUS, 1); readbus(device, ref buffer, 1); if ((buffer[0] & 0x30) == 0x30){ // program code valid else{ // program code invalid P a g e 4

References Document Reference CC-000619-DS CC-000803-AN Description Datasheet for CCS811 CCS811 Programming and Interfacing Guide The contents of this document are subject to change without notice. CCS products are not designed, authorized or warranted to be suitable for use in medical, military, aircraft, space or life support equipment, nor in applications where failure or malfunction of an CCS product can reasonably be expected to result in personal injury, death or severe property or environmental damage. CCS accepts no liability for inclusion and/or use of CCS products in such equipment or applications and therefore such inclusion and/or use, is at the customer s own risk. As any devices operated at high temperature have inherently a certain rate of failure, it is therefore necessary to protect against injury, damage or loss from such failures by incorporating appropriate safety measures P a g e 5