Select Page

Portable Oscilloscope Using TM4C123G Development – 2018

Design Requirement

Design a Portable Oscilloscope by interfacing Kentec QVGA Touch Screen Graphics Display and TM4C123GH6PM Evaluation Kit.

Resources Needed

  • TIVA C Series Microcontroller (TM4C123GH6PM).
  • Kentec QVGA Touch Screen Graphics Display.
  • Code Composer Studio IDE.
  • GCC.

Project Description

The project implements a two channel Portable Oscilloscope enabled with touch screen. The two channels are sampled by ADC in the micro controller and then the stored ADC data is displayed on the Graphics LCD. The Graphics LCD provides an interactive way to analyse the signals by providing functionalities like Zoom in, Zoom out,and also sliding across each signals separately.

Block Diagram

The block diagram of the system is as shown below:

Block Diagram

 

 

 

 

 

 

 

 

Description

  1. Channel 1 input.
  2. Channel 2 input.
  3. Power supply to Display.
  4. Ground to Display.
  5. Reset.
  6. SPI clock input for LCD.
  7. Chip select signal input for LCD.
  8. SPI data input for LCD.
  9. Resistive touch screen data input for micro-controller.

Understanding GLCD interfacing

Introduction

The BOOSTXL-K350QVG-S1 Kentec QVGA Display BoosterPack is an easy-to-use plug-in module with a touch-screen color display.We can use this BoosterPack to start developing applications using the 320×240-pixel TFT QVGA display with resistive touch screen.It uses SPI for communication.

Key Features

  1. Kentec TFT LCD (part number: K350QVG-V2-F)
    • 3.5-inch QVGA (320×240 resolution)
    • SPI communication
    • 4-wire resistive touch screen
    • White LED backlight
  2. LED backlight driver circuit
  3. Complies with the BoosterPack standard for use with 20- and 40-pin LaunchPads.

BOOSTXL-K350QVG-S1 Interface

 

The pin connections to EK-TM4C123GXL is as shown below in tables.

J1 Pin Symbol Description Note
1 3.3 V Power supply
2 NC No connection
3 NC No connection
4 NC No connection
5 NC No connection
6 NC No connection
7 LCD_SCL SPI clock input for LCD
8 (LCD_SDC) 4-wire SPI mode DC input for LCD
9 NC No connection
10 NC No connection
J2 Pin Symbol Description Note
11 TOUCH_YN Resistive touch screen terminal (Bottom)
12 NC No connection
13 LCD_SCS Chip select signal input for LCD
14 NC No connection
15 LCD_SDI SPI data input for LCD *
16 RESET Reset signal for MCU
17 NC No connection
18 NC No connection
19 NC No connection
20 GND Ground
J3 Pin Symbol Description Note
21 5V Power Supply
22 GND Ground
23 TOUCH_YP Resistive touch screen terminal (Top)
24 TOUCH_XP Resistive touch screen terminal (Left) *
25 NC No connection
26 NC No connection
27 NC No connection
28 NC No connection
29 NC No connection
30 NC No connection
J4 Pin Symbol Description Note
31 TOUCH_XN Resistive touch screen terminal (Right)
32 LCD_RST Reset signal input for LCD
33 NC No connection
34 NC No connection
35 NC No connection
36 NC No connection
37 NC No connection
38 NC No connection
39 NC No connection
40 LED_ON/OFF LCD backlight ON/OFF control.
  • *look into description of EK-TM4C123GXL image

The following are the images of GLCD Display,micro-controller and their interface.

BOOSTXL-K350QVG-S1

 

 

 

 

 

 

 

 

EK-TM4C123GXL:The yellow circle highlights the R9 and R10 registers.This registers should be removed because for the Tiva C Launchpad / EK-TM4C123GXL application, “LCD_SDI / PB7”has been connected to “TOUCH_XP/PD1” by “R10” on the Launchpad.You must remove “R10” before application

 

 

 

 

 

 

 

 

 

 

 

 

Interfacing:LCD is mounted on controller

 

 

 

 

 

 

 

 

 

 

 

 

Implementation

  • Firstly,interface the GLCD display with the TIVA C series launchpad as mentioned above.
  • Then, the input analog signals are given as ADC inputs to two different ADC channels.
  • Now we need to get the total time period of sampling from the user.
  • For the given time period we have to sample the channels and store the data in memory.
  • The data of two channel are accessed to display the waveforms on the Graphics LCD.
  • We have to write callback functions for the various functionality which we provide though the resistive touch screen.
  • The flow chart gives the brief idea of the various functionality which is provided using resistive touch screen.

Frequency limit of operation

  • The Oscilloscope Operation in higher frequency range is limited by the ADC’s Sampling rate. The designed Oscilloscope works as desired

upto 30KHz above which aliasing effect kicks in.

Flowchart

The following flow chart gives a overview of function of the designed Portable Oscilloscope.

 

 

Problems faced

  • Since, we are dealing with analog data, large amount of memory is required to store the sampled data on to memory. So,we cannot sample the data signals for very long time periods.
  • The LCD display requires initial Touch screen calibrations.If this is not done properly, touch screen gives many problems.

 

Demo and Code

The demo is uploaded in the YouTube channel.It demonstrate the working of the Portable Oscilloscope.The link for video is below.

Portable Oscilloscope using BOOSTXL-K350QVG-S1 and EK-TM4C123GXL - https://www.youtube.com/watch?v=fFQUGkLnG4A&feature=youtu.be
This is the link for source code - https://github.com/RKaviya/Oscilloscope

Future Scope

  • The frequency limit of the Oscilloscope can be increased by having an ADC with higher sampling frequency.
  • The number of channels can be increased if display size is increased.
  • Additional functionality can also be added like markers, etc.
  • Memory allocation for each channel can be increased so as to store waveforms of longer duration.

References

  • TivaWare™ Peripheral Driver Library (User Guide)
  • Tiva™ TM4C123GH6PM Microcontroller(Datasheet)
  • Tiva™ C Series TM4C123G LaunchPad Evaluation Board(User’s Guide)

Team Members

Kaviya R.

Arvindhan G.