SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Lab 2:
   Implementing Serial Communication in LabVIEW
       FPGA on the Xilinx SPARTAN-3E Board




Keywords: LabVIEW, LabVIEW FPGA, Xilinx SPARTAN3E Starter Kit,
Serial Communication, RS-232.




Vincent Claes                2008                   Vincent Claes
Introduction
Welcome to Lab2 in the serie of programming a SPARTAN3E
Starter Kit by use of LabVIEW FPGA. These labs are created by
Vincent Claes. If you encounter problems using this labs or
want some advice/consultancy on LabVIEW and especially LabVIEW
FPGA you can always contact the author.

These labs are free to use however to show respect to the
author please email him when you use them with your contact
details (feedback is also welcome).

Contact Information:
Vincent Claes
claesvincent@gmail.com
http://www.linkedin.com/in/vincentclaes

Software Requirements:
   • LabVIEW 8.5 or above
   • LabVIEW 8.5 FPGA module
   • XUP Spartan3E starter board: download for free from:
     https://lumen.ni.com/nicif/us/infolvfpgaxilsprtn/content.
     xhtml

Hardware Requirements:
  • Xilinx Spartan3E Starter kit:
     http://www.xilinx.com/products/devkits/HW-SPAR3E-SK-US-
     G.htm
  • User manual:
     www.xilinx.com/support/documentation/boards_and_kits/ug23
     0.pdf



Getting Started
When you want to use this labs you have to setup your board.
This labs are written for the Xilinx SPARTAN3E Starter Kit so
it is quite interesting to read the user manual of the board.
Be sure to plug in the USB cable, plug in the Power cord and
Switch the board on before starting the lab.




Vincent Claes                2008                    Vincent Claes
Step 1: Adding the FPGA I/O to
your LabVIEW FPGA Project
The first things we have skipped because it is the same as in
Lab 1. Try to setup yourself an LabVIEW FPGA project for the
Xilinx Spartan3E starter board. When you reach the step where
you have to add FPGA I/O to the FPGA Project add the “DCE_TXD”
and “BTN_SOUTH” I/O pins.




Now add a FPGA vi for your Spartan-3E Starter Board and name
it “FPGA_VI_Serial”.
Your “Project Explorer” view will look like this:




Vincent Claes                2008                   Vincent Claes
Step 2: A quick overview of the
Serial Communication Protocol.
Interesting links:

http://developer.apple.com/documentation/mac/Devices/Devices-
313.html
http://digital.ni.com/public.nsf/websearch/2ad81b9060162e70862
5678c006dfc62
http://en.wikipedia.org/wiki/Universal_asynchronous_receiver/t
ransmitter

Serial Data Packet:




The purpose of this lab is that we give an introduction to
Serial Communication between the Xilinx Spartan3E FPGA and a
Host PC. We will implement a Function where the FPGA is
sending characters to the Host PC if the user is pushing a
Button (“BTN_SOUTH”). We will send over a “Hello World!”
message. The implementation of this “Hello World!” message is
not in an optimized way; by this I mean I did not implement it
in a Memory block which uses less space in the FPGA. In one of
the next labs we will use the memory blocks.

We will implement a LabVIEW FPGA VI that sends “Hello World!”
over RS232 to our Host PC with the following settings: Bits
per second: “115200”, Databits: “8”, Parity: “None”, Stopbits:
“1” and Flow Control: “Hardware”.

The first thing we have to do is convert our message to ASCII
codes. We can do this by using the codetables on the following
website: http://www.asciitable.com/

Try to do the conversion yourself. Here is my solution: 72 101
108 108 111 32 87 111 114 108 100 33 13 10. (The last 2
characters are there for showing a next received “Hello
World!” message on the beginning of a newline (CR + LF
character).


Vincent Claes                2008                    Vincent Claes
Step 3: Implementation
The first step is to create an array that is filled with the
elements of the message we wanted to send over to the Host PC.
For this place a “Build Array” icon on your block diagram
(FPGA_VI_Serial.vi). Extend it so it can hold 13 elements.

Now connect U8 constants to the inputs of the build array
function. Fill the constants with the message we want to send
over.




Because in this example we don’t want to change the message in
runtime we place this code on the outside of our never-ending
while loop. So for now create a “While Loop” where you connect
the output of the build array with. Be sure to check out
“Disable Indexing”. Connect a boolean “False” constant to the
conditional terminal of the “While Loop”.




We only want to send out the message when the user is pushing
the “BTN_South” button, so we need to implement a case
structure. Place a “Case Structure” in the “While Loop”.
As input to this “Case Structure” we need to connect the value
of the “BTN_South”. Do this by placing a “FPGA I/O Node” on
the block diagram of the FPGA_VI_Serial.vi application. This


Vincent Claes                2008                   Vincent Claes
I/O Node must been placed inside the “While Loop” you just
created”.




Now place a “For Loop” with a constant of “14” connected to
“N” in the “True case”.




Now it is time for the actual RS-232 communication. For this
we are creating a “Sequence Structure” where we explicitly
send over each bit of the RS-232 packet.

So for now create a “12 frames long” sequence structure inside
the “For Loop” you just created.



Vincent Claes                2008                   Vincent Claes
Because we are using “115200 bits per second” each bit we will
send is 1/115200 seconds long. This is 8,68 µs. We are
rounding this value to 9 µs.

Place in each frame of the sequence structure a Wait VI and
set Counter Units to “uSec”.




For the first frame wire a constant of “17” to the “Wait” vi.
For the last frame of the “Sequence Structure” wire a constant
of “50” to the “Wait” vi. For this last sequence also put the
“Counter Units” to “mSec”. For all the other frames wire a
constant of “9” to the “Wait” vi.




Now we have get the ascii-codes back out of the array. And
after this step we need to convert them into binary format to
send them over.
We are doing this by placing an “index off” function inside
the “For Loop”. We connect “i” (the iteration of the For Loop)
to the index input.




Vincent Claes                2008                   Vincent Claes
Now place a “Number to Binary Array” function next to the
“index off” function to convert the numbers to binary format.
Wire the output of the “Build Array” function to the input of
the “index off” function. Now your block diagram should look
like the following screenshot:




You see there is a problem. The problem can be fixed by right
clicking on the yellow square that is the input to the “For
Loop”. Select in the pull-down menu the option “Disable
Indexing”.




Now we can separate all the ASCII-codes out of the array. But
we need to convert those ASCII-codes to binary values for
sending them over to the Host PC. Here for we use again the
“Index of” function. Out of this function we get the ASCII
code of the character we want to send in binary format.




Vincent Claes               2008                   Vincent Claes
The last part is sending all out as a serial communication
data packet. For this we place in all the frames of the
sequence structure an “I/O Node” with “DCE_TXD” as the “I/O
item”.




Now check the Serial Communication Packet again:




I have implemented also “Idle” periods for this lab. To be
sure that the Host can handle the information he receives.

Connect to the first “DCE_TX I/O Node” a True constant. As the
second “DCE_TX I/O Node” we have to send over a False (Start
Bit; look at the image      Space and Mark). For “DCE_TX I/O
Nodes” that come after the start bit you have to send over the
bits from the ASCII code you want to send over. So connect the


Vincent Claes                2008                   Vincent Claes
output from the “index of” function to the remaining “DCE_TX
I/O Nodes” in a correct order.
You now see there is one “DCE_TX I/O Node” not connected. This
is the stop Bit. Connect a Boolean “True Constant” to the last
“DCE_TX I/O Node”.




Now I have some goods news: the FPGA vi is finished.
So now save the “FPGA_VI_SERIAL.vi” and do a “right mouse
click” on the “SPARTAN 3E Starter Board” target in your
“Project Explorer”. Select “Properties”.




Select the “Run when loaded to FPGA” option and press the “OK
button”.




Vincent Claes                2008                   Vincent Claes
Now go back to your “Project Explorer” view and do a “right
mouse click” on the “FPGA_VI_SERIAL.vi”. Select “Compile”.




Now you have some time to search yourself a RS-232 cable and
connect it to a HOST PC and the DCE port of the Spartan3E
starter board.



Step 4: Try it!
After you get the message from the Compiler Server everything
is   compiled  you   can  start   “Hyperterminal”  (a  Windows
Application). In hyperterminal we will show the message we are
getting from the Xilinx Spartan3E Starter board.

Be sure to make the following settings:




Vincent Claes                2008                   Vincent Claes
I am sorry that this screenshot is in “Dutch language” since I
am not a native English speaker.

Now do a “Right mouse click” on the “FPGA_VI_Serial.vi” and
Select from the pull-down menu “Download VI to Flash Memory”.




Press the “OK” button.




If you now press the “BTN_SOUTH” on the Xilinx Spartan3E
Starter board and you have connected the serial cable in a
correct manner you will see a “Hello World!” message appear in
your HyperTerminal screen.



Vincent Claes                2008                   Vincent Claes
Enjoy.

Vincent Claes
XIOS Hogeschool Limburg
Department of Industrial Sciences and Technology
Universitaire Campus - Agoralaan – Gebouw H
B-3590 Diepenbeek
Belgium
vincent.claes@xios.be
tel.:    +32 11 26 00 39
fax:     +32 11 26 00 54
mobile: +32 478 35 38 49




Vincent Claes                2008                  Vincent Claes

Weitere ähnliche Inhalte

Was ist angesagt?

Dynamic model of pmsm (lq and la)
Dynamic model of pmsm  (lq and la)Dynamic model of pmsm  (lq and la)
Dynamic model of pmsm (lq and la)warluck88
 
Actuadores mecanicos
Actuadores mecanicosActuadores mecanicos
Actuadores mecanicosgarzilla
 
PRACTICA : FILTROS ACTIVOS CON OPAM
PRACTICA : FILTROS ACTIVOS CON OPAMPRACTICA : FILTROS ACTIVOS CON OPAM
PRACTICA : FILTROS ACTIVOS CON OPAMAlberto Mendoza
 
Electrónica digital: sistemas secuenciales maquina de estado
Electrónica digital: sistemas secuenciales maquina de estadoElectrónica digital: sistemas secuenciales maquina de estado
Electrónica digital: sistemas secuenciales maquina de estadoSANTIAGO PABLO ALBERTO
 
Lecture 28 360 chapter 9_ power electronics inverters
Lecture 28 360 chapter 9_  power electronics invertersLecture 28 360 chapter 9_  power electronics inverters
Lecture 28 360 chapter 9_ power electronics invertersValentino Selayan
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsAmr E. Mohamed
 
Act 1 UIII de Electrónica de potencia: problemas de Convertidor de AC-AC
Act 1 UIII de Electrónica de potencia: problemas de Convertidor de AC-ACAct 1 UIII de Electrónica de potencia: problemas de Convertidor de AC-AC
Act 1 UIII de Electrónica de potencia: problemas de Convertidor de AC-ACSANTIAGO PABLO ALBERTO
 
Sensor de temperatura lm35
Sensor de temperatura lm35Sensor de temperatura lm35
Sensor de temperatura lm35Jorsh Tapia
 
Three level inverter
Three level inverterThree level inverter
Three level inverterVinay Singh
 
Generiic RF passive device modeling
Generiic RF passive device modelingGeneriic RF passive device modeling
Generiic RF passive device modelingMichael Lee
 
SEGUNDA PARTE SEÑALES
SEGUNDA PARTE SEÑALES SEGUNDA PARTE SEÑALES
SEGUNDA PARTE SEÑALES Marx Simpson
 
Voltage Source Inverter
Voltage Source InverterVoltage Source Inverter
Voltage Source InverterPreetamJadhav2
 
Electrónica: Instrumentación electrónica por Miguel A. Pérez García
Electrónica: Instrumentación electrónica por Miguel A. Pérez García Electrónica: Instrumentación electrónica por Miguel A. Pérez García
Electrónica: Instrumentación electrónica por Miguel A. Pérez García SANTIAGO PABLO ALBERTO
 
Fuente simetrica
Fuente simetricaFuente simetrica
Fuente simetricaacalfio
 

Was ist angesagt? (20)

Dynamic model of pmsm (lq and la)
Dynamic model of pmsm  (lq and la)Dynamic model of pmsm  (lq and la)
Dynamic model of pmsm (lq and la)
 
Actuadores mecanicos
Actuadores mecanicosActuadores mecanicos
Actuadores mecanicos
 
Ejercicios 1 stevenson
Ejercicios 1 stevensonEjercicios 1 stevenson
Ejercicios 1 stevenson
 
PRACTICA : FILTROS ACTIVOS CON OPAM
PRACTICA : FILTROS ACTIVOS CON OPAMPRACTICA : FILTROS ACTIVOS CON OPAM
PRACTICA : FILTROS ACTIVOS CON OPAM
 
Electrónica digital: sistemas secuenciales maquina de estado
Electrónica digital: sistemas secuenciales maquina de estadoElectrónica digital: sistemas secuenciales maquina de estado
Electrónica digital: sistemas secuenciales maquina de estado
 
Lecture 28 360 chapter 9_ power electronics inverters
Lecture 28 360 chapter 9_  power electronics invertersLecture 28 360 chapter 9_  power electronics inverters
Lecture 28 360 chapter 9_ power electronics inverters
 
1.7. Hoja de Especificaciones de un Diodo
1.7. Hoja de Especificaciones de un Diodo1.7. Hoja de Especificaciones de un Diodo
1.7. Hoja de Especificaciones de un Diodo
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
 
Act 1 UIII de Electrónica de potencia: problemas de Convertidor de AC-AC
Act 1 UIII de Electrónica de potencia: problemas de Convertidor de AC-ACAct 1 UIII de Electrónica de potencia: problemas de Convertidor de AC-AC
Act 1 UIII de Electrónica de potencia: problemas de Convertidor de AC-AC
 
Sensor de temperatura lm35
Sensor de temperatura lm35Sensor de temperatura lm35
Sensor de temperatura lm35
 
50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol
 
Alexander ch13final r1
Alexander ch13final r1Alexander ch13final r1
Alexander ch13final r1
 
Three level inverter
Three level inverterThree level inverter
Three level inverter
 
Electrónica: Aplicaciones transistor
Electrónica: Aplicaciones transistorElectrónica: Aplicaciones transistor
Electrónica: Aplicaciones transistor
 
Generiic RF passive device modeling
Generiic RF passive device modelingGeneriic RF passive device modeling
Generiic RF passive device modeling
 
SEGUNDA PARTE SEÑALES
SEGUNDA PARTE SEÑALES SEGUNDA PARTE SEÑALES
SEGUNDA PARTE SEÑALES
 
Voltage Source Inverter
Voltage Source InverterVoltage Source Inverter
Voltage Source Inverter
 
CONTADORES
CONTADORES CONTADORES
CONTADORES
 
Electrónica: Instrumentación electrónica por Miguel A. Pérez García
Electrónica: Instrumentación electrónica por Miguel A. Pérez García Electrónica: Instrumentación electrónica por Miguel A. Pérez García
Electrónica: Instrumentación electrónica por Miguel A. Pérez García
 
Fuente simetrica
Fuente simetricaFuente simetrica
Fuente simetrica
 

Andere mochten auch

Me 6 consultor+¡a docencia public coach 2001 2009 01 2011
Me 6 consultor+¡a docencia public coach  2001 2009  01 2011Me 6 consultor+¡a docencia public coach  2001 2009  01 2011
Me 6 consultor+¡a docencia public coach 2001 2009 01 2011MARCOS ERIZE
 
Website Development Gurgoan india
Website Development Gurgoan indiaWebsite Development Gurgoan india
Website Development Gurgoan indiaITinfoCube
 
Como comprar Nerium sin tarjeta en México [2015]
Como comprar Nerium sin tarjeta en México [2015]Como comprar Nerium sin tarjeta en México [2015]
Como comprar Nerium sin tarjeta en México [2015]youngerskinin90days
 
C.i n°1092 [ww w.vosbooks.com]
C.i n°1092 [ww w.vosbooks.com]C.i n°1092 [ww w.vosbooks.com]
C.i n°1092 [ww w.vosbooks.com]Sloarsbis Richard
 
Newsletter5.12.14
Newsletter5.12.14Newsletter5.12.14
Newsletter5.12.14BIS HCM
 
Fatores que Influenciam o Crescimento Infantil Somático até os 2 anos de Idade
Fatores que Influenciam o Crescimento Infantil Somático até os 2 anos de IdadeFatores que Influenciam o Crescimento Infantil Somático até os 2 anos de Idade
Fatores que Influenciam o Crescimento Infantil Somático até os 2 anos de IdadeVan Der Häägen Brazil
 
The Mobile Recruiting Experience
The Mobile Recruiting ExperienceThe Mobile Recruiting Experience
The Mobile Recruiting ExperienceGeoff Peterson
 
GlobalOne-Presentación En Español
GlobalOne-Presentación En EspañolGlobalOne-Presentación En Español
GlobalOne-Presentación En EspañolNelson Medina
 
Ejercicios de lengua estiramientos
Ejercicios de lengua estiramientosEjercicios de lengua estiramientos
Ejercicios de lengua estiramientoswickingamer
 
About Zero Point Risk Research Llc
About Zero Point Risk Research LlcAbout Zero Point Risk Research Llc
About Zero Point Risk Research Llclrschade
 
Salzburger Cityjump - first edition in 2013
Salzburger Cityjump - first edition in 2013Salzburger Cityjump - first edition in 2013
Salzburger Cityjump - first edition in 2013athletics gmbh
 
Rapport d'activité Gimélec 2013-2014
Rapport d'activité Gimélec 2013-2014Rapport d'activité Gimélec 2013-2014
Rapport d'activité Gimélec 2013-2014Gimélec
 
LG 22LS3500 Manual de Instruções da Televisão
LG 22LS3500 Manual de Instruções da TelevisãoLG 22LS3500 Manual de Instruções da Televisão
LG 22LS3500 Manual de Instruções da TelevisãoComprar TV
 
Nuevasopciones gf rmedia
Nuevasopciones gf rmediaNuevasopciones gf rmedia
Nuevasopciones gf rmediaDaniel Umaña
 
Pembiakan tumbuhan secara seks
Pembiakan tumbuhan secara seksPembiakan tumbuhan secara seks
Pembiakan tumbuhan secara seksWISMARIZAH
 

Andere mochten auch (20)

Me 6 consultor+¡a docencia public coach 2001 2009 01 2011
Me 6 consultor+¡a docencia public coach  2001 2009  01 2011Me 6 consultor+¡a docencia public coach  2001 2009  01 2011
Me 6 consultor+¡a docencia public coach 2001 2009 01 2011
 
Website Development Gurgoan india
Website Development Gurgoan indiaWebsite Development Gurgoan india
Website Development Gurgoan india
 
200 años de correo
200 años de correo200 años de correo
200 años de correo
 
Como comprar Nerium sin tarjeta en México [2015]
Como comprar Nerium sin tarjeta en México [2015]Como comprar Nerium sin tarjeta en México [2015]
Como comprar Nerium sin tarjeta en México [2015]
 
Bondia.cat 26/04/2013
Bondia.cat 26/04/2013Bondia.cat 26/04/2013
Bondia.cat 26/04/2013
 
C.i n°1092 [ww w.vosbooks.com]
C.i n°1092 [ww w.vosbooks.com]C.i n°1092 [ww w.vosbooks.com]
C.i n°1092 [ww w.vosbooks.com]
 
Innovamos42
Innovamos42Innovamos42
Innovamos42
 
Newsletter5.12.14
Newsletter5.12.14Newsletter5.12.14
Newsletter5.12.14
 
Fatores que Influenciam o Crescimento Infantil Somático até os 2 anos de Idade
Fatores que Influenciam o Crescimento Infantil Somático até os 2 anos de IdadeFatores que Influenciam o Crescimento Infantil Somático até os 2 anos de Idade
Fatores que Influenciam o Crescimento Infantil Somático até os 2 anos de Idade
 
The Mobile Recruiting Experience
The Mobile Recruiting ExperienceThe Mobile Recruiting Experience
The Mobile Recruiting Experience
 
GlobalOne-Presentación En Español
GlobalOne-Presentación En EspañolGlobalOne-Presentación En Español
GlobalOne-Presentación En Español
 
Adress Ganj
Adress GanjAdress Ganj
Adress Ganj
 
Ejercicios de lengua estiramientos
Ejercicios de lengua estiramientosEjercicios de lengua estiramientos
Ejercicios de lengua estiramientos
 
About Zero Point Risk Research Llc
About Zero Point Risk Research LlcAbout Zero Point Risk Research Llc
About Zero Point Risk Research Llc
 
Salzburger Cityjump - first edition in 2013
Salzburger Cityjump - first edition in 2013Salzburger Cityjump - first edition in 2013
Salzburger Cityjump - first edition in 2013
 
Rapport d'activité Gimélec 2013-2014
Rapport d'activité Gimélec 2013-2014Rapport d'activité Gimélec 2013-2014
Rapport d'activité Gimélec 2013-2014
 
LG 22LS3500 Manual de Instruções da Televisão
LG 22LS3500 Manual de Instruções da TelevisãoLG 22LS3500 Manual de Instruções da Televisão
LG 22LS3500 Manual de Instruções da Televisão
 
Presentacion conafe
Presentacion conafePresentacion conafe
Presentacion conafe
 
Nuevasopciones gf rmedia
Nuevasopciones gf rmediaNuevasopciones gf rmedia
Nuevasopciones gf rmedia
 
Pembiakan tumbuhan secara seks
Pembiakan tumbuhan secara seksPembiakan tumbuhan secara seks
Pembiakan tumbuhan secara seks
 

Ähnlich wie Serial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter board

Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter boardEmbedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter boardVincent Claes
 
Lab Implementation of Boolean logic in LabVIEW FPGA
Lab Implementation of Boolean logic in LabVIEW FPGALab Implementation of Boolean logic in LabVIEW FPGA
Lab Implementation of Boolean logic in LabVIEW FPGAVincent Claes
 
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter boardLab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter boardVincent Claes
 
Webshield internet of things
Webshield internet of thingsWebshield internet of things
Webshield internet of thingsRaghav Shetty
 
Ardx eg-spar-web-rev10
Ardx eg-spar-web-rev10Ardx eg-spar-web-rev10
Ardx eg-spar-web-rev10stemplar
 
Arduino experimenters guide hq
Arduino experimenters guide hqArduino experimenters guide hq
Arduino experimenters guide hqAndreis Santos
 
Arduino experimenters guide ARDX
Arduino experimenters guide ARDXArduino experimenters guide ARDX
Arduino experimenters guide ARDXJohnny Parrales
 
How To make your own Robot And control it using labview
How To make your own Robot And control it using labviewHow To make your own Robot And control it using labview
How To make your own Robot And control it using labviewAymen Lachkhem
 
AVR HOW-TO GUIDE Interfacing SPI-Ethernet With AVR Slicker Contents At A Glance
AVR HOW-TO GUIDE Interfacing SPI-Ethernet With AVR Slicker Contents At A GlanceAVR HOW-TO GUIDE Interfacing SPI-Ethernet With AVR Slicker Contents At A Glance
AVR HOW-TO GUIDE Interfacing SPI-Ethernet With AVR Slicker Contents At A GlanceScott Faria
 
arduino
arduinoarduino
arduinomurbz
 
Express pcb tutorial
Express pcb tutorialExpress pcb tutorial
Express pcb tutorialawazapki
 
Presentation fpgakit
Presentation fpgakitPresentation fpgakit
Presentation fpgakitaroosa khan
 
Manual HUB SERIAL EQUINOX
Manual HUB SERIAL EQUINOXManual HUB SERIAL EQUINOX
Manual HUB SERIAL EQUINOXPablo Vera
 
Open-E DSS V7 Active-Passive iSCSI Failover on Intel Server Systems
Open-E DSS V7 Active-Passive iSCSI Failover on Intel Server SystemsOpen-E DSS V7 Active-Passive iSCSI Failover on Intel Server Systems
Open-E DSS V7 Active-Passive iSCSI Failover on Intel Server Systemsopen-e
 

Ähnlich wie Serial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter board (20)

Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter boardEmbedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
 
Lab Implementation of Boolean logic in LabVIEW FPGA
Lab Implementation of Boolean logic in LabVIEW FPGALab Implementation of Boolean logic in LabVIEW FPGA
Lab Implementation of Boolean logic in LabVIEW FPGA
 
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter boardLab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
 
Esp8266 v12
Esp8266 v12Esp8266 v12
Esp8266 v12
 
LabVIEW FPGA
LabVIEW FPGALabVIEW FPGA
LabVIEW FPGA
 
Webshield internet of things
Webshield internet of thingsWebshield internet of things
Webshield internet of things
 
Ardx eg-spar-web-rev10
Ardx eg-spar-web-rev10Ardx eg-spar-web-rev10
Ardx eg-spar-web-rev10
 
Arduino experimenters guide hq
Arduino experimenters guide hqArduino experimenters guide hq
Arduino experimenters guide hq
 
Arduino experimenters guide ARDX
Arduino experimenters guide ARDXArduino experimenters guide ARDX
Arduino experimenters guide ARDX
 
How To make your own Robot And control it using labview
How To make your own Robot And control it using labviewHow To make your own Robot And control it using labview
How To make your own Robot And control it using labview
 
AVR HOW-TO GUIDE Interfacing SPI-Ethernet With AVR Slicker Contents At A Glance
AVR HOW-TO GUIDE Interfacing SPI-Ethernet With AVR Slicker Contents At A GlanceAVR HOW-TO GUIDE Interfacing SPI-Ethernet With AVR Slicker Contents At A Glance
AVR HOW-TO GUIDE Interfacing SPI-Ethernet With AVR Slicker Contents At A Glance
 
Station 1 POD1
Station 1 POD1Station 1 POD1
Station 1 POD1
 
Introduction to Microcontrollers
Introduction to MicrocontrollersIntroduction to Microcontrollers
Introduction to Microcontrollers
 
arduino
arduinoarduino
arduino
 
Express pcb tutorial
Express pcb tutorialExpress pcb tutorial
Express pcb tutorial
 
Presentation fpgakit
Presentation fpgakitPresentation fpgakit
Presentation fpgakit
 
Manual HUB SERIAL EQUINOX
Manual HUB SERIAL EQUINOXManual HUB SERIAL EQUINOX
Manual HUB SERIAL EQUINOX
 
Z stick 7 user guide
Z stick 7 user guideZ stick 7 user guide
Z stick 7 user guide
 
Ardx experimenters-guide-web
Ardx experimenters-guide-webArdx experimenters-guide-web
Ardx experimenters-guide-web
 
Open-E DSS V7 Active-Passive iSCSI Failover on Intel Server Systems
Open-E DSS V7 Active-Passive iSCSI Failover on Intel Server SystemsOpen-E DSS V7 Active-Passive iSCSI Failover on Intel Server Systems
Open-E DSS V7 Active-Passive iSCSI Failover on Intel Server Systems
 

Mehr von Vincent Claes

Percepio Tracealyzer for FreeRTOS on MiniZED
Percepio Tracealyzer for FreeRTOS on MiniZEDPercepio Tracealyzer for FreeRTOS on MiniZED
Percepio Tracealyzer for FreeRTOS on MiniZEDVincent Claes
 
Xilinx Vitis FreeRTOS Hello World
Xilinx Vitis FreeRTOS Hello WorldXilinx Vitis FreeRTOS Hello World
Xilinx Vitis FreeRTOS Hello WorldVincent Claes
 
Programming STM32L432 Nucleo with Keil MDK
Programming STM32L432 Nucleo with Keil MDKProgramming STM32L432 Nucleo with Keil MDK
Programming STM32L432 Nucleo with Keil MDKVincent Claes
 
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP BlockDebugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP BlockVincent Claes
 
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA's
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA'sUsing Virtual IO (VIO) on Xilinx ZYNQ FPGA's
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA'sVincent Claes
 
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)Vincent Claes
 
Workshop: Introductie tot Python
Workshop: Introductie tot PythonWorkshop: Introductie tot Python
Workshop: Introductie tot PythonVincent Claes
 
Installation Anaconda Navigator for Python Workshop
Installation Anaconda Navigator for Python WorkshopInstallation Anaconda Navigator for Python Workshop
Installation Anaconda Navigator for Python WorkshopVincent Claes
 
ZYNQ BRAM Implementation
ZYNQ BRAM ImplementationZYNQ BRAM Implementation
ZYNQ BRAM ImplementationVincent Claes
 
Implementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud ServiceImplementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud ServiceVincent Claes
 
Launching Python Cloud Services for AI/IoT Projects
Launching Python Cloud Services for AI/IoT ProjectsLaunching Python Cloud Services for AI/IoT Projects
Launching Python Cloud Services for AI/IoT ProjectsVincent Claes
 
Real Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARMReal Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARMVincent Claes
 
R Markdown, Rpubs & github publishing and Shiny by Example
R Markdown, Rpubs & github publishing and Shiny by ExampleR Markdown, Rpubs & github publishing and Shiny by Example
R Markdown, Rpubs & github publishing and Shiny by ExampleVincent Claes
 
Using Texas Instruments Code Composer Studio for The CC3200XL Launchpad
Using Texas Instruments Code Composer Studio for The CC3200XL LaunchpadUsing Texas Instruments Code Composer Studio for The CC3200XL Launchpad
Using Texas Instruments Code Composer Studio for The CC3200XL LaunchpadVincent Claes
 
Hogeschool PXL Smart Mirror
Hogeschool PXL Smart MirrorHogeschool PXL Smart Mirror
Hogeschool PXL Smart MirrorVincent Claes
 
Softcore vs Hardcore processor
Softcore vs Hardcore processorSoftcore vs Hardcore processor
Softcore vs Hardcore processorVincent Claes
 
Implementing an interface in r to communicate with programmable fabric in a x...
Implementing an interface in r to communicate with programmable fabric in a x...Implementing an interface in r to communicate with programmable fabric in a x...
Implementing an interface in r to communicate with programmable fabric in a x...Vincent Claes
 

Mehr von Vincent Claes (20)

Percepio Tracealyzer for FreeRTOS on MiniZED
Percepio Tracealyzer for FreeRTOS on MiniZEDPercepio Tracealyzer for FreeRTOS on MiniZED
Percepio Tracealyzer for FreeRTOS on MiniZED
 
Xilinx Vitis FreeRTOS Hello World
Xilinx Vitis FreeRTOS Hello WorldXilinx Vitis FreeRTOS Hello World
Xilinx Vitis FreeRTOS Hello World
 
Programming STM32L432 Nucleo with Keil MDK
Programming STM32L432 Nucleo with Keil MDKProgramming STM32L432 Nucleo with Keil MDK
Programming STM32L432 Nucleo with Keil MDK
 
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP BlockDebugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
 
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA's
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA'sUsing Virtual IO (VIO) on Xilinx ZYNQ FPGA's
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA's
 
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
 
Workshop: Introductie tot Python
Workshop: Introductie tot PythonWorkshop: Introductie tot Python
Workshop: Introductie tot Python
 
Installation Anaconda Navigator for Python Workshop
Installation Anaconda Navigator for Python WorkshopInstallation Anaconda Navigator for Python Workshop
Installation Anaconda Navigator for Python Workshop
 
ZYNQ BRAM Implementation
ZYNQ BRAM ImplementationZYNQ BRAM Implementation
ZYNQ BRAM Implementation
 
Implementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud ServiceImplementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud Service
 
Launching Python Cloud Services for AI/IoT Projects
Launching Python Cloud Services for AI/IoT ProjectsLaunching Python Cloud Services for AI/IoT Projects
Launching Python Cloud Services for AI/IoT Projects
 
Real Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARMReal Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARM
 
R Markdown, Rpubs & github publishing and Shiny by Example
R Markdown, Rpubs & github publishing and Shiny by ExampleR Markdown, Rpubs & github publishing and Shiny by Example
R Markdown, Rpubs & github publishing and Shiny by Example
 
Using Texas Instruments Code Composer Studio for The CC3200XL Launchpad
Using Texas Instruments Code Composer Studio for The CC3200XL LaunchpadUsing Texas Instruments Code Composer Studio for The CC3200XL Launchpad
Using Texas Instruments Code Composer Studio for The CC3200XL Launchpad
 
Hogeschool PXL Smart Mirror
Hogeschool PXL Smart MirrorHogeschool PXL Smart Mirror
Hogeschool PXL Smart Mirror
 
Softcore vs Hardcore processor
Softcore vs Hardcore processorSoftcore vs Hardcore processor
Softcore vs Hardcore processor
 
MySQL / PHP Server
MySQL / PHP ServerMySQL / PHP Server
MySQL / PHP Server
 
Implementing an interface in r to communicate with programmable fabric in a x...
Implementing an interface in r to communicate with programmable fabric in a x...Implementing an interface in r to communicate with programmable fabric in a x...
Implementing an interface in r to communicate with programmable fabric in a x...
 
fTales workshop
fTales workshopfTales workshop
fTales workshop
 
Maker Revolution
Maker RevolutionMaker Revolution
Maker Revolution
 

Kürzlich hochgeladen

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Kürzlich hochgeladen (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Serial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter board

  • 1. Lab 2: Implementing Serial Communication in LabVIEW FPGA on the Xilinx SPARTAN-3E Board Keywords: LabVIEW, LabVIEW FPGA, Xilinx SPARTAN3E Starter Kit, Serial Communication, RS-232. Vincent Claes 2008 Vincent Claes
  • 2. Introduction Welcome to Lab2 in the serie of programming a SPARTAN3E Starter Kit by use of LabVIEW FPGA. These labs are created by Vincent Claes. If you encounter problems using this labs or want some advice/consultancy on LabVIEW and especially LabVIEW FPGA you can always contact the author. These labs are free to use however to show respect to the author please email him when you use them with your contact details (feedback is also welcome). Contact Information: Vincent Claes claesvincent@gmail.com http://www.linkedin.com/in/vincentclaes Software Requirements: • LabVIEW 8.5 or above • LabVIEW 8.5 FPGA module • XUP Spartan3E starter board: download for free from: https://lumen.ni.com/nicif/us/infolvfpgaxilsprtn/content. xhtml Hardware Requirements: • Xilinx Spartan3E Starter kit: http://www.xilinx.com/products/devkits/HW-SPAR3E-SK-US- G.htm • User manual: www.xilinx.com/support/documentation/boards_and_kits/ug23 0.pdf Getting Started When you want to use this labs you have to setup your board. This labs are written for the Xilinx SPARTAN3E Starter Kit so it is quite interesting to read the user manual of the board. Be sure to plug in the USB cable, plug in the Power cord and Switch the board on before starting the lab. Vincent Claes 2008 Vincent Claes
  • 3. Step 1: Adding the FPGA I/O to your LabVIEW FPGA Project The first things we have skipped because it is the same as in Lab 1. Try to setup yourself an LabVIEW FPGA project for the Xilinx Spartan3E starter board. When you reach the step where you have to add FPGA I/O to the FPGA Project add the “DCE_TXD” and “BTN_SOUTH” I/O pins. Now add a FPGA vi for your Spartan-3E Starter Board and name it “FPGA_VI_Serial”. Your “Project Explorer” view will look like this: Vincent Claes 2008 Vincent Claes
  • 4. Step 2: A quick overview of the Serial Communication Protocol. Interesting links: http://developer.apple.com/documentation/mac/Devices/Devices- 313.html http://digital.ni.com/public.nsf/websearch/2ad81b9060162e70862 5678c006dfc62 http://en.wikipedia.org/wiki/Universal_asynchronous_receiver/t ransmitter Serial Data Packet: The purpose of this lab is that we give an introduction to Serial Communication between the Xilinx Spartan3E FPGA and a Host PC. We will implement a Function where the FPGA is sending characters to the Host PC if the user is pushing a Button (“BTN_SOUTH”). We will send over a “Hello World!” message. The implementation of this “Hello World!” message is not in an optimized way; by this I mean I did not implement it in a Memory block which uses less space in the FPGA. In one of the next labs we will use the memory blocks. We will implement a LabVIEW FPGA VI that sends “Hello World!” over RS232 to our Host PC with the following settings: Bits per second: “115200”, Databits: “8”, Parity: “None”, Stopbits: “1” and Flow Control: “Hardware”. The first thing we have to do is convert our message to ASCII codes. We can do this by using the codetables on the following website: http://www.asciitable.com/ Try to do the conversion yourself. Here is my solution: 72 101 108 108 111 32 87 111 114 108 100 33 13 10. (The last 2 characters are there for showing a next received “Hello World!” message on the beginning of a newline (CR + LF character). Vincent Claes 2008 Vincent Claes
  • 5. Step 3: Implementation The first step is to create an array that is filled with the elements of the message we wanted to send over to the Host PC. For this place a “Build Array” icon on your block diagram (FPGA_VI_Serial.vi). Extend it so it can hold 13 elements. Now connect U8 constants to the inputs of the build array function. Fill the constants with the message we want to send over. Because in this example we don’t want to change the message in runtime we place this code on the outside of our never-ending while loop. So for now create a “While Loop” where you connect the output of the build array with. Be sure to check out “Disable Indexing”. Connect a boolean “False” constant to the conditional terminal of the “While Loop”. We only want to send out the message when the user is pushing the “BTN_South” button, so we need to implement a case structure. Place a “Case Structure” in the “While Loop”. As input to this “Case Structure” we need to connect the value of the “BTN_South”. Do this by placing a “FPGA I/O Node” on the block diagram of the FPGA_VI_Serial.vi application. This Vincent Claes 2008 Vincent Claes
  • 6. I/O Node must been placed inside the “While Loop” you just created”. Now place a “For Loop” with a constant of “14” connected to “N” in the “True case”. Now it is time for the actual RS-232 communication. For this we are creating a “Sequence Structure” where we explicitly send over each bit of the RS-232 packet. So for now create a “12 frames long” sequence structure inside the “For Loop” you just created. Vincent Claes 2008 Vincent Claes
  • 7. Because we are using “115200 bits per second” each bit we will send is 1/115200 seconds long. This is 8,68 µs. We are rounding this value to 9 µs. Place in each frame of the sequence structure a Wait VI and set Counter Units to “uSec”. For the first frame wire a constant of “17” to the “Wait” vi. For the last frame of the “Sequence Structure” wire a constant of “50” to the “Wait” vi. For this last sequence also put the “Counter Units” to “mSec”. For all the other frames wire a constant of “9” to the “Wait” vi. Now we have get the ascii-codes back out of the array. And after this step we need to convert them into binary format to send them over. We are doing this by placing an “index off” function inside the “For Loop”. We connect “i” (the iteration of the For Loop) to the index input. Vincent Claes 2008 Vincent Claes
  • 8. Now place a “Number to Binary Array” function next to the “index off” function to convert the numbers to binary format. Wire the output of the “Build Array” function to the input of the “index off” function. Now your block diagram should look like the following screenshot: You see there is a problem. The problem can be fixed by right clicking on the yellow square that is the input to the “For Loop”. Select in the pull-down menu the option “Disable Indexing”. Now we can separate all the ASCII-codes out of the array. But we need to convert those ASCII-codes to binary values for sending them over to the Host PC. Here for we use again the “Index of” function. Out of this function we get the ASCII code of the character we want to send in binary format. Vincent Claes 2008 Vincent Claes
  • 9. The last part is sending all out as a serial communication data packet. For this we place in all the frames of the sequence structure an “I/O Node” with “DCE_TXD” as the “I/O item”. Now check the Serial Communication Packet again: I have implemented also “Idle” periods for this lab. To be sure that the Host can handle the information he receives. Connect to the first “DCE_TX I/O Node” a True constant. As the second “DCE_TX I/O Node” we have to send over a False (Start Bit; look at the image Space and Mark). For “DCE_TX I/O Nodes” that come after the start bit you have to send over the bits from the ASCII code you want to send over. So connect the Vincent Claes 2008 Vincent Claes
  • 10. output from the “index of” function to the remaining “DCE_TX I/O Nodes” in a correct order. You now see there is one “DCE_TX I/O Node” not connected. This is the stop Bit. Connect a Boolean “True Constant” to the last “DCE_TX I/O Node”. Now I have some goods news: the FPGA vi is finished. So now save the “FPGA_VI_SERIAL.vi” and do a “right mouse click” on the “SPARTAN 3E Starter Board” target in your “Project Explorer”. Select “Properties”. Select the “Run when loaded to FPGA” option and press the “OK button”. Vincent Claes 2008 Vincent Claes
  • 11. Now go back to your “Project Explorer” view and do a “right mouse click” on the “FPGA_VI_SERIAL.vi”. Select “Compile”. Now you have some time to search yourself a RS-232 cable and connect it to a HOST PC and the DCE port of the Spartan3E starter board. Step 4: Try it! After you get the message from the Compiler Server everything is compiled you can start “Hyperterminal” (a Windows Application). In hyperterminal we will show the message we are getting from the Xilinx Spartan3E Starter board. Be sure to make the following settings: Vincent Claes 2008 Vincent Claes
  • 12. I am sorry that this screenshot is in “Dutch language” since I am not a native English speaker. Now do a “Right mouse click” on the “FPGA_VI_Serial.vi” and Select from the pull-down menu “Download VI to Flash Memory”. Press the “OK” button. If you now press the “BTN_SOUTH” on the Xilinx Spartan3E Starter board and you have connected the serial cable in a correct manner you will see a “Hello World!” message appear in your HyperTerminal screen. Vincent Claes 2008 Vincent Claes
  • 13. Enjoy. Vincent Claes XIOS Hogeschool Limburg Department of Industrial Sciences and Technology Universitaire Campus - Agoralaan – Gebouw H B-3590 Diepenbeek Belgium vincent.claes@xios.be tel.: +32 11 26 00 39 fax: +32 11 26 00 54 mobile: +32 478 35 38 49 Vincent Claes 2008 Vincent Claes