32
MICROCONTROLLER DESIGN TEAM #0923 FILIPE BETZEL , ADAM HOFFERT, TOM NARVESEN, ZACH SKALSKY CLIENT: PACKET DIGITAL LLC. ADVISORS: BRIAN MORLOCK & MATTHEW BITTERMAN

Introduction and Concept

Embed Size (px)

DESCRIPTION

Microcontroller design team #0923 Filipe Betzel , Adam Hoffert, tom Narvesen , Zach Skalsky Client: Packet Digital LLC. Advisors: Brian Morlock & Matthew Bitterman. Introduction and Concept. Purpose of our project Get real world experience in ASIC digital design - PowerPoint PPT Presentation

Citation preview

Page 1: Introduction and Concept

MICROCONTROLLER DESIGN TEAM #0923

FILIPE BETZEL , ADAM HOFFERT, TOM NARVESEN, ZACH SKALSKY

CLIENT: PACKET DIGITAL LLC.

ADVISORS: BRIAN MORLOCK & MATTHEW BITTERMAN

Page 2: Introduction and Concept

Introduction and Concept Purpose of our project

Get real world experience in ASIC digital design

Use same tools as industry engineers Get practical experience in microprocessor

arch. Learn how to interface hardware and software

designed by our group and outside sources Learn good design practices

Page 3: Introduction and Concept

Project Requirements

The team will build from scratch three peripherals for an open source processor core using RTL

The three peripherals will be: UART SMBUS version 1.0 – verified with 3rd party hardware/software LCD Interface - Allows uP to interface to LCD screen on Altera DE2

Device Requirements Implement method of using RAM and ROM for microprocessor Have general input/output ports for controlling external devices Device will run compiled C code from a compiler designed for reference controller RTL will run on commercially available FPGA demo board Design test applications to demonstrate device operability Demonstrate stable behavior by executing a program the same way as the

reference controller would Learn the layout and extraction tools well enough to perform at least a partial

layout Develop a real world application for device

Page 4: Introduction and Concept

Project Requirements (cont.)

Final Deliverables: Source RTL for all core, peripheral and system components Test programs/simulations demonstrating system operability Documentation on how to use device Deliver one functional hardware unit

Objectives: During this project the team will work on developing the

following skills Developing working RTL code Knowledge of revision control Knowledge of FPGA design and use Understanding of digital communication buses Project management skills Design for test principles

Page 5: Introduction and Concept

Development Flow

Research Peripheral

Write in Verilog

Simulate with Incisive

Synthesize with Quartus for

FPGA

Test

Software Requirement

s

Write Software

Test

Design circuit in

Multisim

Transfer to Ultiboard

Send out files to be milled

Solder in parts

Test

Page 6: Introduction and Concept

Software Tools

SmartSVN Revision Control Lets us save all our code revisions

Incisive Used to simulate Verilog code

Quartus II Used for analysis and synthesis

Multiboard For circuit simulation

Ultiboard For board layout

MSPGCC Compiling software for demo processor

CodeBlocks For developing PC software to interface with demo

Page 7: Introduction and Concept

System Diagram

SMBUS UARTLCD

Interface

Demo PCB

PC Serial Port

LCD Screen

Altera DE2 FPGA Eval Board

MSP430 Core(Opencores.or

g)MSP430 Peripheral Interface

Our Verilog

Page 8: Introduction and Concept

OpenMSP430

Synthesizable 16 bit MCU written in Verilog

Heart of our project Building a whole core would be very time

consuming – Use open source code Several choices – picked OpenMSP430

because of documentation, flexibility Can use open source compiler to build

code

Page 9: Introduction and Concept

•An asynchronous way of sending a byte of data•Data is communicated between two UARTs•Only two wires needed for send/receive•Our UART is full-duplex – can send and receive simultaneously•A UART is used to interface low speed

peripheral devices(ex. Keyboard, mouse)

UART

Page 10: Introduction and Concept

Transmission scheme

Page 11: Introduction and Concept

Parts of a UARTBaud generatorReceiver TransmitterControl block

Page 12: Introduction and Concept

LCD Interface

Function: In software an LCD command forces a long

wait on the MSP430 because of the setup time for the LCD, preventing the MSP430 from doing useful work.

The LCD Interface will store these instructions and initialize the LCD and execute the instructions after the LCD setup time has pasted.

This will free up the MSP430 to do whatever it wants to.

This can all be done in software, but our solution greatly decreases code complexity

Page 13: Introduction and Concept

LCD Interface

How it was made: First, we got the LCD to work with software to

make sure we were sending to right signals Second, we split up the Verilog into a

initialization block and a control block. Next, we used Quartus to dump the code on to

the FPGA Last, we wrote some software to write to our

LCD through our UART and through the LCD Interface.

Page 14: Introduction and Concept

LCD

Page 15: Introduction and Concept

SMBus Specifications

Standard 2-way serial interface based on I2C

Created by Intel in 1995 Has bitrate of 10kHz to 100kHz

Used on many components for basic communication

Sensors, regulators, power management, D/A Over 3000 components listed on DigiKey

Transfers are initiated by master device, slave responds according to commands

Page 16: Introduction and Concept

SMBus Hardware

Graphic taken from http://smbus.org/specs/

Page 17: Introduction and Concept

SMBus Architecture

To MSP430 To PCB

Bus InterfaceController

SCLK Gen

Page 18: Introduction and Concept

Demo

Page 19: Introduction and Concept

PCB

Page 20: Introduction and Concept

Software – OpenMSP430

Requirements Handle communication with computer

using our designed UART Display user configurable information on

the DE2 board using our designed LCD controller

Communicate with the SMBUS peripherals on our demo board (temperature sensor, LED controller, EEPROM) using our designed SMBUS controller

Page 21: Introduction and Concept

Software – OpenMSP430

Page 22: Introduction and Concept

Software – PC interface

A way of demonstrating the functionality of our UART

Allows us to communicate with the OpenMSP430 running on the DE2

Command line program, written in C, sends and receives data through the serial port

Page 23: Introduction and Concept

Software – PC interface

Command Output

lcd_clear Clears the lcd screen

lcd_write [message] Writes [message] to the DE2 lcd screen beginning from first line, first spot

lcd_off Turns the lcd screen off

lcd_temp Displays temperature information on lcd screen

temp Displays current temperature on PC

plottemp Displays a plot of the temperature over the last minute on PC using Octave (data read from EEPROM)

string[n] Displays custom message [n] on PC

Page 24: Introduction and Concept

Software – PC interface

Page 25: Introduction and Concept

Design for Test

We want to make sure things work before we start putting them together

Each new module of Verilog has its own folder with test files

Can quickly trace down problems using simulator

Found out that simulator does things differently than Quartus

Spent a lot of time fixing differences

Page 26: Introduction and Concept

Planned Budget

Page 27: Introduction and Concept

Actual Budget

Part Part Description Digikey Part # Manufacture Part # Quantity Price/unit Price total

Capacitor CAP 10UF 6.3V CERAMIC X5R 1206 PCC1940CT-ND ECJ-3YB0J106K 8 0.49 3.92

Resistor RES 10.0K OHM 1/8W 1% 0805 SMD P10.0KCCT-ND ERJ-6ENF1002V 20 0.091 1.82

Resistor P66.5CCT-ND P66.5CCT-ND ERJ-6ENF66R5V 20 0.091 1.82

Resistor RES 0.0 OHM 1/8W 0805 SMD RMCF1/100RCT-ND RMCF 1/10 0 R 24 0.021 0.5

LED LED GREEN CLEAR 0805 SMD 160-1414-1-ND LTST-C170KGKT 8 0.12 0.96

LED Driver IC LED DRIVER LINEAR 8-SOIC 568-3390-5-ND PCA9553D/01,112 3 1.79 5.37

16kbitEEPROM IC EEPROM 16KBIT 400KHZ 8SOIC 24AA16-I/SN-ND 24AA16-I/SN 3 0.4 1.2

Temperature Sensor IC SENSOR THERMAL 2.7V 8SOIC MCP9801-M/SN-ND MCP9801-M/SN 3 1.34 4.02

total cost $19.61

Semester # 2DE2 Board Supplied by ECE department

Semester #1MSP430 Development kit $20DE1 Board Supplied by Packet Digital

Page 28: Introduction and Concept

Applications

Weather data gathering station: temperature, humidity, wind, etc

Portable measuring devices with LCD screen and PC interface

Processor cooling (using SMBUS temperature sensor and SMBUS fan controller)

Page 29: Introduction and Concept

Improvements

UART Larger buffer (e.g. 8 bytes) Parity bit, stop bit, word size, and baud

rate configuration registersLCD controller Configurable LCD sizeSMBUS Multibyte reads and writes Fix output signals register

Page 30: Introduction and Concept

Summary

Victory is Ours Completed objectives

All peripherals functioning correctly Demo working correctly on DE2 Learned about digital design flow Project management and organization

It has been a very positive learning experience

Page 31: Introduction and Concept

Signal Strength: 4 Bars

Page 32: Introduction and Concept

Questions

?