<< Chapter < Page Chapter >> Page >
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.

Software application organization

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 modeUCA0CTL1 = 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 ->SMCLKUCA0MCTL = 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 (External Link)

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Teaching and classroom laboratories based on the “ez430” and "experimenter's board" msp430 microcontroller platforms and code composer essentials. OpenStax CNX. May 19, 2009 Download for free at http://cnx.org/content/col10706/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Teaching and classroom laboratories based on the “ez430” and "experimenter's board" msp430 microcontroller platforms and code composer essentials' conversation and receive update notifications?

Ask