ECE 477 Digital Systems Senior Design Project Spring 2009

Homework 3: Design Constraint Analysis and Component Selection Rationale

Due: Friday, February 6, at NOON

Team Code Name: _electricivic______Group No. __2___

Team Member Completing This Homework: _Matt Klutzke______

E-mail Address of Team Member: mklutzke@ purdue.edu

Evaluation:

SCORE

/

DESCRIPTION

10 /

Excellent – among the best papers submitted for this assignment. Very few corrections needed for version submitted in Final Report.

9 /

Very good – all requirements aptly met. Minor additions/corrections needed for version submitted in Final Report.

8 /

Good – all requirements considered and addressed. Several noteworthy additions/corrections needed for version submitted in Final Report.

7 /

Average – all requirements basically met, but some revisions in content should be made for the version submitted in the Final Report.

6 /

Marginal – all requirements met at a nominal level. Significant revisions in content should be made for the version submitted in the Final Report.

* /

Below the passing threshold – major revisions required to meet report requirements at a nominal level. Revise and resubmit.

* Resubmissions are due within one week of the date of return, and will be awarded a score of “6” provided all report requirements have been met at a nominal level.

Comments:

Comments from the grader will be inserted here.

1.0  Introduction

The goal of our project is to design an electric drive system that can run and control an electric motor. As a possible application for this motor is in powering a vehicle, it will operate at high voltages and high currents in order to provide the necessary torque. We will be switching the current running into each leg of the motor in order to keep it operating at the correct speed. All parts used in the power section of the design must be able to withstand the amount of current that will run through them.

2.0  Design Constraint Analysis

Some of the biggest design constraints have to do with the intense power electronic circuitry. We have to make sure the components can withstand the high current and high temperature that they will be subjected to. Also, the current sensors and analog-to-digital converters will need to be fast and precise to allow us to accurately keep the amount of current flowing to the motor within the hysteresis band. Within the FPGA, calculations will be made to control the switching frequency of the gate drivers. Data will be passed to a separate microcontroller, which needs to display that information on a screen based on user input. The entire design needs to be able to fit within the hood of a standard mid-sized car.

2.1  Computation Requirements

Digital current values will be fed into the FPGA. It will take those values, as well as previous values, and calculate where the current waveform is headed. That way, it will know when the current will move outside the hysteresis band where we want the current to be and can switch the gate drivers in anticipation of that. The current values, temperature values, and other feedback data will be passed to a separate microcontroller that is in charge of handling the LCD display. It will convert the numbers into pixel configurations, and display the appropriate values on the screen based on what tab the user has selected. The user can press a button to change to a different tab, which will show a different category of values.

2.2  Interface Requirements

The device will have a few pushbuttons as input from next to the LCD, as well as inputs to accelerate and brake. The pushbuttons will go into the display micro, and the pedal controls will go into the driving micro. The SPI interface to run the LCD will use three pins on the display micro. The interface between the two microcontrollers will take up another two to three pins on each micro. Each of the several temperature sensors will go into an ADC on the driving micro. Each of the four analog-to-digital converters connected to a Hall effects sensor will need 15 pins on the FPGA. Due to the nature of the Hall effects sensors, the FPGA will be electrically isolated from the rest of the circuit. The gate drivers will require a total of 10 pins on the FPGA. They have built-in optical isolation from the FPGA. The optical encoder will use another three pins on the FPGA, and the interface sending information to the driving micro will use six more pins.

2.3  On-Chip Peripheral Requirements

On the driving microcontroller we will be using the 10-channel, 12-bit analog-to-digital converters to get temperature readings. We will likely be using an SPI interface to communicate between the FPGA and the microcontrollers.

2.4  Off-Chip Peripheral Requirements

We will be using 36 Fairchild IGBT transistors and gate drivers, four 12-bit analog-to-digital converters, eight MCP9700 temperature sensors, and four LTS-S5 current sensors.

2.5  Power Constraints

The device will be battery powered. Due to the massive amounts of heat that will be generated, water-cooling will be used on the power transistors. Because our packaging is a car, the batteries will be placed in the trunk, while the motor and controls are under the hood. The LCD and its buttons will be somewhere on the dashboard.

2.6  Packaging Constraints

The motor and its driving circuitry need to fit under the hood of a 1993 Honda Civic. The batteries will need to fit in the trunk. It should be rugged enough to stand up to the forces present in normal driving conditions (acceleration, braking, and turning).

2.7  Cost Constraints

In order to promote use of the device, it should be competitive with similar products. Other electric drive systems are in the range of $2000-$4000. Our product will cost us substantially less.

3.0  Component Selection Rationale

For our FPGA, the two main candidates are the Xilinx Spartan 3 and the Actel Fusion. As shown in the figure below, both parts have a comparable number of gates and I/O pins available. However, early estimates show that we will need ADCs with a sampling rate of at least 2 MS/s, and the ones on the Fusion device are not capable of that speed, rendering them unusable. Combined with more familiarity with Xilinx products and a lower price, the Xilinx part was selected.

FPGA / Xilinx Spartan 3 [1] / Actel Fusion [2]
Gate Count / 500,000 / 600,000
Digital I/O Count / 158 / 172
Package / PQ208 / PQ208
Built-in ADC / None / 12-bit, 600 KS/s
Extras / 20 Dedicated Multipliers / ARM Soft Core

Table 1: FPGA Comparison

The Microchip dsPIC30F part was chosen over an Atmel AVR or Freescale 68HC12 because it includes the ADCs we want on it. It also has plenty of overhead that we might use depending on how much motor control we end up doing with it. Microchip also has some very nice libraries available.

The display microcontroller will be an 8-bit PIC18. This part was selected over an Atmega644 because it has the same features at half the price. They both have a fairly large 64 KB flash memory available to hold the graphical information. There are online examples of how to interface with the display for both PIC and Atmega devices. Having both microcontrollers from the same manufacturer should help make the coding process simpler.

The best candidates for an LCD are the Nokia 6100 display and the NewHaven 2.4” display. Due to the time constraints in implementing this project and a lack of previous experience in programming graphical LCDs, the Nokia version is the more attractive choice. There is more information available online to use as a reference in getting the display to work. Also, the lower pixel count allows for a simpler 9-bit SPI interface to be used without too long of a refresh rate. The Nokia display is 128x128 at 8-bits of color, while the NewHaven display is 240x320 at 16-bits of color. The display will not need to show any video, so a couple of frames per second will be sufficient.

The analog to digital converters (ADC) that were chosen for this project are produced by Texas Instruments. The part number for the ADC is ADS805E. There were many designs constraints considered in order to properly chose this part since there are thousands of different ADCs on the market. The biggest consideration for the ADC was how it would interface with the FPGA. At first we considered a serial interface since we would not be sure whether or not we would have enough I/O pins on the FPGA to do 4 ADCs with a parallel interface. We then thought that the serial interface should be a SPI interface, due to the speed of transmission that we would be able to achieve. Then EMI and other noise issues were considered very thoroughly. At that point LVDS, was a long time consideration, for the fact that it would be resistant to noise and EMI, and for the fact of speed of data transmission we would be able to achieve with this interface. The problem with LVDS came when trying to find an ADC that would not break our budget. Finally after thorough considerations we decided a parallel interface would be best due to cost, speed, and the ease of implementation in VHDL. As it turned after an I/O pin count we would have more than enough pins to provide for this sort of interface. The other major considerations for this part were the analog voltage input. Which we decided was dependant on what sensor we choose, since we did not want to add more complications to our circuit with the addition of an op amp, if the output voltage of the sensor could not meet the analog input of the ADC. We choose an ADC with a 0-5 V input which the same output as our current sensors. Finally the last two major considerations for this part were the bit resolution and the sampling speed. We chose a 12 bit product with at least 8 MSPS sampling rate. We wanted a product that could give us a good resolution as well as more a lot of data at a very high speed. Since this part of our design is very pertinent to our project we spent a lot of time in consideration of all the details to make sure that we would avoid any possible latency is this part of the circuit design. We need to sample data properly in order to control the current of the motor efficiently.

4.0  Summary

We had to take into account a variety of constraints when designing this system. In most cases, we have made a high estimate to make sure we have plenty of resources available. An effort has been made to make sure that all the parts are compatible with each other. The biggest constraint for this project will be the short amount of time that we have to get the entire system built. Another major constraint is the motor switching speed.


List of References

[1]  Xilinx, “Spartan-3E FPGA Family: Complete Data Sheet,” XC3S500E datasheet, April 2008.

[2]  Actel, “Actel Fusion Mixed-Signal FPGAs,” Fusion datasheet, Oct. 2008.

-4-

ECE 477 Digital Systems Senior Design Project Fall2008

Appendix A: Parts List Spreadsheet

Vendor / Manufacturer / Part No. / Description / Unit Cost /

Qty

/ Total Cost
Digi-Key / LEM USA / LTS 25-NP / Hall Effects Sensor / 20.20 / 4 / 80.80
SparkFun / Nokia / LCD-00569 / LCD Display / 14.95 / 1 / 14.95
Digi-Key / Xilinx / XC3S500E / FPGA / 24.90 / 1 / 24.90
Mouser / Fairchild Semiconductor / FGH80N60FDTU / IGBT Transistor / 2.88 / 36 / 103.68
Mouser / Fairchild Semiconductor / FOD3180S / Transistor Optocoupler / 1.59 / 36 / 57.24
Mouser / Microchip Technology / MCP9700 / Temperature Sensor / 0.32 / 10 / 3.20
Mouser / Microchip Technology / dsPIC30F2012 / Microcontroller / 4.00 / 1 / 4.00
Mouser / Microchip Technology / PIC18F26K20 / Microcontroller / 3.50 / 1 / 3.50
Analog-to-Digital converter
TOTAL / $???.??


Appendix B: Updated Block Diagram

-8-