Retro CPC Dongle – Part 37

Tented Vias – who’d have thought they play such an essential role? If you have no idea what tented vias are, then you’re not alone and I’m here to enlighten you.

Sadly, this is not a post documenting success, but another important lessons learned. I mentioned in a previous post that I had tired of my custom hardware failing every time I try to solder the next component to the mainboard, so I opted to work on a development board until most of the RTL was proven, and only then move back to custom hardware. I tried the Cyclone V GX Starter kit, but this was lacking a few features like the USB controller I wanted, and was simply too big. I rapidly switched to the fantastic Terasic DE10-Nano SOC. It had a serial interface, the same ADV7513 video chip as my custom board, SDCard and the same USB PHY. All I needed to add was some memory. The DE10-Nano has two expansion ports, so it’s easy to add a daughter board that provides this memory capability:

DE10 with memory daughter board

Continue reading


Retro CPC Dongle – Part 18

Since my last post, I’ve been beavering away on the SPI interface between the Atmel supervisor chip and the FPGA. The SPI interface is almost ready to share, but not quite. In the meantime, I’ll share the little side project I’ve been working on, replacing the NAND raw flash with an eMMC chip on the CPC2.0 board.

I wrote about raw flash and the challenges of writing a flash translation later in part 16 of this series. After some research, I concluded that the eMMC interface looked exactly like the much more common SDCard interface, albeit that the interface can be run with an 8-bit width. SDCards are limited to 4 bits by the physical pin count. Taking a gamble I created a board to test this new eMMC chip. I created a fake SDCard!

This fake card allowed me to check very quickly if my assumptions were correct both at a hardware and a firmware level. I wanted to be sure that it was possible to interface the eMMC via 4 bits, rather than the full 8 bits and be sure the firmware instructions were the same between these two technologies.

The Atmel SAM4S chip has a hardware interface for SDCards. If the eMMC worked with the SDCard interface, I just needed to hook up the eMMC to the Atmel SAM4S chip using the built-in HSMCI interface. I could then use the libraries provided in the Atmel Software Framework to interface to the card. No effort required and definitely no flash translation layer required!

Continue reading

Working with Surface Mount Components and BGAs

Surface mount PCBs (Part 2 –  BGAs)

In my first post I described the process of reliably soldering surface mount components to create sophisticated and high density PCBs.   Many of the really exciting components are only available in a Ball Grid Array (BGA) package.  Think of ARM processors, high density memory, and Field Programmable Gate Arrays (FPGA).  These complex devices can have too many connections to the silicon to use a traditional Small Outline Package (SOP) or Quad Flat Pack (QFP).   On high pin count QFPs the pins are so narrowly spaced that solder bridges are common and pins are far to easy to bend and damage. Ironically BGAs are easier to work with in this regard as they are intrinsically far more resistant to damage prior to mounting.

Continue reading