CPLD Tutorial: Learn Programmable Logic the Easy Way

739px-Altera_MAX_7128_2500_gate_CPLD

The guys over at hackshed have been busy. [Carl] is making programmable logic design easy with an 8 part CPLD tutorial. Programmable logic devices are one of the most versatile hardware building blocks available to hackers. They also can have a steep learning curve. Cheap Field Programmable Gate Arrays (FPGA) are plentiful, but can have intricate power requirements. Most modern programmable logic designs are created in a Hardware Description Language (HDL) such as VHDL or Verilog. Now you’ve got a new type of device, a new language, an entirely new programming paradigm, and a complex IDE to learn all at once. It’s no wonder FPGAs have sent more than one beginner running for the hills.

The tutorial cuts the learning curve down in several ways. [Carl] is using Complex Programmable Logic Devices (CPLD). At the 40,000 foot level, CPLDs and FPGAs do the same thing – they act as re-configurable logic. FPGAs generally do not store their configuration – it has to be loaded from an external FLASH, EEPROM, or connected processor. CPLDs do store their configuration, so they’re ready as soon as they power up. As a general rule, FPGAs contain more configurable logic than CPLDs. This allows for larger designs to be instantiated with FPGAs. Don’t knock CPLDs though. CPLDs have plenty of room for big designs, like generating VGA signals.

[Carl] also is designing with schematic capture in his tutorial. With the schematic capture method, digital logic schematics are drawn just as they would be in Eagle or KiCad. This is generally considered an “old school” method of design capture. A few lines of VHDL or Verilog code can replace some rather complex schematics. [Carl's] simple designs don’t need that sort of power though. Going the schematic capture route eliminates the need to learn VHDL or Verilog.

[Carl's] tutorial starts with installing Altera’s Quartus II software. He then takes the student through the “hardware hello world” – blinking an LED.  By the time the tutorial is done, the user will learn how to create a 4 bit adder and a 4 bit subtractor. With all that under your belt, you’re ready to jump into big designs – like building a retrocomputer.

[Image via Wikimedia Commons]

Open Source Power Line Communication

Power Line Communication Filtering

 

Since we all have wires running throughout our houses to provide mains power, there’s a number of devices that piggyback on mains lines for communication. For his thesis project, [Haris Andrianakis] developed his own power line communication system.

The basic principle of the system is to inject a signal onto the power lines at a much higher frequency than the 50 or 60 Hz of the AC power itself. Using both active and passive filters, the signal can be separated from the AC power and decoded. This system uses frequency-shift keying to encode data. This part is done by a ST7540 modem that’s designed for power line applications. The modem is controlled over SPI by an ATmega168 microcontroller.

[Haris]‘ write up goes into detail about some of the challenges he faced, and how to protect the device from the high voltages present. The final result is a remote display for a weigh scale, which communicates over the power line. Schematics, PCB layout, and software are all available.

Building an Inductive Loop Vehicle Detector

[Trax] was asked by a friend to build a device that could detect the presence of a car in front of his garage gate for it to open automatically. After searching the web for such a project and trying many of them, he decided to build his own detector based on an induction loop. As you may have guessed, this kind of detector works by detecting an inductance change in a wire loop (aka coil) buried in the road. Having a car pass several inches on top of it produces such an effect.

[Trax]‘s write-up shows a very well thought and professional design. All the detector parameters can be adjusted using DIP switches and buttons: detection type (presence/pulse), signal filtering, main frequency and sensitivity. The wire loop is isolated from the main sensor electronics using a 1:1 isolation transformer and a Colpitts oscillator is used to drive the latter. Moreover, gas discharge tubes are also used for lightning protection.

The change in inductance translates to a change in resonant frequency which is later detected by the main microcontroller. The board is 24V AC powered and a diode bridge + LM2596 SMPS step-down converter are in charge of generating the required +5V in an efficient way.

As if this was not enough, [Trax] also made a PC-based tool that can change other platform settings using a serial connection. All the resources can be downloaded from his website and a few videos are embedded after the break.

[Read more...]

Tearing Down a Cheap External USB Battery

[cpldcpu] recently received an external USB battery as a promotional gift and thought it would be a good idea to tear it down to see its insides. At first glance, he could see that the device included a USB micro-b socket used as a 5V input (for charging), a USB-A socket for 5V output, a blue LED to indicate active power out and a red one to indicate charging.

Opening the case revealed that most space was taken up by a 2600mAH ICR18650 Li-Ion battery, connected to a tiny PCB. A close inspection and a little googling allowed [cpldcpu] to identify the main components of the latter: a battery mangement IC, a 2A boost converter, a 3A Schottky diode, a few 2A N-Mosfets, a 300mA 2.5V LDO and an unknown 6-pin IC. It is very interesting to learn that every last one of these components seems to be sourced from China, which may explain why this USB battery is given for free. Do you think they designed it in-house and outsourced the manufacturing, or is this a product Digi-Key simply bought and put their name on?

Editorial Note: Digi-Key is an advertiser on Hackaday but this post is not part of that sponsorship. Hackaday does not post sponsored content.

[Read more...]

The Tiny, Awesome Class D Amp

ClassD

In one of [Hans Peter]‘s many idle browsing sessions at a manufacturer’s website, he came across a very cool chip – a 10 Watt class D amplifier chip. After the sample order arrived, he quickly put this chip in a box and forgot about it. A year or so later, he was asked to construct a portable boom box kit for a festival. Time to break out that chip and make a small amplifier, it seems.

The chip in question – a Maxim MAX9768 – is a tiny chip, a 24-pin TQFP with 1mm pitch. Hard to solder freehand, but this chip does have a few cool features. It’s a filterless design, very easy to implement, and perfect for the mono boombox project he was working on. A simple, seven component circuit was laid out on a breadboard and [Hans] got this chip up and running.

For the festival, a breadboarded circuit wouldn’t do. He needed a better solution, something built on a PCB that would work well as a kit. The requirements included the MAX9768 chip, a guitar preamp, stereo to mono summing, and through-hole parts for easy soldering. The completed board ended up being extremely small - 33.6mm by 22.5mm – and works really great.

After the festival, [Hans] found a 20 Watt chip and designed an all-SMD version of the board. Just the thing if you ever want to stuff a tiny amplifier into a crevice of a project.

[Bunnie] Launches the Novena Open Laptop

Novena Laptop

Today [Bunnie] is announcing the launch of the Novena Open Laptop. When we first heard he was developing an open source laptop as a hobby project, we hoped we’d see the day where we could have our own. Starting today, you can help crowdfund the project by pre-ordering a Novena.

The Novena is based on the i.MX6Q ARM processor from Freescale, coupled to a Xilinx Spartan 6 FPGA. Combined with the open nature of the project, this creates a lot of possibilities for using the laptop as a hacking tool. It has dual ethernet, for routing or sniffing purposes. USB OTG support lets the laptop act as a USB device, for USB fuzzing and spoofing. There’s even a high speed expansion bus to interface with whatever peripheral you’d like to design.

You can pre-order the Novena in four models. The $500 “just the board” release has no case, but includes all the hardware needed to get up and running. The $1,195 “All-in-One Desktop” model adds a case and screen, and hinges open to reveal the board for easy hacking. Next up is the $1,995 “Laptop” which includes a battery control board and a battery pack. Finally, there’s the $5000 “Heirloom Laptop” featuring a wood and aluminum case and a Thinkpad keyboard.

The hardware design files are already available, so you can drool over them. It will be interesting to see what people start doing with this powerful, open computer once it ships. After the break, check out the launch video.

[Read more...]

Editing Circuits With Focused Ion Beams

CPLD

[Andrew] has been busy running a class on hardware reverse engineering this semester, and figured a great end for the class would be something extraordinarily challenging and amazingly powerful. To that end, he’s editing CPLDs in circuit, drilling down to metal layers of a CPLD and probing the signals inside. It’s the ground work for reverse engineering just about every piece of silicon ever made, and a great look into what major research labs and three-letter agencies can actually do.

The chip [Andrew] chose was a Xilinx XC2C32A, a cheap but still modern CPLD. The first step to probing the signals was decapsulating the chip from its plastic prison and finding some interesting signals on the die. After working out a reasonable functional diagram for the chip, he decided to burrow into one of the lines on the ZIA, the bus between the macrocells, GPIO pins, and function blocks.

Actually probing one of these signals first involved milling through 900 nm of silicon nitride to get to a metal layer and one of the signal lines. This hole was then filled with platinum and a large 20 μm square was laid down for a probe needle. It took a few tries, but [Andrew] was able to write a simple ‘blink a LED’ code for the chip and view the s square wave from this test point. not much, but that’s the first step to reverse engineering the crypto on a custom ASIC, reading some undocumented configuration bits, and basically doing anything you want with silicon.

This isn’t the sort of thing anyone could ever do in their home lab. It’s much more than just having an electron microscope on hand; [Andrew] easily used a few million dollars worth of tools to probe the insides of this chip. Still, it’s a very cool look into what the big boys can do with the right equipment.