Date post: | 06-Jul-2018 |
Category: |
Documents |
Upload: | dreamingangel |
View: | 225 times |
Download: | 1 times |
of 49
8/16/2019 Cub Led Code Vhdl
1/49
Remote programmable
-
With eDiViDe
8/16/2019 Cub Led Code Vhdl
2/49
About me
• Sam Thys
• Student at Thomas More Kempen
–
• Electronics-ICT
– Professional bachelor Electronics
–
3th
year
2
8/16/2019 Cub Led Code Vhdl
3/49
Internship
• Internship at Thomas More Kempen
– Campus Geel
• Electronics Lab
3
8/16/2019 Cub Led Code Vhdl
4/49
Problem
4
8/16/2019 Cub Led Code Vhdl
5/49
Problem - Background
• Programmable systems
– FPGA ( Field Programmable Gate Array )
– VHDL ( VHSIC Hardware Description
Language )
• No material to exercise at home
• To expensive
• Lend material
– Material can break
5
8/16/2019 Cub Led Code Vhdl
6/49
Problem - Goal
• A remote programmable FPGA
– LED cube
– Materiaal stays at school
– Student only needs a computer
6
8/16/2019 Cub Led Code Vhdl
7/49
Solutione e
7
8/16/2019 Cub Led Code Vhdl
8/49
eDiViDe
• European Digital Virtual Design Lab – www.edivide.eu
• Website – Program
– Control
–
Monitor
• Developed at KHLim, Belgium – Nele Mertens
– Jochen Vandorpe
• Erasmus –
Lifelong Learning Programme (LLP)
8
http://www.edivide.eu/http://www.edivide.eu/
8/16/2019 Cub Led Code Vhdl
9/49
eDiViDe
• Different setups
– Multiple colleges and universities
– Europa
• Belgium
• Germany
• Norway
• Slovakia
9
8/16/2019 Cub Led Code Vhdl
10/49
eDiViDe - Usage
library I EEE;
use I EEE.STD_LOGI C_1164. ALL;
use I EEE.STD_LOGI C_ARI TH. ALL;
use I EEE.STD_LOGI C_UNSI GNED. ALL;
library WORK ;
use WORK .all;
• VHDL Template
10
ent ty e u e_ xer c se_ s Port
Cl k : in STD_LOGI C; - - 50 MHz syst em Cl ock
enabl e : in STD_LOGI C; - - Swi tch I nput
reset : in STD_LOGI C; - - Butt on I nput, Hi gh Acti ve -> ' 1' when pressed
col orSel : in STD_LOGI C_VECTOR (1 downto 0); - - Swi tch vector I nput
col orOut : out STD_LOGI C_VECTOR ( 1 downto 0);
x : out STD_LOGI C_VECTOR ( 2 downto 0); - - X Coord inate , val ue 0 - 7
y : out STD_LOGI C_VECTOR ( 2 downto 0); - - Y Coordi nate , val ue 0 - 7
z : out STD_LOGI C_VECTOR ( 2 downto 0); - - Z Coord inate , val ue 0 - 7
FreeI n : in STD_LOGI C_VECTOR ( 8 downto 0); - - Free to use I nput
Fr eeOut : out STD_LOGI C_VECTOR ( 8 downto 0)); - - Free to use Output
end LedCube_Exerci se_01;
architecture Str uctural of LedCube_Exerc i se_01 is begin
end St ructural ;
8/16/2019 Cub Led Code Vhdl
11/49
eDiViDe - Usage
• Webinterface
11
8/16/2019 Cub Led Code Vhdl
12/49
eDiViDe - Operation
• Central server
– KHLIM
– Webserver
• Interface
• database
– Scripts
• Communication with local sever
12
8/16/2019 Cub Led Code Vhdl
13/49
eDiViDe - Operation
• Local Setup
– FPGA development board
– Webcam
13
– USB – RS232
• Control and monitoring
– USB – JTAG
•
Programming
– LED Cube
8/16/2019 Cub Led Code Vhdl
14/49
eDiViDe - Operation
• Communication
– Virtual Private
Network
KHLIM
14
Thomas More Geel
8/16/2019 Cub Led Code Vhdl
15/49
Local Setu
15
8/16/2019 Cub Led Code Vhdl
16/49
Local setup
• LED cube ( RGB 8 x 8 x 8 )
– Greduation project 2010
– Original control
• Microcontroller
• Digilent Spartan 3
– Xilinx Spartan x3s200
– eDiViDe Compatible
16
8/16/2019 Cub Led Code Vhdl
17/49
Lokale Setup
• LED Cube
– 32 Inputs
• 24 Horizontal selection
• 8 Vertical selection
– or s on
17
8/16/2019 Cub Led Code Vhdl
18/49
Lokale opstelling
• Digilent Spartan 3 ontwikkelbord
– 32 Connections
• Looked up in datasheet
– Shared with onboard components
•
– Works on 3,3V
18
8/16/2019 Cub Led Code Vhdl
19/49
Lokale Local setup
• Connection FGPA to LED cube
– Voltage translation 3,3V -> 5V
– Current buffer
– Isolation
– 4 x 74LVX4245
19
8/16/2019 Cub Led Code Vhdl
20/49
VHDL
es gn
20
8/16/2019 Cub Led Code Vhdl
21/49
VHDL Design
• Exercises
– Start simple
– Systematically get harder
– Xilinx ISE Design Suite 14
• Xilinx Spartan3 – XC3S200
• Compilation
– Modelsim PE
•
Simulatiion
21
8/16/2019 Cub Led Code Vhdl
22/49
VHDL Design
• Control of the LED cube
– Original system is complex and not very logical
• Not educational
22
8/16/2019 Cub Led Code Vhdl
23/49
VHDL Design
• Conversion table
– Inputs
• Coordinates
– X,Y,Z
–
• color
– Blue, Green, Red, Nothing
– 0 to 3
– Outputs
•
Data for the LED cube
23
8/16/2019 Cub Led Code Vhdl
24/49
VHDL Design
• 6 Exercises
– Running Light
– Running plane
– Running Plane in 3 directions with color change
– Dimmable Cube
– Ambiant cube
– 3D Symbol
24
8/16/2019 Cub Led Code Vhdl
25/49
VHDL Design
• Conversion to eDiViDe VHDL structure
25
8/16/2019 Cub Led Code Vhdl
26/49
VHDL ontwerp
• Conversion to eDiViDe VHDL structure
– LedCube Exercise X
• Exercise of the student
– LedCube Student Enviroment
• Filtering of inputs and outputs
• Exercise dependant modules
– LedCube Top
• Setup dependant modules
– Conversion table
– Edivide Top
• Inputs and outputs to serial communication
• Inputs and outputs to physical connection
26
8/16/2019 Cub Led Code Vhdl
27/49
8/16/2019 Cub Led Code Vhdl
28/49
Webinterface
28
8/16/2019 Cub Led Code Vhdl
29/49
Webinterface
• Webinterface
– Control elements
• Switches
• Pushbuttons
• g a po en ome er
– Display elementen
• Video
• Leds
29
8/16/2019 Cub Led Code Vhdl
30/49
Webinterface
• Control
– Javascript-Function
• Adjusts data in variables
• Collects all variables variabelen
– asses on to a -scr pt• Write data to a file on the centrale server
30
8/16/2019 Cub Led Code Vhdl
31/49
Webinterface
• Dislay of status
– Refresh every 500ms
– PHP-script
• Reads data from a file on the centrale server
– Javascript function
• Writes data to the corresponding variables
• Adjusts the display elements
31
8/16/2019 Cub Led Code Vhdl
32/49
Webinterface
• Video display
– Javascript
• JWPlayer
– RTMP Stream
• Real Time Messaging Protocol
• Audio, Video
• Flash Player
• TCP
32
8/16/2019 Cub Led Code Vhdl
33/49
Webinterface
• Local test of the interface
– Host with Wamp Server
• Apache
• PHP
–
• MySQL
33
8/16/2019 Cub Led Code Vhdl
34/49
Webinterface
• Local testing of the interface
– Mozilla Firefox
• FireBug Plugin
– Check of functions get called
–
34
8/16/2019 Cub Led Code Vhdl
35/49
Webinterface
• Local testing of the interface
– Realterm
• Serial terminal
• Write file to serial port
35
8/16/2019 Cub Led Code Vhdl
36/49
Local server
36
8/16/2019 Cub Led Code Vhdl
37/49
Local Server
• Hardware
– Chosen because of reliable operation
• Server
– Dell PowerEdge T110 II
•
– Logitech C310
• USB-Serial cable
– FTDI
37
8/16/2019 Cub Led Code Vhdl
38/49
Local Server
• Software
– Linux operating system
• Debian 6.0.5 amd64
– Xilinx Tools
• Xilinx ISE embedded
– Compilation of VHDL code
• IMPACT
– Programming Xilinx FPGA
– Adept
• Programmeren with the Digilent JTAG programmer
38
8/16/2019 Cub Led Code Vhdl
39/49
Local Server
• Folder structure
– User : eDiViDe-khlim
• Home folder
39
8/16/2019 Cub Led Code Vhdl
40/49
Local Server
• Configuration
– USB rules for device management ( UDEV )
• USB-JTAG programmer
• FTDI USB-Serial cable
– on gurat on es• contain serialnumbers of the devices
– USB-JTAG
– Webcam
– FTDI
40
8/16/2019 Cub Led Code Vhdl
41/49
Local Server
• VPN connection
– OpenVPN
– Server on Wireless Lan
41
8/16/2019 Cub Led Code Vhdl
42/49
Local Server
• Additional software
– Installed by KHlim
• VideoStream
– Webcam
•
– Serial communication
42
8/16/2019 Cub Led Code Vhdl
43/49
Final Testing
• setting up the webinterface
– Video
• Starting the video software
• Live videostream
– ontro• Sending data ( mozilla firefox, firebug plugin)
• Manual control from local server
• Starting the ComPort server
43
8/16/2019 Cub Led Code Vhdl
44/49
8/16/2019 Cub Led Code Vhdl
45/49
Website
45
8/16/2019 Cub Led Code Vhdl
46/49
Website
46
8/16/2019 Cub Led Code Vhdl
47/49
Summary
• Goal :
– A remote programmable FPGA-LedCube
• Solution :
– Collaboration with eDiViDe
47
8/16/2019 Cub Led Code Vhdl
48/49
Summary
– Research eDiViDe operation and functioning
– Reseach LedCube
– Connecting the LedCube and FPGA
– Writing VHDL code
– Developing a Webinterface
– Configure the Local server
– Final Testing
48
8/16/2019 Cub Led Code Vhdl
49/49
Thank you
for our
Attention
49