Monday, 29 November 2010

Still experimenting

I have not updated the blog for a few days so here is what is going on.
Currently I am working on a simple SDR using the Terasic DE1 board
and the ADC/DAC board I bought.

Please bear in mind I am a novice FPGA programmer so this is taking
some time to do / learn. I have a working implementation of the Cordic
algorithm running on the board. It produces a sine and cosine output for
a given input angle. By accumulating the angle you can generate an oscillator
with two outputs that have a 90deg phase difference between them.
Looking on a spectrum Analyser the output is as clean as would be expected
for a 14 bit implementation.

The oscillator is used with a half complex mixer to translate the wanted
frequency down to baseband. The I and Q channels are then filtered and
decimated. I have the CIC filters written but not tested. A CIC filter is a type
of filter that is implemented solely with additions and subtractions.

Currently I am working on the I2C code to control the audio output codec
which will enable me to hear whether I am receiving anything!

The test card project is on hold at the moment. I am waiting for delivery of
a simple FPGA board from China. I have soldered the 3 channel DAC I received
from Analog Devices onto a small PCB. When I get the FPGA board from
the Middle Kingdom I will post some pictures and maybe a short Video when I
get the code working.

Wednesday, 17 November 2010

New toy update plus book recommendation.

The Terasic board is now up and working.
I had a bit of a glitch, I initially fitted the board
incorrectly into its socket. Everything was offset
by 1 pin. Thankfully I didn't break anything but
it is a warning to anyone that buys one of these
boards be careful.

One other issue I noticed was that they (ADC/DAC)
are not DC coupled so the output of my testcard
generator code looks very strange. That is not
important as I am going to use a Analog Devices
Video DAC chip (ADV7123) eventually anyway.
I already have a couple of sample chips from
Analog Devices. I just need to layout the board now.
The 7123 has 3 x 10 bit DACs and a sync and blanking
input.

Today I received a used copy of "Digital Signal
Processing with Field Programmable Gate Arrays"
3rd edition written by U. Meyer-Baese, published
by Springer ISBN 978-3-540-72612-8 (774 pages).
Although I have only had a chance to glance at a few
pages of the book it looks like a book I can recommend

to others. It covers all the basic DSP and number theory
and has example code in both VHDL and Verilog.
The 3rd edition is reasonably up to date and covers the
latest developments in the use of FPGAs for high speed
DSP applications. It is also an accessible book (G4GUO
speak for even I can understand it).

Tuesday, 9 November 2010

New toy!


The nice man from DHL arrived this morning bringing a new toy.
The toy which is at the top of the photo is a Terasic Highspeed AD/DA card
for my Altera starter kit. The board has a dual channel 65 Msps 14 bit A/D
and a dual channel 125 Msps 14 bit D/A. I ordered it on Friday and it came
first thing Tuesday morning all the way from Taiwan.

The Altera starter kit as well as having a reasonably large Cyclone II chip on it
has a USB interface, keyboard interface, VGA out, SD card, 24 bit Audio codec,
RS232 interface and a GPIO interface (which the AD/DA card plugs into) as
well as all of that it also has an EP2C20F484 FPGA, 8-Mbyte of SDRAM,
512K SRAM and 4-Mbytes of Flash memory. Plus loads of tutorials and
examples of how to use all these goodies.

I think you can see where I am going with all this! Looks pretty good as the
basis of a standalone SDR. I actually bought it to help me prototype an FPGA
DVB-S transmitter but more of that later.