Problem 1—Tom, an FPGA designer, is helping out on a system that handles standard-definition digital video at 27 MHz and stores it into an SDRAM that runs at 200 MHz. He discovered the following logic in the FPGA (see Figure 1).

Let’s see if we can work out what it does. To start with, what is the output of the XOR gate in?

Answer 1—When the 27-MHz clock goes from low to high, the first flip-flop changes state. Let’s say that its output goes from low to high as well. Then, when the clock goes from high to low, the second flip-flop’s output will become the same as the first.

On the clock’s next rising edge, the first flip-flop will change again, this time from high to low. And on the next falling edge, the second one will follow suit.

Putting it another way, following each rising edge of the clock, the two flip-flops are different. Following each falling edge, they’re the same. Since we’re feeding them into an XOR gate, the gate’s output will be high following the clock’s rising edge and low following the falling edge. In other words, the XOR gate’s is a replica of the clock signal itself!

Problem 2—Why is this necessary?

Answer 2—In many FPGA architectures, clock signals are automatically assigned to special clock routing resources, which are different from—and kept separate from—the routing resources used for “ordinary” signals. The tools actually discourage (or even prevent) you from using a clock as an input to a gate or to any input of a flip-flop other than the clock input.

Therefore, when you need to pass a clock into another timing domain as a signal, it becomes necessary to generate an ordinary signal that is a replica of the clock. This is one way to accomplish that.

Problem 3—What is the AND gate’s output?

Answer 3—The three flip-flops in the 200-MHz domain have a delayed versions of the (replica) 27-MHz clock signal. The first two function as a conventional synchronizer to minimize the effects of metastability. The third one, along with the AND gate, functions as an edge detector, generating a one-clock pulse in the 200-MHz clock domain following each rising edge of the 27-MHz clock. This pulse might be used, for example, to initiate a write request in the SDRAM for each video data word.

Problem 4—Tom decided to verify the circuit’s operation in his logic simulator, but immediately ran into a problem. What was the problem and what could be added to the circuit to make simulation possible?

Answer 4—There is a subtle problem here for a simulator: All of the flip-flops start out in the “unknown” state. Feeding that back (inverted) to the first flip-flop leaves it in an unknown state. The entire simulation will never get out of the unknown state, even though we can reason that it doesn’t matter which actual state the first flip-flop starts out in. The XOR gate’s output will be known after one full clock cycle. To fix this, it is necessary to explicitly reset the first flip-flop at the beginning of the simulation, then the rest of the circuit will simulate normally.

# Electrical Engineering Crossword (Issue 278)

The answers to Circuit Cellar’s September electronics engineering crossword puzzle are now available.

ACROSS

4.    ADIABATIC—Heat is neither gained nor lost
5.    DISCRETECIRCUIT—Made of resistors and transistors; not integrated [two words]
8.    FULLDUPLEX—Two-way communication [two words]
10.    KERMIT—Muppet-inspired protocol
12.    DEBIAN—Unix-like OS
14.    CHIRP—Conveys information
16.    FORTRAN—Others like it include BASIC and Pascal
18.    NANOKERNEL—Contains a minute amount of code capable of executing in the hardware’s privileged mode
19.    RHEOSTAT—Current regulator

DOWN

1.    BIPOLARJUNCTION—There are two types: NPN and PNP [two words]
2.    ECBBUS—1970s communication system for Zilog and Intel microprocessors [two words]
3.    VISUALSERVOING—Used to control a robot’s motions [two words]
4.    ATTOSECOND—10-18 of a second
6.    NICKELCADMIUM—This small, light, high-power type is commonly used in hand-held devices [two words]
7.    DEFCON—Place where hackers annually assemble
9.    PIGGYBACKING—Bi-directional data transmission
11.    GRASSHOPPER—Programming language for rhinos
15.    RASPBERRYPI—An inexpensive SBC [two words]
17.    LIDAR—Laser-based measurement technique

# Q&A: Jack Ganssle, Electronics Entrepreneur

Jack Ganssle is a well-known engineer, author, lecturer, and consultant. After learning about oscilloscopes, transistors, and capacitors in his father’s engineering lab, Jack went on to write hundreds of articles and several books about embedded development-related topics. He also started and sold three electronics companies, worked on classified government projects, and founded The Ganssle Group, based in Reisterstown, MD. I recently spoke with Jack about some of his career highlights, his current work, and what’s next in the embedded design industry.—Nan Price, Associate Editor

NAN: You’ve been interested in electronics since the age of 9. Give us a little background information. What was your first project?

Jack Ganssle

JACK: My first project was a crystal radio with the inductor wound on the quintessential Quaker oatmeal box! It was really exciting to get AM reception over that. Back then, pretty much no one had FM. AM was it.

Later I learned to repair TVs and made pocket money doing that. Those sets were all vacuum tubes. Usually there was just a bad tube or dried out capacitor. But from there, my friends and I learned to design amplifiers (the Beatles were very hot and everyone was starting a band). For graduation from eighth grade, my dad gave me an old oscilloscope he had built from a kit years earlier.

He was part of a startup when I was in my early teens. We kids were coerced into being the (unpaid) janitors for the place. That was annoying at first. But, we were allowed to keep anything we swept up. The engineering lab’s floor was always covered in resistors, capacitors, transistors, and the like, so my parts collection grew. (ICs existed then, but were rare.)

When I was 16 I got a ham license, built  various transmitters, and used WWII surplus receivers. One day an angry letter arrived from the Federal Communications Commission (FCC). They had picked me up on my second harmonic clear across the country. I was really proud of that contact.

But it wasn’t long before some resistor-transistor logic (RTL) digital ICs came my way. Projects included controls for tube transmitters, Estes model rocket telemetry, and even a crude TV camera that used a photomultiplier tube to scan a spiral set of holes in a spinning disk. A couple of us worked on a ham radio moon bounce, but I accidentally shorted out a resistor and my only hydrogen thyratron (sort of a tube version of an SCR) blew up. There was no money for a replacement, so that project died. The transmitter used a little lighthouse tube that had a maximum rating of a couple of watts, but it worked OK when pulsing it for a few microseconds at 1 kW.

Senior year of high school a friend and I hitchhiked from Maryland to Boston to go to a surplus store. I bought a core memory plane that was 13,000 bits in a 6 in2 cube. Long hair didn’t help. We were picked up on the New Jersey Turnpike and strip searched. The cops never believed my explanation that the thing was computer memory.

A few years later, I had a 6501 microprocessor in the glove compartment of my Volkswagen bus (which I lived in for a year while saving for a sailboat). Coming into a sleepy Maine town from Canada that event was repeated when the border cops searched the bus and found the chip. They didn’t believe in computers on a chip. But the PC was years away and computers were mostly seen in science fiction films.

Freshman year of college, I designed and built a 12-bit computer using hundreds of TTL chips soldered together using phone company wire on vectorboards. For I/O there was an old Model 15 teletype using 5-bit Baudot codes that my software drove via bit banging. The OS, such as it was, lived in a pair of 1702 EPROMs, which each held 256 bytes. The computer worked great! And then the 8008, the first 8-bit microcontroller, came out and the thing was obsolete. I junked it, and now I wish I had saved at least the schematics.

But by then I had been working part-time as an electronics technician for a few years and the company needed to update its analog products to digital. No one knew anything about computers, so they promoted me to engineer. Eventually I ran the digital group there. We designed one of the first floppy disk controllers, insanely high-resolution graphics controllers, and a lot of other products. We also integrated minicomputers (Data General Novas and DEC PDP-11s) into systems with microprocessors. We bought a 5-MB disk drive for a Nova. It cost \$5,000 (back when that was a lot of money) and weighed 500 lb. How things have changed.

NAN: Tell us about The Ganssle Group (www.ganssle.com). When and why did you start the company? What types of services do you provide?

JACK:  I formed The Ganssle Group in 1997 after 15 years of running an in-circuit emulator company. Working 70 h a week was getting old and I wanted more time with my kids. So my objective was to reverse the usual model. Instead of fitting life around a job, I wanted to fit the job into life.

Goal 1: Four months of vacation a year. It turns out that is elusive, in no small part due to the cool stuff going on around here, but most years we do manage two to three months off. My wife, Marybeth, works with me. She takes care of all of the administrative/travel and the like.

Goal 2: No commute. So we work out of the house (for the first few years, we worked out of the houseboat where we raised two kids).

Now the kids are grown, so there’s a Goal 3: Have as much fun as possible with Marybeth, so when I travel to new or interesting places she often accompanies me. There’s a lot more to life than work. Some of my side projects are available at www.ganssle.com/jack.

I’m not really sure what I do. I write—a lot. Readers are incredibly smart and vocal. The dialogue with them is a highlight of my day. I also give one- and two-day seminars on pretty much every continent (except Antarctica—so far!) about ways to get better firmware done faster. Sometimes I do an expert witness gig. Those are always fascinating as one gets to dig deeply into products and learn about the law. On rare occasions, I’ll do a day or three of consulting if the problem is particularly interesting. And there’s always some experiment I’m working on, which sometimes gets written up as an article.

NAN: Speaking of articles, you’ve written hundreds—including nine for Circuit Cellar magazine—on topics ranging from the history of the embedded systems programming industry, to memory management, to using programmable logic devices (PLDs). You also write a column for Embedded (www.embedded.com) and you are editor of the biweekly newsletter The Embedded Muse. Tell us about the types of projects you enjoy constructing and writing about.

The breadboard is discharging batteries. To the left, a battery is soldered to some coax. Using the waveform generator in the oscilloscope I’m measuring the battery’s reactance (which, it turns out, is entirely capacitive). The IAR tool is profiling current consumption of an evaluation board.

JACK: I have one experiment that’s running right now. For the last four months I’ve been discharging coin cells. It sounds dull, but some microcontroller vendors are making outrageous claims about battery life that are on the surface true but irrelevant in real circuits. This circuit runs a complex profile on the batteries, tossing different loads on for a few milliseconds, and an ARM microcontroller samples the batteries’ voltage (as well as the transistors, VCE drop) into a log file. That data goes into a spreadsheet for further analysis. I’m making a much bigger version of this now, which will handle far more batteries at a time. I recently gave some preliminary results at a talk in Asilomar, CA, which garnered a lot of interest. More results will be forthcoming soon…I promise!

Another aspect of this is leakage. Does handling a battery leave finger oils that can affect the decades-long life claimed by the vendors? To test this, I built a femtoammeter. A polypropylene capacitor is charged and feeds a super-low bias current op-amp. Another ARM board monitors the op-amp voltage to watch the capacitor discharge as various contaminants are electrically connected to the capacitor. With no contaminants connected, even after 48 h, the cap discharged less than 1 mV. The thing resolves to better than 10 fA. (One fA is a millionth of a nanoamp, or about 6,000 electrons/second).

In fact, the ADC’s transfer function is a proxy for temperature. We heat the house with wood and you could see a perfect correlation of op-amp output and temperature throughout the day. (It’s lowest in the morning as the fire burns out overnight.)

NAN: You wrote the two-part Circuit Cellar article series, “Writing a Real-Time Operating System” (Issue 7 and 8, 1989) about the Hitachi HD64180 Z80-based embedded microprocessor nearly 15 years ago. Circuit Cellar also featured another HD64180-based article, “Huge Arrays on the HD64180: Taking Advantage of Memory Management” (Issue 16, 1990). What was your fascination with the HD64180? Also, is either of these projects still current? Have you changed any of the design components?

JACK: Gee, I have no idea. I wrote those using Microsoft Works, but the file format has changed and Works can no longer open those articles. Alas, the HD64180 is quite obsolete. It was a grown-up version of the Z80 and very popular in its day.

In 1974, Intel introduced the 8080, which was the first really decent 8-bit microprocessor. But it needed two clocks and three power supplies. The folks at Zilog came out with the Z80 a year later. It could run 8080 code, but had one clock, a single 5-V supply, and it offered additional instructions that massively improved code density. Intel responded with the 8085, but it was really an 8080 in drag. The couple of new instructions added just couldn’t give the Z80 a run for its money. Eventually Zilog came out with the Z180, and Hitachi the 64180 clone, which included on-board peripherals and a memory management unit to address 1 MB using standard Z80 instructions. It was a great idea, but since there was no on-board memory, it couldn’t compete with microcontrollers such as the ancient, and still-going-strong, 8051.

NAN: In addition to writing, you lecture and teach at conferences and symposiums worldwide. Tell us about your one-day “Better Firmware Faster” seminar. How did it begin? What can attendees expect to gain from it?

JACK: I’m completely frustrated with the state of firmware. It’s inevitably late and buggy. While there’s no doubt that crafting firmware is extremely difficult—after all, software is the most complex engineered product ever invented—we can and must do better. It’s astonishing that so few groups keep even the simplest metrics, yet engineering is all about numbers.

The seminar is a fast-paced event that shows developers better ways to get their code to market. It covers process issues, as well as a lot of technology areas unique to embedded systems, such as managing memory and dealing with tough real-time problems.

What can attendees get from it? It varies from very little to a lot. Some groups refuse to change anything, so will always maintain the status quo. Others do better. Some report 40% improvements to the schedule and up to an order of magnitude of reduction in shipped bugs.

NAN: You started three high-tech companies prior to The Ganssle Group. Tell us about your work experience. Any highlights?

JACK: Well, there was one instrument that used infrared light to measure protein in cow poop. Though it was interesting technology, it’s hard to call that a highlight. The design I’m most proud of was my first emulator, which had only 17 ICs and used insanely complex code. Eventually we offered emulators that required hundreds of chips, but those cost \$7,000, while the first one sold for \$600.

Some of the government work I’ve done was very interesting and used extremely sophisticated electronics. But I can’t talk about those projects. A buddy and I did the White House security system during the Reagan administration. It was fun to work in the basement there, but the bureaucracy was stifling. We lost our White House passes the same day Oliver North did, but he got more press.

NAN: What do you consider to be the “next big thing” in the embedded design industry? Is there a particular technology that you’ve used or seen that will change the way engineers design in the coming months and years?

JACK: Everything is going to change for us over the next five to 10 years. We will have tools that automatically find lots of bugs. Everyone is familiar (and has a love/hate relationship) with lint. But static analyzers can today find lots of runtime bugs. These are currently expensive and frustrating, but they demonstrate that such products can, and will, exist. When the issues are resolved, I expect they’ll be as common as IDEs. Debugging manually is hugely expensive.

Another tool is slowly gaining acceptance: so-called virtualization products (e.g., from Wind River and others). These are not the hypervisors people think about when using the word “virtualization.” Rather, they are complete software models of a target system. You can run all—and I mean all—of your code on the model. The hardware is always late. These tools will permit debugging to start at the beginning of the project. The tools are also expensive and somewhat clumsy, but will get better over time.

A modern smartphone has more than 10 million lines of code. Automobiles often have more. One thing is certain: Firmware will continue to grow in size and complexity. The current techniques we use to develop code will change as well.

# Electrical Engineering Crossword (Issue 277)

The answers to Circuit Cellar’s August electronics engineering crossword puzzle are now available.

ACROSS

6.    ALGORITHM—Search engines use them to produce real-time results
9.    LOSSYCOMPRESSION—Condenses data by getting rid of some of it [two words]
11.    YOTTABYTE—Approximately 1,024 bytes
14.    PETAFLOP—Measures an FPU’s performance
15.    JQUERY—JavaScript library popularity contest winner
17.    THICKCLIENT—Able to function without a central server [two words]
18.    NYBBLE—4 bits
19.    DEGAUSSING—Gets rid of magnetism
20.    SPINTRONICS—aka, magnetoelectronics

DOWN

1.    YANG—Co-founded a multinational Internet company in 1994
2.    MICROSOFT—Originally created and sold BASIC computer programs for the Altair 8800 microcomputer
3.    CHARACTERLARGEOBJECT—Used to store large amounts of text [three words]
4.    ACGENERATOR—Changes mechanical energy into electrical energy [two words]
5.    DROPPER—Installs malicious code onto computers
7.    TRINITRON—Sony Corp.’s CRT technology
8.    BEAMWIDTH—Commonly specified at –6 dB, –10 dB, and –20 dB
10.    OVERCLOCKING—Makes the time go by more quickly
12.    FERROMAGNETIC—e.g., iron, cobalt, and nickel
13.    BAUDOTCODE—An early digital communication method [two words]
16.    AUTODYNE—Invented in 1914 by electrical engineer Edwin Armstrong, who is also credited with creating FM radio transmission

Problem 1
Suppose you have an ordinary switch mode buck regulator. The input voltage is 100 V, the switch’s duty cycle is exactly 50%, and you measure the output voltage as 70 V. Is this converter operating in continuous conduction mode or discontinuous conduction mode? How can you tell?

If a switch mode buck converter is operating in continuous conduction mode, then the output voltage is the fraction of the input voltage as defined by the duty cycle. 100 V × 0.5 would equal 50 V. Therefore, this converter is operating in discontinuous conduction mode.

Note that continuous conduction mode includes the case in which synchronous (active) rectification is being used and the current through the coil is allowed to reverse direction when the output is lightly loaded. The output voltage in relation to the input voltage will still be defined by the switch duty cycle.

Therefore, we also know that the regulator in question is not using synchronous rectification, but rather is using a diode instead.

Problem 2
Since a diode can be placed in a High-Impedance state (reverse-biased) or a Low-Impedance state (forward-biased), they are sometimes used to switch AC signals, including audio and RF. What determines the magnitude of a signal that a diode can switch?

When diodes are used for signal switching, there are two considerations with regard to the magnitude of the signal relative to the DC control signal:

• In the Blocking state, the reverse bias voltage must be greater than the peak signal voltage to prevent signal leakage. Also, a high-bias voltage reduces the parasitic capacitance through the diode. PIN diodes are often used for RF switching because of their ultra-low capacitance.
• In the On state, the forward DC control current through diode must be greater than the peak AC signal current, and it must be large enough so that the current doesn’t approach the diode curve’s “knee” too closely, introducing distortion.

Obviously, the diode needs to be rated for both the peak reverse voltage and the peak forward current created by the combination of the control signal and the application signal.

Problem 3
What common function does the following truth table represent?

 A B C X Y Z 0 0 0 ? 0 0 0 0 0 1 ? 0 0 1 0 1 0 ? 0 1 0 0 1 1 ? 0 0 1 1 0 0 ? 1 0 0 1 0 1 ? 0 0 1 1 1 0 ? 0 1 0 1 1 1 ? 0 0 1

The truth table implements a form of priority encoder:

Z is set if C is set, otherwise
Y is set if B is set, otherwise
X is set if A is set

In other words, C has the highest priority and A has the lowest. However, unlike conventional priority encoders that produce a binary output, this one produces a “one hot” encoding.

Problem 4
Write the equations for the logic that would implement the table.

The logic is quite straightforward:

Z = C
Y = B & !C
X = A & !B & !C

# Electrical Engineering Crossword (Issue 276)

The answers to Circuit Cellar’s July electronics engineering crossword puzzle are now available.

Across
3.    CRAY—Seattle, WA-based supercomputer company founded in the 1970s
5.    SUPERSTATE—A subprogram common to several states [two words]
7.    ONESCOMPLIANT—Inverted bits’ value [two words]
11.    BACKPLANE—Lacks processing and storage
13.    FALSECLOCK—Locks on an incorrect frequency [two words]
15.    TERNARY—This signal is capable of taking on one of three conditions
17.    JABBER—XML messaging protocol (hint: prior to 2000)
18.    DIRECTCURRENT—Zero frequency [two words]
20.    SERIALTRANSFER—Moves data bit by bit [two words]

Down
1.    LYAPUNOV—Theory applies input-to-state (ISS) to systems with inputs
2.    LOWFREQUENCYOSCILLATOR—Produces a frequency below approximately 20 Hz [three words]
4.    HASHING—Security method
6.    SIGNIFICAND—aka, mantissa
8.    THYRISTOR—They have a four-layer N- and P-type construction
9.    HALFADDER—Combines two single binary digits [two words]
10.    DARKTRACE—A type of direct-view bistable storage tube [two words]
14.    SYMMETRIC—Uses the same key to code and decode
19.    KAHAN—Helped create the IEEE 754 floating-point computation specification

# Electrical Engineer Crossword (Issue 275)

The answers to Circuit Cellar’s June electronics engineering crossword puzzle are now available.

Across

2.    UNIFIEDMODELING—Language that standardizes software specifications
3.    KELVINBRIDGE—Compares low resistance values [two words]
6.    THINCLIENT—A codependent program [two words]
10.    BANANAPLUG—Makes electrical connections [two words]
11.    CONDENSER—aka capacitor
13.    ASTABLE—A multivibrator circuit
15.    FLIPFLOP—A fundamental building block [two words]
18.    AMMETER—Used to calibrate current
19.    CLOCKGATING—Method of lowering dynamic power dissipation [two words]
20.    THERMIONICVALVE—Uses a vacuum to control electric current [two words]

Down

1.    VISITORPATTERN—Keeps an algorithm away from an object structure
4.    RUNTIME—Multi-lingual computer system
5.    FIELDEFFECT—This type is unipolar [two words]
7.    LISSAJOUSCURVE—An oscilloscope trace [two words]
9.    CASCODECIRCUIT—Provides amplification [two words]
12.    CRON—Keeps things on schedule
16.    RETFIE—Instruction that enables new interrupts to occur
17.    SELSYN—aka mag-slip

The answers to the Circuit Cellar 274 Engineering Quotient are now available. The problems and answers are listed below.

Problem 1—What is wrong with the name “programmable unijunction transistor?”

Answer 1—Unlike the original unijunction transistor—which really does have just a single junction—the programmable unijunction transistor (PUT) is actually a four-layer device that has three junctions, much like a silicon-controlled rectifier (SCR).

Problem 2—Given a baseband channel with 3-kHz bandwidth and a 40-dB signal-to-noise ratio (SNR), what is the theoretical capacity of this channel in bits per second?

Answer 2—The impulse response of an ideal channel with exactly 3 kHz of bandwidth is a sinc (i.e., sin(x)/x) pulse in the time domain that has nulls that are 1/6,000 s apart. This means you could send a series of impulses through this channel at a 6,000 pulses per second rate. And, if you sampled at exactly the correct instants on the receiving end, you could recover the amplitudes of each of those pulses with no interference from the other pulses on either side of it.

However, a 40-dB signal-to-noise ratio implies that the noise power is 1/10,000 of the maximum signal power. In terms of distinguishing voltage or current levels, this means you can send at most sqrt(10,000) = 100 distinct levels through the channel before they start to overlap, making it impossible to separate one from another at the receiving end.

100 levels translates to log2100 = 6.64 binary bits of information. This means the total channel capacity is 3,9840 bits/s (i.e., 6,000 pulses/s × 6.64 bits/pulse).

This is the basis for the Shannon-Hartley channel capacity theorem.

Problem 3—In general, is it possible to determine whether a system is linear and time-invariant (LTI) by simply examining its input and output signals?

Answer 3—In general, given an input signal and an output signal, you might be able to definitively state that the system is not linear and time-invariant (LTI), but you’ll never be able to definitively state that it is, only that it might be.

The general technique is to use information in the input signal to see whether the output signal can be composed from the input features. Input signals (e.g., impulses and steps) are easist to analyze, but other signals can also be analyzed.

Problem 4—One particular system has this input signal:

Figure 1

The output is given by:

Figure 2

Is this system LTI?

Answer 4—In this example, the input is a rectangular pulse that can be analyzed as the superposition of two step functions that are separated in time, one positive-going and the other negative-going. This makes the analysis easy, since you can see the initial response to the first step function then determine whether the response following the second step is a linear combination of two copies of the first part of the response.

In this case, the response to the first step function at t = 0 is that the output starts rising linearly, also at t = 0. The second (negative) input step function occurs at t = 0.5, and if the system is LTI, you would expect the output to also change what it’s doing at that time. In fact, you would expect the output to level off at whatever value it had reached at that time, because the LTI response to the second step should be a negative-going linear ramp, which, when added to the original response, should cancel out.

However, this is not the output signal received, so this system is definitely not LTI.

# Electrical Engineer Crossword (Issue 274)

The answers to Circuit Cellar’s May electronics engineering crossword puzzle are now available.Across

1.            MOSIPROTOCOL—Adds a state indicating ownership [two words]

3.            SPECTROMETER—Measures wavelengths

8.            SHELL—Protects an operating system’s kernel

10.          CHARGE—Q

12.          ASSIGN—A FORTRAN control statement

13.          HALL—American physicist (1855–1938) who had an “effect” [two words]

15.          FIELDPROGRAMMABLE—Configurable after purchase [two words]

17.          MOUNTPOINT—In a Linux system, create this first to access the queue [two words]

19.          CORDIC—Calculate digit by digit

20.          MEISSNEREFFECT—Flux jumping [two words]

Down

2.            INTERPROCESSCOMMUNICATION—Data exchanging method [two words]

4.            SQUIRRELCAGE—Commonly used in asynchronous motors [two words]

5.            DEGLITCHER—Type of delay circuit, serves as a pulse generator

6.            MERCURYARC—Emits  bright bluish-green light [two words]

7.            BALLGRIDARRAY—Packages ICs [three words]

9.            THREADEDCODE—A compiler technique [two words]

11.          DARAF—Unit of elastance

14.          AMPEREHOUR—3,600 coulombs [two words]

16.          RIPPLE—Unwanted undulation

18.          NIXIE—Used for numeric display

# Brooklyn-Based Alpha One Labs

Alpha One Labs is a very active hackerspace located in Brooklyn. They frequently host events and offer many services to their members.

 Location 657 Meeker Ave #1L Brooklyn NY, 11222 Members 25-35 Website AlphaOneLabs.com

Mary Auriti is co-founder and secretary at Alpha One Labs. We ask her what she has to tell us about her space:

Approximately 900 sq. ft. with 18 ft. ceilings which could accommodate a second floor. We have a wall of pegboard with tools and custom built shelves with clear containers for supplies as well as small bins for little items. There is eight heavy duty desks, a taller work table and an adjustable height desk/work table. In the front area of our space we have a little lounge area with a small sofa, book shelf, fridge, coffee maker, big flat screen TV, twitter LED scroller, old school video consoles and games, and a gallery wall featuring a local artist’s work.

What tools do you have in your space? (Soldering stations? Oscilloscopes? 3-D printers?)

We have a JCUT 6090 laser cutter, a RepRap, drill press, saws, a Dremel, and other hand tools. Also, oscilloscopes and soldering irons.

If you could add three more tools, what would they be?

Welder, Epilogue laser cutter, and a CNC 5 axis mill

Does your group work with embedded tech (Arduino, Raspberry Pi, embedded security, MCU-based designs, etc.)?

We use Arduinos and are getting into Raspberry Pi.

Can you tell us about some of your group’s recent tech projects?

We have had a wide range of projects come through our lab as well as the ongoing big project of the physical lab space itself. Some projects from the past four years are:

• the “Twitmas Tree” (ornaments that light up every time someone tweets a holiday related word)
• butter churning with kosher cream from bed sty
• self-watering rooftop veggie garden
• LED hat displaying preset or dynamic messages
• Internet time piece
• and a stair climbing wheelchair — to name few

What’s the craziest project your group or group members have completed?

“Shot in the Dark” — A laser pointing to the center of the toilet bowel so men have a target.

We post all our events on our web site alphaonelabs.com and host a few meetups from time to time as people contact us. We like to be there for any group that needs us and shares our interests in the great wide space of making, art, technology, science, education, environmentalism, hacking.

What would you like to say to fellow hackers out there?

Come on down! We are open to all and love the diversity of people who come through our lab. We are consistently working on making our lab a place to encourage innovation and give people what they need to get their projects off the ground.

Keep up with Alpha One Labs! Check out their Facebook page or Twitter feed for current events or to get involved.

Show us your hackerspace! Tell us about your group! Where does your group design, hack, create, program, debug, and innovate? Do you work in a 20′ × 20′ space in an old warehouse? Do you share a small space in a university lab? Do you meet at a local coffee shop or bar? What sort of electronics projects do you work on? Submit your hackerspace and we might feature you on our website!

# Electrical Engineer Crossword (Issue 273)

The answers to Circuit Cellar’s April electronics engineering crossword puzzle are now available.

Across

1.         BITDENSITY—Bits per inch of magnetic tape, for example [two words]

3.         KALMANFILTER—aka LQE [two words]

5.         EMBEDDEDSECURITY—Circuit Cellar columnist Patrick Schaumont covers this topic with articles about authentication, encryption, and electronic signatures [two words]

7.         HAMMING—Error-correcting code

8.         SPURIOUS—Unintentional

11.       LAND—Electronics and Computer Engineering professor at Cornell University and Circuit Cellar frequent contributor (many of his students contribute to Circuit Cellar as well)

13.       CLAPP—American inventor who developed an oscillator frequency standard

14.       ELECTRODE—Able to interact with nonmetallic circuit parts

16.       RINGOSCILLATOR—A feedback structure with an odd number of digital inverters [two words]

17.       PLESIOCHRONOUS—A system that’s not quite in synch

18.       OSCILLOGRAPH—Takes electric current measurements

19.       REFLECTEDBINARYCODE—Created by Bell Labs physicist and researcher Frank Gray [three words]

Down

2.         DEADBAND—Potentiometer’s part shortened by a tap [two words]

4.         BECHTOLSHEIM—Electronics engineer and co-founder of the company that created Java

6.         CHIPBIOMETRICS—Digital fingerprints [two words]

9.         INCANDESCENT—Illuminating

10.       ALOHANET—Computer networking system from the 1970s

12.       EEVBLOG—Where to find electronics engineer David L. Jones’s off-the-cuff online videos

15.       EULERMETHOD—Solves equations [two words]

17.       POPOV—Helped make electromagnetic radio waves more useful

The answers to the Circuit Cellar 272 Engineering Quotient are now available. The problems and answers are listed below.

Problem 1—Why does the power dissipation of a Darlington transistor tend to be higher than that of a single bipolar transistor in switching applications?

Answer 1—In switching applications, a single transistor can saturate, resulting in a low VCE of 0.3 to 0.4 V. However, in a Darlington pair, the output transistor is prevented from saturating by the negative feedback provided by the driver transistor. If the collector voltage drops below the sum of the VBE of the output transistor (about 0.7 V) and the VCE(sat) of the driver transistor (about 0.3 V), the drive current to the output transistor is reduced, preventing it from going into saturation itself. Therefore, the effective VCE(sat) of the Darlington pair is 1 V or more, resulting in much higher dissipation at a given current level.

Problem 2—Suppose you have some 3-bit data, say, grayscale values for which 000 = black and 111 = white. You have a display device that takes 8-bit data, and you want to extend the bit width of your data to match.

If you just pad the data with zeros, you get the value 11100000 for white, which is not full white for the 8-bit display—that would be 11111111. What can you do?

Answer 2—One clever trick is to repeat the bits you have as many times as necessary to fill the output field width. For example, if the 3-bit input value is ABC, the output value would be ABCABCAB. This produces the following mapping, which interpolates nicely between full black and full white (see Table 1). Note that this mapping preserves the original bits; if you want to go back to the 3-bit representation, just take the MSBs and you have the original data.

 3-bit INPUT 8-bit OUTPUT 000 00000000 001 00100100 010 01001001 011 01101101 100 10010010 101 10110110 110 11011011 111 11111111

Problem 3—Can an induction motor (e.g., squirrel-cage type) be used as a generator?

Answer 3—Believe it or not, yes it can.

An induction motor has no electrical connections to the rotor; instead, a magnetic field is induced into the rotor by the stator. The motor runs slightly slower than “synchronous” speed—typically 1725 or 3450 rpm when on 60 Hz power.

If the motor is provided with a capacitive load, is driven at slightly higher than synchronous speed (1875 or 3750 rpm), and has enough residual magnetism in the rotor to get itself going, it will generate power up to approximately its rating as a motor. The reactive current of the load capacitor keeps the rotor energized in much the same way as when it is operating as a motor.

Problem 4—In Figure 1, why does this reconstruction of a 20-kHz sinewave sampled at 44.1 kHz show ripple in its amplitude?

Answer 4—The actual sampled data, represented by the square dots in the diagram, contains equal levels of Fsignal (the sine wave) and Fsample-Fsignal (one of the aliases of the sinewave). Any reconstruction filter is going to have difficulty passing the one and eliminating the other, so you inevitably get some of the alias signal, which, when added to the desired signal, produces the “modulation” you see.

In the case of a software display of a waveform on a computer screen (e.g., such as you might see in software used to edit audio recordings), they’re probably using an FIR low-pass filter (sin(x)/x coefficients) windowed to some finite length. A shorter window gives faster drawing times, so they’re making a tradeoff between visual fidelity and interactive performance. The windowing makes the filter somewhat less than brick-wall, so you get the leakage of the alias and the modulation.

In the case of a real audio D/A converter, even with oversampling you can’t get perfect stopband attenuation (and you must always do at least some of the filtering in the analog domain), so once again you see the leakage and modulation.

In this example, Fsignal = 0.9×Fnyquist, so Falias = 1.1×Fnyquist and Falias/Fsignal = 1.22. To eliminate the visible artifacts, the reconstruction filter would need to have a slope of about 60dB over this frequency span, or about 200 dB/octave.

# Electrical Engineer Crossword (Issue 272)

The answers to Circuit Cellar’s March electronics engineering crossword puzzle are now available.

Across

5.     WOZNIAK—Apple I

8.     SPARKCOIL—Uses a low-voltage DC supply to create high-voltage pulses

10.   JITTER—Creates an imperfect timing signal

11.   ERG—Energy measurement

13.   ACOUSTICOHM—Equivalent to µbar s/cm3 [two words]

15.   BUFFER—Provides electrical isolation

16.   WIFI—Provides movement to smartphones, PCs, and tablets

17.   POSIX—An IEEE operating system compatibility standard

18.   PEAKTOPEAK—Alterations between high and low values

20.   NAKAMURA—University of California, Santa Barbara professor credited with inventing the blue LED

Down

2.     OSCILLATOR—American physicist George W. Pierce (1872–1956); piezoelectric

3.     EIGENTONE—A pitch capable of resonance

4.     FRETSONFIRE—Open-source gameplay for music lovers [three words]

6.     NEGATIVEFEEDBACK—Type of amplifier invented in 1927 by Harold Black [two words]

7.     BAFFLE—Sound wave obstruction

9.     MORSECODE—A pre-texting means of communication [two words]

12.   COMBFILTER—Capable of causing delay [two words]

14.   CHIPSET—Intel created the first family of these

The answers to the Circuit Cellar 270 Engineering Quotient are now available. The problems and answers are listed below.

#### Problem 1: Given a microprocessor that has hardware support for just one level of priority for interrupts, is it possible to implement multiple priorities in software? If so, what are the prerequisites that are required?

Answer 1: Yes, given a few basic capabilities, it is possible to implement multiple levels of interrupt priority in software. The basic requirements are that it must be possible to reenable interrupts from within an interrupt service routine (ISR) and that the different interrupt sources can be individually masked.

#### Question 2: What is the basic scheme for implementing software interrupt priorities?

Answer 2: In normal operation, all the interrupt sources are enabled, along with the processor’s global-interrupt mask.

When an interrupt occurs, the global interrupt mask is disabled and the “master” ISR is entered. This code must (quickly) determine which interrupt occurred, disable that interrupt and all lower-priority interrupts at their sources, then reenable the global-interrupt mask before jumping to the ISR for that interrupt. This can often be facilitated by precomputing a table of interrupt masks for each priority level.

#### Question 3: What are some of the problems associated with software interrupt priorities?

Answer 3: For one thing, the start-up latency of all the ISRs is increased by the time spent in the “master” ISR. This can be a problem in time-critical systems. This scheme enables interrupts to be nested, so the stack must be large enough to handle the worst-case nesting of ISRs, on top of the worst-case nesting of non-interrupt subroutine calls.

Finally, it is very tricky to do this in anything other than Assembly language. If you want to use a high-level language, you’ll need to be intimately familiar with the language’s run-time library and how it handles interrupts and reentrancy, in general.

Answer 4: Yes, on most such processors, you can execute a subroutine call to a “return from interrupt” instruction while still in the master ISR, which will then return to the master ISR, but with interrupts enabled.

Check to see whether the “return from interrupt” affects any other processor state (e.g., popping a status word from the stack) and prepare the stack accordingly.

Also, beware that another interrupt could occur immediately thereafter, and make sure the master ISR is reentrant beyond that point.

Contributed by David Tweed

# Electrical Engineer Crossword (Issue 271)

The answers to Circuit Cellar’s February electronics engineering crossword puzzle are now available.

Across

3.            CONFORMALCOATING—Used on PCBs intended for extreme environments [two words]

4.            LOOP—An often repetitious code sequence

7.            VUMETER—Measures program volume [two words]

8.            GALVANOMETER—An electric current identifier

10.         FACTORIAL—“n!”

11.         DIPMETER—Evaluates radio frequency circuits [two words]

13.         REEDSOLOMON—Non-binary code [two words]

16.         SHOCKLEY—One of a group of three co-inventors who, in 1956, were awarded the Nobel Prize in Physics for creating the transistor

18.         SUBSTRATE—An insulating board’s surface

19.         TELEPHONY—Concept proposed by Belgian engineer Charles Bourseul in 1856

20.         ACTUATOR—Electric motors and loudspeakers, for example

Down

1.            TORODIAL—A type of inductor or transformer whose windings form a closed circular tube

2.            POTENTIOMETER—May be used to control volume on audio equipment

5.            PIEZOELECTRICITY—Often used to produce and detect high voltages, sound, and electronic frequency generation

6.            OCCAMPROCESS—An electronic circuit board manufacturing method [two words]

9.            FLYWHEEL—An energy-storing device

12.         MONOBLOCK—A single-channel power amp with high current power

14.         RELIABILITY—Quality over time

15.         MICROMETER—Used to measure small objects’ thickness

17.         EISLER—Austrian engineer (1907–992) credited with inventing the printed circuit