EEWeb
PULSE
EEWeb.com
Issue 30 January 24, 2012
Jean J. Labrosse MicriÎźm
Electrical Engineering Community
It’s all about
connections. EEWeb Electrical Engineering Community students
hobbyists
discussions
technical documents
industry experts engineers
white papers links
resources
Contact Us For Advertising Opportunities reference designs
1.800.574.2791application notes
advertising@eeweb.com power
www.eeweb.com/advertising lighting
community sensor
microcontroller wireless
The user-to-user forum is for everyone, from design engineers to hobbyists, to discuss technology, products, designs and more. Join the discussions that match your interest or offer your expertise to others. Join the discussion now at:
www.digikey.com/techxchange Digi-Key is an authorized distributor for all supplier partners. New products added daily. Š 2011 Digi-Key Corporation, 701 Brooks Ave. South, Thief River Falls, MN 56701, USA
TA B L E O F C O N T E N T S MICRIÎźM
TABLE OF CONTENTS
4
Jean J. Labrosse Interview with Jean Labrosse- Founder, CEO, and President
13
Introduction to Real-Time Kernels BY JEAN LABROSSE
Learn about the internals of real-time kernels using a commercial-grade kernel.
17 18
Featured Products How Does Synthesis Work?
BY RAY SALEMI
An introduction to the basics of synthesis.
A System Perspective on Specifying Electronic Power Supplies: Source Characterization
23
BY BOB STOWE WITH TRUE POWER RESEARCH
Important source characteristics for power supply specification.
RTZ - Return to Zero Comic
EEWeb | Electrical Engineering Community
27
Visit www.eeweb.com
3
JL Micriμm INTERVIEW
Jean J. Labrosse - Founder, CEO, and President
How did you get into electronics/engineering and when did you start? I was born in Montreal, Canada and I got into electronics when I was about 15 (1972). I was invited by friends to go to a concert and they had a really cool light show with
strobe lights and light chasers. A chaser is an electronic device that controls a series of lights. Each light is individually controlled. An 8-channel chaser would have 8 individual outputs. Output #1 would be connected to light #1, #9, #17, #25, et cetera. Output #2 would be
EEWeb | Electrical Engineering Community
connected to light #2, #10, #18, #26, et cetera. The outputs would be turned on in sequence giving the illusion that light was actually moving and thus ‘chasing’ around. This got me interested in figuring out how strobes and chasers worked. Back then, there was no Internet and to find information I had to go to the library or my local Radio Shack, which was some 10 miles from home. I started with figuring out how to do a strobe light and eventually got into digital electronics to come up with a chaser.
In 1980, I started a company called Mėphistronique with a friend of mine (Mr. Marcel Lariviėre) to create disco lighting systems (discos were quite popular back then). We sold strobe lights, color organs (lights controlled by music) and our first chaser. I started with a 4-channel chaser using a couple of JK flip-flops and I was able to actually do neat things with switches and logic gates. For one thing, we could change the chase sequence.
Visit www.eeweb.com
4
FEATURED INTERVIEW
ean J. abrosse
INTERVIEW
Can you tell us about your work history/journey to becoming the Founder, CEO and President of Micriµm? During my undergraduate studies (around 1980), I got interested in microprocessors and programming. Microprocessors were quite new, and at the time there were only two choices: either you used a Z80 from Zilog or a 6800 from Motorola. I actually played with both and each one had its strong points and weaknesses. I immediately fell in love with this field even though the tools were quite crude at the time. I simply could not have enough classes on microprocessors, so I decided to pursue a master’s degree and take computer science classes such as high-level
languages, data structures and algorithms. When I graduated, I was offered the opportunity to work for a medical electronics company in Princeton, NJ, so I sold my shares of Mephistronique to my partner. The company was called Biostim and they manufactured Transcutaneous Electrical Nerve Stimulator (T.E.N.S.) devices. These devices were used as electronic pain killers. I designed the very first microprocessor-based T.E.N.S. units on the market using an Intel 8049 and another unit using a more powerful MC68711 microcontroller unit (MCU). These were battery operated devices and the microprocessors offered us a lot of flexibility when it came to the user interface and the type of patterns we could generate out of this device. I worked for Biostim for two years, and after one year I was promoted to head of engineering and had seven people working for me.
and a colleague was handling the control algorithms. One of the first things I put in place was a coding standard so that we could have one programming style for all the software we’d create for this product. We also decided to use a real-time kernel to help us with the architecture of the system. The realtime kernel made designing the system a lot easier, and I was then convinced that I would no longer want to design products without one. I worked for Allied Signal for four years and then was offered a job in Fort Lauderdale, Florida to design much larger engine control systems. At Allied our controls were supervisory, which meant that they basically provided setpoints to other devices that controlled actuators and the like. Dynalco wanted to create full authority controls and were thus much more complex and demanding systems. And that was a direction I was interested in going.
I left Biostim to pursue a dream to work in California and found a job with Allied Signal in San Diego designing engine controls for large reciprocating engines. These engines were the size of a singlecar garage and contained between six and 16 cylinders. The engines are used to pump natural gas that is extracted from the Gulf of Mexico and moved up north to supply gas to heat homes. Each engine station could have between one and 10 or so engines. Obviously a very different application than when I worked at Biostim so I had to learn quite a lot about this industry. I worked on the hardware and software design of a MC68000-based (32-bit CPU) engine control. I was responsible for the infrastructure software
At Dynalco, I was put in charge of software engineering, and being an electrical engineer, I influenced most of the hardware designs. I was at Dynalco for a total of about 13 years. I designed many products and wrote most of the user manuals for those products. Here is a list of some of my designs:
EEWeb | Electrical Engineering Community
• A few models of ignition control systems. Some of these controlled one or two spark plugs per cylinder. I designed a way to accurately control the firing of spark plugs with 1/16 of a degree irrespective of accelerations or decelerations. • Fuel-injection control system. • Dual-processor ‘total engine control’ system where we
Visit www.eeweb.com
5
FEATURED INTERVIEW
Specifically, we were able to easily change the chase direction and the pattern of the chasing light. The patterns we had were 1-2-34, 1-3-2-4, 4-3-2-1 and 4-2-3-1. The rate of chasing was controlled by a ubiquitous 555 timer. Once we had our first prototype, we went to a local theatrical lighting store and offered to build these for $200 each, our cost was about $100. The store immediately ordered 10 and we were quite surprised by this initial order. We actually delivered the units a couple of weeks later and the store asked for a more complex device. So, my partner and I set out to design an 8-channel chaser. At the time, I was investigating the use of EPROMs to generate the patterns, and in fact, I believe I was the first to come up with a chaser using this technology. I designed quite a few models of chasers and the business was doing relatively well.
INTERVIEW
I’m sure you know that we use the term ‘embedded system’ to represent products that are typically designed around microprocessors and that have dedicated functions. Here are some examples of embedded systems: • Washing machines • Printers • Alarm clocks • Portable GPS navigation units • Digital cameras • Video cameras • Cell phones (non-smart phones) • Engine controls Basically, an embedded system has a unique dedicated function and cannot be changed. A PC is not considered an embedded system because it can run all kinds of different applications; it’s not dedicated to one specific thing. When I was at Dynalco, we used a
real-time kernel in which we found a serious bug. After spending a year with the supplier waiting for a fix, I thought about writing my own kernel since I knew what it needed to do. So, in 1991 I set out to write a kernel I called µC/OS which stands for microcontroller operating system. µC/OS was mostly written in C and I wrote a paper about it to be published in a magazine. Unfortunately the paper was 70 pages long and no magazine wanted to print such an article because it would have had to be printed in parts over many
Our focus is on creating reusable software modules that are easy to use, reliable, well written, highly documented etc. to help our customer create high quality products and shave months off their schedules. consecutive issues and months. The publisher didn’t want to drag readers along for that much time. Embedded Systems Programming magazine decided to publish a reduced version of the paper in
EEWeb | Electrical Engineering Community
three separate months (May, June, September 1992). Shortly after the first issue hit the news stand, I was approached by R&D Technical books to write a book about the kernel. I thought that 70 pages was not sufficient for a book so I added a lot more material and got it up to 250 pages or so. The book actually included the full source code for the kernel on a 3.5” floppy disk and could be used to develop products without requiring a license. It’s quite possible that I actually started the open-source movement for the embedded community. I continued my part-time hobby of writing and published another book which came out in 1995: Embedded Systems Building Blocks, Complete and ready-to-use Modules in C. This book contained a number of modules that made it easy to create embedded products. The book was later translated into Korean. R&D Books sold quite a few copies of the µC/OS book, and in 1998 they asked me to revise the content and create a second edition. During the six years that led to the second edition, I received a lot of feedback and requests from readers for features and additional explanations. So I decided to rewrite µC/OS and create a new version of the software that I called µC/OS-II. The book was also completely revised and I asked CMP Books (which acquired R&D Books) to do a hard cover instead of a soft cover book. This book now had 550 or so pages and was the first hard cover book that CMP did. µC/OS-II was highly popular and was translated into Chinese and Korean. The µC/ OS-II book is actually the most
Visit www.eeweb.com
6
FEATURED INTERVIEW
controlled all aspects of the engine: ignition, speed (throttle), air/fuel ratio, starting and stopping the engine, load control, flow measurement and control, and more. In all, this control system had up to 13 different sub-systems. Both processors were running a realtime kernel and communicated with each other. • Dynalco was involved in agricultural products and I also designed control systems for hay balers and windrowers. • A line of MCU-based smart meters. • DOS-based data monitoring and product configuration system.
INTERVIEW
I left Dynalco in 1997 and went to work for Microtec (a division of Mentor Graphics) in the consulting services group. I only stayed with Microtec for 14 months because I was always flying all over the place to visit customers and that prevented me from spending time with my family. Shortly after leaving Microtec, I was getting a large number of requests to license the use of µC/OS-II in products, so I decided to start my own business— Micriµm. The name comes from ‘micro’ and ‘ium’ (which means the universe of). Micriµm thus means the “Universe of Micros”. The µC/OS-II book was the seed that got me to start Micriµm, which I incorporated in 1999. What have been some of your influences that have helped you get to where you are today? I think there are five things that most influenced my career: • My partner at Mephistronique who always demanded perfection and quality, and his thirst for knowledge got me to document everything I did. • The C programming language which allowed code to be portable. • The C coding standards we established early helped me write very clean and readable code. • Using real-time kernels in products got me to appreciate the leverage that they gave me to create well-architected systems. In fact, a kernel is one
of the many building blocks available to engineers today to quickly help them create products. • The Internet. Do you have any tricks up your sleeve? One of the most important things I found was to establish coding conventions, document them and stick to them as much as possible when writing code. For example, I like to name things in a hierarchical fashion, such as Earth, North America, the U.S., Florida, Weston. So for software this translates to naming things based on the global picture, and then moving down to specifics. OSTaskCreate(), for example, indicates that the function is related to the operating system (OS)—specifically part of task services and the exact service of creating a task. Having this convention allows API reference manuals to group related functions and services together. We apply this concept to all the modules we do at Micriµm: NetARP_RxPacketFree(), FSFile_Close(), et cetera. The other thing is to try to find simple solutions to complex problems. This seems obvious, but it’s not always easy to do. Software should be written to be read so that others can better use what you’ve done. For this reason, approach projects with the understanding that you don’t own the code; your employer does. Write code so you don’t have to maintain it. Write code so that your replacement or colleagues will praise your work instead of saying nasty things about you once you leave. Put pride in what you do and
EEWeb | Electrical Engineering Community
that goes beyond just getting the product to work. Well written, clean, consistent and documented code is one of the keys to the success of Micriµm. All our engineers are indoctrinated with the Micriµm way, and in fact, out of the million or so lines of code we have, you’d be hard pressed to know who wrote what. Another trick I have is to graphically represent concepts. I find that it’s a lot easier to explain something using an illustration that I narrate with text than to use code or only a textual description. If you look at my books, you will find hundreds of illustrations. One final thing: Be passionate about what you do. What has been your favorite project? I have worked on so many exciting things over the years, but my favorite project is by far writing books—most recently, the µC/ OS-III book. Writing a book like µC/ OS-III allowed me to stay current with programming, processor technology, as well as find better ways to explain concepts and stay up to date with state-of-the-art technology. I have to say though that writing a book is very draining. You end up reading it four or five times over and even after it’s published, you always find some little things that could have been improved. However, there’s no better feeling than having the first finished book in your hands. Do you have any note-worthy engineering experiences such as great accomplishments or awards?
Visit www.eeweb.com
7
FEATURED INTERVIEW
popular embedded systems book ever published.
INTERVIEW
A few years ago I hired a team of Windows developers to create a Windows-based application that would allow a PC to query a target (i.e., a product) for the current values of variables (at run-time) and display those values on virtual gauges, meters, barcharts, numeric indicators et cetera, and also allow values to be changed through virtual sliders, knobs and switches. This product is called µC/Probe and can interface to any target processor, whether 8, 16, 32, 64-bit or DSP through either a J-Tag interface, RS232C, TCP/IP or even USB. You can thus develop a headless product and still be able to see what your product is doing. µC/Probe actually doesn’t require any target resident code when used with a J-Tag interface, so you can start looking at the values of variables as soon as you download and run code on your target. µC/Probe actually won best-of-show award at Freescale Technology Forum (FTF) a couple years back. Can you tell us about the three books you wrote about embedded design, as well as some of your articles? I already mentioned the µC/OS-II and Embedded Systems Building Block books. The µC/OS-III book is my latest and I decided to again completely revise both the code and the contents of the book. When I did the µC/OS-II book,
evaluation boards were fairly expensive compared to today so I wrote the book around the 80x86 running under DOS so that most people could experience µC/OS-II on their PC. With µC/OS-III, I decided to create a book that would provide examples using a popular CPU architecture and offer a low-cost companion evaluation board and tools for readers to experience µC/OS-III on real hardware. The book/board actually contains five parts: • Part I explains what a kernel is, how to use a kernel’s features and also how a kernel works by explaining the inner workings of µC/OS-III. Lots of details and illustrations. This part is about 700 pages.
Cortex-M3 ARM core. The evaluation board is also equipped with an Ethernet connector, a USB-OTG connector, an SD card socket, an RS-232C port, a temperature sensor, LEDs, a prototyping area and an on-board Segger J-Link which interface to the IAR C-Spy debugger. • The award winning µC/Probe, which is a data visualization tool allowing target variables to be displayed in real-time on a PC via virtual gauges, meters, bar graphs, LEDs, et cetera. The user can also change the value of variable using sliders, knobs and switches.
• The book provides a link to IAR’s Kickstart edition of its highly popular EWARM toolchain which contains a C compiler, assembler, linker/ locator and C-Spy debugger. The Kickstart edition of the tools allows the reader to create example applications having up to 32 Kbytes of code space.
A big trend in the industry is multicore. The challenge I see here is in debugging. It’s already complex enough to debug single core systems. I believe the problem scales exponentially with multiple cores.
• The board (called the µC/ Eval-STM32F107) is based on the STMicroelectronics STM32F107 MCU which contains the highly popular
This concept was so popular that we’ve been able to replicate it on five additional processor architectures. We now have a µC/OS-III book for
• Part II describes the companion evaluation board and shows examples of how to setup and use µC/OS-III with an evaluation board that we designed in collaboration with STMicroelectronics. This part is about 250 pages.
EEWeb | Electrical Engineering Community
Visit www.eeweb.com
8
FEATURED INTERVIEW
Being in the business for so long, I would have quite a few noteworthy experiences to share. I’ll just mention one of them for brevity.
INTERVIEW • NXP LPC1768, Cortex-M3 based MCU with companion MCB1700 evaluation board and Keil tools • Texas Instruments LM3S9B92, Cortex-M3 based MCU with companion EVALBOT evaluation board and IAR tools • Renesas SH7216 SH2A-FPU based ultra-high performance MCU with FPU with companion YRDKSH7216 evaluation board and HEW tools • Renesas RX62N RX600 based MCU with FPU with companion YRDKRX62N evaluation board and HEW tools • Freescale Kinetis K50, Cortex-M4 based MCU with companion Tower system and IAR tools What are you currently working on? Unfortunately, this is something I prefer not to mention since we are in a very competitive environment. Needless to say, however, Micriµm is always looking at creating high quality products to help our customers reduce time to market. How do you continue to maintain an active role in product development? I still maintain the µC/OS-II and µC/ OS-III code bases, I visit customers and semiconductor partners to determine their needs, I get involved in new and current product definition and requirements, features, planning and reviews, and I even test some of the software. I evaluate
new technologies, I write books (we consider those as products), and I like to read technical magazines to see what’s happening in the industry and adjust the direction of the company accordingly.
Our focus is on creating reusable software modules that are easy to use, reliable, well written and highly documented to help our customer screate high quality products and shave months off their schedules.
Can you tell us more about Micriµm and the technology it is developing? Micriµm develops and licenses a Real-Time Operating System (RTOS). An RTOS consists of a kernel (either µC/OS-II or µC/OSIII), a TCP/IP stack, a File System, a USB-Device and USB-Host stacks, a Graphical User Interface (GUI) and so on. You can basically purchase any or all components individually. If you need only the kernel, you buy that. You need only a file system, you only buy that module. Our software is delivered in source code form (mostly C) and it’s probably the nicest looking software you can put your eyeballs on.
It’s interesting to note that years ago, developers used to start their designs by selecting a microprocessor and then figuring out which tools they needed and then how to write the software. It seems that over the past few years, developers are changing their approach. More and more we are seeing developers take more of a system view and thus decide on what high-level features they need (e.g., connectivity, HMI, data storage) and then select their tools and chips to satisfy their requirements. The fact that our software is highly portable across microprocessor platforms makes this process fairly painless and natural.
We will continue to develop new products to satisfy the needs of our customers.... We will continue to improve our processes and make it even easier for our customers to use and deploy our products.
How has the company changed since it was launched in 1999? Well, we went from a one person company to, based on the latest UBM survey, the number one commercial RTOS supplier, so I’d say quite significantly over the past 12 years. When I started Micriµm, the only product I had was µC/OS-II and now we have about 20 or so products.
EEWeb | Electrical Engineering Community
I have to say that I could not have done it alone. In 2002, a longtime friend of mine, Mr. Christian Legare joined Micriµm as my partner. Together we built Micriµm to what it is today. Of course, Micriµm’s success is also attributed to the hard work and dedication of our
Visit www.eeweb.com
9
FEATURED INTERVIEW
the following platforms:
INTERVIEW Our software is found in thousands of products worldwide and we even have products in satellites and spacecrafts. Can you tell us about some of the new technologies Micriµm is working on in the medical, military, telecom or embedded design areas? Well, we develop all our products following the highest quality standards and some of them are ready to be certified for safety critical system as found in medical, avionics and industrial products. A safety critical system is one that cannot afford to fail, or else could cause damage to assets or even lives. µC/OS-II has been used in countless avionics applications and
Micrium is always looking at creating high quality products to help our customers reduce time to market.
the marketplace and Micriµm is well positioned to assist customers with solutions: The Internet of Things, Wireless everywhere, The Smart Grid, Alternative Energy… However, beyond this, I’d rather not elaborate on our current and future plans. What direction do you see your business heading in the next few years? We will continue to develop new products to satisfy the needs of our customers. We expect to significantly improve our already dominant position in the marketplace since we recently added six global distributors (Arrow, Avnet, Digi-key, Future Electronics, Premier Farnell and Mouser). We will continue to improve our processes and make it even easier for our customers to use and deploy our products. What can we expect to see from Micriµm in the near future? Certainly, new and innovative products as well as ways to further reduce customer product development time.
has been certified in products following DO178B Level A, countless medical products (510(k) and PMA) and industrial controls following the IEC-61508 norm. Having the DO178B Level A certification is a testament to the high quality of µC/ OS-II because it had to undergo extreme testing under all possible boundary conditions.
What challenges do you foresee in our industry? It used to be that the software for a product could be developed by a single engineer. Now, average software development teams require between four and nine engineers, and in a lot of cases, each developer requires different specialties and skills. Managing such projects is certainly a challenge.
There are a lot of opportunities in
New processors/chips are being
EEWeb | Electrical Engineering Community
introduced at a frantic rate and it’s virtually impossible to port some of our software to all the different variances. Most of the issues are not related to CPU architectures but instead with I/O devices. The fact that a lot of the semiconductor manufacturers are adopting identical CPU cores actually does little to change that problem since CPU architectures have long been isolated by high-level language compilers (mostly C and C++ for embedded systems). In other words, the instruction set and CPU architecture is generally hidden from the application developer anyway. So, even though the CPU architecture is the same from one manufacturer to another, the peripheral devices such as Ethernet, USB device, USB host, LCD controller and CAN-bus are all different, and in many cases, even different from within the same device family offered by a semiconductor manufacturer. From a software vendor’s point of view, it would make more sense for them to reuse as much of the same hardware IP blocks (located at the same physical address) from one device to the other so that drivers can be written once. Another challenge is the ever increasing complexity of processors and MCUs: faster, more powerful processors, high peripheral device integration, complex power, pin and clock management, user manuals having thousands of pages, multicore, mega-lines of code, debugging, code quality or lack thereof, ever rising customer expectations and time to market pressures. The list goes on and on.
Visit www.eeweb.com
10
FEATURED INTERVIEW
employees and partners.
INTERVIEW
Linux has caused a big buzz in the industry mostly because it is open source and people have the perception that it’s free. It’s a perception because everybody that has ever played with Linux will tell you that Linux is a complex system and that you will literally spend months figuring it out. So, unless you consider your time to be worth nothing then it’s not free. Also, because of its freeness, engineers have been embedding Linux in
applications where Linux might not belong. How many times did the entertainment system (running Linux) in a plane crash? Of course, such an entertainment system is not safety critical, so apart from annoying passengers it shouldn’t be life threatening. I have a TiVo unit which is obviously Linux based. Boot up time is in the order of minutes. Remote control response time is on the edge of being unacceptable. Linux is also very large and in fact, we might not see Linux in MCUs for years to come. I make the analogy of Linux being an 18-wheel truck and RTOSs are cars. You would certainly not want to drive to work every day in a huge truck, and you would not want to move furniture in a car. Each have its market and
use, and engineers should be able to determine when one is better to use than the other based on their product requirements. So, some of the challenges: • Satisfying customer expectations • Creating drivers for ever changing peripheral devices • Managing software complexity • Software portability and reuse • Multicore debugging • Use of an RTOS or Linux when appropriate ■
EEWeb Electrical Engineering Community
Join Today www.eeweb.com/register EEWeb | Electrical Engineering Community
Visit www.eeweb.com
11
FEATURED INTERVIEW
A big trend in the industry is multicore. The challenge I see here is in debugging. It’s already complex enough to debug single core systems. I believe the problem scales exponentially with multiple cores.
All rights reserved.
Avago Technologies Motion Control Solutions
World’s Smallest Miniature Reflective 3-channel Encoder Features
Advantages
Benefits
3-channel encoding (AB and I)
Index Signal “I”
No need for separate components to generate the index signal
Miniature size
Surface mount leadless package: 3.95 mm (L) x 3.4mm (W) x 0.95mm H)
Ability to fit into miniature motor designs
304 LPI
High encoding resolution
Various CPR capable by adjusting to the matching ROP of the codewheel
Avago Technologies AEDR-850x three channel reflective encoders integrate an LED light source, photo detector and interpolator circuitry. It is best suited to applications where small size and space matters!
Built in Interpolator of 1x, 2x, and 4x
1x, 2x and 4x via external pinouts
Base CPR resolution can be interpolated by end user
Applications include medical hand held devices, camera phones, wheel chairs, actuator, vending machine applications, just to name a few.
High operating frequencies: 55 kHz at 1x interpolation
Operating frequencies can be increased by external interpolator pinouts by maximum of 4x
Corresponding high RPM performance with increased frequencies
To request a free sample go to:
Index gating
Options available for both gated and ungated versions
Catering for various user gating requirements
-20°C to 85°C
Industrial application capable
Covering consumer, commercial and industrial applications
www.avagotech.com/motioncontrol
PROJECT
Real-Time Kernels By Jean J. Labrosse
This article describes how you can get started with learning about the internals of real-time kernels using a commercial grade kernel, running on actual hardware and using professional grade tools, all for next to nothing. What is a Real-Time Kernel?
A real-time kernel is software that manages the time of a central processing unit (CPU) or micro processing unit (MPU) as efficiently as possible. Most kernels are written in C and require a small portion of code written in assembly language in order to adapt the kernel to different CPU architectures. A kernel provides many useful services to a programmer such as multitasking, interrupt management, inter-task communication and signaling, resource management, time management, memory partition management and more. Most kernels used for embedded systems are ‘preemptive,’ meaning that the kernel always executes the most important task that is ready to run. Preemptive kernels are also event driven which basically means that tasks are designed to wait for events to occur in order to execute. For example, a task could wait for a packet to be received on an Ethernet controller, another task could wait for a timer to expire, yet another task can wait for a
EEWeb | Electrical Engineering Community
character to be received on a UART, et cetera. When the event occurs, the task executes and performs its function. If the event that the task is waiting for doesn’t occur, the kernel runs other tasks. Waiting tasks consume zero CPU time. Kernels allow you to avoid polling loops which is a bad use of the CPU’s time. Real-time kernels are not limited to high end 32-bit CPUs, and in fact, a kernel like Micriµm’s µC/OS-III can run comfortably on many 8 and 16-bit CPUs or even digital signal processing (DSP) chips. Many embedded programmers shy away from using a kernel because they fear that kernels add too much complexity to their application. It turns out that you only need a handful of services to get your project off the ground with a kernel. For example, with µC/OS-III, you can write fairly complex multitasking application with as little as five API functions out of the nearly 70 API calls offered by µC/OS-III. Years ago, embedded systems used to be designed by first selecting the microprocessor or microcontroller, then the tools (compiler, assembler, linker and debugger), and finally you’d figure out how to write the software. Nowadays, many embedded systems are designed by
Visit www.eeweb.com
13
FEATURED PROJECT
Introduction to
PROJECT
The internals of the µC/OS-III real-time kernel are described in a book I wrote called µC/OS-III, The RealTime Kernel. There are six different versions of this book, each featuring a different CPU architecture. Each of these books is available as a free PDF download from the Micriµm Web site. I personally prefer an actual book, so if you are like me, you can purchase the hardcover book either from
Figure 1:
Micriµm, one of our authorized distributors or Amazon. com. µC/OS-III is ‘Source Available’ meaning that you can download the FULL source code for µC/OS-III and use it for FREE as long as it’s for educational use or for peaceful research. However, you need to purchase a license (i.e., the rights to use µC/OS-III) if you intend to use µC/OS-III in commercial products or applications. Evaluation Boards An evaluation board is available with each book, allowing the reader to not only learn about what real-time kernels are and how they work, but also be able to perform actual experiments on actual hardware. In order to run the examples provided with each book, you will need to download the code corresponding to the book you are interested in (which depends on what CPU manufacturer or CPU architecture you prefer). The companion projects for each book are available as free downloads from the same Web page as shown above. Finally, each book requires ‘tools’ to allow you to compile and download the example code. The tools that you will need depend on which book and board you get.
µC/OS-III Task Aware screen on µC/Probe.
EEWeb | Electrical Engineering Community
Visit www.eeweb.com
14
FEATURED PROJECT
starting with the software requirements and, determining what software components you can purchase off-theshelf to satisfy your needs. A real-time kernel is one such component and, is generally the first software component you’ll need to select because it establishes the framework upon which you can build your product. Having a kernel allows you to easily add other software components such as a TCP/IP stack, a USB stack (host or device), a file system, a graphical user interface (or GUI) and more. Some of these software components are easy to use but are quite complex to develop. For example, a TCP/IP stack can consist of well over 100,000 lines of C code, but from the application’s programmer’s point of view, you only need to understand and use about 30 or so API functions. In other words, far easier to use than to create.
PROJECT FEATURED PROJECT
Evaluation versions of tools can be downloaded for free and links to those are provided in each book. In all cases, you will have to register in order to be able to download these tools. Micriµm’s µC/Probe All of the examples provided with each book make use of a cool tool called µC/Probe which is available from Micriµm. Again, a free evaluation version of µC/Probe can be downloaded from the same Micriµm Web page as previously described. µC/Probe is an award-winning Microsoft Windows™based application that allows a user to display or change the value (at run time) of virtually any variable or memory location on a connected embedded target. The user simply populates µC/Probe’s graphical environment with gauges, numeric indicators, tables, graphs, virtual LEDs, bar graphs, sliders, switches, push buttons, and other components, and associates each of these to a variable or memory location.
Figure 2: Texas Instruments’ assembled EVALBOT
With µC/Probe, it is not necessary to instrument the target code in order to display or change variables at run time. In fact, there is no need to add printf() statements, hardware such as Light Emitting Diodes (LEDs), Liquid Crystal Displays (LCDs), or use any other means to get visibility inside an embedded target at run time. µC/Probe obtains the values from the target either through a J-Tag interface (Segger J-Link), an RS-232C port or an Ethernet port using TCP/IP. For the latter, a TCP/IP stack such as Micriµm’s µC/TCP-IP is necessary. The free version of µC/Probe allows you to display or change up to eight application variables. However, it allows you to monitor any µC/OS-III variable since µC/ Probe is ‘µC/OS-III Kernel Aware.’ Figure 1 shows an example screenshot of µC/OS-III running on the Texas Instruments EVALBOT. The code for this example is provided in the corresponding book. Texas Instruments’ EVALBOT One of the coolest evaluation boards available with a µC/ OS-III book is the Texas Instruments EVALBOT which is shown in Figure 2. The EVALBOT is a small robotic device that features a board with a Stellaris® LM3S9B92 microcontroller with Ethernet, USB OTG (On-The-Go), and I2S. The kit contains wheels that are easy to attach
EEWeb | Electrical Engineering Community
Figure 3:
EVALBOT Block Diagram
Visit www.eeweb.com
15
PROJECT
The EVALBOT comes as a kit where you assemble all the mechanical components with all the electronics already pre-assembled. You can purchase this kit from Texas Instruments’ online Web store or a TI authorized distributor. It takes about one hour to put together an EVALBOT. The examples provided in the µC/OS-III book will allow you to display text onto the small OLED display, control the LEDs, the motor driving each wheel, reading ‘bumper’ sensors so you can run the EVALBOT in autonomous mode and have it change its course as it hits objects.
Summary A real-time kernel is an increasingly useful software component that allows you to efficiently use the resources of a microprocessor or microcontroller, and create a framework upon which you can build simple or complex applications or products. You can download any or all of six µC/OS-III books in PDF format for FREE. These books describe what a real-time kernel is, what you can do with a real-time kernel and provides plenty of examples that you can actually try using on one of the companion evaluation boards. The source code for µC/ OS-III is also available as a FREE download from the Micriµm Web site. If you are an embedded software developer and you are new to real-time kernels, then you will find that a kernel is a useful tool to add to your toolbox. ■
EEWeb Electrical Engineering Community
Contact Us For Advertising Opportunities
1.800.574.2791
advertising@eeweb.com www.eeweb.com/advertising EEWeb | Electrical Engineering Community
Visit www.eeweb.com
16
FEATURED PROJECT
to the board, a display, batteries, a USB cable, and a CD with the IAR tools, the StellarisWare® software, and all the necessary documentation. A block diagram of the electronics found on this board is shown in Figure 3.
F E AT U R E D P R O D U C T S Linear Technology Corporation introduces the LT4363, an overvoltage protection controller that provides overvoltage and overcurrent protection to high-availability electronic systems. Supply voltages surge whenever currents flowing through long inductive power buses change abruptly. Also, automotive batteries experience a condition known as load-dump, where the voltage can stay elevated for many milliseconds. Traditional protection circuitry relies on bulky inductors, capacitors, fuses, and transient voltage suppressors. Instead, the LT4363 creates a robust, adaptable, and space-efficient design with simple control of an N-channel MOSFET. Only the controller and the MOSFET suffer the high voltage surge; downstream components can afford lower voltage ratings, thereby saving costs. For more information, please click here.
12-port Signal Integrity Network Analyzers LeCroy Corporation, a leading supplier of oscilloscopes, serial data test solutions and network analyzers, announces the availability of 8 and 12port models of the SPARQ series of signal integrity network analyzers. The SPARQ makes S-parameter measurements quickly and is a fraction of the price of a Vector Network Analyzer (VNA). With the 8 and 12-port SPARQ models, signal integrity engineers finally have the product they need to characterize crosstalk in multi-lane differential structures. The market is rapidly adopting high speed multi-lane serial data signaling, creating new technical challenges for design engineers. Traditional network analyzers are prohibitively expensive and time-consuming to use for 8- and 12-port S-parameter measurements. More suitable and affordable tools are needed. The new SPARQ models are priced at a fraction of the cost of less capable VNAs. For example, the 12-port SPARQ is priced similarly to a 4-port VNA. For more information, please click here.
3D NanoCompass Dev Kit Baolab Microsystems has announced that it will have evaluation kits of its recently announced 3D NanoCompass™ available at the end of February 2012. This electronic 3-axis CMOS MEMS NanoCompass technology uses Baolab’s patented, award winning NanoEMS™ technology to create nanoscale MEMS (Micro Electro Mechanical Systems) within the standard metal structure of a high volume manufactured CMOS wafer. F “We are now producing NanoEMS sensors in volume in a standard CMOS production line.” said Dave Doyle, Baolab’s CEO. “The move from lab to fab is a significant milestone for the company, proving that our innovative technology is reliable, scalable and repeatable. This was the critical stage that our customers have been waiting for. NanoEMS makes it much easier and more cost effective to integrate MEMS sensors with microcontrollers and associated electronics all on the same chip in the same CMOS production line. For more information, please click here.
EEWeb | Electrical Engineering Community
Visit www.eeweb.com
17
FEATURED PRODUCTS
Overvoltage Protection Controller
How Does Synthesis Work?
Ray Salemi
Senior Verification Consultant
For the past several months we’ve been looking into what it takes to write good register-transfer level (RTL) code. We’ve looked at how to write register-driven RTL, how to write combinatorial processes, and how to write state machines. All of this work assumes that we have a synthesis tool that converts our well-written RTL into gates.
The same is not true of synthesis. Hardware synthesis is extremely sensitive to the way we write our RTL. We can create dramatically different hardware by writing RTL different ways. (See Control Synthesis Output with Combinatorial Logic in Procedural Code for an example of controlling synthesis with coding styles.) Given this sensitivity, we need to know how synthesis works.
This makes the synthesis tool a critical part of our workflow. It’s essential for us to understand how synthesis works, and how to make it work for us. In this article, we’ll discuss the basics of synthesis.
The Basic Synthesis Process
The first thing to know is that hardware synthesis is not software compilation. When we write software, we give little thought to how the compiler is converting our objects, data structures, types, and functions into assembly language. We just assume it will do a good enough job to let our code run on the target platform. In fact, it doesn’t do us much good to think too deeply about compilation because it’s difficult for us to control it with our coding style.
EEWeb | Electrical Engineering Community
At its most basic, a hardware synthesis tool does three things: 1. Compiles your RTL and creates a hardware representation of the logic and registers in your design. 2. Converts the generic representation of your design to the target hardware without worrying about timing. Usually the synthesis tool will try to make the smallest design possible at this point. 3. Compares the logic paths in your design to your timing constraints, and works to speed up paths that do not make timing. This is called timing optimization.
Visit www.eeweb.com
18
TECHNICAL ARTICLE
The three step process also helps us understand what happens when we have very easy timing constraints. Consider the case where your timing constraint is easy to meet because your target chip is very fast and your paths are very short. In that case, the synthesis tool won’t find any paths in Step 3 that miss timing, and you’ll get the smallest possible design with the shortest synthesis time. Understanding these three steps also tells us that overconstraining a design too much is worse than not giving it any timing constraints. Many people make the mistake of thinking of timing constraints in the same way that we think of the accelerator on a car. If you stomp on the accelerator, then the car will work harder and go faster. This is not true with synthesis. If you grossly overconstrain a design—for example, if you set the constraint to two times your target clock rate—you won’t make the synthesis tool work harder. Instead your synthesis tool will reach Step 3 and find out that almost none of the paths make timing. It will get to work on the worst offenders, probably paths that were never intended to make 2x timing, and then it will give up before trying to optimize the others. The result? A grossly overconstrained design will actually get worse timing than a design with a modest 10% overconstraint. The timing will be random because
For the most part [1], synthesis tools have a very simple view of your design. They break all designs into three paths (Figure 1): • Ports to Registers—This is logic that goes from the input pins of your module to the input pins of your first registers. • Registers to Registers—This is logic that goes from the output pins of one set of registers to the input pins of the next set of registers. • Registers to Port—This is logic that goes from the output pins of the last set of registers to the output ports. The “Ports” in this diagram can either be the input and output pins of your chip, or they can be the input and output ports of a module. Synthesis views both the same way. When you set a timing constraint on your design, the synthesis tool turns that timing constraint into three constraints. For example, say you want to have a clock speed of 100Mhz. A synthesis tool will break this into three constraints: • Port to Register: 10ns • Register to Register: 10ns • Register to Port: 10ns
Logic
Register
Logic
Understanding Timing Constraints
Register to Register
Register
Port to Register
the synthesis tool will not know where to focus its efforts and it will give up on the process too early.
Register to Port
Logic
Figure 1
EEWeb | Electrical Engineering Community
Visit www.eeweb.com
19
TECHNICAL ARTICLE
Understanding these three steps highlights one of the most important facts about synthesis: if you do not create timing constraints you will probably get the smallest design possible, but you may not meet your timing goals.
TECHNICAL ARTICLE 10ns
Port to Register
Register to Register
Register to Port
Port to Register
Register to Register
Register to Port
Logic
Logic
Logic
Logic
Logic
Register
10ns
Register
10ns
Register
10ns
Register
10ns
TECHNICAL ARTICLE
10ns
Logic
Figure 2
The Register to Register constraint of 10ns is easy to understand. It’s the Port to Register and Register to Port constraints that can get tricky. Say, for example, that the signals on your board won’t reach your chip for 5ns. If the synthesis tool allows a 10ns Port to Register path, then you will not make timing. The signal will arrive 5ns late and then it won’t be ready to settle until 15ns into the clock cycle. You can address this problem two ways: you can either change the Port to Register constraint to 5ns, or you can register your signals as soon as they come into your chip. This is why many FPGAs have registers built into the input pins. Timing, Hierarchy, and Constraints Notice that I described the input and output constraints as “Port to Register” and “Register to Port,” not “Pin to Register.” This is because it is best to think of synthesis tools as focusing on one module at a time when they synthesize [2]. This is an artifact of the memory requirements of timing analysis. Timing analysis can take a lot of memory, and that memory use goes up quickly with the size of the modules. So if a synthesis tool looks at one module at a time, it can handle a large design without running out of memory.
memory requirements, but I cannot see the relationship between the output path of the module on the left and the input path of the module on the right. This could lead to timing problems. I could get around this by telling the synthesis tool to “flatten” the design—that is to get rid of all the modules and make one big module. Now my synthesis tool will see all the paths, but it will use a lot of memory—perhaps too much memory for my machine. Modern synthesis tools try to help with this tradeoff by selectively flattening smaller modules, and by using some algorithms that allow them to take the output paths of some modules into consideration when looking at the input paths of downstream modules. But the basic tradeoff still exists. We get the most accurate timing when we flatten the design, but it can take a lot of memory. My advice is two-fold: Register the output of your modules whenever possible to avoid having a noticeable register-to-output path. Let the synthesis tool manage your module hierarchy. If the tool thinks it should flatten the design then let it flatten the design. If you follow these two steps, you will usually get what you expected from your synthesis tool.
This gives us a tradeoff to consider. Let’s look at a multimodule design (Figure 2).
Summary and Downstream Complications
In this design, I have two modules with 10ns constraints on the paths. If I look at one module at a time I have lower
In this article we examined some of the basics of synthesis and we saw how a synthesis tool can create a
EEWeb | Electrical Engineering Community
Visit www.eeweb.com
20
TECHNICAL ARTICLE modern synthesis tools can consider several modules at once and can optimize across module boundaries. Yes there are. But not all of them can, and it is safest to think of synthesis in this module-by-module way to understand the tradeoffs.
References
About the Author
[1] I say “for the most part” because optimization techniques can blur the concepts in this section. That said, the concepts here form the core of synthesis technology. If you think of synthesis in these terms you will be on the right track.
Ray Salemi is a veteran of the EDA industry and has been working with Hardware Description Languages since he joined Gateway Design Automation—the company that invented Verilog. Over the course of his career he has worked at Cadence, Sun Microsystems, and Mentor Graphics. Ray is currently an Applications Engineer Consultant with Mentor Graphics. ■
[2] There are those who would point out that many
BeStar
®
Teamwork • Technology • Invention • Listen • Hear
ACOUSTICS & SENSORS PRODUCTS
INDUSTRIES
Speakers
Automotive
Buzzers
Durables
Piezo Elements
Medical
Back-up Alarms
Industrial
Horns
Mobile
Sirens/Bells
Fire / Safety
Beacons
Security
Microphones
Consumer
Sensors
Leisure
Preferred acoustic component supplier to OEMs worldwide
bestartech.com | sales@bestartech.com | 520.439.9204 EEWeb | Electrical Engineering Community Visit www.eeweb.com QS9000 • TS/ISO16949 • IS O 14001 • IS O 13485 • IS O 9001
21
TECHNICAL ARTICLE
netlist that it believes will meet timing. In our next article, we’ll see how this can all go to pot when the netlist runs through the Place and Route tool, and we’ll examine ways to ensure that we meet timing after we’ve placed our netlist into our FPGA.
Get the Datasheet and Order Samples http://www.intersil.com
Dual 14-Bit, 250/200/125 MSPS JESD204B High Speed Serial Output ADC ISLA224S
Features
The ISLA224S is a series of low-power, high-performance, dual-channel 14-bit, analog-to-digital converters. Designed with FemtoCharge™ technology on a standard CMOS process, the series supports sampling rates of up to 250MSPS. The ISLA224S is part of a pin-compatible family of 12- and 14-bit dual-channel A/Ds with maximum sample rates ranging from 125MSPS to 250MSPS and shares the same analog core as Intersil's proven ISLA224P series of ADCs. The family minimizes power consumption while providing state-of-the art dynamic performance, offering an optimal performance-vspower trade-off.
• JESD204A/B High Speed Data Interface - JESD204A Compliant - JESD204B Device Subclass 0 Compliant - JESD204B Device Subclass 2 Compatible - Up to 3 JESD204 Output Lanes Running up to 4.375Gbps - Highly Configurable JESD204 Transmitter • Multiple Chip Time Alignment and Deterministic Latency Support (JESD204B Device Subclass 2) • SPI Programmable Debugging Features and Test Patterns • 48-pin QFN 7mmx7mm Package
Differentiating the ISLA224S from the ISLA224P is its highly configurable, JESD204B-compliant, high speed serial output link. The link offers data rates up to 4.375Gbps per lane and multiple packing modes. It can be configured to use two or three lanes to transmit the conversion data, allowing for flexibility in the receiver design. The SERDES transmitter also provides deterministic latency and multi-chip time alignment support to satisfy an application's complex synchronization requirements. A serial peripheral interface (SPI) port allows for extensive configurability of the JESD204B transmitter including access to its built-in link and transport-layer test patterns. The SPI port also provides control for numerous additional features including the fine gain and offset adjustments of the two ADC cores as well as the programmable clock divider, enabling 2x and 4x harmonic clocking. The ISLA224S is available in a space-saving 7mmx7mm 48 Ld QFN package. The package features a thermal pad for improved thermal performance and is specified over the full industrial temperature range (-40°C to +85°C).
Key Specifications
• SNR @ 250/200/125MSPS 73.2/74.1/75.1 dBFS fIN = 30MHz 70.7/70.7/70.6 dBFS fIN = 363MHz • SFDR @ 250/200/125MSPS 82/91/94 dBc fIN = 30MHz 77/79/67 dBc fIN = 363MHz • Total Power Consumption: 989mW @ 250MSPS
Applications • • • • •
Radar and Satellite Antenna Array Processing Broadband Communications and Microwave Receivers High-Performance Data Acquisition Communications Test Equipment High-Speed Medical Imaging
Pin-Compatible Family RESOLUTION
SPEED (MSPS)
PRODUCT AVAILABILITY
ISLA224S25
14
250
Now
ISLA224S20
14
200
Now
ISLA224S17
14
170
Soon
ISLA224S12
14
125
Soon
ISLA222S25
12
250
Soon
MODEL
ISLA222S20
12
200
Soon
ISLA222S12
12
125
Soon
FIGURE 1. SERDES DATA EYE AT 4.375Gbps
December 20, 2011 FN7911.0
Intersil (and design) is a registered trademark of Intersil Americas Inc. Copyright Intersil Americas Inc. 2011 All Rights Reserved. All other trademarks mentioned are the property of their respective owners.
A System Perspective on Specifying Electronic Power Supplies:
Bob Stowe
Power Supply Design Consultant
Source Characterization Last time we discussed the effects of load characteristics upon power supply specification. This month we will learn about important source characteristics for power supply specification.
Additionally, the power supply must satisfy regulatory requirements for its effective impedance such that line current distortion does not exceed regulatory limits.
Figure 1 shows a power supply in a very simplified form, connected to a simplified source. The voltage source shown is ideal. The illustrated source impedance represents the combination of the non-ideal voltage source impedance and the impedance of the conductors carrying current from the voltage source to the power supply input. Power supplies must accommodate not only the ideal characteristics of the voltage source, but also the effects of the source impedance upon the power quality at the power supply input.
AC Sources
Source Voltage Real world voltage sources can be alternating current (AC) which means that the current reverses direction a specified number of times per second. However, it is the root mean squared (RMS) voltage which is quantified. Across the world, the nominal utility RMS voltages range from 100V in Japan to 240V in several countries. In most countries, the voltage at the source has a +/- 5% tolerance. Typical voltage drops on the lines range up to 5% due to utilization. Therefore
EEWeb | Electrical Engineering Community
the voltage seen by the user is typically in the range of +5% to -10% of nominal. This means that across the world, the low line RMS voltage at the point of usage can be as low as 90V (Japan), or as high as 252V. One exception is Afghanistan where the RMS source voltage can range as high as 280V. As a result of the proliferation of electronic loads, large peak currents exist at the peak of the utility voltage sine wave. These peak currents create large voltage drops across the source impedance resulting in distortion of the sine wave at the peak. The result is that the measured peak voltage at the point of use is somewhat less than what an undistorted sine wave would be.
Visit www.eeweb.com
23
TECHNICAL ARTICLE Line Current
Voltage Source
Power Supply Input Voltage
Effective Power Supply Input Impedance
Figure 1: Simplified representation of power supply and source.
This effect must be accounted for in the design of power supplies. The power supply must be specified to accommodate all of these effects. Specification of power supply requirements should include the factors of RMS voltage range at the points of use. It is helpful to also provide minimum peak voltages to provide information on utility voltage distortion. DC Sources Direct current (DC) comes from a source which normally does not reverse polarity. Pulsating current or voltage is still considered DC as long as the current does not reverse direction. Practically speaking, a DC source is primarily a steady DC level with little or no ripple component. In the ideal case, a DC source is a special case of an AC source where the frequency is zero. DC sources usually have a nominal value with a specified tolerance around the nominal. The power supply must be specified to accommodate this range.
Frequency Nominal frequencies that power supplies must commonly accommodate are DC, 50Hz, 60Hz, and 400Hz. Aviation applications commonly use 400Hz. The utility grid frequency tolerance is very tight, about +/- 0.02Hz. For the case when there is a utility power outage, the power supply must be specified to accommodate the tolerance of any standby generators installed. The usual tolerance for this case is +/- 3Hz. For aviation requirements for 400Hz power, the tolerance is +/- 7Hz. See MIL-STD-704F for details. Phase Count Power is provided in either singlephase for lower power demands or three-phase for industrial power demands. Three phase usage can provide much greater power to the load because the associated line currents are much less, resulting in much lower I2R losses in the cables and connections. If a source is three-phase, the power
EEWeb | Electrical Engineering Community
supply could be single-phase, tapping off just two of the lines. However, this method results in unbalanced usage of the available power, which creates undesirable currents in the neutral conductor. Furthermore, the power supply cannot extract as much power from the lines. If three-phase power is provided, it is better for the power supply to have a three-phase front end to use the available three-phase power. Source Impedance In this article, source impedance refers to the combination of the actual source and the line impedance as seen from the point of use. This impedance can be a combination of resistance, inductance, or even capacitance. The source impedance is responsible for utility line voltage distortion at the peak when electronic loads pull large peak currents through the impedance. This distortion is typically caused by other electronic loads in parallel with your load on the utility grid.
Visit www.eeweb.com
24
TECHNICAL ARTICLE
Source Impedance
TECHNICAL ARTICLE
The power supply must be specified to accommodate the source impedance characteristics. Source Transients There are some adverse conditions on the source which need to be considered as to how the power supply should handle them. Blackout/Momentary Loss of Power For short duration loss of power up to several line cycles, power supplies can often be designed for a hold-up time, during which power is drawn from an energy storage reservoir such as a capacitor. For longer duration transients, batteries must be used to provide this reservoir of energy. The power supply holdup time should be specified in the event of a power loss. Brownout A brownout is typified by a source voltage reduction below the specified tolerance range from nominal. Normally power supplies have plenty of margin to
accommodate minor brownouts. However, if the brownout is severe, the source voltage at the point of use can go below the capability of the power supply. Brownouts can be ignored or accommodated either by specifying the power supply to operate at a lower input voltage, or by resorting to a battery backup. The brownout duration that the power supply must ride through should be specified. Lightning and External Inductive Kick Transients Lightning or external inductive loads can cause line voltage transients capable of damaging electronics. Power supplies can be designed to tolerate transients of various durations and magnitudes using various different methods. The most common method in consumer electronics is to use transient suppression devices such as varistors, transorbs, and spark gaps across the input. These types of devices assume that the majority of the energy in the transient is absorbed by the impedance of the line while the device itself simply clamps the voltage. The device must be rated to handle the small amount of energy that is not absorbed by the line impedance. This method does not always work because it is difficult to design for all line impedance conditions. Another method is to use a voltage blocking device such as a power MOSFET to switch off the power supply for the duration of the transient. As long as the voltage rating of the blocking device is not exceeded, the transient energy will most likely be absorbed somewhere else. Another possibility is for the power MOSFET to pass power to the power supply while
EEWeb | Electrical Engineering Community
continuing to block the transient. The possible danger here, in addition to exceeding the voltage rating of the MOSFET, is exceeding the safe operating area rating of the device. For any of these transient protection methods, the transient should be understood, the line impedance should be known, and the power supply should be specified to accommodate them. Automotive electronics has some of the more severe transients to endure. SAEJ1113-11 and ISO 7637 contain test transients for automotive electronics. Source Rise Time Occasionally, source rise time, whether fast or slow, is an issue. It should be specified as one of the power supply requirements. Regulatory Requirements Harmonic Content Regulation Power supplies employ rectifiers to change AC voltage to DC voltage. In most practical circuits today, this is a highly non-linear process causing great distortion of the line current. This distortion of the line current causes a large voltage drop across the source impedance resulting in line voltage distortion at the point of use. In the interest of preserving utility line voltage quality, power supplies must now meet regulatory requirements. Line connected electronic power supplies above a certain power level must now employ power factor correction circuits to remove this distortion. The goal of power factor correction is to align the current drawn by the power supply with the line voltage.
Visit www.eeweb.com
25
TECHNICAL ARTICLE
Particularly with DC sources, if the source impedance is not low enough, and at heavy current draw by the power supply, the voltage drop along the lines can be great enough to disrupt power supply operation unless the power supply is designed to accommodate the drop. This problem is common with a switch mode power supply during turn-on when the current draw is the highest. It is possible for the switch mode supplies with under voltage lockout features to cycle on and off due to this problem unless there is sufficient under voltage lockout hysteresis built in.
TECHNICAL ARTICLE
TECHNICAL ARTICLE
EEWeb Electrical Engineering Community
Join Today www.eeweb.com/register
When the shape of the line current is the same as the line voltage, the power supply looks like a resistor to the line and the power factor is very near one—no distortion. For lighting circuits, power supplies above 25W require power factor correction. For most other power supplies, the power level above which there must be regulation is 75W. See IEC 61000-3-2 for details. Electromagnetic Compatibility Electronic equipment typically has signals with very fast signal transitions. These transitions propagate via conduction on the power leads to the source and via radiation to the environment and have disruptive effects on other equipment in the vicinity. There are several standards gov-
erning electromagnetic emissions. Applicability of standards is generally a function of the country the product is to be marketed in. If the product is to be marketed worldwide, then there will be numerous standards to satisfy.
States Naval Officer. As a former military officer, he is familiar with military project requirements. Bob works for True Power Research as a Power Supply Design Consultant. ■
About the Author Bob Stowe has over 21 years of experience in various disciplines related to electronic energy conversion, possesses a master’s degree in power electronics, and is a member of IEEE in good standing. He also has obtained his certification in power electronics from the University of Colorado (COPEC). Additionally, he graduated from the United States Naval Academy in 1984 with a bachelor’s degree in electrical engineering, and served for five subsequent years as a United
EEWeb | Electrical Engineering Community
Visit www.eeweb.com
26
RETURN TO ZERO RETURN TO ZERO
EEWeb | Electrical Engineering Community
Visit www.eeweb.com
27
RETURN TO ZERO RETURN TO ZERO
EEWeb Electrical Engineering Community
Contact Us For Advertising Opportunities
1.800.574.2791
advertising@eeweb.com www.eeweb.com/advertising EEWeb | Electrical Engineering Community
Visit www.eeweb.com
28