Emulating an asynchronous serial interface (ASC0) via software routines

Similar documents
AP16050 SAB C161V/K/O. Emulating an asynchronous serial interface (ASC) via software routines. Microcontrollers. Application Note, V 1.0, Feb.

Emulating an asynchronous serial interface (USART) via software routines

AP16051 SAB C161K/V/O. Emulating an asynchronous serial interface (ASC) via the on-chip synchronous serial interface (SSC) Microcontrollers

Emulating an asynchronous serial interface (USART) via the on-chip synchronous serial interface (SSC)

Maxim > Design Support > Technical Documents > Application Notes > Microcontrollers > APP 4465

MCS-51 Serial Port A T 8 9 C 5 2 1

8051 Serial Communication

Application Note, V1.0, Jul AP XC16x. Interfacing the XC16x Microcontroller to a Serial SPI EEPROM. Microcontrollers

Serial I-O for Dinesh K. Sharma Electrical Engineering Department I.I.T. Bombay Mumbai (version 14/10/07)

Serial communication

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: 8051 Architecture Module No: CS/ES/5 Quadrant 1 e-text

In the HEW, open a new project by selecting New workspace from the main menu.

8051 Timers and Serial Port

CoE3DJ4 Digital Systems Design. Chapter 5: Serial Port Operation

Siemens' C161 - Enter the 16-bit family of Microcontrollers with revolutionary price/performance ratio

Fig.12.5 Serial Data Line during Serial Communication

8051 Microcontroller

Infineon C167CR microcontroller, 256 kb external. RAM and 256 kb external (Flash) EEPROM. - Small single-board computer (SBC) with an

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

Demo 17 - Receiving data from Host through Serial Port. Introduction:

COMP2121: Microprocessors and Interfacing

MICROPROCESSOR BASED SYSTEM DESIGN

M68HC08 Microcontroller The MC68HC908GP32. General Description. MCU Block Diagram CPU08 1

3. (a) Explain the steps involved in the Interfacing of an I/O device (b) Explain various methods of interfacing of I/O devices.

8051 Microcontroller

Migrating from the 8XC251Sx to the 8XC251Tx

AN10210 Using the Philips 87LPC76x microcontroller as a remote control transmitter

YOU WILL NOT BE ALLOWED INTO YOUR LAB SECTION WITHOUT THE REQUIRED PRE-LAB.

Serial Communication Prof. James L. Frankel Harvard University. Version of 2:30 PM 6-Oct-2015 Copyright 2015 James L. Frankel. All rights reserved.

MICROPROCESSORS AND MICROCONTROLLERS MATERIAL. Features of 8051:

The Freescale MC908JL16 Microcontroller

Microcontroller and Embedded Systems:

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

PART - B (Answer all five units, 5 X 10 = 50 Marks)

8051SERIAL PORT PROGRAMMING

Lecture 10. Serial Communication

8051 Serial Port. EE4380 Fall02 Class 10. Pari vallal Kannan. Center for Integrated Circuits and Systems University of Texas at Dallas

Interrupt Programming: Interrupts vs. Polling Method:

PC Interrupt Structure and 8259 DMA Controllers

CHAPTER 11 INTERRUPTS PROGRAMMING

The Atmel ATmega168A Microcontroller

AN10955 Full-duplex software UART for LPC111x and LPC13xx

1. Internal Architecture of 8085 Microprocessor

SRL0 Serial Port Unit

Addressing scheme to address a specific devices on a multi device bus Enable unaddressed devices to automatically ignore all frames

Fredrick M. Cady. Assembly and С Programming forthefreescalehcs12 Microcontroller. шт.

Using FlexIO to emulate communications and timing peripherals

Three criteria in Choosing a Microcontroller

Microprocessors and Interfacng. Question bank

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Serial Port Communication Module No: CS/ES/11 Quadrant 1 e-text

Bootstrap Loader. 8xC166

8051 MICROCONTROLLER

QUESTION BANK CS2252 MICROPROCESSOR AND MICROCONTROLLERS

EEE3410 Microcontroller Applications Department of Electrical Engineering Lecture 4 The 8051 Architecture

Hello, and welcome to this presentation of the STM32 Universal Synchronous/Asynchronous Receiver/Transmitter Interface. It covers the main features

Informatics for industrial applications

Rev. No. History Issue Date Remark

Introduction to Embedded Systems

Microprocessor Architecture

Designing a Low-Cost USB Interface for an Uninterruptable Power Supply with the Cypress Semiconductor CY7C63001 USB Controller

Hello, and welcome to this presentation of the STM32 Low Power Universal Asynchronous Receiver/Transmitter interface. It covers the main features of

A. This Errata sheet represents the known bugs, anomalies and work-arounds for the ADuC812 MicroConverter.

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

PIC Microcontroller Introduction

Interrupt is a process where an external device can get the attention of the microprocessor. Interrupts can be classified into two types:

ENE 334 Microprocessors

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.

AP-468 APPLICATION BRIEF. Serial Port Mode 0 RICHARD N EVANS APPLICATIONS ENGINEER. February Order Number

Embedded systems. Exercise session 3. Microcontroller Programming Lab Preparation

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director

The Atmel ATmega328P Microcontroller

Microprocessors & Interfacing

These three counters can be programmed for either binary or BCD count.

Am186ER/Am188ER AMD continues 16-bit innovation

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

Interrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1

RL78 Serial interfaces

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their

EE 354 November 13, 2017 ARM UART Notes

Mod-3: Interrupts,Timer operation,serial communication 1

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso


Embedded Systems and Software. Serial Communication

The Microcontroller Idea Book

ISSI. IS89C51 CMOS SINGLE CHIP 8-BIT MICROCONTROLLER with 4-Kbytes of FLASH ISSI IS89C51 NOVEMBER 1998 FEATURES GENERAL DESCRIPTION

CPEG300 Embedded System Design. Lecture 6 Interrupt System

In-circuit Programming of the C166 Family Flash Devices

8051 Peripherals. On-Chip Memory Timers Serial Port Interrupts. Computer Engineering Timers

I Introduction to Real-time Applications By Prawat Nagvajara

USER GUIDE EDBG. Description

CEIBO FE-5111 Development System

e-pg Pathshala Subject: Computer Science Paper: Embedded System Module: Interrupt Programming in Embedded C Module No: CS/ES/20 Quadrant 1 e-text

Module I. Microcontroller can be classified on the basis of their bits processed like 8bit MC, 16bit MC.

EASY219 / IEC CANopen Master / Slave

System Reset / C167. Figure 17-1 External Reset Circuitry. Semiconductor Group 17-1

ELEG3923 Microprocessor Ch.10 Serial Port Programming

Microprocessors B (17.384) Spring Lecture Outline

Interfacing a Hyper Terminal to the Flight 86 Kit

EET203 MICROCONTROLLER SYSTEMS DESIGN Serial Port Interfacing

Grundlagen Microcontroller Interrupts. Günther Gridling Bettina Weiss

Transcription:

Microcontrollers ApNote AP165001 or æ additional file AP165001.EXE available Emulating an asynchronous serial interface (ASC0) via software routines Abstract: The solution presented in this paper and in the attached source files emulates the most important ASC functions by using SW routines implemented in C. The code is focused on the SAB C161V/K/O, but will fit to all C16x derivatives. Beyond the low level software drivers a test shell is delivered. This shell allows a quick test of the software drivers by an emulator or a starter kit demo board. All files are available for Keil and Tasking C Cross Compiler. Author: W. Boelderl-Ermel, HL COM WN SE Semiconductor Group 09/98, Rel. 01

1 Introduction... 3 2 General Operation and Hardware Environment... 4 2.1 Supported Features... 4 2.2 Required Resources... 5 2.3 External Routing... 6 2.4 Principles of Emulation... 7 2.4.1 ASC Write... 7 2.4.2 ASC READ... 8 3 ASC Emulation Software Description... 9 3.1 Software Structure... 9 3.2 Main Program... 10 3.3 Emulation Subroutines... 12 3.4 Baud Rate Calculation... 14 3.5 Load Measurement... 15 3.6 Performance Limitations... 16 3.7 Debugging Support Pins... 17 3.8 Make File... 18 3.9 Support of KitCON161 Evaluation Board... 19 AP1650 ApNote - Revision History Actual Revision : Rel.01 Previous Revision: none Page of actual Rel. Page of prev. Rel. (Subjects changes since last release) Semiconductor Group 2 of 19 AP165001 09.98

1 Introduction The C16x microcontroller family provides only one on-chip asynchronous serial communication channel (ASC). If a second ASC is required, an emulation of the missing interface may help to avoid an external hardware solution with additional electronic components. The solution presented in this paper and in the attached source files emulates the most important ASC functions by using performance and resource balanced SW routines up to 38,4 KBaud in full duplex mode with an overhead less than 40% or up to 100 KBaud in half duplex mode with an overhead less than 55% at SAB C161O with 16 MHz. All files are available for Keil and Tasking C Cross Compiler. Due to the implementation in C this performance is not the limit of the chip. A pure implementation in assembler will result in a reduction of the CPU load and therefore increase the maximum speed of the interface. Speaking about performance, it is strongly advised to have a close look at the assembler code generated by the different compilers. Moreover, at C16x architecture the speed of executing code strongly depends on the area where code and data are fetched from (external memory 16 bit data access, external memory 8 bit data access, Internal RAM, on-chip Flash,...). In addition, only a pin compatible solution is provided. The internal register based programming interface is replaced by a set of subroutine calls. The attached source files also contain a test shell, which demonstrates how to exchange information between an on-chip HW-ASC and the emulated SW-ASC via three external wires in different operation modes. It is based on the SAB C161O (Siemens 16 bit microcontroller). A table with load measurements is presented to give an indication for the fraction of CPU performance required by software for emulating the ASC. Semiconductor Group 3 of 19 AP165001 09.98

2 General Operation and Hardware Environment 2.1 Supported Features The following enumeration summarizes all features of the on-chip HW-ASC to be emulated by software routines: full and half duplex communication, baud rates up to 38.4 KBaud in full duplex and 100 KBaud in half duplex mode @ SAB C161O with 16 MHz crystal 7 bit asynchronous data frames with variable baud rate, even/odd parity and one or two stop bits, 8 bit asynchronous data frames with variable baud rate and one ore two stop bits, 8 bit asynchronous data frames with variable baud rate, even/odd parity and one ore two stop bits, 9 bit asynchronous data frames with variable baud rate and one ore two stop bits,. bit stream receive capability. The following enumeration lists all functions of a SAB C16x on-chip ASC0, which could not be cloned due to technical limitations or performance restrictions: 8 bit synchronous operation, 8 bit data frames plus wake up bit, framing check, loop back mode, bit stream write capability. Semiconductor Group 4 of 19 AP165001 09.98

2.2 Required Resources To emulate the ASC interface by a set of software routines requires some resources, which are listed in the following table: Table 1 Resource Requirements Resource Emulated ASC Number of required I/O pins 2 Number of interrupt pins 1 Interrupt Priority very high Timer T2 and T4 Program Memory 820 Words (Emulation routines only) Data Memory 20 Words (Emulation routines only) Semiconductor Group 5 of 19 AP165001 09.98

2.3 External Routing An external wire connecting the SW-ASC data input with the External1 Interrupt pin is required to activate the SW-ASC via a Start Bit transmitted by the external communication partner. On test boards with C16X processor the on-chip HW-ASC may also be used as external party. EX1 P2.15 (optional) C16x SW ASC RXD TXD TXD RXD HW ASC Figure 1 External Routing of Transmission Lines Semiconductor Group 6 of 19 AP165001 09.98

2.4 Principles of Emulation The algorithms required for emulating the data transmission depend on the transfer direction. 2.4.1 ASC Write SW TXD 1 1 MSB Stop Bit Stop Bit Parity Bit Data Bits Start Bit LSB Pin Figure 2 Schematic Diagram of Emulating an ASC Write Operation using a Timer ISR An ASC Write is prepared by loading the information to be transmitted into a temporary buffer. After inserting parity, stop and start bits the whole buffer is shifted out within an interrupt service routine for a timer loaded with 1.0 bit time of the selected baud rate. Semiconductor Group 7 of 19 AP165001 09.98

2.4.2 ASC READ Data Frame HW ASC Ext. Interrupt Start Bit Stop Bit Timer ISR sampling data in Figure 3 Schematic Diagram of Emulating an ASC Read Operation using a Timer ISR An ASC READ is initiated by an ASC Start Bit arriving at the SW-RXD input pin, which is externally connected to an External Interrupt pin. The correlated interrupt service routine starts a timer loaded with 1.5 bit time of the required baud rate. At the beginning of the related interrupt service routine the timer is reloaded with 1.0 bit time and the logic state of the SW-RXD pin is sampled in. The final ASC Stop Bit provided by the external transmitter is completely ignored to gain some time for preparing reception of the next byte of a continuous input data stream. Semiconductor Group 8 of 19 AP165001 09.98

3 ASC Emulation Software Description 3.1 Software Structure The emulation software is written in C and is split into 3 files: usa_emul.c contains all low level software drivers (subroutines and interrupt services) to emulate the ASC by SW routines. This file may be directly added to the user s application software directory and may be included in his make file. usa_test.c demonstrates how to start, control and finish the emulation. The complete file (test shell) may be used to check the low level software drivers in a real application. Afterwards, the user may copy the required statements for calling the individual ASC functions into his own application code segments. usa_defi.h holds all definitions and declarations related to the emulation software (usa_test.c, usa_emul.c). Semiconductor Group 9 of 19 AP165001 09.98

3.2 Main Program The main program (usa_test.c) is implemented as a state machine and handles several test cases (Figure 4). USART_INIT EMULATED ASC_READ USART_FINISH EMULATED ASC_WRITE USART_HW ASC_WRITE OUT USART_WHILE_ usart_sw_flag SW_ASC read_ready == OFF _READS_IN usart_sw_flag read_ready == ON & usart_sw_rec_word_number == USART_RECEIVE BUFFER_LENGTH usart_sw_flag read_ready == ON & usart_sw_rec_word_number < USART_RECEIVE BUFFER_LENGTH USART_WHILE SW_ASC WRITES_OUT usart_sw_flag write_ready == ON & usart_sw_tran_word_number < USART_TRANSMIT BUFFER_LENGTH ussart_sw_flag write_ready == ON & usart_sw_tran_word_number == USART_TRANSMIT BUFFER_LENGTH usart sw_flag write ready == OFF SART_PARITY_ ERROR error == ON USART_INPUT_ usart_sw_receive PARITY word_number-- > 0 _CHECK USART_SW ASC_WRITE OUT usart_sw_receive word_number-- > 0 & error == OFF USART_FINISH EMULATED ASC_READ USART_INIT EMULATED ASC_WRITE Figure 4 State Machine Diagram for test program usa_test.c Semiconductor Group 10 of 19 AP165001 09.98

The first test case verifies the emulated ASC by a data reception from an external source: In the first state USART_INIT_EMULATED_ASC_READ the emulated ASC interface is initialized with the baud rate to be supported (100 KBaud half duplex). As communication partner serves the on-chip HW-ASC which is set up in same baud rate. The second state USART_HW_ASC_WRITE_OUT starts the on-chip HW-ASC. In the third state USART_WHILE_SW_ASC_READS_IN a flag is polled indicating the end of data reception via the SW-ASC. User application code to be executed during the SW-ASC read in operation may be included here instead of wasting 8 or 9 bit times only for running a polling loop. After finishing the transmission of a whole message containing a programmable number of words the state machine proceeds to the next state. The state USART_INPUT_PARITY_CHECK analyzes the message string received by SW-ASC. If a difference between received and calculated parity bit is detected the state machine goes to the error state USART_PARITY_ERROR and stops. The last state USART_FINISH_EMULATED_ASC_READ disables all hardware modules required for data transmission. In the second test case the communication is started with an altered transmission direction. The SW-ASC operates as data source and provides the on-chip HW-ASC with a message string. Semiconductor Group 11 of 19 AP165001 09.98

3.3 Emulation Subroutines The file usa_emul.c contains all subroutines and interrupt services required for controlling the ASC emulation: usart_init_sw_asc () initializes all required auxiliary hardware modules like timers, External Interrupt and the related port pins by programming their control registers. The variable usart_temp_sw_control_register_word has to be handled in the same way like the C16x hardware special function register (SFR) S0CON. This register contains all control bits which configure the ASC. In addition the variable usart_temp_sw_baudrate sets one bit time of the bitrate which is desired. usart_start_sw_write() prepares a data transmission via the SW-ASC by copying the information to be transmitted into a temporary word, inserting a 0 as Start Bit at LSB position. filling up this word buffer with leading 1 s (partly used as Stop Bits), calculating and inserting a parity bit (if required), Afterwards, the WRITE timer is enabled and started. usart_parity_bit_calculation() calculates the parity bit in respect to odd or even parity mode and 8 or 9 bit data frame length. usart_analyse_input_word() compares the transmitted parity bit with the calculated parity bit of a received information. usart_disable_sw_asc() disables all required auxiliary hardware modules like timers and interrupts by setting their control registers respectively. usart_int1_interrupt_service() is started by a Low level at the SW-ASC-RXD pin, which is externally wired to the interrupt1 pin. The Low level is interpreted as an ASC Start Bit announcing the arrival of further data bits. Therefore a timer is started to activate a SW-ASC read operation after an 1.5 bit time interval. Finally the interrupt1 service is disabled to avoid undesired reactions to incoming 0 data bits. usart_read_timer_interrupt_service() starts with a self compensating timer reload. The Timer Interrupt Flag is set when the timer underflows. The related interrupt service routine is entered while the timer continues counting down. The current timer value (0xFFFx) represents the time already spent in ISR. Adding 1 bit time to current timer value compensates this interrupt service delay time and enables next sw-rxd-pin sampling in 1 bit time distance exactly. A READ operation begins in the middle of the first received data bit. All incoming bits are stored in usart_sw_asc_receive_buffer arranged in correct bit order (LSB first) and the Transfer Completion Flag is set. The External Interrupt is enabled again to be prepared for handling the Start Bit of the next data byte reception. The final stop bit is completely ignored, which decreases the CPU overhead and saves time to get prepared for the Start Bit of the next byte of an input message stream. Semiconductor Group 12 of 19 AP165001 09.98

usart_write_timer_interrupt_service() handles a WRITE operation which is started with a self compensating timer reload before writing out the LSB of the usart_output_word. Every new ISR entry continues with bits of usart_output_word in ascending order. Semiconductor Group 13 of 19 AP165001 09.98

3.4 Baud Rate Calculation Data transmission via an ASC interface requires an identical baud rate to be generated by both communication partners. This can be achieved by selecting a suitable clock oscillator base frequency and a corresponding prescaler factor. The load values for the HW-ASC baud rate generator is stored as a constant in file usa_defi.h and calculated by the formula: fosc HW_ USART_ xxxx_ BAUD = ( ) 1 2* 16* Desired _ Baud _ Rate The timer load and reload values (required for emulating a SW-ASC baud rate generator) are calculated automatically from this HW-ASC baud rate generator load value by the subroutine usart_init_sw_asc (). For read operations the initial load value of 1.5 bit time is corrected by a constant in file usa_defi.h (USART_INTERRUPT_DELAY_CORRECTION), which takes into account the Interrupt Response Time for External Interrupt1 after receiving a Start Bit, the Interrupt Response Time for READ Timer underflow including the execution time for all statements in the corresponding interrupt service routine before sampling in the first data bit. The exact value for USART_INTERRUPT_DELAY_CORRECTION may be extracted by analyzing the assembler program listing or by checking bit pulse signals with an oscilloscope. Attention: The USART_INTERRUPT_DELAY_CORRECTION value depends on the clock generator frequency. Semiconductor Group 14 of 19 AP165001 09.98

3.5 Load Measurement Emulating a hardware module by a set of software subroutines decreases the processor performance available for user application software. The processor load generated by the emulation software is defined as: Load = Time spent in emulating and interrupt service routines Total amount of time for transmitting / receiving n bytes 100% The execution time of the required interrupt service and emulating routines is calculated by analyzing the compiler object module listing. The Total amount of time for transmitting / receiving n bytes can be easily calculated by multiplying the number of bits to be transmitted (including Start and Stop Bits) with the bit period time related to selected baud rate. For double checking purpose test statements are included in emulation subroutines indicating the begin and the end of an interrupt service or emulation routine by switching port pin P2.15 to Low and to High state. This port pin may be scanned by an oscilloscope. However, the pulse width measured at this test pin does not exactly represent the CPU load caused by a subroutine execution. Even if the macro reset_test_pin_latch() is found at the very beginning of a C coded subroutine or the macro set_test_pin_latch() is seen as last statement in C source code, several stack operations to be executed are found in the compiler s object module listing before or after the test pin is affected (PUSH register x, PULL register x). The next table presents load calculation results for an ASC emulation via SW routines running with different baud rates (data frames without parity bit). Table 3: Load Measurement Values for an ASC emulation via SW routines (without parity bit) at SAB C161O Crystal Frequency Baud Rate Half Duplex Half Duplex Read Load Full Duplex Load Write Load 16 MHz 19.2 KB 10.4% 9.2% 19.6% 16 MHz 38.4 KB 20.7% 18.4% 39.1% 16 MHz 100.0 KB 54.0 % 48.0% - Attention: The load value increases with falling clock generator frequencies. Semiconductor Group 15 of 19 AP165001 09.98

3.6 Performance Limitations The most severe limitation is seen in half duplex READ mode at 100 KB baud rate. The Read Timer interrupt service routine requires an execution time near 1 bit time. At the next higher baud rate (125 KBaud) the self calibrating timer reload mechanism fails after some ISR entries and loads the timer with a negative value (0xFFFx). Attention: The Write Timer always requires the highest interrupt priority within the system to generate a bit stream with a very accurate ASC timing. Another fact which reduces the maximum baudrate of the application is the implementation in C. A solution in assembler would have a positive impact in the performance. Of course, this solution would be not that easy understood like the solution in C code. So, it is advised to implement the CPU intensive routines in assembler if performance sensitive applications are used. Speaking about performance, it is strongly advised to have a close look at the assembler code generated by the different compilers. Moreover, at C16x architecture the speed of executing code strongly depends on the area where code and data are fetched from (external memory 16 bit data access, external memory 8 bit data access, Internal RAM, on-chip Flash,...). Semiconductor Group 16 of 19 AP165001 09.98

3.7 Debugging Support Pins To support program debugging some signals are provided to trigger an oscilloscope: a falling edge at P2.15 indicates the start of an emulation subroutine or an interrupt service routine; a rising edge indicates the end. data bits to be sampled in by the SW-ASC are provided at P3.8 (SW-ASC-RXD); data bits to be written out by the SW-ASC are provided at via P3.9 (SW-ASC-TXD). a LOW state at P2.11 indicates detection of a parity read error. Semiconductor Group 17 of 19 AP165001 09.98

3.8 Make File The file usa_make.bat contains all statements to start the Keil or Tasking C cross compiler, linker and locator. (Versions Keil: C166 V3.05a, L166 V3.05, A166 V3.05. Versions Tasking: C166 V6.0r2, L166 V6.0r2, A166 V6.0r2). The paths to the source file and compiler / library directories must be modified by the user in respect to the individual file structure on his personal computer. The Make-File is started by typing usa_make.bat in a DOS window switched to the directory containing this batch file. Semiconductor Group 18 of 19 AP165001 09.98

3.9 Support of KitCON161 Evaluation Board The KitCON-161 Evaluation Board is a starter kit (order at Siemens Semiconductors www) which helps for a general approach to the SAB C161. Generally speaking it is a printed circuit board which lets you load software down via the PC to the SAB C161. After that the SAB C161 executes that code out of the on-board flash memory. Using the test shell usa_test.c the SW-ASC of the SAB C161 communicates with the on chip HW-ASC of the SAB C161 device. The executable program (Keil: sw_asc.h86, Tasking: sw_asc.hex) can be directly downloaded to the KitCON161 evaluation board configured in address mode 1 (jumper 4 = open). The port pins selected for the SW-ASC are neighboured to the related HW-ASC pins and can be easily connected by setting jumpers on the 152 pin KitCON application area connector: The next table presents all port pins to be externally wired: Table 4: Port pins to be externally wired on KitCON-161 Evaluation Board HW-ASC-RXD HW-ASC-TXD (P3.11) (P3.10) SW-ASC-TXD X (P3.9) SW-ASC-RXD X (P3.8) Ext. Interrupt 1 X (P2.9) After setting jumper 9 to position (2+3) and pressing the restart button the test program runs in an endless loop. Semiconductor Group 19 of 19 AP165001 09.98