Professional Documents
Culture Documents
Spartan-3 DSP Protoboard is provided with all necessary accessories required by you to use
the Protoboard efficiently.
Accessories.
1. JTAG Communication Cable
2. Operational Manual
3. CD. - Contents of CD
• Data Sheets – Data sheets of the components used on the card are provided for your
reference.
• FT245BM_DRIVER:-USB device driver.
• Hardware:- It contains one folder having UCF, BIT file, Sample VHDL code for
downloading purpose in folder VHDL_xc3s400_PQ208
• Software - there are Three folders, they contain software files required for the three
USB examples provided.
counter_read_write:-It contains two folders
1.D2XX_lib (Library File)
2.Read_Write_VC (Software File )
file-loopback:- It contains two folders
1.D2XX_lib (Library File)
1
CHAPTER 1
INTRODUCTION
SPARTAN-3 [FPGA]
• Spartan-3 family is building on the successor Spartan-IIE family by increasing the amount of
logic resources, the capacity of internal RAM, the total no of I/O’s and overall level of
performance as well as by improving clock management functions.
Features of the Spartan-3 FPGA are:
• Revolutionary 90 nm process technology
• Very low cost, high performance logic solutions for high volume consumer–oriented
application
• Densities as high as 74,880 logic cells’
• 326 MHz system clock rate
• Three separate power supplies for the core (1.2), I/Os(1.2 to 3.3), and special function(2.5V)
• Select I/O signalling
• Abundant, flexible logic cells with registers, wide multiplexer, dedicated 18x18 multiplier,
• Up to 1872 Kbits of total block RAM
• Up to 520 Kbits of total distributed RAM
• Digital clock manager (up to four DCM)
• Eight global clock lines and abundant routing.
• Fully supported by Xilinx ISE development system
• Unlimited reprogram ability.
• Very low cost.
2
CHAPTER 2
HARDWARE DESCRIPTION
2.1. Features:
• It supports a FPGA - XC3S400-4PQ208 – 400Kgates FPGA in PQ208 pin package.
• Analog Interface: -
Ð Analog Input – Four channels using ADC using AD7891, (500Ksps, 12 bit).
Additional Stereo Jacks are provided for Audio Input.
Ð Thermister interface is given to ADC channel 5.
Ð Analog Output- Four channels using four DAC’s-AD7541. (12 bit, 100 ns conversion
time)
Stereo Jacks are provided for Audio Output.
• Function Generator (using IC 8038)
Ð Provides Sine, Square and Triangular waveforms outputs.
Ð Frequency variable from 60-200 KHz.
• One Anti-aliasing filter at the input of Analog to Digital converter.
• One Reconstruction filter at the output of Digital to Analog converter.
• User interface
Ð Interface for 16 * 2 LCD. (LCD optional)
Ð 16 output LEDs.
Ð Stepper motor interface
Ð Relay interface
Ð 16 DIP switches.
Ð 4 Key Switches.
Ð Four 7-Segment displays.
• PS/2 Keyboard & Mouse Interface –
Ð It handles Data signal that carries a serial stream of bits from the keyboard as each key
is pressed and released.
Ð It configures and initializes the mouse, gets the information sent by the mouse
• VGA Interface
Ð Adjustable width for the red, green and blue output signals.
Ð Flexible timing for the horizontal and vertical sync signals.
• Serial Interface – One RS-232 channel using MAX3223
• USB Interface –USB interface using FTDI (FT245BM)
Ð Single Chip USB interface with no external components, on chip firmware ( with facility
for external EEprom)
Ð Entire USB protocol handled on chip, no USB-specific firmware programming required.
Ð Support data transfer rates upto 1MB/sec. Supports USB Bulk or Isochronous data
transfer modes.
Ð Required device drivers provided free by FTDI. ( D2xx Driver).
Ð Parallel FIFO on peripheral (local) side for transferring data to/from a peripheral and a
host PC makes it easy to interface to any microcontroller, microprocessor, FPGA via IO
ports.
Ð Eight bit data bus with 4 wire handshake interface is provided.
• Stepper Motor Interface
Ð Stepper Motor interface using 12VDC, Steps/Rev-200 motor with step angle of 1.80
• Relay Interface
Ð NO & NC contacts are provided using Relay-12VDC
• User selectable configuration modes.
• User IO’s – Maximum 100 user IOs. (Refer details of Digital IOs).
• On Board regulated Power supply generation that is compatible with device, user only has
to connect external power supply that is provided with this board.
3
2.2 BLOCK DIAGRAM
Block diagram
4
2.3 POWER SUPPLY
• External Power supply is provided as a standard accessory to power the board. Which
powers the digital and analog circuitry on board
• FPGA supplies viz. Vccint & Vcco are generated on board.
• In-Channel1 and In-Channel2 can take external analog inputs either from the PUT terminal
or audio inputs from the stereo jacks provided.
• In-Channel3 takes an external analog input from the PUT terminal.
• In-Channel4 takes an external analog input from the PUT terminal; user has the option of
cascading the onboard Anti-Aliasing Filter – (a low pass Analog filter) to his input.
Antialiasing filter
5
• Channel5 takes input from Thermister.
6
• Function Generator outputs are available as Sine, Square and Triangular wave at three test
points – SINE, SQUARE and TRIANGULAR respectively.
• Frequency Setting - function generator frequency can be varied in 2-steps
Ð Coarse Frequency - using switch SW8.
Ð Fine Frequency - using potentiometer PR1. for frequency range selection Refer 3.12
• Amplitude Setting - Amplitude of the generated waveform(s) can be adjusted using
potentiometers as follows
Ð PR2 for Sine wave,
Ð PR3 for Square Wave
Ð PR4 for Triangular wave.
2.4.8 RELAY
12V DC, Single contact relay is provided on board, NO & NC contacts are provided on PUT.
Do not connect any external power supply at the PUT.
Connect load of 12V only.
2.4.9 USB
USB interface devices are devices which provide interface between a USB bus and a host
controller (microprocessor, microcontroller, FPGA …etc). They ease the designer’s job of
interfacing their systems to a USB port by taking care of the USB interface and USB protocol.
FTDI USB Interface device has (128 Byte) FIFO receive buffer & (384 Byte) FIFO Transmit
Buffer for high data throughput.
FIFO Receive Buffer (128 Byte): -Data sent from the USB Host to the FIFO via the USB data
out endpoint is stored in the FIFO receive buffer and is removed from the buffer by reading the
FIFO contents using RD#.
FIFO Transmit Buffer (384 Byte): -Data written into the FIFO using WR# is stored in the FIFO
Transmit Buffer the Host removes Data from the FIFO Transmit Data by sending a USB request
for Data from the device data in endpoint.
7
USB Drivers
Required Drivers + DLL S/W Interface are provided on CD supplied with this proto-board and
are also freely downloadable from the FTDI Website.
2.4.12 LEDS
There are total 36 LEDs on the Protoboard, which are grouped as follows.
• 3 POWER-ON LED - used for power supply indication.
• DONE LED - indicates successful configuration of FPGA.
• IL0 to IL15 - LEDs indicate the logic level inputs applied by user.
• OL0 to OL15 - LEDs used to monitor outputs.
8
• ADC control Signals – CONVST (start of conversion), EOC ( end of conversion), CS/, WR/,
RD/, Mode.
• Note: Only one switch must be on at a time for correct operation of the function generator.
2.4.16 JUMPERS
are provided for:
• Selection of power ON reset circuit.
• Selection of configuration mode.
• Selection of Reference voltages for ADC and DAC
• For details Refer Chapter 8
9
Maximum 100 IOs are available out of which 24-IOs are freely available, the remaining 76 IOs
are available to the user when not using onboard features like - Key switches, DIP switches, 7
segment Displays, LEDs, LCD’s, USB, Relay, Stepper motor …etc
10
CHAPTER 3
PRECAUTIONS
Precautions to be followed, while using Protoboard
• Verify the POWER ON LED status after applying power to the Protoboard.
• Connect the 9 pin D connector of the cable to the Protoboard only after confirming the above.
• During downloading make sure that the jumper selections are PROPER
[Refer Chapter 4].
• Check the mode pins (M0 M1 M2 = 1 1 1) while configuring through downloading cable.
• Before implementation, it is necessary to lock the pins in User Constraint File (UCF) as per
the Protoboard hardware.
• For downloading the bit stream, the downloading circuit requires a stable supply;
hence it is recommended to use the power supply provided along with the Protoboard
only
11
CHAPTER 4
JUMPER SETTINGS AND CONFIGURATION
12
4.7 Potentiometer Details
Note:-
• PR9, PR10, PR11, PR12 and PR13 Potentiometers, are factory configured, do not change
settings.
• If the settings are changed, the Analog output range will change.
• You will have to return the card to the factory for recalibration.
Adjustments Potentiometer
Frequency Adjustment PR1
Square Wave Amplitude Adjustment PR2
Triangular Wave Amplitude Adjustment PR3
Sine Wave Amplitude Adjustment PR4
Offset adjustment of Sine wave PR5
Offset adjustment of Triangular wave PR6
Time constant(R) adjustment of anti-Aliasing Filter PR7
Time constant(R) adjustment of Reconstruction Filter PR8
DAC-1 range adjustment PR9
DAC-2 range adjustment PR10
DAC-3 range adjustment PR11
DAC-4 range adjustment PR12
DAC Reference Voltage Adjustment PR13
LCD Contrast adjustment PR14
Configuration is the process by which the bit-stream of a design, as generated by the Xilinx
development software, is loaded into the internal configuration memory of the FPGA.
SPARTAN-3 device supports both serial configuration, using the master serial and JTAG
modes, we are using JTAG mode for configuration.
13
• DONE LED is provided on the Protoboard to indicate successful configuration of the device.
14
CHAPTER 5
OPERATING INSTRUCTIONS TO START NEW DESIGN
15
Sample Design of Half Adder is used to explain the Design Flow.
A Sum
B Carry
Half Adder
Inputs Output
A B Sum Carry
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity half_adder is
Port ( a : in std_logic;
b : in std_logic;
c : in std_logic;
sum : out std_logic;
carry : out std_logic);
end half_adder;
begin
sum <= a xor b ;
carry <= a and b;
end Behavioral;
16
5.6 STEPS TO IMPLEMENT THE HALF ADDER IN THE FPGA USING XILINX
ISE(8.1I)
Step 1 : Start the Xilinx Project Navigator by using the desktop shortcut or by using the Start
Æ Programs Æ Xilinx ISE (8.1i)
Source
Window Workspace
Process
Window
Transcript
Select Device. Use the pull-down arrow to select the Value for each Property Name.
Click in the field to access the pull-down list.
17
Say FINISH. Project summary is seen.
18
Step 3: Creating a new VHD file
Click on the symbol of FPGA device and then right clickÆ Click on new source
ÆVHDL module and give the File name
VHDL
Module
19
Step 4: Writing the Behavioral VHDL Code in VHDL Editor
Sample code is given below for this experiment.
Design
Entry
Select the desired parameters for simulating your design. In this case combinational
circuit and Simulation time.
20
Step 7: Simulate the code
Simulation Tools
ISE tool supports the following simulation tools:
• HDL Bencher is an automated test bench creation tool. It is fully integrated with
Project Navigator.
• ModelSim from Model Technology, Inc., is integrated in Project Navigator to
simulate the design at all steps (Functional and Timing). ModelSim XE, the Xilinx
Edition of Model Technology, Inc.’s ModelSim application, can be installed from
the MTI CD included in your ISE Tool
In source Window from the Drop-down menu select Behavioral Simulation to view the
created test Bench file.
21
For
simulation
Click on test bench file. Test bench file will open in main window. Assign all the
signals and save File. From the source of process window. Click on Simulate
Behavioral Model in Process window.
Verify your design in wave window by seeing behaviour of output signal with respect
to input signal. Close the ISE simulator window
22
Simulated
Output
Synthesis
23
Current Source window. Synthesis will run, and
• a green check 9will appear next to Synthesize when it is successfully
completed.
• a red cross 8indicates an error was generated and
• a yellow exclamation! mark indicates that a warning was generated, (warnings
are OK).
Check the synthesis report.
If there are any errors correct it and rerun synthesis..
Synthesis
completed
successfully
24
Pin
assignments
Implementation
done
25
Step 11: Generating Programming File
Right-click on Generate Programming File choose the Run option, or double left-click
on Generate Programming File. This will generate the Bit stream
Step 12 Downloading in Boundary Scan Mode.
Note : Xilinx provides 2-tools for downloading purpose, viz.
• iMPACT - is a command line and GUI based tool
• PROM File Formatter
Boundary
Scan Mode
26
the cable provided and power to the Protoboard is ON.
Step 13: Apply input through DIP Switches, output is displayed on LEDs
Step 14: Configuration through PROM: Generating PROM file:
FPGA can also be configured in Master Serial Mode through PROM. For this you
need to program the PROM through a .mcs file.
Right click on “Generate PROM,ACE or JTAG file” -> and Say RUN or Double click on
“Generate PROM,ACE or JTAG file”
27
Specify the desired parameters of the PROM on board and say ADD then FINISH
28
Generate
File
29
PROGRAMMING THE PROM
Note: Check the Jumper setting on the board. Refer the Chapter jumper Setting
Similar to Step 12.Initialize chain through iMPACT. PROM and FPGA devices on
board are seen .Assign the generated mcs file and bit file as desired.
Right click the PROM symbol and say PROGRAM.
Now, whenever the board is powered on in master serial mode, FPGA is configured
through PROM automatically.
30
CHAPTER 6
PIN ASSIGNMENTS
VCCIO 3.3V
VCCINT 1.2, 2.5V
VCC Cable 3.3V
CONFIGURATION MODES
Configuration Modes MODE0 MODE1 MODE2
Master Serial /Flash PROM 0 0 0
Boundary Scan Mode 1 0 1
31
• STEPPER MOTOR INTERFACE
Function FPGA Pin Number
A1_COIL 43
A2_COIL 42
B1_COIL 37
B2_COIL 39
RELAY0 40
• DAC
Function FPGA Pin Number Function FPGA Pin Number
"DAC0" 81 "EN1" 87
"DAC1" 79 "EN2" 85
"DAC2" 100 "EN3" 86
"DAC3" 97 "EN4" 74
"DAC4" 93
"DAC5" 90
"DAC6" 94
"DAC7" 95
"DAC8" 96
"DAC9" 102
"DAC10" 101
"DAC11" 80
• VGA INTERFACE
Function FPGA Pin Number Function FPGA Pin Number
"RED0" 7 "BLUE0" 200
"RED1" 5 "BLUE1" 199
"RED2" 4 "BLUE2" 198
"GREEN0" 3 HOR_SYNC 196
"GREEN1" 2 VER_SYNC 197
"GREEN2" 203
• USB INTERFACE
Function FPGA Pin Number Function FPGA Pin Number
USB_D0 106 RD# 116
USB_D1 107 WR# 117
USB_D2 108 TXE# 119
USB_D3 109 "RXF# 120
USB_D4 111
USB_D5 113
USB_D6 114
USB_D7 115
• INPUT SWITCHES
FPGA Connector FPGA
Connector Pin
Function Pin Pin Function Pin
Number
Number Number Number
"IL0" 141 J1-7 "IL8" 131 J1-17
"IL1" 140 J1-8 "IL9" 130 J1-18
"IL2" 139 J1-11 "IL10" 128 J1-21
"IL3" 138 J1-12 "IL11" 126 J1-22
"IL4" 137 J1-13 "IL12" 125 J1-23
"IL5" 135 J1-14 "IL13" 124 J1-24
"IL6" 133 J1-15 "IL14" 123 J1-25
"IL7" 132 J1-16 "IL15" 122 J1-26
32
• OUTPUT LEDs
FPGA Connector FPGA
Connector Pin
Function Pin Pin Function Pin
Number
Number Number Number
“OL0” 161 J2-34 “OL8” 152 J2-38
“OL1” 172 J2-24 “OL9” 167 J2-28
“OL2” 156 J2-43 “OL10” 150 J2-37
“OL3” 171 J2-33 “OL11” 166 J2-27
“OL4” 155 J2-36 “OL12” 149 J1-1
“OL5” 169 J2-26 “OL13” 165 J2-32
“OL6” 154 J2-35 “OL14” 148 J1-2
“OL7” 168 J2-25 “OL15” 162 J2-31
• LCD DISPLAY
FPGA Connector FPGA
Connector Pin
Function Pin Pin Function Pin
Number
Number Number Number
"DL0" 33 J3-32 "E" 36 J3-33
"DL1" 31 J3-31 "R/W" 35 J3-34
"DL2" 29 J3-28 "RS" 34 J3-35
"DL3" 28 J3-27
"DL4" 27 J3-26
"DL5" 26 J3-25
"DL6" 24 J3-24
"DL7" 22 J3-23
• USER I/O’S
PS/2 INTERFACE
Function FPGA pin Number
Mouse Data 191
Mouse Clock 194
33
CHAPTER 7
DESIGN EXAMPLES
Some experiments which can be implemented and verified using DSP PROTOBOARD.
• Digital Low-Pass Filter.
• Digital High-Pass Filter.
• Digital Band-Pass Filter
• Digital Band-Stop Filter
• Digital Multirate Filters
• Image filtering
• FFT Processor
• Direct Digital Synthesis
//Verilog code for ADC (AD7891) and DAC (AD 7541) interfacing
output smpclk,cs_ad7891,convst_ad7891,wr_ad7891,rd_ad7891,mode_ad7891;
output [11:0] dac_out;
output [3:0] en;
wire sampling_clk,wr_s,rd_s;
wire [11:0] dac_out_s;
wire [21:0] dacout;
34
else
div = div + 4'b0001;
end
always @ (ps_1)
begin
case (ps_1)
`reset_1 : ns_1 = `write_cwr;
`write_cwr : begin
cs_ad7891 = 1'b0;
ns_1 = `start_conv;
end
`start_conv : ns_1 = `read_data;
`read_data : begin
cs_ad7891 = 1'b0;
ns_1 = `reset_1;
end
endcase
end
always @ (convst_ad7891_s)
convst_ad7891 = convst_ad7891_s;
always @ (db_7891_s)
35
adcin = db_7891_s;
always
mode_ad7891 = 1'b1;
always @ (dac_sel)
begin
case (dac_sel)
2'b00 : en = 4'b1000;
2'b01 : en = 4'b0100;
2'b10 : en = 4'b0010;
2'b11 : en = 4'b0001;
default : en = 4'b0000;
endcase
end
lowpass u1(.clk(div_adc[4]),.gateway_in(adcin),.gateway_out(dacout));
36
9.2 ADC-DAC Controller in VHDL
• --Description : Combines the ADC-DAC Controller module and User Generated module.
------VHDL code for ADC (AD7891) and DAC (AD 7541) interfacing----
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity adc_dac_test is
generic (n : natural := 21);
Port (
clk : in std_logic; -- Local clock
reset : in std_logic; -- Local reset signal
----------------------------- For ADC1(7891)---------------------
adc_clk : out std_logic; --sampling frequency to ADC
cs_ad7891 : out std_logic; --chip select
convst_ad7891 : out std_logic; --conversion start
wr_ad7891 : out std_logic; --write
rd_ad7891 : out std_logic; --read
eoc_ad7891 : in std_logic; --end of conversion
mode_ad7891 : out std_logic; --mode=1 for parallel
db_7891 : inout std_logic_vector(11 downto 0); --bidirectional
----------------------------------For DAC-----------------
bit_trun : in std_logic_vector( 7 downto 0);
----------------------------------------------------------
--DAC selection. IL0 and IL1 are used
----------------------------------------------------------
dac_sel : in std_logic_vector(1 downto 0);
----------------------------------------------------------
--- Input channel selection for ADC IL6 and IL7 are used for Ch_adc
---00 for ch1, 01 for ch2, 10 for ch3,11 for ch4
-------------------------------------------------------------
ch_adc : in std_logic_vector( 1 downto 0);
dac_out : out std_logic_vector(11 downto 0); ---Output to DAC
en : out std_logic_vector( 3 downto 0) ---DAC latch en
);
end adc_dac_test;
37
component lowpass
port (
clk :in std_logic;
gateway_in : in std_logic_vector(11 downto 0);
gateway_out : out std_logic_vector(21 downto 0)
);
end component;
begin
-----------------------------Clk Divider------------------------
--- Decade counter is used because on board clock is 4 MHz.
-- In case of 20/40 MHz we have to use decade counter to get 2/4 MHz.
-- In case of 4 MHz bypass decade counter.
---This arrangement is made so as to design filter or any other application -
--irrespective of input
-- clk at particular clock frequency.
---Otherwise every time we will have to change frequency of our design
--- We cannot have similar frequency by direct division of input clock
----20/40/4 MHz.
--- For example 4 divided by 5 FF to have 62.5KHz.if we want this
--- Frequency from 20/40 MHz clock we will get 78.125.
process(clk, reset)
begin
if(reset = '1') then
decade <= (others => '0');
elsif(clk'event and clk = '1') then
if decade="1001" then
decade<=(others=>'0');
else
decade <= decade + 1;
end if;
end if;
end process;
------------------------------------------------------------------------
clk_s<='1' when decade="1001" else
'0';
------------------------------------------------------------------------
process(clk_s, reset)
begin
if(reset = '1') then
div_adc <= (others => '0');
elsif(clk_s'event and clk_s = '1') then
div_adc <= div_adc + 1;
end if;
end process;
sampling_clk <=div_adc(2) ;
------------------------------------------------------------------------
--- Input clock is very fast so divided clock is used as sampling clock to
--- FSM. FSM will divide sampling clock by four so sampling clock
--- for ADC is 62.5KHz.
------------------------------------------------------------------------
38
end if;
end process;
-------------------------------------------------------------------------
process(ps_1)
begin
case ps_1 is
when reset_1 =>
ns_1 <= write_cwr;
when write_cwr =>
ns_1 <= start_conv;
when start_conv =>
ns_1 <= read_data;
when read_data =>
ns_1 <= reset_1;
end case;
end process;
db_7891(5 downto 0) <= '0' & ch_adc & "000" when wr_s = '0' else
(others => 'Z');
-----------------------------convst------------------------
process(reset, sampling_clk)
begin
if(reset = '1') then
convst_ad7891_s <= '0';
elsif(sampling_clk'event and sampling_clk = '1') then
convst_ad7891_s <= wr_s;
end if;
end process;
--------------------------read adc--------------------------
process(reset,clk,rd_s)
begin
if(reset = '1') then
db_7891_s <= (others => '0');
elsif(sampling_clk'event and sampling_clk = '0') then
if(rd_s = '0') then
db_7891_s <= db_7891;
end if;
end if;
end process;
------------------ write ADC Data to DAC -------------------------
dac_out_s <= dacout(n downto n-11) when bit_trun(0)='1' else
dacout(n-1 downto n-12) when bit_trun(1)='1' else
dacout(n-2 downto n-13) when bit_trun(2)='1' else
dacout(n-3 downto n-14) when bit_trun(3)='1' else
dacout(n-4 downto n-15) when bit_trun(4)='1' else
39
dacout(n-5 downto n-16) when bit_trun(5)='1' else
dacout(n-6 downto n-17) when bit_trun(6)='1' else
dacout(n-7 downto n-12) when bit_trun(7)='1' else
dacout(n-8 downto n-12) ;
dac_out<=(dac_out_s(11)&( not dac_out_s( 10 downto 0))) +'1' when
dac_out_s(11)='0' else
dac_out_s(11)&( not dac_out_s( 10 downto 0));
----------------------DAC selection logic--------------------------
process(dac_sel)
begin
case dac_sel is
when "00" => en<="1000" ;
when "01" => en<="0100";
when "10"=> en<="0010";
when "11"=> en<="0001";
when others=> null;
end case;
end process;
Inst_untitled: lowpass port map
(
------------------------------------------------------------------------
---Filter is operating at 62.5KHz so we have divided the clock
------------------------------------------------------------------------
clk =>div_adc(4) ,
gate way_in =>db_7891_s ,
gateway_out =>dacout
);
end Behavioral;
Note :
The component name represented in BOLD (e.g. lowpass) letters is required to be changed
according to the entity name in the module generated by user.
The value of n must be equal to the bus-width of the Gateway_out signal in the module
generated by user.
40
Steps to implement the Filter in DSP-Protoboard:
• Change the device type to XC3S400-4PQ208
• Add source files : lowpass.vhd, adc_7891.vhd
• Change the name of the component in “lowpass.vhd” according to the entity name in the
VHDL file generated by system generator (project name).
• Assign the generic number n in “lowpass.vhd” the value equal to the Gateway_out
signal’s bus-width.
• Add “UCF” file at the “implement design” step.
41
CHAPTER 8
USB DRIVER INSTALLATION
The following sections describe WDM driver installation.
The Windows PnP Manager is responsible for detecting devices and prompting the user for the
correct driver.
To assign a driver to a device, Windows refers to an INF file. The INF file provides instructions
for Windows as to which driver files to install and which registry entries to insert.
42
• After plugging USB Cable Windows Driver Model detects new hardware
• Click “Next” button
• Select “Search for a suitable driver for my device (recommended)” option. Click “Next”
Button.
• Select “Specify a location” & “Microsoft Windows Update” options. Click “Next” Button.
43
• Click “Browse” & Specify location of ” FTD2XX.INF” file which is available in Deliverable
(CD).
[Note:-Deliverable CD contains “FT245BM_DRIVER” folder, Copy
” FTD2XX.INF” file from this folder into local Drive (D, E, F). Specify the path of ” FTD2XX.INF” ]
• Click “Next” Button, it will copy required files from FT245BM_DRIVER” folder from
Deliverable.
44
• Click “Finish” Button. Check System properties> Device manager>Universal Serial Bus
for “FTDI FT8U2XX Device” driver.
[Note- When the P.C detects that a device has been plugged in, it automatically interrogates
the device to learn its capabilities and requirement. From this information, the P.C automatically
loads the device’s driver into the operating systems. When the device is unplugged, the
operating system automatically logs it off and unloads its driver.]
45
CHAPTER 9
GLOSSARY
Aliasing
The process where a sinusoid changes from one frequency to another as a result of sampling or
other nonlinear action. Usually results in a loss of the signal's information.
Antialias Filter
Low- pass analog filter placed before an analog- to- digital converter. Removes frequencies
above one- half the sampling rate that would alias during conversion.
Autocorrelation
A signal correlated with itself. Useful because the Fourier transform of the autocorrelation is the
power spectrum of the original signal.
Bit Reversal Sorting
Algorithm used in the FFT to achieve an interlaced decomposition of the signal. Carried out by
counting in binary with the bits flipped left- for- right.
Blackman Window
A smooth curve used in the design of filters and spectral analysis, calculated f r o m
46
Cutoff Frequency
In analog and digital filters, the frequency separating the passband from the transition band.
Often measured where the amplitude is reduced to 0.707 (- 3dB).
Decimation
Reducing the sampling rate of a digitized signal. Generally involves low- pass filtering followed
by discarding samples.
Delta- Sigma
Analog to- digital conversion method popular in voice and music processing. Uses a very high
sampling rate with only a single bit per sample, followed by decimation.
Discrete Signal
A signal that uses quantized variables, such as a digitized signal residing in a computer
DSP Microprocessor
A type of microprocessor designed for rapid math calculations. Often has a pipeline and/ or
Harvard architecture. Also called a RISC
Elliptic Filter
Used to separate one band of frequencies from another. Achieves a fast roll- off by allowing
ripple in the passband and the stopband. Can be used in both analog and digital designs.
Fast Fourier Transform (FFT)
An efficient algorithm for calculating the discrete Fourier transform (DFT). Reduces the
execution time by hundreds in some cases.
Filter Kernel
The impulse response of a filter implemented by convolution. Also known as the convolution
kernel and the kernel.
Finite Impulse Response (FIR)
An impulse response that has a finite number of nonzero values. Often used to indicate that a
filter is carried out by using convolution, rather than recursion.
Fixed Point
One of two common ways that computers store numbers; usually used to store integers.
Floating Point
One of the two common ways that computers store numbers. Floating point uses a form of
scientific notation, where a mantissa is raised to an exponent.
Fourier Transform
A family of mathematical techniques based on decomposing signals into sinusoids. In the
complex version, signals are decomposed into complex exponentials.
Frequency Domain
A signal having frequency as the independent variable. The output of the Fourier transform.
Frequency Response
The magnitude and phase changes that sinusoids experience when passing through a linear
system. Usually expressed as a function of frequency. Often found by taking the Fourier
transform of the impulse response.
Fundamental Frequency
The frequency that a periodic waveform repeats itself.
Hamming Window
A smooth curve used in the design of filters and spectral analysis, calculated from
Where n runs from 0 to M.
Harmonics
The frequency components of a periodic signal, always consisting of integer multiples of the
fundamental frequency. The fundamental is the first harmonic; twice this frequency is the
second harmonic, etc.
Impulse
A signal composed of all zeros except for a very brief pulse. For discrete signals, the pulse
consists of a single nonzero sample. For continuous signals, the width of the pulse must be
much shorter than the inherent response of any system the signal is used
Impulse Response
The output of a system when the input is a normalized impulse (a delta function).
Impulse Train
A signal consisting of a series of equally spaced impulses.
47
Infinite Impulse Response (IIR)
An impulse response that has an infinite number of nonzero values, such as a decaying
exponential. Often used to indicate that a filter is carried out by using recursion, rather than
convolution.
Interpolation
Increasing the sampling rate of a digitized signal. Generally done by placing zeros between the
original samples and using a low- pass filter.
Inverse Transform
The synthesis equation of the Fourier transform, calculating the time domain from the frequency
domain.
Linear Phase
A system with a phase that is a straight line. Usually important because it means the impulse
response has left- to- right symmetry, making rising edges in the output signal look the same as
falling edges.
Matched Filtering
Method used to determine where, or if, a know pattern occurs in a signal. Matched filtering is
based on correlation, but implemented by convolution.
Moving Average Filter
Each sample in the output signal is the average of many adjacent samples in the input signal.
Can be carried out by convolution or recursion.
Multirate
Systems that use more than one sampling rate. Often used in ADC and DAC to obtain better
performance, while using less electronics.
Nyquist Frequency Nyquist Rate
These terms refer to the sampling theorem, but are used in different ways by different authors.
They can be used to mean four different things the highest frequency contained in a signal,
twice this frequency, the sampling rate, or one- half the sampling rate.
Passband
The band of frequencies a filter is designed to pass unaltered.
Pole
Term used in the Laplace transform and z-transform. When the s- domain or z- domain transfer
function is written as one polynomial divided by another polynomial, the roots of the
denominator are the poles of the system, while the roots of the numerator are the zeros.
Quantization Error
The error introduced when a signal is quantized.
Real DFT
The discrete Fourier transform using only real (ordinary) numbers. A less powerful technique
than the complex DFT, but simpler.
Real FFT
A modified version of the FFT. About 30% faster than the standard FFT when the time domain
is completely real (i. e., the imaginary part of the time domain is zero).
Roll- off
Jargon used to describe the sharpness of the transition between a filter's passband and
stopband. A fast roll- off means the transition is sharp; a slow roll- off means it is gradual.
Sampling Theorem
If a continuous signal composed of frequencies less than f is sampled at 2f, all of the information
contained in the continuous signal will be present in the sampled signal. Frequently called the
Shannon sampling theorem or the Nyquist sampling theorem.
Signal
A description of how one parameter varies with another parameter.
Example: a voltage that varies with time.
Stopband
The band of frequencies that a filter is designed to block.
Stopband Attenuation
The amount by which frequencies in the stop band are reduced in amplitude, usually expressed
in decibels. Used to describe a filter's performance.
48
Time Domain
A signal having time as the independent variable. Also used as a general reference to any
domain the data is acquired in.
Time Domain Aliasing
Aliasing occurring in the time domain when an action is taken in the frequency domain. Circular
convolution is an example.
Transition Band
Filter jargon; the band of frequencies between the passband and stopband where the roll-off
occurs.
Zero
A term used in the Laplace & z- transforms. When the s- domain or z- domain transfer function
is written as one polynomial divided by another polynomial, the roots of the numerator are the
zeros of the system.
49
TABLE OF CONTENTS
CHAPTER 1 ................................................................................................................................. 2
INTRODUCTION ...................................................................................................................... 2
ABOUT SPARTAN-3 BASED DSP PROTOBOARD ............................................................ 2
ADVANTAGES OF USING FPGA ........................................................................................ 2
SYSTEM GENERATOR FOR DSP....................................................................................... 2
SPARTAN-3 [FPGA] ............................................................................................................. 2
CHAPTER 2 ................................................................................................................................. 3
HARDWARE DESCRIPTION ................................................................................................... 3
2.1. FEATURES: ................................................................................................................... 3
2.2 BLOCK DIAGRAM ......................................................................................................... 4
2.3 POWER SUPPLY ........................................................................................................... 5
2.4 HARDWARE DESCRIPTION.......................................................................................... 5
2.4.4 ANALOG INPUT CONNECTOR: ................................................................................. 6
2.4.5 STEREO JACK CONNECTOR – ................................................................................. 6
2.4.11 PS/2 INTERFACE – .................................................................................................. 8
2.4.13 TEST POINTS [TPS]................................................................................................. 8
2.4.14 DIP SWITCH: -........................................................................................................... 9
2.4.17 DIGITAL INPUT OUTPUT CONNECTOR. ................................................................ 9
CHAPTER 3 ............................................................................................................................... 11
PRECAUTIONS...................................................................................................................... 11
CHAPTER 4 ............................................................................................................................... 12
JUMPER SETTINGS AND CONFIGURATION....................................................................... 12
4.1 JUMPER SETTING FOR USER INTERFACE SELECTION: ....................................... 12
4.2CONFIGURATION THROUGH PROM – JP17.............................................................. 12
4.3 ANALOG INPUT TO ADC............................................................................................. 12
4.4 ANTI ALIASING FILTER SELECTION – JP4 ............................................................... 12
4.5 ANALOG OUTPUT ....................................................................................................... 12
4.6 RECONSTRUCTION FILTER SELECTION JP7 .......................................................... 12
4.7 POTENTIOMETER DETAILS ....................................................................................... 13
4.8 SPECIAL PURPOSE PINS ........................................................................................... 13
4.9 CONFIGURATION MODES.......................................................................................... 13
CHAPTER 5 ............................................................................................................................... 15
OPERATING INSTRUCTIONS TO START NEW DESIGN..................................................... 15
5.1 STARTING THE ISE SOFTWARE:............................................................................... 15
5.2 DESIGN FLOW ............................................................................................................. 15
5.3 DESIGN DESCRIPTION............................................................................................... 16
5.4 TRUTH TABLE OF HALF ADDER: -............................................................................. 16
5.5 VHDL CODE FOR HALF ADDER................................................................................. 16
5.6 STEPS TO IMPLEMENT THE HALF ADDER IN THE FPGA USING XILINX ISE(8.1I)17
CHAPTER 6 ............................................................................................................................... 31
PIN ASSIGNMENTS............................................................................................................... 31
50
6.1SPARTAN 3 PQ208 DAUGHTER BOARD CONFIGURATION DETAILS..................... 31
CHAPTER 7 ............................................................................................................................... 34
DESIGN EXAMPLES.............................................................................................................. 34
9.1 ADC-DAC CONTROLLER IN VERILOG....................................................................... 34
9.2 ADC-DAC CONTROLLER IN VHDL ............................................................................. 37
9.3 STEPS TO DESIGN FIR FILTER IN SIMULINK:.......................................................... 40
CHAPTER 8 ............................................................................................................................... 42
USB DRIVER INSTALLATION................................................................................................ 42
10.1 STEPS TO INSTALL USB DRIVER............................................................................ 42
CHAPTER 9 ............................................................................................................................... 46
GLOSSARY ............................................................................................................................ 46
51