Tuesday
Jul032012

FPGA DSP

This is basically the “hello world” of DSP on an FPGA. I’m including source code, but no schematics, since it’s all on a prototyping board. I’m using a Digilent Nexys2 board with two of their periphial boards (PMOD’s), a 12 bit SPI ADC, and a 16 it I2S ADC. The audio can take two paths depending on switch positions, either ADC -> DAC, or ADC -> FIR Low Pass Filter -> DAC. The audio is coming from my computer in analog form, so this music has seen a lot of conversions before it leaves the speakers. But it still sounds pretty good.

Download Source

 

Friday
Jun292012

eBay Find

eBay Find

I bought two of these boards off eBay for $10. Like an idiot I didn’t notice the seller had ‘make an offer’ enabled; I’d have bought more and probably paid less. I’m interested in the DAC and a couple other parts. Too bad that Spartan is a BGA, since I don’t have any reballing equipment.

I’d love to know what they were originally for. Have any idea? There’s an Analog Devices AD9761 TxDAC, so that leads me to believe the board was used for some RF purpose. But there’s no RF connectors, so I could be wrong.

Parts list:

Xilinx Spartan 300 Series FPGA XC2S300E-FGG456 FBGA456
(8x) Intel 128Mbit FLASH 28F128J3D75 EZBGA64-3
Xilinx PROM XC18V02 SERIAL OR PARALLEL EEPROM,PLCC44 
PHILIPS / NXP 8051 MCU P89C662HFA 8-BIT MICROCONTROLLER,PLCC44 
PHILIPS / NXP USB peripheral controller with parallel bus PDIUSBD12 TSSOP28
PHILIPS / NXP Hex Inverter 74HC04D SO14 
MAX232A, MULTI-CHNL RS-232 DRIVER/RCVR, SO1
CYPRESS CY7C1399B,32K X 8 SRAM,TSOP28 256K SRAM
AD9761 / TxDAC+ 9761ARS SSOP28-2 Dual channel, 10-bit CMOS DAC, 40 MSPS
XTAL 21.524475Mhz HC49
XTAL 18Mhz MA-506
LT1762, ADJ LOW NOISE LDO REGULATOR,SSO8 
LT1762, 5V LOW NOISE LDO REGULATOR,SSO8
LT1767, ADJ STEP-DOWN REGULATOR,SSO8
Friday
Jun292012

Creating Xilinx FIR '.coe' File with Octave

Tired of cutting and pasting your Finite Impulse Response filter coefficients from Octave to Xilinx ISE? Probably not if you’re a pro and know what you’re doing. But I have been doing it the inefficient way, so I made this Octave script. It should also work with MATLAB with a little modification.

You enter the sampling rate, lowpass cutoff frequency, filter size, and file name. It spits out a ‘.coe’ file you can use with the Xilinx FIR Compiler to create an FIR low pass filter.

If you make any useful modifications please let me know and I’ll post it here.

Download Source