WD Data Acquisition Board A Senior Project the Faculty of ...

59
WD Data Acquisition Board A Senior Project presented to the Faculty of the Electrical Engineering Department California Polytechnic State University, San Luis Obispo In Partial Fulfillment of the Requirements for the Degree Bachelor of Science by Charmaine Guintu June, 2015 © 2015 Charmaine Guintu

Transcript of WD Data Acquisition Board A Senior Project the Faculty of ...

Page 1: WD Data Acquisition Board A Senior Project the Faculty of ...

WD Data Acquisition Board

A Senior Project

presented to

the Faculty of the Electrical Engineering Department

California Polytechnic State University, San Luis Obispo

In Partial Fulfillment

of the Requirements for the Degree

Bachelor of Science

by

Charmaine Guintu

June, 2015

© 2015 Charmaine Guintu

Page 2: WD Data Acquisition Board A Senior Project the Faculty of ...

Contents

Acknowledgements ....................................................................................................................................... 4

Abstract ......................................................................................................................................................... 5

I. Introduction ..................................................................................................................................... 6

Problem Statement ................................................................................................................................ 7

II. Requirements and Specifications ............................................................................................... 8

III. Results and Troubleshooting.................................................................................................... 16

DAQ Board GUI ............................................................................................................................... 28

IV. Integration and Test ................................................................................................................. 31

V. Conclusions and Recommendations ............................................................................................ 36

VI. Bibliography .............................................................................................................................. 38

Appendix A: Circuit Schematics............................................................................................................. 39

Appendix B: PCB Layout Design ........................................................................................................... 44

Appendix C: Bill of Materials ................................................................................................................. 47

Appendix E: DAQ Prototype User Manual ............................................................................................ 50

System Overview ................................................................................................................................ 50

Setting Up for an Acquisition ............................................................................................................. 50

Taking an Acquisition ......................................................................................................................... 51

Plotting an Acquisition ....................................................................................................................... 52

Troubleshooting .................................................................................................................................. 52

Appendix F: Atollic User Manual ........................................................................................................... 53

System Overview ................................................................................................................................ 53

Starting a new project ......................................................................................................................... 53

Programming onto the board............................................................................................................... 56

Contact ................................................................................................................................................ 57

Appendix G. Senior Project Analysis ....................................................................................................... 58

Page 3: WD Data Acquisition Board A Senior Project the Faculty of ...

LIST OF TABLES AND FIGURES

Table Page

Table 1: DAQ Requirements and Specifications .......................................................................................... 8 Table 2: DAQ deliverables ........................................................................................................................... 9 Table 3: Cost Estimations Table ................................................................................................................. 10 Table 4: ADC characteristics ...................................................................................................................... 14 Table 5: Results from old ADC .................................................................................................................. 19 Table 6: DAQ output data ........................................................................................................................... 27

Figures

Figure 1: Gantt Chart 2014-2015 ................................................................................................................ 10 Figure 2: High Level System Block Diagram ............................................................................................. 11 Figure 3: Detailed High Level System Block Diagram .............................................................................. 12 Figure 4: High Level Block Diagram ......................................................................................................... 13 Figure 5: Block diagram of TI ADS5204 ADC .......................................................................................... 14 Figure 6: Block diagram of single SDRAM ............................................................................................... 15 Figure 7: Sampling rate of ADC ................................................................................................................. 16 Figure 8: SPI data ........................................................................................................................................ 16 Figure 9: SPI power up sequence ................................................................................................................ 17 Figure 10: Internal reference of ADC ......................................................................................................... 18 Figure 11: USART output of SDRAM ....................................................................................................... 20 Figure 12: SDRAM output .......................................................................................................................... 21 Figure 13: Putty configurations................................................................................................................... 22 Figure 14: FIFO Configurations ................................................................................................................. 23 Figure 15: Results of trying eeRead when the sides are different ............................................................... 25 Figure 16: Status of both sides as FIFO ...................................................................................................... 26 Figure 17: Get Status .................................................................................................................................. 27 Figure 18: Status of downloader script ....................................................................................................... 27 Figure 19: GUI Settings Window ............................................................................................................... 29 Figure 20: Our GUI settings window for our daq file ................................................................................. 29 Figure 21: GUI Graph Window .................................................................................................................. 30

Page 4: WD Data Acquisition Board A Senior Project the Faculty of ...

Acknowledgements

For their help and support,

Allan Chan

Kenton Miike

Sean Dehban

Dr. Dale Dolan

Dr. Vladimir Prodanov

Page 5: WD Data Acquisition Board A Senior Project the Faculty of ...

Abstract

The Data Acquisition (DAQ) Board project is a continuation of a project that

started last year. It is a project in collaboration with Western Digital. Western Digital

(WD) Power LSI Systems Validation group has stress testing equipment called the

Torture Stand. Inside the Torture Stand hard drives are compacted and tested until failure.

However, the transient responses of voltage and current signals from the hard drives are

currently obtained from oscilloscopes. The oscilloscopes are bulky and expensive, so to

replace the oscilloscopes the DAQ was created. The small size and much cheaper cost of

the DAQ allows Western Digital to test each drive in the torture stand. The DAQ is a

prototype device that records the transient response of voltage or current signals, and

stores the acquired data onto the board for later analysis. The data stored onto the DAQ is

able to be transferred to a computer using PC programs and can then be displayed

graphically.

This document describes the design of the DAQ board, including component

selection, schematic design, PCB layout, manufacturing, firmware design, and testing

procedures.

Page 6: WD Data Acquisition Board A Senior Project the Faculty of ...

I. Introduction

The Torture Stand test drives at different temperature and voltage corners over a

duration of time. Since the Torture Stand is very compact with hard drives and

oscilloscopes are very bulky, only a small number of oscilloscopes can be used to

monitor hard drives and their failures. The Tektronix DPO7254 oscilloscope requires

substantial lab space and costs approximately $40,000 for one unit. The Data Acquisition

(DAQ) Board is meant to be a replacement for an oscilloscope as applied to capturing

failures in the Torture Stand. It must continuously record voltage and/or current

measurements in real time until it reaches failure and have the ability to offload the data

to a PC for graphing. The DAQ is required to monitor any signal from a hard drive’s test

point regardless of voltage level or frequency.

Since this project is a continuation of last year, most of the component selection

and schematic design has been planned out already. This document will only go over new

components and validation done throughout the project.

Page 7: WD Data Acquisition Board A Senior Project the Faculty of ...

Problem Statement

The objective of this project is to improve the board from last year’s board and

continue its main function of behaving similarly to an oscilloscope. It must be able to

acquire data for a defined time period and display the transient response on a computer

when a failure occurs on the hard drive.

Page 8: WD Data Acquisition Board A Senior Project the Faculty of ...

II. Requirements and Specifications

Table 1: DAQ Requirements and Specifications

Marketing Requirements Engineering Specifications Justifications

3 Maximum board dimensions:

80mm x 80mm x 6mm

The boards have to be

compact enough to attach to

an external hard drive in the

torture stand.

3 **Dedicated onboard memory

to store data: minimum 30

seconds of data points per

channel

To store data for a single

acquisition, to store data until

failure

1 Each acquisition will store

data at first location of

memory, overwriting any

previously stored data

The board has to differentiate

between valid and invalid

data, buffer shouldn’t roll-over

4 Design GUI to offload the

data for processing on a PC

To transfer data from device

memory to PC

1 Optional: External trigger to

Start/Stop data acquisition

To control it through the

UTOPIA, user can control the

DAQ to stop taking data

1 Support for additional data

input channels

To daisy chain multiple boards

1 Optional: PC interface to

control DAQ board

For developing,

troubleshooting, and

configuring

2 Board and components must

handle temperatures from:

25oC to + 85

oC

To withstand the conditions of

torture stands

3 Ability to attach DAQ board

to PC for transferring data via

USB

Make the board compact

enough to attach to an external

hard drive in the torture stand.

Saves the consumer space

Marketing Requirements

1. Trigger/Acquisition options, easier for user control

2. Temperature Rating, withstand the ambient temperature of torture stand

3. Hardware interface, make it compact for ease of use

4. Memory, is able to store enough information

5. Software processing, user interface

Page 9: WD Data Acquisition Board A Senior Project the Faculty of ...

** There are 6 SDRAMs with specifications of each one of 512 MS/s. This gives a total

of 3Gb of memory. If each channel were to operate at 100kS/s and get a minimum of 30

seconds this would only store 12Mb. 100kZ/s * 30 sec. * 4 channels = 12Mb.

Table 2: DAQ deliverables

Delivery Date Deliverable Description

October 2014 Project Kick-off. Demonstration of existing WD method at Cal Poly

October 27th

2014 First draft Senior Project Proposal

November 24th

2014 Final revision Senior Project Proposal

January 2015 Initial design review including component selection and interface at

WD Irvine

February 20th 2015 Final design review at Cal Poly –schematic, GUI

Early March 2015 Layout of Board, BOM

March 2015 PCB design and procurement/fabrication

April 2015 PCBA testing with GUI

May 2015 Validation testing

May 10th

2015 Project demonstration

May 20th

2015 ABET senior project analysis

June 2015 Final report and Presentation at WD Irvine

Page 10: WD Data Acquisition Board A Senior Project the Faculty of ...

Figure 1: Gantt Chart 2014-2015

As I am the only person in the group, it will be my responsibility to complete all the tasks

shown in Figure 1. A high risk item would be getting the components finalized. Once

that is done, the layout can be finalized and testing of each individual component can

begin. Writing code for the GUI is another high risk item after the layout is finished.

After the code is complete, testing the GUI can begin.

Table 3: Cost Estimations Table

Cost Description Cost Estimation

Cost for labor for engineers $2000

RC Components $20

Microcontroller $20

Memory $200

18-Oct 7-Dec 26-Jan 17-Mar 6-May 25-Jun

Project kick-off

Final Revision Senior Project Proposal

Initial design review at WD Irvine

Final Design review at Cal Poly

Layout of Board, BOM

PCB design and fabrication

PCBA testing with GUI

Validation testing

Project demonstration

ABET senior project analysis

Final report and presentation at WD Irvine

Page 11: WD Data Acquisition Board A Senior Project the Faculty of ...

IC’s $60

Current monitor $20

STLink Programmer $20

Total: $2340

The money will be funded by Western Digital. If there is funding somewhere else

for senior projects, it may be used to get components faster and begin testing the

components. A lab with western digital equipment, such as a computer, breakout boards,

developmental boards, oscilloscopes are available for me. Some key skills that need to be

developed, will be my coding skills; to be able to make the microcontroller control the

DAQ and to be able to take data from the SDRAM and make a GUI. Another key skill

would be researching; most of the senior project will be self-taught, especially learning

about memory and SDRAMs.

Chapter 3: Functional Decomposition

Figure 2: High Level System Block Diagram

Page 12: WD Data Acquisition Board A Senior Project the Faculty of ...

Figure 3: Detailed High Level System Block Diagram

The left corner is the front end of the DAQ. The front end has four channels. Each

channel will take data for the voltage and the current of a specific point on the hard drive

in the torture stand. There is a voltage regulator and a current monitor because the max

voltage the ADC can handle is 3.3V. From the voltage regular or current monitor, the

data will go through a mux to decide if the data being acquired is current or voltage. The

data from the mux will go to the ADC then to the microcontroller. The data from the

microcontroller will go to the SDRAM and NAND flash memory. After, the

microcontroller will bring the data from the SDRAM to the computer.

Input Channels

Signal Conditioning

CircuitVoltage Input A

Current Monitor

LT1787Current Input A

3.3VEnable

Digital Measurements

A-D

Analog Mux

Maxim MAX4780

3.3VSelect

2

Signal Conditioning

Circuit

Current Monitor

LT1787

10

10

Signal Conditioning

Circuit

Current Monitor

LT1787

Analog Mux

Maxim MAX4780

3.3VSelect

2

Signal Conditioning

Circuit

Current Monitor

LT1787

10

10

ADC Clock

3.3V

Select 4

Voltage Input B

Current Input B

Voltage Input C

Current Input C

Voltage Input D

Current Input D

3

Serial Communication

3

Serial Communication

4Serial

Communication

Enable

20

From MCU

From MCUFrom MCU

ADC

TI ADC5204

ADC

TI ADC5204

Microcontroller

STM32F429

3.3 V

FTDI Serial Communication2

DRAM Control18

Memory Bus

16NAND Controls

6

ADC Serial Communication4

Mux Select4

Input Circuit Enable

LEDs4

Control Triggers

ADC Data

DRAM Enable4

ADC Output Enable2

ADC Clock

FTDI Controls

3

FTDI Bus

8

DRAM Clock Enable

JTAG

6

16

Data

NAND Flash

Micron

MT29F4G16ABADAWP

Enable

3.3V

Data

16

Ready

6

ControlTo MCU

From MCU

From MCU

From MCU

External

External

Voltage Regulator

LT LT399520VInput

3.3VSource

USB Communication

USB Communicator

FTDI 2232H

EEPROMMicrochip

93LC46

Crystal

Oscillator

12 MHz

Channel A

Channel BTX

3.3 V

RX

Data

FTDI Controls

2

USB Data

From MCU

To MCU

External

External

Voltage Reference

Texas Instruments

LM4121

3.3V1.25V

Reference

DRAM Array

SDRAM

Micron MT48LC32M16A2TG

SDRAM

Micron MT48LC32M16A2TG

SDRAM

Micron MT48LC32M16A2TG

SDRAM

Micron MT48LC32M16A2TG

16

Data

DRAM Clock 3.3VEnable

6

Clock 3.3VEnableClock

Enable

Clock 3.3VEnableClock

Enable

Clock 3.3VEnableClock

Enable

Clock 3.3VEnableClock

Enable

ClockEnable

3

Command

13

Address

Data Mask

2

3

Command

13

Address

Data Mask

2

3

Command

13

Address

Data Mask

2

3

Command

13

Address

Data Mask

2

16

Data

16

Data

16

Data

3

Command

13

Address

Data Mask

2

SDRAM

Micron MT48LC32M16A2TG

SDRAM

Micron MT48LC32M16A2TG

16

Data

Clock 3.3VEnableClock

Enable

Clock 3.3VEnableClock

Enable

3

Command

13

Address

Data Mask

2

3

Command

13

Address

Data Mask

2

16

Data

From MCU

From MCU

From MCU

External

External

External

External

External

External

External

External

2

ClockOutputEnable

Enable ClockOutputEnable 3.3V

Output Enable

From MCU

2

Page 13: WD Data Acquisition Board A Senior Project the Faculty of ...

Figure 4: High Level Block Diagram

Figure 2Figure 3,Figure 4 shows the process of the hard drives inputting data to

the DAQ and the DAQ outputting the data from the memory to the Computer. Figure 3

shows the input from the hard drives and the 3.3V voltage source. [5]

Only the components that were changed will be written about.

1. Analog-to-Digital Converter (ADC)

The ADC is used to convert the analog input of a voltage or current to a digital

value output. The ADC from last year was changed to ADCS5232. This ADC still meets

the requirements of a sampling rate of 1 MSps, being able to operate at a 3.3V single

supply, operating in the temperatures of -25°C to +85°C, and has 2 sampling channels as

the DAQ board will comprise of 4 input channels with two ADCs.

Page 14: WD Data Acquisition Board A Senior Project the Faculty of ...

Table 4: ADC characteristics

Product Channels Sampling

Rate (max)

SPS

Resolution Architecture Signal-

to-noise

Ratio

Operating

Voltage

TI

ADS5204 2 65M 12-bits Pipeline 70.7dB 3.3 V

Figure 5: Block diagram of TI ADS5204 ADC

2. Memory: SDRAM

For the DAQ board, the requirements for SDRAMs are that it can store 30

seconds worth of ADC outputs as they are produced. To achieve 3Gb of memory in total,

we need 6 SDRAMS of 512Mb. The highest capacity in the market that a SDRAM can

hold is 512 Mb. We decided to choose the ISSI’s IS42S16320D. The component operates

Page 15: WD Data Acquisition Board A Senior Project the Faculty of ...

at 3.3V which alleviates the need for a level translation component.

Figure 6: Block diagram of single SDRAM

Page 16: WD Data Acquisition Board A Senior Project the Faculty of ...

III. Results and Troubleshooting

1. ADC:

The ADC from last year’s project was discontinued so a new ADC was chosen.

Last year’s ADC was the ADS5204. This year’s ADC is the ADS5232. The ADS5204

was less complex than the ADS5232. The ADS5232 outputs 12 bits instead of the 10 bits

the ADS5204 outputs.

The ADS5232 was first tested on a breakout board. According to the datasheet,

the clock input is defaulted to have the PLL enabled. The minimum clock input is 20MHz

with PLL enabled but with the PLL disabled it is 2 MHz. 20MHz is the maximum

frequency the lab equipment can output. Due to this, we have to disable the PLL using

the serial interface. We can disable the PLL by sending data through the SPI.

Figure 7: Sampling rate of ADC

Figure 8: SPI data

The serial interface has to be powered up with this timing diagram sequence.

Page 17: WD Data Acquisition Board A Senior Project the Faculty of ...

Figure 9: SPI power up sequence

The code for the SPI was used from sources online. I used the code from the

lxtronic website and code from a stm32f4-discovery website. [7] [11] Winter quarter, the

lxtronic SPI code worked as shown from the website with the added code of:

mySPI_SendData(0X03, 0x04)

However Spring quarter, the lxtronic code stopped working for some reason. We

were able to get the stm32f4-discovery code to work this time around. The stm32f4-

discovery website explains more about the SPI for our microcontroller. Looking at the

schematics, the microcontroller uses Pins pack 1 from the stm32f4 library of the website.

We use SPI1 of the microcontroller, which means that MOSI uses PA7, MISO uses PA6,

and SCK uses PA5 and APB2. Then, we followed the power up sequence and sent the

serial data to the ADC.

One problem that occurred was the int/ext pin of the ADC was just a test point

when it should have been connected to a high voltage to use the internal reference. This

Page 18: WD Data Acquisition Board A Senior Project the Faculty of ...

could have been done when designing the board, by connecting the pin to a high voltage

or connecting it to a pin on the MCU and programming the pin high. Due to the pin not

having int/ext pin high, all the output voltages seemed like they were floating. All the

pins were around 2V when tested on the oscilloscope.

Figure 10: Internal reference of ADC

Another problem that occurred was when programming with last year’s code.

Ideally the code should work the same. However, again when testing the output voltages

from the old ADC, some of the pins seemed like they were floating. After a certain input

voltage they’ll only output a high voltage when increasing the input voltage. Also at an

input voltage of -20V, ideally the ADC outputs should be all zeroes. At an input voltage

of 0V, half of the ADC outputs should be high. At an input voltage of 20V, all the ADC

outputs should be high of 3.3V. The results are shown below.

Page 19: WD Data Acquisition Board A Senior Project the Faculty of ...

Table 5: Results from old ADC

Input

voltage (V)

D0

(V)

D1

(V)

D2

(V)

D3

(V)

D4

(V)

D5

(V)

D6

(V)

D7

(V)

D8

(V)

D9

(V)

20 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3

0 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3

-20 0 3.2 3.2 3.2 3.2 2.8 2.8 2.8 3.2 0

The maximum SPI clock frequency is 20MHz, found in the datasheet. We chose a

clock frequency of around 10 MHz. In system_stm32f44xx.c, the SYSCLOCK is 180

MHz based on the PLL having an external input of 25 MHz. The reference guide (pg

162) for the chip details the PLL equation as

If you look at the comments in the code PLLN = 360, PLLM = 25, and PLLP = 2.

When the PLL input is 25 MHz, the SYSCLOCK will be 180 MHz (25*7.2).

However, we aren’t supplying an external clock to the PLL. When the AHB/APB

prescalers are set to 1, we can see what the SYSCLOCK is and we can solve for the PLL

input frequency. The PLL constants were changed so that the new clock output will be 10

MHz.

Page 20: WD Data Acquisition Board A Senior Project the Faculty of ...

2. SDRAM:

The new SDRAM is the IS42 and last year’s SDRAM is the MT48LC128M4A2.

The new SDRAM is very similar to the old SDRAM.

We used the S1 test from last year with the old ADC but kept getting an

unsuccessful dram r/w.

Figure 11: USART output of SDRAM

We revised the code and used code from the stm32f4-discovery website. [11] We

also added USART messages between lines in the code to see where it breaks if it does.

After revising the code we were able to get the S1 test to work.

Page 21: WD Data Acquisition Board A Senior Project the Faculty of ...

Figure 12: SDRAM output

Next we tried the S3 test to write to the whole SDRAM with the words, pages and

page size meeting the aspects of the SDRAM. We added USART messages to figure out

where the code breaks. The S3 test kept giving us an unsuccessful result.

We figured the SDRAM didn’t like writing the buff variable into the SDRAM

memory. If we replaced the buff variable with an integer, such as 10, it would be able to

write the value 10 into memory and read the value 10. If we were to use buff, it should

just increment and be able to read the same value put into memory. However, it would

only read and write the maximum value buff should be, which is 0x400 = 1024.

Page 22: WD Data Acquisition Board A Senior Project the Faculty of ...

3. NAND:

We programmed the B1 test to write and read one data value to the NAND. We

programmed the B3 test from last year to write and read to all of the NAND and was

proven successful shown by the two green LED lights (Debug1 and Debug2 LED) on the

board.

4. FTDI to PC:

There are two ways to get information from the FTDI: USART and FIFO

USART:

To use the USART we need to initialize and create commands to receive

messages from the DAQ board. This was done using the C2 test and in later tests a

sendstr function is made to simplify the code.

We also downloaded PuTTY to display the messages on the PC.

Figure 13: Putty configurations

Page 23: WD Data Acquisition Board A Senior Project the Faculty of ...

FIFO:

To use the FIFO, we programmed the F5 test. We experienced some problems

with the code getting stuck when debugging. But this was fixed when we changed the

MProg configurations:

Figure 14: FIFO Configurations

Page 24: WD Data Acquisition Board A Senior Project the Faculty of ...

By doing this we disable the UART. So to see if the F5 test gets stuck or has

completed going through the code we added a breakpoint at the end of the code. We

made the breakpoint print out done. This can be done by right clicking the breakpoint,

editing the breakpoint properties and adding a log action.

The F5 test can be programmed into the board by changing both sides from

RS232 UART to 245 FIFO and D2XX. The USB VID/PID must also be changed to FTDI

Supplied PID. According to the FTDI datasheet this will make it asynchronous. The F5

test can also be completed if side A is 245 FIFO and D2XX Direct and side B is RS232

UART and Virtual COM Port. This will make the FTDI synchronous. After programming

these configurations using MProg, disconnect and reconnect the usb link to the FTDI.

This will change the ports from coms 10 and 11 to usb serial converter A and B.

Then using the DAQ_Downloader.exe file, we should be able to obtain a .daq file

with the information that was stored onto the FTDI from the F5 test. However, we found

that the DAQ_Downloader.exe will be able to display ‘Downloading an acquisition’ only

if you go to the command prompt and load it from there. Also, it will only load if the

argparse and pyUSB libraries and the d2xx drivers are downloaded. If python is

downloaded, the DAQ_Downloader.py file in the source code can run instead of the

executable file. This allows us to change some of the source code and debug the script.

We added print statements and the python script gets stuck after line 26: data =

h.read(1). This results in outputting a .daq file with 0kB. To check what the h.read

function does we made a file with random words. We opened the file and used the same

statement of data = h.read(1). The h.read(1) function will read the current position the file

is in. For example if the first work is hello. The first data = h.read(1) statement will

Page 25: WD Data Acquisition Board A Senior Project the Faculty of ...

output h. The second one will output the letter e. Since, the data = h.read(1) doesn’t get

stuck when reading from a regular file, we speculate the computer isn’t reading anything

from the FTDI chip because it is still able to get past the open statement. This means

there might be a bug somewhere in the F5 test.

However, we tried to debug the python script some more.

Trying eeRead() causes the instance to crash and restart if SIDE A is 245 FIFO

and SIDE B is RS232

Figure 15: Results of trying eeRead when the sides are different

Page 26: WD Data Acquisition Board A Senior Project the Faculty of ...

Programming the FTDI to be SIDE A and SIDE B to be 245 FIFO gets us this:

>>> print h.eeRead()

{'vendorId': 0, 'invertDCD': 0, 'ifAIsFastSer': 64, 'highDriveIOs': 155, 'useExtOsc': 184,

'usbVersionEnable': 255, 'bIsVCP': 0, 'cbus1': 0, 'cbus0': 0, 'pullDownEnableR': 30,

'cbus2': 0, 'cbus3': 5, 'endpointSize': 3, 'maxPower': 0, 'selfPowered': 8824, 'invertDSR': 0,

'cbus4': 0, 'ifBIsFifo': 192, 'rIsD2XX': 0, 'isoIn': 0, 'usbVersion5': 3, 'invertTXD': 108,

'serNumEnableR': 192, 'isoInA': 255, 'isoInB': 255, 'bIsHighCurrent': 0, 'productId': 0,

'ifAIsFifo': 120, 'ifBIsFastSer': 82, 'description': 'tw@', 'pnp': 272, 'usbVersion': 65535,

'serNumEnable5': 29, 'isoOut': 0, 'usbVersionEnable5': 30, 'invertRTS': 0, 'invertCTS': 5,

'manufacturerId': '03\x1b\x02\xcc4\x89w\xbe|+\x87h\x84Z', 'manufacturer':

'FTYTBMDH', 'pullDownEnable': 0, 'aIsVCP': 0, 'invertDTR': 0, 'ifBIsFifoTar': 108,

'serialNumber': '\x10\xa8\x1b\x020E\x0b\x02X\rJ\xb6', 'invertRXD': 82, 'serNumEnable':

255, 'ifAIsFifoTar': 34, 'aIsHighCurrent': 0, 'invertRI': 0, 'remoteWakeup': 64, 'isoOutA':

255, 'isoOutB': 240, 'rev5': 255, 'rev4': 5, 'pullDownEnable5': 169}

Get status is 0

Figure 16: Status of both sides as FIFO

Page 27: WD Data Acquisition Board A Senior Project the Faculty of ...

Figure 17: Get Status

Running the python code edited by WD still gets stuck at the same place.

Figure 18: Status of downloader script

We decided to stick to debugging with both sides at FIFO because we were able

to get results when printing h.eeread().

The one thing we were uncertain about in the F5 file test was how last year’s

group got their values for the magic numbers in lines 80-82. The magic numbers are

supposed to represent DAQ. Below is an example of how the .daq file was supposed to

output. The .daq files can be read with a binary editor.

Table 6: DAQ output data

Field Size Format

Magic Number 3 bytes ascii “DAQ”

Active Channels 4 bytes 01 01 00 00 indicating active channels are 1 and 2

Input Sources 4 bytes 00 01 00 00 indicating channel 1 reads voltage,

channel 2 reads current

Unused 1 byte 00

Data 64M bytes

(67108864 bytes)

03 04 03 64

Page 28: WD Data Acquisition Board A Senior Project the Faculty of ...

DAQ Board GUI

A GUI was created last year to process the data file and graph the results of a

single acquisition using Matlab. The GUI allows the user to specify the graph resolution

and export the data to CSV format. The GUI settings window and the graph window can

be seen in Figure 19 and Figure 21, respectively. However, only Figure X can be seen

due to the file being 0kB,

Page 29: WD Data Acquisition Board A Senior Project the Faculty of ...

Figure 19: GUI Settings Window

Figure 20: Our GUI settings window for our daq file

Page 30: WD Data Acquisition Board A Senior Project the Faculty of ...

Figure 21: GUI Graph Window

Page 31: WD Data Acquisition Board A Senior Project the Faculty of ...

IV. Integration and Test

Chapter 6 describes the testing that was involved for the DAQ board. The testing

shows that the design is verified and meets requirements. The results are shown along

with any possible errors that may have come up during the testing phase.

Acceptance Testing

To get a fully functional board, testing must be done on individual components

first.

Firstly, the signal conditioning circuits were tested to see if it attenuated and level

shifted the voltage input. Then the MUX was tested to see if the inputs to the MUX

outputted the input that was desired.

Analog-to-digital conversion was tested by inputting a voltage directly into the

ADC ranging from 0v to 3.3v. However, there were many problems when measuring the

output of both the old ADC and the new ADC. The old ADC would either have floating

voltages or output only high voltages. The new ADC was lacking a pin connected to a

high voltage, which resulted in floating voltages for the output.

The memories, SDRAM and NAND, are tested to ensure that it properly stores

data. The MCU writes data to the memories and reads it back to see if the write and read

match. The NAND memory will back up memory in the SDRAM. From the NAND, the

data will be stored on the FTDI. The FTDI will transmit the data to the PC.

Page 32: WD Data Acquisition Board A Senior Project the Faculty of ...

Test Report

Included in this report are the tests used to validate certain components of the

DAQ board. Basic operations include the ability to acquire data, store data onto the

memories, MCU accept commands, and to download data onto PC for operation with the

GUI.

Software

Communication Test Name LED Blink

Specification Tested

MCU Programmability and LEDs

Test Description Attach ST-Link programmer or discovery board to DAQ JTAG input. Program MCU to manipulate on-board LEDs.

Firmware Description

Manipulate LEDs with GPIO.

Expected Result LEDs blink according to specified pattern.

Actual Result LEDs blinked

Test Name C4

Specification Tested

FTDI Programmability

Test Description Program FTDI EEPROM with MProg or FTProg tool

Firmware Description

N/A

Expected Result Programmed successfully

Actual Result Passed

Page 33: WD Data Acquisition Board A Senior Project the Faculty of ...

Test Name C5

Specification Tested

FTDI Parallel Communication Out

Test Description MCU sends messages to PC via FTDI Parallel.

Firmware Description

Send a message to FTDI using GPIO. Read ready bit Write data to bus Set write bit Repeat

Expected Result “ABC” repeated

Actual Result Didn’t pass. Couldn’t get the PC communication to work.

Acquisition Test Name A1

Specification Tested

Reading old ADC (Voltage)

Test Description Read voltage data from ADC and output to PC. Compare to measured voltage from voltmeter.

Firmware Description

Turn on ADCs. Read from channel 1 of ADC 0 with GPIO. Relay data to PC with UART.

Expected Result Input voltage of -20V should output all low voltages. 0V should output half. 20V should output all high voltages.

Actual Result Floating voltages at an input voltage of -20V and all high voltage values for other voltages.

Test Name ADC code

Specification Tested

Reading new ADC (Voltage)

Test Description Read voltage data from ADC and output to PC. Compare to measured voltage from voltmeter.

Firmware Description

SPI power up sequence SPI sends data to turn off PLL MUX decides what channel and if either voltage or current is measured ADC measures

Expected Result Input voltage of -20V should output all low voltages. 0V should output half. 20V should output all high voltages.

Actual Result Floating voltages due to the int/ext pin not being connected to anything.

Storage Test Name S1

Specification Tested

Using DRAM controller

Test Description Initialize DRAM. Write and read data.

Firmware Description

Set all DRAM GPIO CS off. Initialize DRAM 0. Write data to arbitrary address.

Page 34: WD Data Acquisition Board A Senior Project the Faculty of ...

Read data from same address. Compare read data to original.

Expected Result “Data matches what was written.”

Actual Result The data didn’t match

Test Name S1 test new

Specification Tested

Using DRAM controller

Test Description Initialize DRAM. Write and read data.

Firmware Description

Set all DRAM GPIO CS off. Initialize DRAM 0. Write data to arbitrary address. Read data from same address. Compare read data to original.

Expected Result “Data matches what was written.”

Actual Result Data matches

Test Name S3

Specification Tested

Using entire DRAM

Test Description Initialize DRAM. Write and read data.

Firmware Description

Set all DRAM GPIO CS off. Initialize DRAM 0. Write data to every dram address. Read all data back. Compare read data to original.

Expected Result “Data matches what was written.”

Actual Result Had a problem with buff variable so result was unsuccessful

Backup Test Name B1

Specification Tested

NAND write and read

Test Description Write data to a known valid page. Read same data

Firmware Description

Initialize NAND. Check that a page is valid. Write to NAND. Read from NAND.

Expected Result “Data matches what was written.”

Actual Result This test passes.

Page 35: WD Data Acquisition Board A Senior Project the Faculty of ...

Test Name B3

Specification Tested

Use entire NAND

Test Description Write data to all valid pages NAND. Read same data.

Firmware Description

Initialize NAND. Load NAND page table (from test B2).

Check that a page is valid. Fill page with meaningful data.

Check data in each address.

Expected Result “Data matches what was written.”

Actual Result The whole NAND is filled up and LED matches

DAQ Functions Test Name F5

Specification Tested

Download acquisition to PC

Test Description Configure PC to save COM input to a file (python script). Copy data from NAND and send to FTDI.

Firmware Description

Initialize NAND. Write header info to parallel FTDI.

Read 2kB from NAND (1 page). Write data to parallel FTDI. Repeat until all data transferred.

Compare data in NAND to DRAM.

Notes Not sure if COM redirect is possible with FIFO method. Looks like no. Possible to compress data before transmission (delta compression). Python script could reformat data (decompress, convert to csv, etc.).

Expected Result “Backup complete.”

Actual Result Passed

Page 36: WD Data Acquisition Board A Senior Project the Faculty of ...

V. Conclusions and Recommendations

Successes

In conclusion, I have learned how to research and read datasheets to validate the

components. I initially did not know too much about memory. So I’ve learned a lot about the

NAND and SDRAM components. I’ve also learned how to read pcb files to be able to probe and

program certain pins on the board. I utilized my troubleshooting skills when a problem

encounters. This project has given me valuable experience of interacting with Western Digital

employees and gaining input on how to solve a problem.

Shortcomings

Due to old code not working, it seemed as if I was redoing a lot of the project from last

year. As a result of their code making sense as to why they coded it the way that they did, it

made it a little difficult to troubleshoot or understand what the problem was. This kept pushing

us back from validating components and in the end prevented us from getting any data from the

DAQ board.

Another difficulty was the ADC being more complex than the old ADC. It required a

very high clock frequency because the PLL was enabled at default. It also need the SPI to disable

the SPI, so I had to research more on how to program the SPI for the MCU.

Page 37: WD Data Acquisition Board A Senior Project the Faculty of ...

Future recommendations

In further development of the DAQ board, it would be best if the old code is tested before

creating a new project with new features. Another recommendation is to have the WD employees

do the same testing as the senior project student as it happens. This would help both sides

discover if the same problems are being experienced.

Page 38: WD Data Acquisition Board A Senior Project the Faculty of ...

VI. Bibliography

[1] Allan Chan, “UTOPIA 3.0: Power Cycling Controller Board,” Cal Poly, San Luis Obispo, 2010

[2] Analog Devices. "High-Side Bi-directional Current Shunt Monitor." analog.com. 10 April 2014

<http://www.analog.com/static/importedfiles/data_sheets/AD8210.pdf>.

[3] ExpressPCB. "Tips for Designing PCBs." expresspcb.com. 2 January 2014

<http://www.expresspcb.com/ExpressPCBHtm/Tips.htm>.

[4] FTDI Ltd. "FT2232H Datasheet v2.06." 21 September 2009. ftdichip.com. 21 January 2010

<http://www.ftdichip.com/Documents/DataSheets/DS_FT2232H_V206.pdf>.

[5] ISSI. "SDR SDRAM." issi.com. September 2012

<http://www.issi.com/WW/pdf/42-45R-S_86400D-16320D-32160D.pdf>.

[6] Linear Technology. " LT3995 - 60V, 3A, 2MHz Step-Down Switching Regulator ." linear.com. 1

April 2014 < http://cds.linear.com/docs/en/datasheet/3995f.pdf>.

[7] "LXTronic." Basic SPI Tutorial. N.p., 14 Aug. 2013. Web. 15 Feb. 2015.

[8] Micron. "NAND Flash Memory." August 2013. micron.com. 2

January 2014 <http://www.micron.com/parts/nand-flash/mass-storage/mt29f4g08abadah4>.

[9] ST Microelectronics. "ARM Cortex-M4 32b MCU+FPU." January 2014. st.com. 15 January 2014

<http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1806/PF254219>.

[10] Texas Instruments. "Dual, 12-Bit, 65MSPS, +3.3V Analog-to-Digital Converter." July 2004.

focus.ti.com. 10 November 2013 < http://www.ti.com/lit/ds/symlink/ads5204.pdf>.

[11] Texas Instruments. "LM2940-N/LM2940C 1A Low Dropout Regulator." April 2013.

focus.ti.com. 15 April 2014 < http://www.ti.com/lit/gpn/lm2940-n>.

[12] Tilen Majerle. "All STM32F4 libraries." 2015. stm32f4-discovery.com. 2015 < http://stm32f4-

discovery.com/2014/05/all-stm32f429-libraries-at-one-place/>.

Page 39: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix A: Circuit Schematics Appendix A-1: Input Channels

Page 40: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix A-2: Microcontroller

Page 41: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix A-3: NAND memory

Page 42: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix A-4: DRAM memory

Page 43: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix A-5: FTDI

Page 44: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix B: PCB Layout Design Appendix B-1: Top and Bottom Layers

Page 45: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix B-2: Top Layer Appendix B-3: Bottom Layer

Page 46: WD Data Acquisition Board A Senior Project the Faculty of ...
Page 47: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix C: Bill of Materials

Count RefDes Value Description Digikey Part

Number Package

Unit

Price

($)

Quantity

x Price

3 C1, C3, C61 4.7uf 10%, X5R,

16V 1276-1065-1-ND 805 0.14 0.42

1 C107 22uf 10%, X7R,

25V 399-7061-1-ND 2220 5.04 5.04

1 C13 3.3uf 10% tolerance,

X5R, 10V 399-3129-1-ND 805 0.25 0.25

2 C15, C17 18pf 5%, 50V 445-13325-1-ND 603 0.31 0.62

92

C2, C4, C5,

C6, C7, C8,

C9, C10, C11,

C12, C14,

C16, C18, C19,

C21, C22, C23,

C24, C25, C26,

C28,

C29, C30, C32,

C33, C34,

C35, C45, C46,

C47, C48, C49,

C50, C51, C52,

C53, C54, C55,

C56, C57, C58,

C59, C60, C62,

C63, C64, C65,

C66, C67, C68,

C69, C70, C71,

C72, C73, C74,

C75, C76, C78,

C81, C82, C83,

C84, C85, C86,

C87, C88, C89,

C90, C91, C92,

C93, C94, C95,

C96, C97, C98,

C99, C100,

C101, C102,

C103, C109,

C110, C111,

C112, C113,

C114, C115,

C116

.1uf 10%, X7R,

10V 1276-1002-1-ND 402 0.1 9.2

4 C20, C27, C39 10uf 10%, X5R,

10V 587-1300-1-ND 805 0.2 0.8

1 C31 0.022uf 10%, X7R,

16V 587-1224-1-ND 402 0.1 0.1

2 C36, C104 .47uf 10%, X5R, 587-1455-1-ND 402 0.11 0.22

Page 48: WD Data Acquisition Board A Senior Project the Faculty of ...

10V

1 C37 10pf 5%, 50V 399-1011-1-ND 402 0.1 0.1

2 C38 47uf 10%, X5R,

16V 490-6538-6-ND 1210 1.16 2.32

1 C40 1nf 5%, Mica,

500V 338-1131-ND 2220 4.88 4.88

4 C41, C42, C43,

C44 0.1uf

10%, X7R,

10V 1276-1002-1-ND 402 0.1 0.4

1 C77 1uf 10% tolerance,

X5R

587-1231-1-ND 402 0.1 0.1

2 C79, C80 2.2uF 2.2uF, 0402,

10% 445-6847-1-ND 402 0.24 0.48

1 D1 B560C Schottky Diode B560C-FDICT-ND DO-

214AB 1.01 1.01

1 D2

Schottky,

rating 3A

DB2W40300LCT-

ND

SOD-

323F 0.55 0.55

3 D3, D4, D7 GREEN 0603 Green LED 160-1446-1-ND 603 0.3 0.9

3 D5, D6, D8 RED 0603 Red LED 160-1447-1-ND 603 0.3 0.9

4 J1, J2, J3, J4 4 pin header 4 pin header A19431-ND

0.18 0.72

1 J5 JTAG HEADER JTAG Header 1175-1623-ND

0.74 0.74

1 J6 mini USB B Mini USB

Header H11671CT-ND

0.8 0.8

1 J7 2-PIN HEADER 2-Pin Header 609-3500-ND

0.18 0.18

1 J8 3 pin header 3 pin header 609-3461-ND

0.15 0.15

2 L1, L2 Ferrite Bead Ferrite Bead

0

1 L4 8.2uH 8.2uH, 5% 587-3100-1-ND 806 0.16 0.16

4 R1, R4, R7,

R10 38.3K 38.3K, 1%

311-38.3KCRCT-

ND

805 0.1 0.4

4 R13, R14, R15,

R16 0.05

0.05 ohms, 5%

tolerance 73E4R050JCT-ND 1206 0.41 1.64

4 R13, R14, R15,

R16 0.02

0.02 ohms, 1%

tolerance 311-0.02AJCT-ND 1206 0.52 2.08

8

R17, R18, R19,

R20, R30,

R31, R35, R36

22 22 ohms, 1% 311-22.0LRCT-ND 402 0.1 0.8

4 R2, R5, R8,

R11 7.5K 7.5K, 1%

RHM7.50KCFCT-

ND

603 0.1 0.4

1 R21 1M 1Meg ohms,

1%

311-1.00MHRCT-

ND

603 0.1 0.1

1 R22 576K 576K, 1% 311-576KHRCT-

ND

603 0.1 0.1

1 R23 182K 182k ohms, 1% 311-182KHRCT-

ND

603 0.1 0.1

6 R24, R25, R26,

R32, R34 10K 10k ohms, 1%

311-10.0KHRCT-

ND

603 0.1 0.6

1 R27 2.2K 2.2k ohms, 1% 311-2.20KHRCT-

ND

603 0.1 0.1

6 R28, R29, R51,

R52, R53, R54 220

220 ohms, 5%

tolerance P220ADDKR-ND 805 0.23 1.38

4 R3, R6, R9, 6.19K 6.19K, 1% 311-6.19KHRCT- 603 0.1 0.4

Page 49: WD Data Acquisition Board A Senior Project the Faculty of ...

R12 ND

1 R37 2K 2k ohms, 1% 311-2.0KGRCT-

ND

603 0.1 0.1

2 R38, R33 115K 115K, 1% P115KHCT-ND 603 0.1 0.2

1 R41 12K 12k, 5% 311-12KGRCT-ND 603 0.1 0.1

1 R55 1K 1k ohms, 5% 311-1.0KGRCT-

ND

603 0.1 0.1

1 U1 STM32F429IIT6 Microcontroller 497-14054-ND 176-

LQFP 20.34 20.34

1 U10 LM4121 1.25V

Reference

LM4121IM5-

1.2/NOPBCT-ND SOT23-5 1.87 1.87

1 U11 MT29F4G16-

ABADAWP NAND Flash 557-1457-1-ND 48-TSOP 8.55 8.55

1 U12 LT3995 Voltage

Regulator

LT3995IMSE#PBF-

ND

16-

MSOP 8.34 8.34

6

U13, U14,

U15, U16,

U17, U19

ISSI-

IS42S16320D DRAM 706-1268-ND 54-TSOP 13.96 83.76

1 U18 FT2232H FTDI 768-1024-1-ND 64-LQFP 6.71 6.71

2 U2, U3 ADS5232 ADC 296-19657-ND 64-TQFP 32.4 64.8

1 U20 LM2940-N 5V, 1A Voltage

Regulator

LM2940IMPX-

5.0/NOPBCT-ND SOT-223 2.21 2.21

1 U30 93LC46 EEPROM 93LC46C-I/MS-ND 8-MSOP 0.34 0.34

2 U4, U5 MAX4780 Analog Mux MAX4780ETE+-

ND

16-

WFQFN 2.99 5.98

4 U6, U7, U8,

U9 AD8210

Current

Monitor

AD8210YRZ-

REEL7CT-ND 8-SOIC 4.77 19.08

1 X1 12Mhz Crystal 535-9869-1-ND HC49/US 0.54 0.54

10

0Ohms 0Ohm resistor,

0402 311-0.0JRCT-ND 402 0.1 1

2

0Ohms 0Ohm resistor,

0603 P0.0GCT-ND 603 0.1 0.2

1

STLink

Programmer

STLink

Programmer 497-10484-ND

21.25 21.25

0

Total $284.61

Page 50: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix E: DAQ Prototype User Manual

DAQ Board User Manual

Updated June 10, 2014

System Overview

The Data Acquisition (DAQ) Board is a prototype device that records the transient response of

voltage or current signals and stores the acquired data for later analysis. The DAQ_Downloader program

downloads a single complete acquisition from the board to a file on a PC. The daqgui is a standalone

Matlab program that opens acquisition files and plots acquisitions.

Setting Up for an Acquisition

1. Power the board

2. Place the board in reset (as in Figure 1)

Figure 1: Single female-to-female wire connects reset pin to ground

Page 51: WD Data Acquisition Board A Senior Project the Faculty of ...

3. Connect the DAQ USB cable to a PC

4. If necessary, install FTDI D2XX drivers

http://www.ftdichip.com/Drivers/D2XX.htm

Taking an Acquisition

1. Run DAQ_Downloader program on PC

a. The default output file is in the format “acq_YYYY-MM-DD_HH-MM-SS.daq”

b. Optionally, specify an output file with the –o command line option

2. Take board out of reset (as in Figure 2)

Figure 2: Reset pin is disconnected

3. Wait for the acquisition and data upload to end

a. Indicated by the DAQ_Downloader exiting and LEDs on the DAQ blinking

Page 52: WD Data Acquisition Board A Senior Project the Faculty of ...

Plotting an Acquisition

1. Run daqgui or daqgui_small (smaller window for low-resolution displays)

a. Requires the free Matlab Compiler Runtime (MCR)

http://www.mathworks.com/products/compiler/mcr/

2. Click the “Select Data File” button and open an acquisition file

3. Select which channels to plot with the channel select checkboxes

a. Channels 1 and 2 are the only valid (plottable) channels

4. Choose a start time and stop time for the plot

a. A complete acquisition is 16.8 seconds

b. Default settings are 0 to 16 seconds

c. Plot duration determines the resolution used when plotting, so a long duration will give a

lower-resolution plot

5. Click the “Plot Data” button, which opens a new plot window

6. Zoom in and out by scrolling the mouse wheel

Troubleshooting

DAQ_Downloader

DAQ_Downloader can’t connect to the DAQ.

1. Check that the DAQ board is powered

2. Check that the USB cable is connected

3. Close any open instances of DAQ_Downloader or other programs using the DAQ

COM port

4. Disconnect and reconnect the USB, wait 10 seconds, then reopen DAQ_Downloader

Page 53: WD Data Acquisition Board A Senior Project the Faculty of ...

DAQ GUI

Error message “Could not open file.”

1. Move acquisition file to the directory in which the GUI is running

2. Re-select the file in its new location and try to plot again

Error message “Not a valid daq file.”

1. The acquisition did not download correctly or the file was corrupted

The plot window is too large to display correctly

1. Use daqgui_small instead (800x600 plot window)

I need more plot manipulation tools.

1. Instead of using the standalone executable, run the daqgui.m code in Matlab

Appendix F: Atollic User Manual

Atollic User Manual

System Overview

The manual will explain how to get a project started for programming to the DAQ board.

Starting a new project

1. Download Atollic if haven’t done yet.

2. Go to file New C project

Page 54: WD Data Acquisition Board A Senior Project the Faculty of ...

3. Name your project and click Embedded C Project

Page 55: WD Data Acquisition Board A Senior Project the Faculty of ...

4. Change the Vendor and Microcontroller to match the one on the DAQ board. If using the

discovery board, the microcontroller will need to change to STM32F429ZI.

5. Click next and change the debug probe to ST-Link.

Page 56: WD Data Acquisition Board A Senior Project the Faculty of ...

6. Click Finish.

Programming onto the board

1. Go to Project Build Project

2. Connect the 20V power supply, FTDI usb cable, and the JTAG header. Note that the red stripe

indicates where pin 1 should be. Look at the schematic to figure out where pin 1 is.

3. Go to Run Debug

4. Change the interface to JTAG. If you are programming to the discovery board, it should stay as

SWD.

Page 57: WD Data Acquisition Board A Senior Project the Faculty of ...

Contact

Charmaine Guintu

[email protected]

Page 58: WD Data Acquisition Board A Senior Project the Faculty of ...

Appendix G. Senior Project Analysis Project Title: Western Digital Data Acquisition Board

Student: Charmaine Guintu

Advisor: Dr. Dolan Initials: Date

1. Summary of Functional Requirements

The main purpose of the project is to create a fully functional and fully validated data

acquisition board to monitor hard drives in order to capture failures. The data acquisition

board is to make recording data more efficient, easier to use, and cheaper than bulky

oscilloscopes. The DAQ also has to be compatible with the UTOPIA board and have a

user PC interface.

2. Primary Constraints

The biggest challenge will be to research the memory needed for the DAQ because I have

the least experience in that. Memory is an important factor; the data acquisition board has

to be able to acquire enough information until the hard drive reaches failure. Another

constraint would be to review all the past material and to improve on that. Other

constraints would be time and balancing school, while working on the project.

3. Economic

If the design were to be funded by Western Digital, most of the investment would be

spent on the people involved with the project and the rest of the capital that is spent

would be on buying the materials that will be on the surface of the data acquisition board

and the hardware needed for testing the product.

Human capital: Developing this device can probably save human capital because of the

ease of testing the hard drives. Less time is wasted from an employee and they can

contribute to the company in more ways.

Financial capital: There will be profit because by the use of the DAQ, Western Digital

can improve their hard drives from the testing results and get better sales from better

reliability. Western Digital could also possibly sell their DAQs to different companies.

Natural Capital: The device will be made of silicon and plastic. It will have to be recycled

to be considered a sustainable product.

Page 59: WD Data Acquisition Board A Senior Project the Faculty of ...

4. If Manufactured on a Commercial Basis

One DAQ board costs $500 to be manufactured. However if it was created in volume,

each would be $385. If Western Digital were to sell 5000 each year for $500, it would

provide revenue of $575,000 per year.

5. Environmental

The DAQ contains silicon, copper, boron, gallium, aluminum. The printed circuit board

is made out of copper and allows conduction between components. The chips on the

board are an integrated circuit because the components, circuits, and base material are

made together from a single piece of silicon. The mounting wire leads are made out of

aluminum or gold and boron and gallium are the dopants. Gallium and arsenic are toxic

substances, so their storage, use, and disposal must by tightly controlled. Since integrated

circuits are abundant, there is now a recycling industry. These recycled circuits can be

stripped of components and be tested and resold for use in other devices.

6. Manufacturability

This product will be funded by Western Digital since they will have ownership of the

design of the DAQ. Western Digital will probably order the final design from a

manufacturing company to produce it in volume to save money. However, during the

testing stage components will probably be ordered separately to test out the components.

7. Sustainability

If the DAQ were to attach to the hard drives inside the torture stand, then some concerns

for the board would be if it could withstand the different temperatures. Testing would

have to be done to see what extremes the DAQ could withstand and for how long can the

DAQ run without failure.

An upgrade would be to find a way to make the DAQ smaller and still maintain the

quality, price, and efficiency of its current model.