background image

AP08113

Capacitive-Touch Color Wheel Implementation

Downloading Modified Color Wheel Software Code

 

Application Note

15

V1.0, 2010-08

 

5

Downloading Modified Color Wheel Software Code

The Color Wheel Application Kit is prepared to start up automatically after power-on reset. This is achieved by
programming the Boot Mode Index (BMI) to User Mode (Productive). To download the software code, the
“accessing of UART BSL Mode” code must be included in the user flash code at all times (see 

Section 5.1

).

The procedure to enter the UART BSL Mode to update software code is as follows:

Plug in Color Wheel board to computer, via USB, to start up the board

Open DAvE-Bench (XC800_FLOAD) tool (Device: XC82x-1F; Protocol: UART; Physical Interface: Half 
Duplex; set COM port)

Click on “Connect” button to connect UART BSL Mode (

P2.0 and P2.1 are controlled by XC800_FLOAD

)

Device is in UART BSL Mode (

Notice that the “On/Off” and color mode LEDs are off

)

Click on “Write User ID” button to program BMI to UART BSL Mode

Erase flash (optional)

Open hex file and download code to Flash.

Execute Flash and observe Color Wheel board

Note: Ensure that the access code to UART BSL Mode is included in code to allow future software updating. Once 

the code is verified, the user can re-program the device to User Mode (Productive). 

Attention: It is recommended to program BMI to UART BSL Mode before updating the software code. This 

is a safer approach and it will ensure that the device can be accessed via UART BSL Mode at 
all times. Only program the BMI back to User Mode (Productive) when the updated software 
code is proven to be working and is in a finished state.

5.1

Access Code to UART BSL Mode

In order to allow software updating, the following code must be included in the user flash code at all times:

Soft reset - triggered by external interrupt 0 (low level triggered at P2.0). This emulates a Reset pin. [INT.C]

Enter UART BSL Mode - upon start up, check P2.1 for low to enter UART BSL Mode. [MAIN.C]

Note: The 2 port pins are controlled by the XC800_FLOAD tool to trigger a soft reset and to enter UART BSL Mode 

at next boot-up.

Note: The user can define specific conditions to program the BMI value to access to UART BSL Mode.

MAIN.C

void main(void)
{
  // USER CODE BEGIN (MAIN_Main,2)
....
......

if( (!(P2_DATAIN & 0x02)) && (P2_DATAIN & 0x01) )
{
 while(--j);

// wait for FTDI device to enumerate and startup

 if( !(P2_DATAIN & 0x02) ) // Only enter BSL in case "MBC" is low
 {

EA = 0;

// disable interrupts

NMICON = 0x00;

// disable NMIs

SP = 0xE0;

// move stack pointer outside flash buffer

BR_UART_BSL();

// start UART BSL

 }
}

  // USER CODE END

All manuals and user guides at all-guides.com

Summary of Contents for XC800 AP08113

Page 1: ...XC800 Family AP08113 Capacitive Touch Color Wheel Implementation Microcontrollers Application Note V1 0 2010 08 All manuals and user guides at all guides com a l l g u i d e s c o m...

Page 2: ...LICATION NOTE Information For further information on technology delivery terms and conditions and prices please contact the nearest Infineon Technologies Office www infineon com Warnings Due to techni...

Page 3: ...last revision This is the first release We Listen to Your Comments Is there any information in this document that you feel is wrong unclear or missing Your feedback will help us to continuously improv...

Page 4: ...heel Function 9 3 2 2 Calc_Compensation Function 9 3 3 RGB LED 10 3 4 Overview Flow Chart of Color Wheel Software Code 11 4 Modifying Color Wheel Software Code 12 4 1 User Defined Parameters 12 4 2 DA...

Page 5: ...ary to create their own XC822T1 solution The source code provided can be modified and compiled with the free DAvE Bench tool chain The user can download the code into flash execute it and observe the...

Page 6: ...d the third selects Hue The respective LED above the touch wheel will indicate the current color mode selection The main LED is a 3 channel RGB LED D2 where the color is a combination of the three cha...

Page 7: ...PADERROR of the LEDTS ROM Library FINDTOUCHEDPAD function There are two touch detection methodologies used in the Color Wheel Application Kit LEDTS ROM Library touch detection methodology Touch Wheel...

Page 8: ...DC is used to keep track of how long the pad is touched PDC is initialized to be 0xFF at the start of a detected pad touch and is decremented once at each All Enabled Pads Accumulated Count Period AEP...

Page 9: ...0 The parameters include compensation for wheel2 and wheel1 amplitude threshold and filter gain Refer to Section 4 1 for descriptions of the user defined parameters Address pointer of touch wheel angl...

Page 10: ...converted to an RGB value via the HSL_TO_RGB function and the CCU6 registers are programmed where their respective pins are connected to the RGB LED Figure 3 HSL to RGB LED Block Diagram Table 2 Speci...

Page 11: ...color mode is enabled y Change colur mode and respective LED3 2 1 loop Centre button is touched n y Centre button is touched for long period n Enter Power Down Mode Disable interrupts Disable WDT if e...

Page 12: ...fy and compile the code Procedure to modify Color Wheel Application software code Download and install DAvE Bench www infineon com dave bench Define a workspace for DAvE Bench Click File Import XC800...

Page 13: ...respective folder To select the required configuration select Project Properties C C Build Settings Manage Configurations Activate this option To view the differences between the Debug and Release co...

Page 14: ...ch Color Wheel Implementation Modifying Color Wheel Software Code Application Note 14 V1 0 2010 08 Figure 5 DAvE Bench GUI for Compiling the Color Wheel Software Code 5 1 2 3 4 All manuals and user gu...

Page 15: ...e software updating Once the code is verified the user can re program the device to User Mode Productive Attention It is recommended to program BMI to UART BSL Mode before updating the software code T...

Page 16: ...al interrupt Control Register 0 SFR_PAGE _su3 noSST switch to page 3 without saving MODPISEL1 0x18 peripheral input select register 1 SFR_PAGE _su0 noSST switch to page 0 without saving End of functio...

Page 17: ...is therefore re entered and the latest SFR LTS_TSVAL value is re saved The cycle then repeats If the SFR LTS_TSVAL value is less than or equal to the saved_value it means that the centre button is be...

Page 18: ...lor Wheel Board Figure 6 shows the component layout of the Color Wheel board while Figure 7 Figure 8 and Figure 9 show the schematics of the XC822T device USB interface and power supply on the Color W...

Page 19: ...on Schematics and Layout of the Color Wheel Board Application Note 19 V1 0 2010 08 Figure 8 Schematic of USB Interface on the Color Wheel Board Figure 9 Schematic of power supply of the Color Wheel Bo...

Page 20: ...lor Wheel Board Application Note 20 V1 0 2010 08 Figure 10 and Figure 11 show the top and bottom layout of the Color Wheel board respectively Figure 10 Top Layout of the Color Wheel Board Figure 11 Bo...

Page 21: ...applications The Infineon touch sensing solution described in this document is a total solution on chip comprising optimized hardware and effective software functions running from ROM By taking the e...

Page 22: ...Published by Infineon Technologies AG w w w i n f i n e o n c o m All manuals and user guides at all guides com...

Reviews: