Вы находитесь на странице: 1из 29

PULSE

EEWeb

Issue 53 July 3, 2012

EEWeb.com

Oh

versity io Uni
Electrical Engineering Community

TA B L E O F C O N T E N T S
Frank van Graas, Maarten Uijt de Haag, and Wouter Pelgrum
OHIO UNIVERSITY
Interview with Frank van Graas, Maarten Uijt de Haag, and Wouter Pelgrum - Professors in the School of Electrical Engineering and Computer Science, Researchers with the Avionics Engineering Center

TABLE OF CONTENTS

4 13 18 20 25 29

Monocular Autonomously-Controlled Snowplow


BY SAMANTHA CRAIG, MATTHEW MILTNER, DEREK FULK, WOUTER PELGRUM, AND FRANK VAN GRAAS
Ohio Universitys submission to the Annual Autonomous Snowplow Competition.

Featured Products New ARM Cortex Microcontrollers Redefine Flexibility for Embedded Designs
BY SHAHRAM TADAYON WITH SILICON LABS
A solution for emebedded developers that enable them to respond quickly and easily to customer and market demands, last-minute design changes and competitive challenges.

State Machine Heretic


BY DAVE VANDENBOUT WITH XESS CORP.
An overview of one and two-process state machines and their project applications.

RTZ - Return to Zero Comic

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

Ohio University
INTERVIEW
Frank van Graas, Maarten Uijt de Haag, and Wouter Pelgrum
How did you get into electrical engineering and when did you start? Frank: I built my first circuit when I was approximately 5 years old. It consisted of a 4.5-V battery, a switch and a light bulb. From that time on, I wanted to learn as much as I could about electronics, and by the time I was twelve years old, I already planned to get an advanced degree in electrical engineering. Maarten: Early on in high-school I became fascinated with electronics and spent a significant amount of time playing with commercially available electronics circuit kits. After that, I moved on to building electronics-based alarm systems for my room and small robots that could move freely through our house. Even though I contemplated going into aeronautical engineering, I decided in the end to get a degree in Electrical Engineering. Wouter: I have been always interested in engineering, especially

FEATURED INTERVIEW

Frank van Graas (rear), Maarten Uijt de Haag (front right), Wouter Pelgrum (front left) Professors in the School of Electrical Engineering and Computer Science, Researchers with the Avionics Engineering Center

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

INTERVIEW
electrical engineering. As a little kid, I wired AC light bulbs before I could read, spent all of my money on Legos and spent countless hours building elaborate constructions. In high school, I got myself into a wide range of activities, such as audio engineering, special effects, video productions, and wireless communications. How did you arrive at Ohio University? Frank: I was studying at Delft University of Technology in the Netherlands, finishing up my engineering degree. GPS had become one of my research interests, but it was difficult to find information about GPS in Europe. Through Delft University, I found out that Ohio University had an active differential GPS program with NASA to land helicopters. It turned out that one of my professors, Gerrit de Jong, knew a professor at Ohio University, Kent Chamberlin, from an electromagnetics conference in Spain. I contacted Professor Chamberlin and asked if I could come to visit for a few months. That all worked out and within 2 weeks I was working on the NASA program. When it was time for me to return to Delft University, I was offered a research associate position at Ohio and ended up finishing my Ph.D. there instead of at Delft University. Shortly before I graduated, a faculty position in Avionics opened up at Ohio. I couldnt imagine a better position, so I applied and joined the faculty in 1988. Maarten: While I was studying at Delft University of Technology in the Netherlands, I met Dr. Michael Braasch from Ohio University and a former student of Dr. Frank van Graas. He was part of an exchange program between Ohio University and Deft University. I worked with him on Global Positioning System (GPS) related work for my M.S.E.E. and he served on my thesis committee. After finishing up my degree at Delft, I got a scholarship to go abroad and work for 6 months. I contacted Ohio University and went over there for 6 months. At Ohio University I met Dr. Frank van Graas and he offered me a job as a research engineer with the Ohio University Avionics Willigen came back from retirement to be my advisor for my thesis on H-field antennas for Low-Frequency radionavigation systems. This work got me in contact with the navigation community, and also with the people from the Avionics Engineering Center at Ohio University, Frank van Graas especially. In 2005 Frank arranged for me to spend 6 months in Ohio, primarily to focus on finishing my Ph.D. dissertation. In 2006, just before finishing my Ph.D., I started my own company specializing on radionavigation and did a variety of projects for Ohio University. When a faculty position opened up at Ohio University in 2008 I applied and got the job, which I started in 2009. Can you tell us about your work experience before arriving at Ohio University? Frank: During my student years, I was always working on challenging electronics projects, such as a telephone system that connected 4 telephones to the same line and automatically kept track of the charges for each individual telephone, audio systems, power supplies, and sensitive magnetic field sensors. Maarten: During my student years, I worked on a variety of electronics projects including the telephone distribution system at my fraternity. Also, I did some work as a software engineer at a small (15 people) chemical engineering company where I ended up running the software department for a year. At Delft University, I was also a teaching assistant in the communications labs. Wouter: While still in college, I

FEATURED INTERVIEW

To me all phases of a project are exciting, starting with the concept, design and implementation to the operational testing and data analyses. - Frank
Engineering center. Aside from my regular job, I did some substitute teaching for Frank and when he asked me if I wanted to get my Ph.D. I was excited. After finishing up my Ph.D., I became a visiting professor in 1999 and when a permanent position opened up in Electrical Engineering and Computer Science, I applied and got the job in 2000. Wouter: When I did my Masters at Delft University, Professor Durk van

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

INTERVIEW
started a company that provided live video coverage of rowing races. We borrowed equipment from pretty much every electrical engineering research group of the university, ranging from high-end video cameras to experimental fiber optic video communication systems. That combined with home-brew wireless video and audio links, computer systems, and countless custombuild solutions we were able to provide a professional product at very low cost. Projects like these taught me to be creative, have risk-mitigation strategies for every conceivable situation in place, and, most importantly, to build an enthusiastic team of people to get the job done and to have fun while doing it. Alongside my video production activities, I also jumped into Linux and built a massive storage and content delivery system consisting of a robust cluster of dozens of unreliable network servers. Now, a decade later, I still apply the lessons learned from that project to every data collection we conduct. During most of my Ph.D. studies I worked for Reelektronika, a small company in the Netherlands. Although work and studies were on the same topic, it proved to be a great challenge to balance the short-term pressure from the company with the long-term goals of a Ph.D. At Reelektronika I worked on eLoran, a low-frequency radionavigation system, on the H-field antenna, receiver algorithms, receiver design and implementation, measurement campaigns, and data analysis. In 2006, I started my own company, consulting in related areas. radionavigationwho got me excited about the area of radionavigation and Dr. Frank van Graas who brought me in contact with Ohio University and has mentored me here in the US. Do you have any tricks up your sleeve? Frank: Learn all the basic concepts in math, physics and electrical engineering. Sooner or later, youll need them all in your career to solve a variety of problems. After a while, youll recognize the parallels and that it all connects to the same basic concepts. Maarten: Try to express your complex engineering problems in terms of basic concepts of electrical engineering. Furthermore, always ask yourself what you want to achieve with your electronics system, what you are going to use it for, and who is going to use it. Wouter: Prepare for everything, whatever can go wrong will go wrong at some point, no matter whether you are programming a software algorithm or are involved in the field-testing of a complex system. And then, typically, when you are fully prepared for every conceivable scenario and have backups for everything, you wont need any of your backups because your system will just work. What has been your favorite project? Frank: I have several favorite projects, but it is hard to top the project we did for FAA in 1994, when we leased an empty Boeing 757 over the weekend from the United Parcel Service in Louisville, KY, loaded it up with two first-class chairs and

FEATURED INTERVIEW

What have been some of your influences that have helped you get to where you are today? Frank: My father was a major influence on my career; he would occasionally help me with troubleshooting my projects, which helped me to realize that there arent always quick fixes or easy answers. He would build everything from scratch, including all his measurement instrumentation. Growing up, we were the first in our neighborhood with a black and white television because he built it himself. The drawback was that we were the last to switch to a color TV, since he always managed to fix his black and white product, no matter what went wrong. From that experience, I learned that it is important to know all the details of a project. Maarten: Even though my parents were not engineers, they very much encouraged my interests in electronic systems and aeronautics during my high-school years. When I got to college and started working on my M.S.E.E. my advisor, Dr. Durk van Willigen really stimulated my interests in electronics for aircraft (avionics). After my move to Ohio University, Frank van Graas took over that role and also got me interested the teaching and student advising which made me decide to go into academia. Wouter: My parents always greatly supported and encouraged my interests in science and engineering. In college it was my M.S.E.E. and Ph.D. advisor Dr. Durk van Willigen

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

INTERVIEW
a rack with electronics, hacked into the 757 autopilot to make it fly our GPS guidance instead of its trusted triple-redundant Instrument Landing System, flew to FAAs test site at Atlantic City Airport, NJ, executed 50 automatic landings in a row, flew back to Louisville and unbolted the equipment while taxiing to the gate so that we could turn the aircraft back over to UPS to reconfigure and recertify the aircraft for overnight package delivery. This project was part of an FAA demonstration program to show that GPS can be used to land airplanes. Maarten: My favorite project was the design, implementation and flight test of a navigation system that uses on one or more airborne laser scanning systems (as are currently being used to build maps of large portions of the US). We first flew this system and a data collection onboard a NASA DC-8 at Dryden Research Center at Edwards Air Force base and Reno, NV. Next, we designed and installed a smaller, less expensive system on our DC-3 and performed various approaches to an airport in West Virginia while providing the pilot with the necessary guidance on an LCD display. This project was in part sponsored by NASA, the Air Force Research Laboratory and NorthropGrumman. Wouter: I have been involved with many exciting projects. The most fulfilling moments are those when a team-effort leads to a great result. For example, with my video productions where I had a team of great people making an excellent product. The technology had been painstakingly prepared and worked flawlessly, but the greatest joy is competition, where we all worked to the maximum of our abilities to achieve an optimal result. It is a great pleasure to see the students grow throughout those projects and from project to project and see them become successful in their discipline. Will you tell us about some of the projects you have worked on in the past? Frank: Past projects have ranged from automatic GPS landing systems for airplanes and helicopters, to using GPS for aircraft attitude and heading determination by mounting multiple antennas on the airplane, GPS receiver design, precision GPS navigation projects for aircraft and ground vehicles and integration of GPS with numerous other navigation sensors. Maarten: I have worked on a large variety of projects ranging from integrity monitors for terrain databases used on flight displays on the flight deck (so-called synthetic vision displays), automatic GPS landing systems for airplanes, GPS receiver design, laser-based and camera-based navigation systems for aircraft, unmanned ground vehicles and unmanned aerial vehicles, alerting and notification systems for commercial aircraft including collision avoidance systems using GPS, and integrated system build around inertial sensors (accelerometers and gyroscopes). Wouter: Since I joined Ohio University, I have worked on a wide variety of projects. We have built a GPS/Inertial/Rubidium integrated positioning, velocity, attitude, and time truth system that is now used

FEATURED INTERVIEW

Prepare for everything, whatever can go wrong will go wrong at some point, no matter whether you are programming a software algorithm or are involved in the field-testing of a complex system. And then, typically, when you are fully prepared for every conceivable scenario and have backups for everything, you wont need any of your backups because your system will just work - Wouter
to share that fulfillment with your team. Similarly for the snowplow

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

INTERVIEW
on almost all our tests. I have consulted NAVTEQ on streamlining their process from data collection, optimal processing algorithms, to map generation. We installed and operate GPS ionosphere monitoring systems in Alaska, Puerto Rico, and Singapore, which has already provided some very interesting data and subsequent publications. I have optimized H-field antennas for subterrainean positioning. And we just completed the data delivery of a massive data collection effort for DARPA where we equipped a van with 36 and our DC3 with 24 different navigation sensors. What was your role in the projects? Frank: For these projects, I was the Principal Investigator, but I also participated in writing the software, soldering circuits, trouble-shooting the hardware and digging holes to plant antennas in the field. Maarten: For most of these projects, I was the Principal Investigator; on others I was a research engineer. In all cases I actively participated in the projects and had to write software and put hardware together. Wouter: On some projects I have been the (Co) Principal Investigator, on others researcher. My role within these projects ranged from analytical research to soldering circuits, from project management to software programming, and typically all of the above in the same project. What was your favorite part of the project? Frank: To me all phases of a project are exciting, starting with the concept, design and implementation to the operational testing and data analyses. Maarten: Besides the fact that we would look at the problem all the way from concept through design to implementation and testing of the systems, I really do enjoy the interaction with my students. Seeing them learn and become more mature engineers is a delight to see! Wouter: It is fantastic when a complex project comes together, when it actually works after many late nights, and when you have a great team to share your success with. What was the technology that you used? Frank: Most of our projects use computers, microcontrollers, FieldProgrammable Gate Arrays (FPGA), analog to digital converters, radio frequency front-ends and antennas. Maarten: Our projects used a large number of electronics components including computers, RF transmitters and receivers, measuring equipment such as oscilloscopes, spectrum and network analyzers, microcontrollers, FPGAs, but also laser scanners, cameras, and a large number of actual avionics systems (inertial navigation systems, air data computers, weather radar, radio altimeters, GPS receivers, etc.). Wouter: We use a wide range of equipment; computers, micro controllers, FPGAs, RF antennas, filters, amplifiers, mixers, custom and commercial RF data collection setups, signal generators, spectrum analyzers, oscilloscopes, 1-way and 2-way communication equipment, inertial sensors, cameras, laser, IR, GPS, etc. What were the challenges and successes of the project? Frank: For me, the biggest challenge of a research project is the planning and making sure the project is completed before the funding runs out. It is difficult to predict when the right solutions are invented for a particular problem. Nevertheless, based on first principles from math and physics, the feasibility of a particular approach can usually be determined. Somehow, everything always seems to come together at the last minute. Maarten: The biggest challenge for me was the planning and coordination of the work given the time frame, available funding, available students and engineers and collaborators at other institutions and in industry. Especially, the latter required a considerable effort in keeping everybody on the same page and getting the job done. In terms of actually solving the problem, we are always very successful in coming up with an elegant solution that makes sense for the given problem. A key to the successes has always been to find good students and carefully train and motivate them so they could be very productive on the research projects. Wouter: The biggest challenge is getting everything done in time and within budget while balancing time and energy among multiple projects.

FEATURED INTERVIEW

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

INTERVIEW
Do you have any note-worthy engineering experiences? Frank: I have been fortunate to work on GPS since the early days with plenty of low-hanging fruit, which resulted in the Johannes Kepler Award for sustained and significant contributions to satellite navigation, from the Satellite Division of The Institute of Navigation, the Colonel Thomas L. Thurlow Award for outstanding contribution to the science of navigation, from The Institute of Navigation and the John Ruth Avionics Award for outstanding lifetime achievement in the area of GPS navigation, from the American Institute of Aeronautics and Astronautics. Maarten: For my work on synthetic visions systems and my laser-based navigation work, I did receive the Institute of Navigation, the Colonel Thomas L. Thurlow Award for outstanding contribution to the science of navigation. My work in these new areas of engineering allowed me to do some really innovating research. Will you tell us about the autonomous snow plow competition and winning the competition for the second year in a row Frank: For any competition, testing is the key to success. For the first competition, we were testing through the night in the basement parking lot of our hotel up until a few hours before the competition. This year, we realized that lack of snowfall was going to limit our testing in Ohio, so we contacted Dan Morris, director of Ohio Universitys Bird Ice Arena and he generously provided us with snow by scraping the ice with his zamboni. We then trucked the snow to our test area. Sometimes, half of the snow melted before we were able to plow it. When we arrived in St. Paul, MN, for the competition, there was no snow either. The competition organizers also turned to local ice rinks to provide snow for the competition. Maarten: Having a solid and welltested design with a very good user-interface that allowed for easy implementations of new robot strategies, really made the road to this competition much easier. Especially, Dr. Wouter Pelgum with the help of the students was instrumental to this design. This made testing much easier and as such we were actually ready to go before we went to the competition instead of having to work late hours at the competition. Wouter: When we competed the first time, we pretty much built the robot from the ground up which was an enormous effort. The first moment when we were ready to close the control loop was the night before the competition. We went to an underground parking garage and worked through the night to fix the final bugs and tune the controls. For the second competition, we were in much better shape since we had a good robot to start with, but we also decided to set our goals significantly higher this time. Our robot M.A.C.S. had to be much faster (up to 2 m/s), more precise (cm-level total system error), heavier, and more powerful. This required us to rebuild most of the mechanics, replace the motors, the motor controllers, and optimize the software. Furthermore, we spent countless hours testing. To test the impact of snow loading on the controls we extensively tested with different amounts of snow, plow widths, and plow speeds

FEATURED INTERVIEW

Ohio University continues to be a leader in avionics engineering because of our faculty and staff, our good relationships with our sponsors, and the fantastic fleet of aircraft (and airport to go with it) that we have to evaluate our new technologies. This gives us a unique edge and insight in what it takes to get a system on an actual aircraft. - Maarten
while monitoring the robots telemetry. Prior to the competition, we replicated the entire competition field using snow we trucked in from the Ohio Universitys Bird Ice

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

INTERVIEW
Arena. This provided us with the most realistic testing environment, leaving nothing to chance at the competition. All and all, this got us we didnt have to change a single line of code during the competition, nothing to repair, everything just worked, leaving us with enough time to help out the other teams and to jump around in our obnoxious yellow suits to entertain the audience. What are you currently working on? Frank: Im working on a variety of research programs ranging from improved atomic frequency references, GPS-based aircraft landing systems, camera-based navigation, ionospheric studies to navigation in space. Maarten: Im working on a variety of research programs, including alerting systems for commercial aircraft including GPSbased surveillance and collision avoidance, laser- and camera-based integrated navigation, advanced flight displays for the future flight deck and navigation, guidance and surveillance systems for small-size unmanned aerial systems for indoor and urban operations (search and rescue, etc.). Wouter: I am researching the possibilities of upgrading the Distance Measuring Equipment (DME) system to meet the stringent demands of next generation aviation. With this, we can provide a backup in case GPS is not available due to, for example, interference. Can you tell us more about Ohio University and the technology they are developing? Frank: Our Avionics Engineering Center provides education for the next generation of avionics engineers, improves existing systems and develops new technologies for aircraft and spacecraft navigation. Maarten: At the Ohio University Avionics Engineering Center, we train the next generation of avionics engineers and help improve the safety and performance of existing avionics systems, or design, develop and flight test new technologies for aircraft and unmanned aerial vehicles. Of course, our work on navigation system for ground vehicles (such as the snow plow) provides a fantastic platform for the students to get familiar with the issues and engineering problems in developing a navigation system. How does Ohio University continue to be a leader in avionics engineering? Frank: We not only develop new technologies, but we also use, maintain and upgrade the current navigation systems. The key to our leadership position is our aircraft fleet that includes a King Air C90SE, a Douglas Dakota DC-3, a L29 Delfin jet trainer, and several single-engine aircraft. Our practical knowledge of the current problems and system limitations enables us to develop new technologies that can be transitioned into the National Airspace System. Maarten: Ohio University continues to be a leader in avionics engineering because of our faculty and staff, our good relationships with our sponsors, and the fantastic fleet of aircraft (and airport to go with it) that we have to evaluate our new technologies. This gives us a

FEATURED INTERVIEW

A highly educated workforce is essential to stay on top of the ever-increasing stateof-the-art technology, and to remain competitive in a global market. We need to stay focused on quality education at the high school level, combined with creating a healthy interest in mathematics and science, followed by excellent but affordable higher education that matches the students capacities. - Wouter
in the slightly bizarre situation that

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

10

INTERVIEW
unique edge and insight in what it takes to get a system on an actual aircraft. What direction do you see your research heading in the next few years? Frank: Aircraft are becoming more autonomous, especially with the mandated introduction of uninhabited aerial systems (UAS) into commercial airspace by Sept. 30, 2015. To enable additional aircraft in the National Airspace System, the Federal Aviation Administration is pursing what is referred to as Performance-Based Navigation. Maarten: A large focus will be on the next generation airspace, air traffic management and aircraft. In the future we will see a much busier airspace with a higher density of aircraft including unmanned aerial vehicles. This will mean that we need to start coming u with improvements in a large number of areas including the areas where we focus our research efforts: navigation, surveillance and communication. What are some new technologies we can expect to see from Ohio University in the near future? Frank: We are working on a variety of navigation sensors for aircraft and UAS to increase airspace capacity and safety. Maarten: We will be putting a lot of efforts in coming up with new navigation, surveillance and communication systems and their user interfaces for the future aerial vehicles. What challenges do you foresee in our industry? Frank: The primary challenge I foresee for our industry is complexity and the challenge of preparing the next generation of engineers to excel in an environments of rapidly increasing knowledge. Maarten: One of the challenges will be to maintain the avionicsengineering work force while keeping the quality of the engineers the same or even improve it. This will require a solid training of these new engineers in the various electrical engineering programs and motivating of high-school students to pursue careers in electrical engineering. Wouter: A highly educated workforce is essential to stay on top of the ever-increasing state-of-the-art technology, and to remain competitive in a global market. We need to stay focused on quality education at the high school level, combined with creating a healthy interest in mathematics and science, followed by excellent but affordable higher education that matches the students capacities. What are some of your hobbies outside of work and design? Frank: My wife Janet is a performing musician; we both get up every morning and wonder how it is possible that we are getting paid for what we love to do our jobs are our biggest hobbies. Besides our work, we enjoy Christian ministries, traveling and spending time with our family and friends. Maarten: My main hobby outside of work is music: I play the saxophone and flute and am active in a couple of bands. Aside from this hobby, I love to spend time with my wife and daughter! Wouter: When Im not working, I like to do sports. Southeastern Ohio is a great place to cycle, and I love to push myself to the limit on the endless county roads surrounding Athens. Is there anything that you have not accomplished yet, that you have your sights on accomplishing in the near future? Frank: My primary goal for the near future is to take two of our patented research technologies and turn them into products. The first is a laser-guided aircraft landing system and the second is a revolutionary GPS receiver design. Maarten: Professionally, I have my sights set on a couple of goals. The first is to get my work in laserbased navigation and vision-based navigation transitioned to a small fleet of UAVs. The other is to have a real-time flight demonstration of my work on altering systems on one of our aircraft. Personally, I am looking forward to the birth of my son in August! Wouter: I am currently pursuing a grant to extend my DME work to provide a steady multi-year funding basis for further research and development. I am also hoping to get tenure soon. On the longer term, I am entertaining the plan to combine my duties as a Professor with commercial activities around one or more of the advanced technologies we are developing.

FEATURED INTERVIEW

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

11

Avago Technologies Motion Control Products

New Encoder for the Worst Case Environments


Avago Technologies new AEAT-6600 Hall E ect Magnetic Encoder delivers optimal solutions for Robotic, Industrial and Medical systems designers. Worlds highest resolution 16-bit absolute positiion through SSI Programmable Magnetic Rotary Encoder IC 16-pin TSSOP package Power down mode For more information and to request a free sample go to: www.avagotech.com/motioncontrol

Monocular AutonomouslyControlled Snowplow


INTRODUCTION A Monocular Autonomously-Controlled Snowplow (M.A.C.S.) was designed, implemented and tested for participation in the First and Second Annual Autonomous Snowplow Competitions (ASC) in St. Paul, MN in January 2011 and 2012. This competition challenges teams in the areas of guidance, navigation and control (GNC) to develop a robot that autonomously removes snow from a straight, 1-m wide Ishaped field and a U-shaped, 1-m wide field that fits inside a 10-by-5 m rectangle [1]. For the first competition, Ohio University assembled a team consisting of three undergraduate Electrical Engineering students (Samantha Craig, Matthew Miltner, Derek Fulk) and two faculty advisors. For the second competition, the team consisted of two undergraduate students (Samantha Craig, Ryan Kollar), two graduate students (Pengfei Duan and Kuangmin Li)

Ohio University

By Samantha Craig, Matthew Miltner, Derek Fulk, Wouter Pelgrum, and Frank Van Graas

Figure 1: Monocular Autonomously-Controlled Snowplow (M.A.C.S.)

and three faculty advisors (Wouter Pelgrum, Frank van Graas, Maarten Uijt de Haag). An existing robot was selected as the basis for the snowplow design. This robot was designed for challenging Search and Rescue (SAR) operations and

features all-electric, four-wheel drive using four 1.25-hp motors with gearing and wheel encoders [2]. Two RoboteQ motor controllers are used to establish constant wheel rotational velocities for each pair of left side and right side wheels.

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

13

PROJECT
Scanning Laser
TCP/IP

WiFi Comm
TCP/IP

Remote STOP Transmit

Remote STOP Receive

Gyro
USB

Processor SSD: 64GB

Safety Circuitry

E-Stop A E-Stop B

USB

USB

Left Motor Controller & Encoders

Right Motor Controller & Encoders

Charging Circuitry

External Power

Relay Switch

Motor Power Four 12V Batteries Clean Power 12V Battery

while each motor uses two of these batteries in series to provide 24 V with 31.6 Ah. The safety circuitry consists of several relays that must all be active at the same time in order to enable the motor power relay switches. Separate charging circuits are implemented for each individual battery. When an external charging cable is connected to M.A.C.S., it automatically disables all motor power and proceeds to charge the batteries individually by switching several relays. To protect the processor from the environment, a box structure was created as part of the top inside layer of the robot. CONTROL SYSTEM DESIGN

FEATURED PROJECT

Figure 2: High-Level Block Diagram


Commanded Heading Commanded Position

Speed & Acceleration limits

Left Wheel Encoder


Wheel Speed Loop

Commanded Speed

Left Motor Controller

Path Planning

MACS Estimated Position

Position Controller

MACS Position

Hdg/Spd Controller Right Motor Controller

MACS
Wheel Speed Loop

MACS Estimated Heading

Heading Loop Position Loop


Heading Gyro

Right Wheel Encoder

The control system for M.A.C.S. uses three control loops that were previously implemented and tested on Ohio Universitys autonomous lawnmower [3]. The control system block diagram is shown in Figure 3. The three control loops are described below: 1. Constant rotational velocity control loop using two RoboteQ motor controllers with encoder feedback from the front motors. The controllers are updated at a 1000 Hz with a 100-Hz Proportional-Integral-Derivative (PID) controller. 2. Heading control loop using an XSENS MTi gyro (0.1/minute drift after calibration) at a 50-Hz update rate with latencies below 10 ms. The bandwidth of this loop is approximately 10 Hz. 3. Navigation control loop using a SICK LD-OEM1000 scanning

MACS Heading 100 Samples/s

Laser Processing

Scanning Laser

5 Samples/s

Figure 3: M.A.C.S. Control System Block Diagram

Following the implementation of the design modifications, Figure 1 shows the current configuration of the robot, which was renamed to Monocular Autonomously-Controlled Snowplow or M.A.C.S. to highlight its new mission. VEHICLE DESIGN A high-level block diagram of M.A.C.S. is provided in Figure 2. At

the center of the block diagram is an AMD 64-bit, 2.4 GHz Dual-Core processor with a 64-GB solid state drive (to enable low-temperature operations). The processor handles all sensor interfacing and data recording. Power is divided into clean power and motor power. The clean power uses a 12-V, 31.6 Ah gel battery,

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

14

PROJECT
laser with passive beacons at an update rate of 5 Hz to adjust for path deviations. The laser position and heading updates have a latency of 0.2 second, which is acceptable because it is corrected using the vehicle speed of up to 2 m/s, while unknown crosstrack velocities are well below a few cm/s, resulting in cross-track displacement errors of less than 2 cm. In practice, the gyro stability in combination with the known, commanded speed of the robot are used to coast the position solution to compensate for the laser latency. Based on the gyroscope test results, cross-track errors are below 1 cm after 0.2 s of coasting. NAVIGATION SYSTEM DESIGN The concept for M.A.C.S. is to develop a navigation solution for dense urban environments that are likely GNSS-challenged (building blockage, severe multipath and interference). The required accuracy for the navigation solution is 5 cm rms. Following a trade study that included GNSS, camera and laser solutions, the laser positioning method was selected as most effective and robust to satisfy the objectives. The additional benefit of the laser scanner is that it provides a redundant position solution that is calculated every 0.2-second time interval following the completion of a 360 scan. The laser scans in increments of 0.25 with a 0.16 beam divergence, which provides essentially full coverage over the scan range. The SICK LD-OEM1000 scanning laser was selected, which operates at infrared (905 nm) with a ranging
135 105 120 90 75 60 45

FEATURED PROJECT

150

30

165

15

180

20

15

10

10

15

20

360

195

345

210

330

225 240 255 270 285 300

315

Figure 4: Laser returns for a 360 scan

resolution of 3.9 mm. The laser is eye-safe and can be used at distances up to 250 m. Figure 4 shows an example of one 360 laser scan taken with 6 beacons and surrounding building structures. The laser is at the center of the plot in Figure 4. The display range is 20 meters from center to the outer ring. The long, near-solid lines represent building structures, while the six beacons are identified by arrows. GUIDANCE SYSTEM DESIGN M.A.C.S. uses several commands that are used in a script generated to clear the snow of the field. The snow field coordinates are used to generate command set actions

that are executed successively as a function of the snowplow position. The M.A.C.S. command set includes the following commands: 1. Initialize 2. Idle 3. Stop immediately 4. Track heading at a set speed (positive or negative) , a set acceleration, and a set control gain 5. Turn using a commanded final heading at a set speed (for zero speed, the robot will have a zero turn radius) 6. Slow stop at a set deceleration and a set control gain

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

15

PROJECT
PROCESSOR AND SOFTWARE DESIGN As detailed in the System Design section, M.A.C.S. uses a single processor (AMD 64-bit, 2.4 GHz, DualCore). The AMD processor runs both the high-level and the howlevel software. The high-level software is written in Matlab for rapid prototyping and to provide an advanced development environment. High-level functions include laser processing, path execution, and data storage. The low-level software is written in C++ for speed and low latency. Low-level functions include drivers for the laser, gyroscope and motor controllers, and the heading/ velocity controller software. Figure 7 shows the processor timing overview. The high-level software runs in 0.2-s cycles after the completion of each laser scan. The low-level software runs in 0.01-s cycles after the receipt of new gyroscope measurement data. The RoboteQ motor controllers update every 1 ms, but that functions resides inside the motor controller. Once M.A.C.S. collects data during a test run, all data can be played back both in real-time and fast-time modes for analysis. This methodology is also used after software changes have been made to ensure that the navigation solution continues to function on all previous data sets. INNOVATIVE DESIGN CONTENT M.A.C.S. employs several innovative design features to achieve autonomous operations for snow removal: Fully functional in GPS-challenged environments through the use of scanning laser-based positioning with unique beacon design Fault tolerant laser processing that operates in the presence of disturbances caused by humans or environmental conditions Environmentally-friendly, electric technology allsnow build-up during turns by first backing up and then turning Laser cover to shield it from sunlight with stealth mounts that do not block or diffract the laser beam Matlab highly flexible development environment with TCP/ IP and USB interfacing and WiFi connectivity, including iPhone or iPad remote control and status displays PRACTICAL APPLICATIONS M.A.C.S. was designed to remove snow from sidewalks in dense urban environments that are likely GNSS-challenged due to building blockage, severe multipath and/ or interference. A practical implementation would either use existing buildings and objects or laser reflectors. Only three features with good geometry relative to the laser scanner are needed for a redundant navigation solution. The laser range is 250 m, which supports a cm-level accurate navigation solution in most if not all urban environments. A second, practical application of the M.A.C.S. platform is educational use for research into challenging guidance, navigation and control problems. The Matlab development environment in combination with flexible TCPIP and USB interfacing enables rapid prototyping and testing of new concepts. EDITORS NOTE
1 millisecond

FEATURED PROJECT

Plug-and-play charging of individual batteries with error-proof connections Robust traction provided by a combination of V-profile snow tires, duallies, weight, fourwheel drive, acceleration control, and optimal plow width Plowing strategy that avoids
200 milliseconds

Laser updates (High-level on AMD) Gyro updates (Low-level on AMD) Motor updates (RoboteQ)

10 milliseconds

Figure 5: Processor timing overview

This article was taken from an indepth conference paper originally published by the Institute of Navigation (ION) in September of 2011.

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

16

PROJECT
The full paper is available at the ION website [4]. REFERENCES [1] The First Annual Autonomous Snowplow Competition Rulebook, Revision 2011.3.0, available from: http://www.autosnowplow. com/Rulebooks.html (accessed on 21 January 2011). [2] Litter, J. J., Mobile Robot for Search and Rescue, M.S. Thesis, Mechanical Engineering, Ohio University, 2004. [3] Bates, D. and F. van Graas, GPS-Guided Autonomous Lawnmower with Scanning Laser Obstacle Detection, Proceedings of the Institute of Navigation GNSS-06 Meeting, Fort Worth, TX, September 2006. [4] Craig, Samantha, Miltner, Matthew, Fulk, Derek, Pelgrum, Wouter, van Graas, Frank, Monocular Autonmously-Controlled Snowplow, Proceedings

FEATURED PROJECT

Figure 6: Monocular Autonomously-Controlled Snowplow Team

of the 24th International Technical Meeting of Satellite Division of the Institute of Navigation (ION GNSS 2011), Portland, OR, September

2011, pp. 2127-. Available for viewing at: http://ion.org/search/purchase_paper.cfm?jp=p&id=9763

EEWeb
Electrical Engineering Community
Contact Us For Advertising Opportunities

1.800.574.2791
advertising@eeweb.com
EEWeb | Electrical Engineering Community Visit www.eeweb.com/advertising www.eeweb.com

17

F E AT U R E D P R O D U C T S
Dual 24-bit ECG Front End IC
Texas Instruments Incorporated expanded its award-winning ADS1298 analog front end (AFE) family with five new fully integrated AFEs for portable biopotential measurement applications. The new electrocardiogram (ECG) and electroencephalograph (EEG) AFEs are the first to offer 16- and 24-bit resolution with 1 or 2 channels. The devices cut power consumption by more than 94 percent compared to discrete implementations, while shrinking board space requirements up to 86 percent. These reductions will enable portable medical, sports and fitness equipment that combines long battery life with a form factor that is smaller, lighter and easier to wear. For more information, click here.

FEATURED PRODUCTS

LF RFID Transponder for Applications


The Atmel ATA5577M1330C-PP is ideal for applications in building access control systems, industrial automation, consumer and industrial segments, and as tokens, key fobs or transponders, this new device offers designers the ability to develop more flexible, high-performance tag devices. The Atmel ATA5577M1330C-PP enhances the Atmel LF RFID portfolio with a stand-alone, fully functional tag that includes an antenna coil trimmed to an operating frequency of 125kHz. The new device provides the highest flexibility for universal use, which is a key market requirement. For information, click here.

8-bit Touch Sensor and Controller


Fujitsu Semiconductor Europe (FSEU) announced the addition of new products with capacitive touch sensor and controller functionality to its New 8FX family of high-performance 8-bit microcontrollers. The new products from the MB95870, MB95860 and MB95850 series are being offered as low-cost, low-power microcontroller options for controlling the capacitive touch keys and touch panels used in a wide range of products sold worldwide, from household appliances to office equipment and electronic systems. For more information, click here.

Highest Density Embedded MCU


Atmel Corporation announced sampling of the Atmel SAM4SD32, the industrys first 2MB embedded Flash Cortex-M4 processor-based microcontroller (MCU). Further expanding the companys ARM Cortex-M processor-based portfolio, Atmels SAM4SD32 offers best-inclass low power consumption at 200uA/MHz in active modea savings of over 50 percent vs. the nearest competitorwhen running at 120MHz. For more information, please click here.

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

18

Transform Your iPhone, iPad or iPod into an Oscilloscope with the iMSO-104
Begin Your Experience Now

Experience the iMSO-104 as Joe Wolin, co-founder of EEWeb, gives you an in-depth look into the future of oscilloscopes.
UBM ELECTRONICS

WI NNER

2012

TECHNICAL ARTICLE
TECHNICAL ARTICLE

Todays embedded developers look for hardware and software solutions that enable them to respond quickly and easily to customer and market demands, last-minute design changes and competitive challenges. Of all the components in a typical embedded system, the microcontroller (MCU) should provide the developer with the utmost in versatility and configurability, enabling them to implement new system features easily and efficiently through firmware updates and I/O changes. Think Swiss Army knife etched in CMOS. However, with many conventional MCU architectures, even minor I/O changes can cause headaches for developers engaged in printed circuit board (PCB) design,

especially for cost- and spaceconstrained embedded systems. For example, the connectors in the system might all be on one side of the enclosure. The problem is, though, some of the I/Os may need to be routed to the opposite side of the MCU by passing underneath it because the MCU supplier has defined the pinout in such a way that the I/O connections for the revised system cannot all reside on one side of the IC. The rearrangement of pins used for a given combination of I/O functions may force the PCB layout engineer to move to a higher number of board layers, thus increasing the cost and complexity of the overall system. An additional design challenge concerns the MCU package itself. To reduce cost, some MCU

suppliers may provide versions of a device that share functions between pins and thus squeeze the IC into a smaller, cheaper package. Register configurations provide the ability to allocate those I/O pins to a selection of different peripherals, but the degree of freedom is usually limited; the configuration-control hardware may support only one or two functions per pin, limiting the number of options and creating potential pin conflicts if the MCU is used in an application that the vendor did not anticipate. The wide variety of MCU applications means this scenario happens frequently. Drawing on its experience and expertise with 8-bit mixedsignal MCUs, Silicon Labs has implemented a flexible I/O system into the design of its new
Visit www.eeweb.com

EEWeb | Electrical Engineering Community

20

TECHNICAL ARTICLE
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62

ARM Cortex-M3 core-based Precision32 MCUs. The key to the design is a highly configurable dual-crossbar architecture: a programmable switching matrix that enables a developer to route an input to any one of a number of output pins. The Precision32 MCU architecture defines two crossbars (one for either side of the IC) that can link any internal I/O function to a wide range of pins, as Figure 1 illustrates. In this example, which uses a TQFP80 package, Crossbar 1 connects to pins 9 through 40, excluding only 28 and 29, which are power and ground pins. Crossbar 1 supports 14 different internal functions, including various serial ports, timers, and comparators; any of these functions can connect to any of the external pins that the crossbar serves. Some of these pins can also be mapped to A/D converter inputs or 5V-tolerant outputs. The crossbar architecture provides the designer with a number of benefits. The architecture makes it possible to arrange the pinout of the chip to simplify board design, placing a group of I/O pins as close as possible to the ICs or connectors to which they need to be linked. This approach can often save cost by allowing the use of a PCB with fewer routing layers as it avoids the need to route underneath the MCU or take many circuit traces through a congested area of the PCB. And it can improve signal integrity as sensitive traces can be kept as short as possible or routed close to ground lines. Furthermore, pinout changes can be made easily simply by reprogramming the

61

TECHNICAL ARTICLE

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

60

CROSSBAR 0
USART0 PCA0 CMP0 UART0 SPI0 PCA1 CMP1 UART1 USART1 6-ch PCA I250 I25 Timer 0 Timer 1 SPI2 SPI1

59 58 57 56 55 54 53 52 51

CROSSBAR 1
SSG RTC I25 I2C1 CMP0S SPI2 I2C0 PB SPI1 CMP1S USART1 UART0 UART1 LPTimer

50 49 48 47 46 45 44 43 42 41

Figure 1: Precision32 MCU Dual-Crossbar Architecture

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

KEY
Peripheral on 2 Xbars GPIO on crossbar

GPIO off crossbar Power / GND Test and Regulator

registers that control the crossbar to accommodate last-minute board changes. Such fine-grained control over I/O configuration makes it much easier for designers to use a more costeffective package, choosing which functions to connect to pins and which ones to leave unconnected. To allow easy migration from other MCUs, Silicon Labs chose the ARM Cortex-M3 as the processor core for the Precision32 family. This processor core has rapidly become a de facto standard in 32-bit MCU architectures thanks to its broad adoption in the embedded market by a wide variety of MCU suppliers and software tool vendors, providing a high degree of choice for the embedded developer. It has widespread support among software companies in terms of conventional development tools such as C and C++ compilers and real-time operating systems. Standardization on ARM cores has

now made it easier than ever to port code from one 32-bit MCU to another. As a result, the deciding factor in MCU selection is shifting from the CPU core architecture to the peripheral set and th innovative ways in which MCU vendors address system-design issues. A flexible crossbar is easier to understand than many of the ad hoc I/O remapping schemes used by other MCU vendors. To further improve ease of use, Silicon Labs provides a complimentary software tool that simplifies the task of device configuration. Silicon Labs AppBuilder tool offers a graphical interface that allows designers to drag-and-drop functions to pins. Once the configuration is complete, the tool generates the boot code required to load this configuration into the MCU. This tool works with commercial IDEs including Keil and IAR as well as the popular Eclipse development environment, which Silicon Labs has adopted and modified to support Precision32

40

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

21

TECHNICAL ARTICLE
based MCUs. On top of this, Silicon Labs has implemented middleware designed to make writing code for multitasking and data transfers simple. This provides important support for complex systems that need, for example, USB support. There are many configuration options and usage models for USB. Silicon Labs has used its longstanding experience with USB to provide a rich suite of middleware functions that ease the job of implementation. Given the number of applications that now demand USB support, from sports watches to data loggers, engineers need to get up to speed on USB as quickly as possible, and this library makes it possible. For example, to create USB-to-UART transfers, developers simply specify properties such as USB transfer type, data size, and synchronous or asynchronous UART operation. The library provides a number of USB class drivers, including audio, human-interface device, mass storage and device firmware update (DFU) libraries for easy development. In common with the strategy of providing a 32-bit MCU family that supports the cost-, time- and space-constrained demands of todays systems, the USB hardware itself was designed for maximum utility with the minimum number of external support components. Many on-chip USB controllers are not feature complete, demanding components such as external clock generators. The USB controller on the Precision32 MCU family devices has its own integrated precision oscillator, using a novel clock-recovery technique to achieve 0.25 percent accuracy without an external crystal. The rest of the MCU can use this oscillator or a separate one allowing greater flexibility over clocking regimes in low-power modes that is either fed by a low-cost 32 kHz crystal or can run in open-loop mode. This novel approach enables members of the Precision32 MCU family to operate without the need for a costly external crystal. Similarly, the internal voltage regulator of a Precision32 MCU eliminates the need for an external regulator. The MCU can operate directly from a 5V supply, allowing it to be powered directly from USB or a separate unregulated source. This regulator can also drive an output rail at a programmable output voltage, enabling the MCU to provide power to additional ICs while still avoiding the need for an external regulator. Alternatively, this output can act as a constant current source to drive the backlight on an LED display. Similar care has been taken in the implementation of other analog and digital peripherals. The A/D converter, for example, provides 12-bit resolution. In addition, all of the Precision32 analog peripherals are tested and specified across

TECHNICAL ARTICLE

Figure 2: Precision32 AppBuilder Tool

products. The AppBuilder tool (see Figure 2) goes further: enabling developers to quickly and graphically choose peripheral mix, select peripheral properties, set up clocking modes and customize pin-out, all without reading the data sheet. The IDE support also goes further in terms of MCU support by providing direct support for all members of the Precision32 MCU family. The Precision32 dashboard provides the latest documentation, code examples and software all in one place, removing the need to hunt down register locations and driver source code in data sheets and applications notes. Support for peripherals is augmented by the inclusion of Cortex Microcontroller Software Interface Standard (CMSIS) compliant code. CMSIS provides an interface for common peripherals that enables peripheral driver re-use and simple porting from other ARM-

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

22

TECHNICAL ARTICLE
temperature and voltage. Many alternative 32-bit MCU vendors do not test their analog peripherals in production, which can lead to field defects. If the analog circuits do not work or are degraded below 2.4V, the MCUs become impractical for AA/ AAA alkaline battery applications. The Precision32 analog peripherals are so reliable they often can be used to replace standalone analog components. Configurability extends to the analog peripherals, making it possible to optimize performance for many different applications using the same devices. The MCUs have two ADCs with multiple modes including interleaving mode to achieve up to 2 MSPS. To reduce I/O overhead for the processor core, the ADCs support a programmable auto scan system that cycles through ADC channels and read the input data on each. Burst mode support makes it possible to automatically sample and average up to 64 samples. The analog comparators have four different modes including a low-power mode (400 nA) and high-performance mode (150 ns response time) as well as an internal 6-bit DAC to provide 64 levels of comparison. The two 10-bit DACs have a circular buffer to enable a 12-bit mode. In addition, ultra-low power has become a major selling point in a wide variety of embedded applications. With todays emphasis on energy compliance, reducing energy waste and going green, designers pay close attention to their power budget. A number of architectures provide low-power sleep modes that save energy when the processor is sleeping. The design of the Precision32 family, however, addresses power consumption not just in sleep but in active modes. As shown in Figure 3, the Precision32 MCU architecture reduces power provides a number of sleep modes that, coupled with circuit topologies optimized for low active power consumption, provide a high degree of energy efficiency for this class of MCU. The Precision32 MCUs leverage Silicon Labs state-of-theart, patented low-power design technologies has achieved power reductions within every block of the MCU design, resulting in up to 33 per cent lower active current (20 mA at 80 MHz or 0.25 mA/MHz) and 100 times lower sleep current (0.35 A with RTC enabled) than competing 32-bit solutions. Faced with increasing cost and performance pressures on embedded designs, OEMs and system developers are focusing on the most widely supported processor architectures. Standardization around ARM processor technology in the embedded market is now driving a new round of innovation in MCU design, focusing on configurability, ease of use and reduced system cost. The Precision32 MCU family marks a major step in this evolution. About the Author Shahram Tadayon is an MCU product marketing manager for Silicon Laboratories Embedded Mixed-Signal business. Mr. Tadayon joined Silicon Labs in 2002 as a product marketing manager for the ISOmodem product line, and he has also served as a product marketing manager in the companys AM/FM receiver product line. Previously, Mr. Tadayon held design positions at Hewlett-Packard, focusing on circuit design. Mr. Tadayon holds a masters and bachelors degree in electrical engineering from the Massachusetts Institute of Technology (MIT).

TECHNICAL ARTICLE

Precision32 MCU
10 s wake

Precision32 MCU
275 A/MHz

Precision32 MCU
350 nA sleep w/ RTC <100 nA sleep w/o RTC Power consumed during sleep mode Power wasted during wake-up

Power consumed during active mode

Figure 3: Precision32 Ultra-Low Power in Sleep and Active Modes

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

23

Get the Datasheet and Order Samples


http://www.intersil.com

Rad Hard and SEE Hard 12A Synchronous Buck Regulator with Multi-Phase Current Sharing
ISL70002SEH
The ISL70002SEH is a radiation hardened and SEE hardened high efficiency monolithic synchronous buck regulator with integrated MOSFETs. This single chip power solution operates over an input voltage range of 3V to 5.5V and provides a tightly regulated output voltage that is externally adjustable from 0.8V to ~85% of the input voltage. Output load current capacity is 12A for TJ +150C. Two ISL70002SEH devices configured to current share can provide 19A total output current, assuming 27% worst-case current share accuracy. The ISL70002SEH utilizes peak current-mode control with integrated error amp compensation and pin selectable slope compensation. Switching frequency is also pin selectable to either 1MHz or 500kHz. Two ISL70002SEH devices can be synchronized 180 out-of-phase to reduce input RMS ripple current. High integration makes the ISL70002SEH an ideal choice to power small form factor applications. Two devices can be synchronized to provide a complete power solution for large scale digital ICs, like field programmable gate arrays (FPGAs), that require separate core and I/O voltages.

Features
DLA SMD#5962-12202 12A Output Current for a Single Device (at TJ = +150C) 19A Output Current for Two Paralleled Devices 1MHz or 500kHz Switching Frequency 3V to 5.5V Supply Voltage Range 1% Ref. Voltage (Line, Load, Temp. & Rad.) Pre-Biased Load Compatible Redundancy/Junction Isolation: Exceptional SET Performance Excellent Transient Response High Efficiency > 90% Two ISL70002SEH Synchronization, Inverted-Phase Comparator Input for Enable and Power-Good Adjustable Analog Soft-Start Input Undervoltage, Output Undervoltage and Adjustable Output Overcurrent Protection QML Qualified per MIL-PRF-38535 Full Mil-Temp Range Operation (-55C to +125C) Radiation Environment - High Dose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 krad(Si) - ELDRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 krad(Si)* *Level guaranteed by characterization; EH version is production tested to 50 krad(Si). SEE Hardness - SEL and SEB LETTH . . . . . . . . . . . . . . . . . . 86.4MeV/mg/cm2

Applications
FPGA, CPLD, DSP, CPU Core and I/O Voltages Low-Voltage, High-Density Distributed Power Systems

- SEFI LETTH. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43MeV/mg/cm2 - SET LETTH . . . . . . . . . . . . . . . . . . . . . . . . . . 86.4MeV/mg/cm2

90

25 20 15 10 5

CH1 MASTER LX + 20V

EFFICIENCY (%)

85

AMPLITUDE (V)

CH2 SLAVE LX + 15V CH3 VOUT x 10 CH4 SYNC

80

75

0 70 0 -6 1 2 3 4 5 6 7 8 LOAD CURRENT (A) 9 10 11 12 -4 -2 0 2 4 6 TIME (s) 8 10 12 14

FIGURE 1. EFFICIENCY 5V INPUT TO 2.5V OUTPUT, TA = +25C


April 5, 2012 FN8264.1

FIGURE 2. 2-PHASE SET PERFORMANCE at 86.4MeV/mg/cm2

Intersil (and design) is a registered trademark of Intersil Americas Inc. Copyright Intersil Americas Inc. 2012 All Rights Reserved. All other trademarks mentioned are the property of their respective owners.

TECHNICAL ARTICLE

State Machine Heretic


Dave Vandenbout
XESS Corp

TECHNICAL ARTICLE

Like many of you, its been drilled into me by the Reuse Methodology Manual to write my state machines in VHDL as a pair of processes: a combinatorial process to compute the next state from the inputs and current state, and a sequential process to update the current state with the next state. Heres a simple example of that format: a state machine that simply increments the counter state variable whenever the enable input is asserted:
1 2 3 4 5 6 7 8 9 10 11 12 13 14

Too many signals: For every state variable, you need to define two signals: one that stores the current state and another that holds the next state value. And you might have a lot of flags, counters and registers in a state machine process so you would have twice that number of signals. Long sensitivity list: The signals for the current state and all the inputs have to be included in the sensitivity list of the combinatorial process. As you add and delete signals, you have to update the sensitivity lists of the combinatorial processes that use them or else youll get warnings from the synthesizer. Inferred latches:

comb: process(cnt_r, en_i) begin if en_i = 1 then cnt_x <= cnt_r + 1; else cnt_x <= cnt_r; end if; end process; seq: process(clk_i) begin if rising_edge(clk_i) then cnt_r <= cnt_x; end if; end process;

If you dont assign a value to the next-state signal for every possible path through the combinatorial process, 15 then youll get an inferred latch. For example, the cnt_x signal becomes a latch if you mistakenly write the Despite the reverence for the two-state format, there are combinatorial process like this: a few things I dont like about it:

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

25

TECHNICAL ARTICLE
1 2 3 4 5 6

bad comb: process(cnt_r, en_i) begin if en_i = 1 then cnt_x <= cnt_r + 1; end if; end process;

The sensitivity list only needs to include the clock signal (unless I also need an asynchronous reset). Theres no way to create an inferred latch. Theres a lot less code so theres less to go wrong. If a state variable is not used outside the process, then I can define it right inside the process as a VHDL variable instead of a signal. And I can also include the type definition if its an enumerated state variable. That increases the encapsulation of the state machine with respect to the rest of the design. I call these soft benefits because they really only help me to create and understand a state machine but dont actually improve its performance (i.e. the size of the synthesized circuit or its maximum clock frequency). Still, soft benefits do provide a real advantage when you consider the cost of design and debugging time. However, the one-state format presents a problem if state machines are talking to one another. Consider a case where state machine A is requesting that state machine B perform some operation. B sees the do_it signal is asserted at clock edge 1 and begins to operate. If Bs operation only takes a single cycle, then it will assert its done_it signal after clock edge 2. But A will not be able to react to the completion signal and de-assert its request signal until slightly after clock edge 3. By that time, B has already seen the high level on do_it at clock edge 3 and has begun another (probably unwanted) operation.

TECHNICAL ARTICLE

Because cnt_x has no explicit assignment if the enable is not asserted, the synthesizer will make it into a latch. Thats usually not what you want, especially in your supposedly combinatorial process. To avoid latches, I usually put a default assignment for each state variable right at the top of the combinatorial process:
1 2 3

default_comb: process(cnt_r, en_i) begin cnt_x <= cnt_r; --default assignment


keeps the boogy-man away

4 5 6 7

if en_i = 1 then cnt_x <= cnt_r + 1; end if; end process;

The default assignment keeps the counter at its current value. This will be overridden in the code that follows if the enable is asserted. Either way, the state variable always has an explicit assignment and an inferred latch is avoided. Too much code: Two processes, twice as many signals, long sensitivity lists and default assignments all serve to increase the amount of code you have to write, debug, maintain and document. And more code means that less of the total design fits on the monitor screen, which makes it harder to load the design into your head and increases your chances of making an error. Because of the code bloat problem, lately Ive been writing my state machines as a single process:
1 2 3 4 5 6 7 8

This problem can be solved by handshaking as follows: 1. A raises its do_it signal. 2. B performs its operation and then raises its done_it signal. 3. Upon seeing the raised done_it signal, A lowers its do_it signal. 4. Once the do_it signal disappears, B lowers its done_ it signal and only then starts listening for another request. The handshaking protocol fixes the multiple-triggering problem, but at the cost of slowing the communication between the state machines. Also, if A actually did want

process(clk_i) begin if rising_edge(clk_i) then if en_i = 1 then cnt_r <= cnt_r + 1; end if; end if; end process;

I get the following benefits by using the the one-process format: Only a single signal is needed per state variable.

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

26

TECHNICAL ARTICLE
do_it

TECHNICAL ARTICLE

A
clk do_it

done_it

B
clk

comb
clk

comb

do_it

done_it

B
clk

do_it

done_it clk

done_it clk

Figure 1

Figure 2

B to perform the operation repeatedly, it would have to go through a multiple-cycle handshake to initiate each operation, rather than just being able to assert and hold the request signal. A two-process state machine offers a better solution in this case. The combinatorial process of A could immediately respond to Bs done_it signal and lower the do_it signal before the next clock edge. A could also keep the do_it signal continuously asserted if it wanted B to do multiple operations. In the end, which type of state machine should be used? I find myself using one-process state machines where I can, and the two-process type where I need more control to achieve performance. I know that doesnt hew to the guidelines espoused in the RMM, but Im an engineer so Ill take the liberty to use my own judgment and leave the cookbook approaches to the robots. [Aside: If you want to see an even more heretical way to code state machines, check out the inferred state machines Martin Thompson talks about in his blog. ] About the Author David E. Vandenbout earned a B.S.E.E. degree from North Carolina State University (NCSU) in 1978 and an M.S.E.E. from M.I.T. in 1979. He worked as a Member of Technical Staff at Bell Telephone Laboratories from 1978-1983 until they suggested he explore other career

opportunities. He completed his Ph.D. at NCSU in 1987 and worked there as an Assistant Professor doing research in the areas of neural networks, statistical physics, computer tomography, and FPGA-based rapidprototyping. After publishing over 45 journal articles, conference papers and book chapters, he left in 1993 due to an allergic reaction to the passive voice. In 1990, he was one of the founders of X Engineering Software Systems Corp. (XESS), a company that originally developed software for X11-based scientific workstations until they found out nobody actually wanted to pay any money for that. He re-directed XESS so that it now develops and sells low-cost, open-source, FPGA-based hardware. XESS has developed and delivered boards to thousands of individuals and hundreds of corporations and universities in almost every country in the world (still waiting on Antarctica). XESS FPGA boards have been used in everything from classroom instruction to digital video processing to cracking the cryptographic codes of the SpeedPass system.

EEWeb | Electrical Engineering Community

Visit www.eeweb.com

27

ACOUSTICS & SENSORS


PRODUCTS
Speakers Buzzers Piezo Elements Back-up Alarms Horns Sirens/Bells Beacons Microphones Sensors

BeStar
INDUSTRIES
Automotive Durables Medical Industrial Mobile Fire / Safety Security Consumer Leisure

Teamwork Technology Invention Listen Hear

Preferred acoustic component supplier to OEMs worldwide

bestartech.com | sales@bestartech.com | 520.439.9204


QS9000 TS/ISO16949 IS O 14001 IS O 13485 IS O 9001

EEWeb
Electrical Engineering Community

Join Today
www.eeweb.com/register

RETURN TO ZERO
RETURN TO ZERO

EEWeb
Electrical Engineering Community

Join Today
EEWeb | Electrical Engineering Community

www.eeweb.com/register

Visit www.eeweb.com

29

Вам также может понравиться