Skip to content Skip to navigation

Connexions

You are here: Home » Content » Laboratory Communications: Lab1 - Echo test using the UART mode of the USCI module

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • TI MSP430 display tagshide tags

    This module is included inLens: Texas Instruments MSP430
    By: Texas InstrumentsAs a part of collection: "Teaching and classroom laboratories based on the “eZ430” and "Experimenter's board" MSP430 microcontroller platforms and Code Composer Essentials"

    Comments:

    "This is an excerpt from the MSP430 Teaching CD produced under TI sponsorship and review at the University Beira Interior in Portugal. The material covers everything from "hello world" on an eZ430 […]"

    Click the "TI MSP430" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

Laboratory Communications: Lab1 - Echo test using the UART mode of the USCI module

Module by: Pedro Dinis, António Espírito Santo, Bruno Ribeiro. E-mail the authors

Summary: Using the MSP-EXP430FG4618 Development Tool and the MSP430FG4618 device use the USCI module in UART mode connected to a PC’s I/O console. When the connection is established, the characters sequence writed at the console through the keyboard will be visualized on the console.

Laboratory Communications: Lab1 - Echo test using the UART mode of the USCI module

Introduction

The MSP430 contains built-in features for both parallel and serial data communication. This chapter describes the operation of these peripherals, and discusses the protocols, data formats and specific techniques for each type of data communication.

The communication modules available for the MSP430 family of microcontrollers are USART (Universal Synchronous/Asynchronous Receiver/Transmitter), USCI (Universal Serial Communication Interface) and USI (Universal Serial Interface). These provide asynchronous data transmission between the MSP430 and other peripheral devices when configured in UART mode. They also support data transmission synchronized to a clock signal through a serial I/O port in Serial Peripheral Interface (SPI) and Inter Integrated Circuit (I2C) modes.

Overview

This laboratory explores the USCI module in UART mode that will be connected to a Code Composer Essentials (CCE) IO console. When the connection is established, the character sequence written on the keyboard to the console will be displayed again on the console.

Resources

This laboratory uses the USCI module in asynchronous mode. The RX interrupt activates the service routine that reads the incoming character and sends it out again to the PC (computer), allowing the instantaneous display (echo) of the written character.

The resources used are:

- USCI module;

- Interrupts;

- IO ports:

- System clock.

With the objective of allowing the generation of two different baud rates, a function has been added that configures the FLL+ and selects the base frequency for the UART. In this example it will be 8 MHz.

Software application organization

The proposed application ( Lab1_Comm.c) is organized as shown in Figure 1. The main routine performs the necessary hardware configuration. Then, the hardware takes command of the software through the interrupt service routine generated by the reception of a new character.

The initial configuration sets the system clock to a frequency of 8 MHz.

Figure 1
Software application organization
Software application organization (graphics1.png)

System configuration

UART configuration

The connection will operate in the following mode:

- Parity disabled;

- LSB first;

- 8-bit data;

- One stop bit.

The module will operate in the following mode:

- Asynchronous;

- SMCLK source clock;

- No Receive erroneous-character interrupt-enable;

- No Receive break character interrupt-enable.

Based on these characteristics the following control registers are configured:

UCA0CTL0 = 0x00;
    // UCA0CTL0 =
    //UCPEN|UCPAR|UCMSB|UC7BIT|UCSPB|UCMODEx|UCSYNC|
    //UCPEN (Parity) = 0b -> Parity disabled
    //UCPAR (Parity select) = 0b -> Odd parity
    //UCMSB (MSB first select) = 0b -> LSB first
    //UC7BIT (Character length) = 0b -> 8-bit data
    //UCSPB (Stop bit select) = 0b -> One stop bit
    //UCMODEx (USCI mode) = 00b -> UART Mode
    //UCSYNC = 0b -> Asynchronous mode
    
UCA0CTL1 = 0x81;
    // UCA0CTL1 =
    //UCSSELx|UCRXEIE|UCBRKIE|UCDORM|UCTXADDR|UCTXBRK|UCSWRST|
    //UCSSELx (USCI clock source select) = 10b -> SMCLK
    //UCRXEIE = 0b -> Erroneous characters rejected
    //UCBRKIE = 0b -> Received break characters set
    //UCDORM = 0b -> Not dormant
    //UCTXADDR = 0b -> Next frame transmitted is data
    //UCTXBRK = 0b -> Next frame transmitted is no break
    //UCSWRST = 1b -> normally Set by a PUC
    

Baud rate generation

The module has an 8 MHz clock source and the objective is to establish a connection at 9600 Baud. It is necessary to select the baud rate generation in oversampling mode:

UCA0BR0 = 0x34;
UCA0BR1 = 0x00;
    //Prescaler = 8MHz/(16 x 9600) = 52 = 0x34
    //9600 from 8MHz -> SMCLK
    
UCA0MCTL = 0x11;
    // UCA0MCTL = UCBRFx | UCBRSx | UCOS16
    //UCBRFx (1st modulation stage) = 0001b -> Table 19-4
    //UCBRSx (2nd modulation stage) = 000b -> Table 19-4
    //UCOS16 (Oversampling mode) = 1b -> Enabled
    

Port configuration

In order to set the external interfaces at the USCI module, it is necessary to configure the I/O ports. Select the USCI peripheral in UART mode following the connections provided on the Experimenter’s board:

P2SEL |= 0x30; // P2.4,P2.5 = USCI_A0 TXD,RXD

RX interrupt enable

To finish the module configuration, it is necessary to enable the receive interrupts:

IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt

Analysis of operation

Once the USCI module is configured in accordance with the previous steps, compile it and run it on the Experimenter’s board.

For the correct operation, there must be a connection between the Experimenter’s board and the PC. If the CCE console is disabled, go to Window > Show View > Console to enable it. If necessary, configure the CCE console options in accordance to the connection details.

Once the program code is running, any character key pressed in the PC keyboard will be displayed on the CCE console.

This example and many others are available on the MSP430 Teaching ROM.

Request this ROM, and our other Teaching Materials here https://www-a.ti.com/apps/dspuniv/teaching_rom_request.asp

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks