I have never before lived in a city even approaching the size of DC, and I have also never been further east than Chicago before, so this past week has been quite an unprecedented experience for me. It did not take long, however, to adjust to the mysteries of the metro and the wonders of this nation’s capital. The severely raised cost of living, however, will take some getting used to.
The group I have been assigned to at NIST is working on building, from scratch, a massively parallel semiconductor test system. Put simply, this system accelerates the degradation of semiconductors – used in transistors, the basis of all modern electronics – to the point where they break down soon enough for the study to be useful in their development. Then the degree of that acceleration can be calculated, and we can discover how long we expect these systems to last. In an electric can opener, when it breaks down is not very relevant, but systems in airplanes or supercomputers are somewhat more important, making this extremely relevant. Moreover, this system can test many semiconductors simultaneously – because transistors are so small and so numerous, the only way to acquire useful information from degradation studies is to gather massive amounts of data. As such, it is necessary to figure out the best way to organize, store, and process this data. This is my task for the summer.
As I have no background in data processing or, indeed, computer science at all, this is somewhat daunting. To be honest, I was initially terrified, because I had absolutely no idea where to begin, and it seemed as if everyone had expectations for me that were much higher than what I though myself capable of. Several days later, I have begun my sojourn into the world of semiconductors and data processing and analysis; the task is no less daunting, but I am no longer frightened of failure. Once I can see the path, I am confident I will be able to follow it – if not to completely finish it.
< back to top
This week, I began to teach myself a smattering of computer science. I've read more than a dozen articles about data structures, data processing, and data mining. Although many seemed to be relevant at the time, so far none of them are very helpful in retrospect. I also started reading up on python, and began teaching myself the program LABVIEW, which is a graphical development program which we are using for all the coding we need to run the test system itself.
I also began working with Kevin, the computer scientist on our project, to find a way to view the data while the experiment is ongoing without affecting the performance or speed of the instruments. I had several initial ideas, one of which he altered slightly and made to work, although we have not yet tested it on truly high volume data, so it is unsure if this will be a permanent solution or not. The point will become moot if I discover a better way of storing and accessing the data, which is my current objective. Later tonight, my project leader is hosting a party for the people working in my division, which I will be attending if I can get a ride.
One of the downsides to working at NIST is that I have a commute of more than an hour each way - although the upside is that SPS paid for a weekly metro pass, since that is cheaper, so the rest of the time I have free reign on travel. The other interns and I have recently been watching MacGyver in the evenings, a show that is both awesome and hilarious - we particularly enjoy the show's hilarious take on romance, usually everyone bursting out laughing when he kisses somebody, because of both the brevity of their association and the overwrought nature of the acting.
< back to top
This week I began to make a lot more progress working with LABVIEW. I wrote a program to collect the voltage reading from a voltage meter at a rate of about 60 hertz, then used various constants to multiply the data by a factor of 10, simulating the large amount of data we'll be getting once the test system is up and running. This way, I can begin working with the data, seeing what works and what doesn't.
I have already solved several problems in the program, although it has raised several others, and I still don't know where I want the data to end up. One of the biggest problems that remain unsolved is that the memory space LABVIEW takes to run slowly builds over time. After several hours, the memory space being used exceeds the available memory space on the computer, and the system crashes. I have implemented several attempts at fixing the problem, such as having the data saved continuously to the tdms file and getting rid of the LABVIEW graph, which we can't really work with anyway, so hypothetically it wouldn't be storing all the data in LABVIEW until we were done with the test run. Nothing I have done so far has had any noticeable affect, however.
In more exciting news, I recently discovered that I pass by someone I play with in an online rp twice a day on my commute to NIST. I was excited to actually get to meet him; we went to DC game night this Thursday, and we're going to see the movie Brave this weekend. Also, I was mistaken about the time of the division party - turns out it was this week. I had a good time, ate some good food, and met the families of most of the people I work with, which was cool. I'm also planning to visit some of the Smithsonian museums with Shouvik tomorrow.
< back to top
Quite a bit has happened this past week. At work this week, I implemented a couple changes to my coding and successfully fixed the memory leakage problem, as well as a sever slowing of the sampling rate that had cropped up. I was also able to install labview on my laptop so I could work on the project when I wasn't at work - this lead to another breakthrough. Since I wouldn't be able to sample anything, as I don't have of that equipment back on GW campus, I changed the input to a random number function. As the information wasn't limited by the speed of the USB connection, but only by the processing speed of the computer itself, the speed changed from 60 hertz to about 5,000. Now this data doesn't mean anything, but for figuring out how to manage extremely large data sets, it was perfect. I could now generate a million data points in a little under 3 minutes.
Even better than that, I downloaded a trail run for a new program called DIAdem, put out by National Instruments, intended to be used by scientists and engineers, with many more functions than excel and much higher storage capacity. I have already demonstrated that it is able to work with millions of data points. It is entirely possible that my search for the best way to process the data from the project need go no further, though I still have other avenues to explore.
This past weekend, Shouvik and I visited the Koshland Science Museum and the Smithsonian American Art Museum. The Koshland was very cool - it cost $4 to get in, and it only had two exhibits, but those exhibits were very thorough and interactive. It had one on climate change, and one on aging and memory. The Art Museum also had some really cool exhibits - there was a section on video games, and Shouvik and I particularly liked some of the more abstract stuff. It was also really cool to see the progression of video games and video game systems, the ones they had going back more than 25 years now.
< back to top
This week has also been fairly eventful. DIAdem seems to be the best programs for the job, continuing to impress us with speed and accuracy - I had a lot of success working with the various data we have: getting the old text files to interface with the programs, fixing the time values and combining disparate data sets, and of course plotting the data. There were several surprises to come out of the data as well. Three devices, before they went into hard breakdown, had soft breakdowns where they didn't quite reach the cutoff voltage, and then somehow the defects fixed themselves, or rearranged in such a way so they no longer formed a path, sometimes going weeks further before hard breakdown.
Even more exciting is that, now we have the program we need to work with that much data, I will be switching to a different project, with more of a focus on engineering this time. I will be trying to get an 18-bit DAC (digital to analog converter) and an arduino microcontroller to talk to a computer so we can input very precise and accurate voltages, as a high level of control is needed for ESR (electron spin resonance). Diving into another topic I know nearly nothing about, I should once again get the chance to learn a lot from this experience.
This past weekend, Matt, Allen, and I went to another art museum, much more traditional in style and having paintings and portraits from other countries and centuries as well. Most of it was not the type of art I enjoy as much, however, and we only got to see half of the museum, if that, before it closed at 5.
Most of us have plans to go see the modern art museum tomorrow, which should be very fun.
< back to top
It feels like this week went by in a flash. The first couple days were spent downloading all the software I would need for this project, as there was a considerable amount of it, and the computer I have to work on is rather slow going. In the days that followed, I began reading up on the DAC and the arduino, as well as how they interfaced with each other and with labview. I started looking at several example programs they have, trying to understand how the SPI code works so I could create my own. I know the algorithm I need to transfer the data from an input voltage, I just don't know how to translate that to either labview or arduino code. Finally, I also got the DAC soldered and wired up correctly to the arduino, though I'm going to try to figure out the headers this weekend.
Last weekend, we went to the Museum of Modern Art and the National Galleries. The Museum had some really cool conceptual or interactive pieces, although there were many I did not appreciate. At the national galleries, it was really cool to read through all the stories of immigrants through the years, as well as letters people had written to the various presidents. More than that, we were able to go through and see the Declaration of Independence, the Constitution, and the Bill of Rights. While it was kinda cool, it was not as profound or monumental a moment in my life as it seemed like it ought to be.
< back to top
This week, I seem to have encountered nothing but problems at work, most of them unexplainable. On Monday, I was working with a labview program to input a voltage through the Arduino to the DAC, where we would get the corresponding output. Though my program wasn't perfect, an older program that didn't give us exactly what we want was successfully communicating with the DAC, giving us the voltages we wanted, although only above a certain level. By Tuesday, when I had fixed the problems with my code, the computer would no longer talk to the DAC in either program. I'd run it, and it would say it successfully transmitted the data, but there would be no analog response to the output voltage.
Over the next several days, I encountered many more problems. These included, but were not limited to, the voltage sources providing too much current and not enough voltage, the wiring between the DAC and the Arduino falling apart, and all of the older systems (which should work, but not with the accuracy we require) failing to communicate. I fixed the problems with the voltage source and the wiring, as well as a couple software issues, but the other problems remain unflappable - probing the outputs and connections in the DAC, we could not seem to find anything wrong, yet the system still wasn't working. The code, voltage source, and wiring were all fine, and I have as yet been unable to identify the source of the problem.
Last weekend, Matt, Allen and I visited the Arlington Cemetery, where we saw Kennedy's grave and the changing of the guard at the tomb of the Unknown Soldier. It was an imposing and solemn event. Later, we visited the old post office tower - 12 stories up, and one of the best views of the city. This weekend has been uneventful, mostly spent dealing with personal and family matters.
< back to top
I encountered several more problems with the DAC this week - including the entire thing burning out - before making a breakthrough on Thursday. I had gone through just about everything I could think of, so I decided to check to make sure all the wires were connected correctly - whoever had been working on this before he had already had the connections set up, and we had all assumed they were correct - he had much more experience with electrical engineering than me. When I muddled my way through the connections, however, I eventually discovered that he had the analog and digital 5V currents switched, making the entire thing useless - the analog always had to be provided first, so every time I turned it on, I was providing the digital current first, so nothing worked. Switching them around and using a new DAC, I finally had reliable communication between the computer and the DAC. That's not the end of my problems, however; I adjusted the equation to the end voltages - which are not exactly 5V and -10V. Although this made the output voltage very accurate at the edges of the DAC's range, it gathers a very large error toward the middle that I cannot account for. Nor can I simply correct for it in the equation, because it is neither constant nor even linear. I have not yet had a chance to work further in this, because we had a tour of NIST on Friday.
There were several highlights of the tour. We got to observe several machines with amazing capabilities. There is one that can measure down to one quarter of a nanometer - that's only two or three atoms across! We also ate unripe apples from a tree that is a direct cutting of Newton's tree, and when we toured the museum and the library we were able to peruse 200-300 year old books that were physically written by Jefferson, Curie, Kelvin, Newton, and Tesla. That may have been my favorite part of the day. We saw a few other places, then we ate lunch and explored the labs Binayak and I work in.
Next week, we will be touring both the Capitol and the White House, which is very exciting. It will also basically be our final week at work. I can't believe the summer has flown by so quickly.
< back to top
This week has been very eventful, and I can't believe how the summer has simply flown by. The tours meant that I had only three days at work, though apparently that was more than enough to finish my project.
The equation in my labview program for the DAC converts the voltage we give the computer into a number corresponding to the point relative to the voltage range. Since I am dealing with an 18-bit DAC, the number is between 0 and (2^18)-1, or 262143. If I put in the maximum voltage the DAC can provide, the equation would convert that number to 262143 before breaking it up into bytes and sending it as a command to the DAC. If I wanted the exact halfway point in the voltage range, the equation should give 131071.
Attempting to quantify the error I was receiving in this number, I subtracted the expected voltage values from the real ones, and was pleasantly surprised (and also confused) to see the error take the form of a nearly perfect quadratic curve. I exported this to some analysis software, where I was able to determine the equation for the error. Taking the inverse of my original equation, I then subtracted the error equation and inverted it again. With this correction, all my values were within 3 millivolts - still not as good as they should be, but much better than 20. Noticing they were all in the same direction, I added an offset, making the DAC accurate to within half a millivolt, with a quarter millivolt noise on either side.
In other news, we visited the Capitol, the White House, and the Supreme Court this week. The capitol tour was pretty cool, and we were able to sit in on a session of the Senate. It was alarming to see how few people were there, and not encouraging hearing them argue about global warming. The White House, in all honesty, was rather boring - they only showed us a few rooms, and none of the rooms I actually cared about, like the offices. The Supreme Court was perhaps my favorite, with fascinating statues and architecture, as well as some very interesting information about the way the judicial system works.
< back to top