Ugly hack of the week

Forgive me, fellow Digital Design geeks, for I have sinned. Faced with a lack of 74LS245 tristate buffer ICs (I swear they were in the cabinet last week), I have created a truly ugly hack.

The latest iteration of the 8-bit DrACo/Z80 design uses a PIC16F688 as a custom 8-bit up/down counter, to run the address lines. This should make it quite a bit easier to program than previous designs, while not making the design any more complex. The data bus is now run straight from the logic switches on the CADET II trainer into a single 74LS245 tristate buffer chip. When writing to the data bus manually, the ‘245 is enabled and the eight bits from the switches are copied onto the data bus. Otherwise, the ‘245 is disabled (tristated), allowing the Cypress memory chip or the Z80 to control the data bus. We’ve been using this design for three or four years now, and it works nicely.

The lack of available ‘245s, though, meant that the logic switches would be continually driving the bus, contending with the output from the memory chip if it were enabled for a read. Bus contention is a Bad Thing™ — because it not only causes chaotic computer behavior, but can actually damage components due to two low-impedance sources driving the same net. The ‘245 prevents this, since it is set to only enable its outputs when nothing else is driving the data bus. Without it, the system will work incorrectly and could possibly burn itself out.

The solution ugly hack workaround was to connect the switches to the data bus via 470-ohm resistors. (I would have used 1ks, but there weren’t as many of those handy.) When the switches are the only thing driving the bus, they should still have low enough impedance to assert the correct values onto the data bus. When the memory is driving the data bus (during a read), its low-impedance output (20mA) should be enough to overcome any resistors pulling in the opposing direction.

It should work for now, but it’s definitely ugly.

 

Posted in Digital, DrACo/Z80, Drexel, Hacks | Leave a comment

Earth Hour

Technological innovation is great, but it’s also important to think of the Earth. Our consumption of nonrenewable resources is endangering the environment.

Earth Hour, scheduled for 8:30PM-9:30PM tonight (local time, in each time zone) is an attempt to increase our awareness of our power consumption. Often, lights are on that don’t need to be; HVAC systems are left running while the windows are open, and energy is wasted in many other ways.

Turn the lights out for the Earth for an hour — but more importantly, think about ways we can do more, instead of just using more.

 

Posted in Current Events, Digital Citizenship | Leave a comment

Decommissioning the Space Shuttle fleet

I remember watching on TV as Columbia — the first of the Space Shuttles — launched on its first mission, back in 1981. It was exciting to see, and seemed to indicate that the US was committed to a continuing presence in space. Even more exciting, for me, was the landing, several days later. No spacecraft yet built had ever landed gently, like an airplane. We were definitely on the way to developing “real” spacecraft, it seemed.

Like many others my age, I also vividly remember hearing about the Challenger explosion — and, years later, Columbia’s breakup upon re-entry. Pushing the boundaries of technology is inherently risky — but it can also be very rewarding.

Today, the future of the US space program seems far less certain. The Space Shuttles have flown for the last time, and are being decommissioned and moved to static displays at prominent aerospace museums throughout the US. The Atlantic has an excellent photo essay on the process, including many interesting facts. (For instance, the shuttles are being refitted with replica engines — the fifteen originals are being kept for re-use in NASA’s new heavy-lift project.)

Here is the link to the photo essay.

It’s well worth the time to read — the Shuttle program was a big part of the history of the US space program. For me, it’s sad to see the fleet sent into retirement without a clear idea of what will come next. It’s another reminder that, despite all of the technological progress of the past several decades, our spaceflight capabilities are a pitiful shadow of what they once were.

My parents remember buying their first TV set to watch Neil Armstrong take the first steps onto the Moon. As for me, I was born the same day that Apollo 17 splashed down. Nobody has walked on the Moon in my lifetime — and we’re reduced to relying on the 1960s-era Soyuz rockets for access to the International Space Station. With all of the technological know-how we have, we can do better.

 

Posted in Current Events, Nostalgia | Leave a comment

Wireless Keyboard Mystery

Sometimes, a background in Embedded Systems can be useful in IT work.

Recently, a Logitech wireless keyboard at work was acting strangely. Before being moved to a new computer, it had worked flawlessly, but now was only responding intermittently (perhaps registering one keystroke in twenty — but always correctly.)

Since the wireless adapter plugged in to the laptop via USB and had been detected readily by Windows 7, it wasn’t likely to be a driver issue. (Keyboards usually don’t cause many driver problems in Win7.) The batteries had been recently changed, so that didn’t seem to be the problem. It was a classic case of gremlins.

The next step in troubleshooting was to narrow the problem down to what had changed. The computer had been changed, so that was one possible suspect — although an unlikely one, since the only connection to this computer was as a USB keyboard. The power connection to the wireless base was still plugged in securely and the base was getting power.

The only other change was that the PS/2 mouse connection, which had been connected but not in use on the older computer’s docking station, had been left unplugged on the new machine (which didn’t have any PS/2 ports.) Hmmm.

Plugging the PS/2 mouse connection back in to the old docking station (while leaving the USB keyboard connector plugged in to the new machine) made the problems go away: the keyboard started working perfectly. My guess, as an Embedded Systems geek, is that the processor in the wireless base was getting stuck in the “wait-for-PS/2-mouse-response” routine, and not processing the keyboard input. In Muggle terms, it realized that it no longer had a mouse port to talk to, and had gone off to sulk.

It works for now — while the old docking station is still there — but keeping an entire legacy docking station on a desk just to keep a wireless keyboard working properly is rather inefficient. Something tells me that there’s a PIC project to emulate a PS/2 mouse port in my immediate future. That should rank right up there on my list of weird projects.

Posted in Digital, System Administration | Leave a comment