Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20644 Discussions

Help my with my Graduate Project's Idea to make it real by using FPGA

Altera_Forum
Honored Contributor II
1,317 Views

Hi everyone 

 

Before i make this thread i search in internet about my idea if there is any one make it before but i didn't find anything  

 

I am Haider Ali from Iraq 

 

I have 22 years old now I do my final examination of the third years in college of engineering 

 

I study Computer Engineering Techniques 

 

 

 

I have Final Graduate Project next Year so I decide to work on it in this summer ,I have many ideas in my mind so I will choice the best and discuss it with you trying to make it practical 

 

 

 

I like Arduino and another Microcontroller like parallax it's easy to translate your idea to a great electronic project (its easy and low cost device) so we don't surprise when we see many people like it ,But Arduino have low spec tech so we can't make complex project with it 

 

 

 

That's why I'm now make this thread about my project 

 

 

 

optical fiber and data communication 

 

 

 

How optical fiber work (as what is understand) 

 

 

Simple it convert the discrete data signal to pulse of light by using very high-speed laser diode (with rise time 15 ns or 5 ns or 60 ps) Then send this pulse of light in optical fiber made from silicon to transform the light with low losses 

 

 

In the other side in Receiver Station there is photodiode Receive this pulse of light which transformed by optical fiber then Convert it to discrete signal again 

 

 

 

NOTE: maybe this is not the way how optical fiber work so please if there is something difference or I say something wrong please someone tell me because this is what I understand about optical fiber 

 

 

 

 

what about my project:- 

I have data in computer and want to send it to another computer of course I will use data transform port like USB or Firewire or thunderbolt what every the way I will use they have the same Purpose 

 

 

First time I decide to send data from PC Bit by Bit to Arduino Board then the Arduino analyze it to convert it to Pulse of light but this will be very hard and then I should programming software to convert data of file to bits then send it via Serial port because Arduino work via serial port and this will be complex  

 

Because just want to work under physical layer without get into software layer 

 

This will make my project work with any platform

 

 

 

I decide to choice fpga 

 

 

 

Now after I explain my project let me ask my question 

 

 

 

Can I use FPGA board to analyze the USB data signals like 0 1 0 1111 00 111 

 

In addition, convert it to electrical signals then connect laser diode to FPGA board and programming the FPGA  

 

board to do this 

 

 

 

If the data from USB is 1 (or the Signal) 

 

Then output pin 7 (in pin 7 the laser diode is connected) 

 

Therefore, the laser diode in this case will send pulse of light and there is optical fiber connected to laser diode to transform the light to the second FPGA board which connected with Photodiode with very high sensitivity of light detection to detect the light come from optical fiber then produce discrete signal and send it to FPGA board which the last will process it and rebuild the USB data signal again to send it to the another computer or and device have USB port. 

 

this is my idea about using FPGA Board to make optical fiber data transmission between to point 

 

 

http://im61.gulfup.com/WUaLEw.jpg  

 

 

 

 

 

 

 

Also, what about laserdiode and photodiode there is many components like this in digikey and mouser 

 

 

http://www.osioptoelectronics.com/standard-products/silicon-photodiodes/high-speed-silicon-photodiodes/high-speed-silicon-photodiodes-overview.aspx 

 

 

 

 

and Can someone help me to choice the right fpga board that have the ability and the speed to analyze the USB signals and also receive the signal from another board i what my project send and receive in the same time vice versa 

 

 

 

 

And should I use operational amplifier or resistor or capacitor with fpga board or another electronics Components 

 

 

 

 

 

Finally, I want to say I am not any other person as for help in this forum for this reason 

 

 

 

1- In my country (IRAQ) embedded system and FPGA is used by engineers or studies in universities and in all  

 

engineering college in Iraq the FPGA material didn't studied in Undergraduate Cource :confused: 

 

 

 

2- My university does not have offer emails (edu emails) for professors that's mean I can't order the academic  

 

Version of any FPGA board and this make buy an FPGA board will be very expensive :( 

 

 

 

3- Amazon and another website doesn't ship to Iraq so I should ship it to USA first then send it to Iraq via DHL and this will be expensive and take more time 25 - 30 day 

 

 

 

4- For this reason buy an FPGA board will be hard and expensive for someone live in Iraq like me That is why I  

 

make this thread to help me to choice the right board and start good from the first step :) 

 

 

 

 

 

I wish I explain everything in this thread maybe it's contain many wrong words and spelling errors I'm sorry about that 

 

 

Thank you very much 

 

 

MY REGARDS 

0 Kudos
20 Replies
Altera_Forum
Honored Contributor II
454 Views

why there is no reply 

 

it's not important you know the solution for my problem or you can help me to replay 

just reply and give me any opinion you have may be you could help me and then i will be grateful to you 

 

 

I'm not asking for something hard or Unreal please i really need your help
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

 

--- Quote Start ---  

why there is no reply 

 

it's not important you know the solution for my problem or you can help me to replay 

just reply and give me any opinion you have may be you could help me and then i will be grateful to you 

 

 

I'm not asking for something hard or Unreal please i really need your help 

--- Quote End ---  

 

 

Hi Haider, 

 

I am no expert on fpga boards. But I will make this point. Why use PC or two fpga boards at all. Use one fpga board to send and receive data. 

I mean you can put data in fpga rom directly then send it through DAC (and for two level signal you may not need DAC but use the io directly). From FPGA it goes to fibre optic channel and received by same fpga (ADC or io) and check received data against the sent rom content. 

 

You will need therefore to look around for fpga boards that support fibre optic and if not you will need to add that support. 

In principle many modern fpga can manage speeds up to 300MHz or so.  

 

Wish you safe summer in Iraq.
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

thank you very much sir for helping me 

 

i said i need 2 FPGA board because i need to send data between two point at distance 100 meter so how can i make this with one board 

 

and about fiber optic channel in FPGA till now there is no board released from Altera with fiber optic channel  

 

read this 

 

http://www.avagotech.com/pages/optical_fpga 

 

and if i go to Xilinx like this board hhhhhhhhhhhhhhhhhhhh what can i say sir it's cost more than Tuition fee for two years of study engineering in my college :( 

 

see this board please  

 

http://www.xilinx.com/products/boards-and-kits/ek-v7-vc709-ces-g.htm 

 

I'm sorry sir i don't think someone in Iraq have this budget 

 

 

that's why I'm asking about but laser diode in board to generate pulse of light from Digital Discrete Signal 

 

" Wish you safe summer in Iraq. " 

thank you sir for your felling towards Iraqi people because the situation in Iraq is very bad because of the terrorist groups called "Daash" :cry: 

 

I'm really happy :D when i see someone post in my thread to helping me thank you again sir 

 

my regards
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

admin please you you take long time to accept my post  

 

----------------- 

 

i asked Professor Bruce Land From FPGA Group in Facebook (Professor in Cornell University) 

 

http://im89.gulfup.com/bPw8bu.jpg  

 

 

 

what did you say about his answer does any one have any idea 

 

 

thank you very much 

 

My Regards
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

I agree that the USB protocol packets need a quick acknowledge, and it's not possible to directly send low level USB signals on 100m of fiber. You will need to decode the USB protocol on the first board and send data as a custom serial prototol on the optical fiber. On the other side you will need to decode your custom serial protocol and translate it back as USB host commands. I think this will be a lot of work, and there aren't a lot of USB cores available, at least for altera FPGAs.

0 Kudos
Altera_Forum
Honored Contributor II
454 Views

 

--- Quote Start ---  

I agree that the USB protocol packets need a quick acknowledge, and it's not possible to directly send low level USB signals on 100m of fiber. You will need to decode the USB protocol on the first board and send data as a custom serial prototol on the optical fiber. On the other side you will need to decode your custom serial protocol and translate it back as USB host commands. I think this will be a lot of work, and there aren't a lot of USB cores available, at least for altera FPGAs. 

--- Quote End ---  

 

 

thank you sir for posting  

 

 

i know someone for Palestine his name is Hazem Adeeb Zaid know he is in the forth year of engineering he do his final exam and graduate 

his graduate project about encode USB signal and send it to another board and decode it  

 

and he use this board 

 

http://www.digilentinc.com/products/detail.cfm?navpath=2,400,836&prod=atlys 

 

so what do you mean "and there aren't a lot of USB cores available, at least for altera FPGAs. "
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

i want to ask you admin why you take long time to accept my post 

i really need people post in my thread 

when you take long time to post this will make my thread dead 

 

please let me post in the same time i submit
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

For some reason the messages you write trigger the forum's antispam system and they get automatically moderated down. I don't know how it is precisely configured, but it is probably because you have a low message count and include URLs in your messages. It should get better now that you have more than 5 published messages. 

I've approved you message but I usually just come here once a day, so yes it can take time. 

 

You can find a few solutions to decode USB signals directly in an FPGA but they usually licensed, which means you will have to pay to use them. There is a free core available at opencores (http://opencores.org/project,usb) but I don't know how usable it is. There is another problem though, for these cores to work you will need an external PHY chip. I don't know about any development kit that has one, so it means you would have to do your own daughterboard with the correct chip. 

 

Another solution is to use a development kit that already has a USB interface. Almost all the Altera kits have one, but it is used for JTAG access. You can reprogram the MAX II chip to use the USB interface for your own purposes, but then you don't have the USB blaster functionality anymore and can't configure the FPGA without an external USB-Blaster. Other kits such as the one you show here, or some Altera Cyclone V kits, have a second USB connector that you could use without loosing the JTAG functionality. But note that in all those cases, you won't emulate a generic USB device. Usually the integrated USB functionality on those kits is a serial link (UART) so you won't be able to directly emulate a USB flash drive.
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

 

--- Quote Start ---  

For some reason the messages you write trigger the forum's antispam system and they get automatically moderated down. I don't know how it is precisely configured, but it is probably because you have a low message count and include URLs in your messages. It should get better now that you have more than 5 published messages. 

I've approved you message but I usually just come here once a day, so yes it can take time. 

 

You can find a few solutions to decode USB signals directly in an FPGA but they usually licensed, which means you will have to pay to use them. There is a free core available at opencores (http://opencores.org/project,usb) but I don't know how usable it is. There is another problem though, for these cores to work you will need an external PHY chip. I don't know about any development kit that has one, so it means you would have to do your own daughterboard with the correct chip. 

 

Another solution is to use a development kit that already has a USB interface. Almost all the Altera kits have one, but it is used for JTAG access. You can reprogram the MAX II chip to use the USB interface for your own purposes, but then you don't have the USB blaster functionality anymore and can't configure the FPGA without an external USB-Blaster. Other kits such as the one you show here, or some Altera Cyclone V kits, have a second USB connector that you could use without loosing the JTAG functionality. But note that in all those cases, you won't emulate a generic USB device. Usually the integrated USB functionality on those kits is a serial link (UART) so you won't be able to directly emulate a USB flash drive. 

--- Quote End ---  

 

 

thank you very much sir 

 

i understand from you there is no FPGA Board with USB Port have the ability to Read USB FLASH Disk or and USB Device 

 

quick question :o 

 

what if i change my decision and try to decode Ethernet port Signal trying to send it via Optical Fiber because there is many FPGA Board with Ethernet port
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

There are boards with usb, but you'll have to describe some hardware in order to interface with it. 

And about the 100m fiber, can't you just make a giant loop?
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

thank you PietervanderStar 

 

 

which one is easy for my situation Decode USB Signal or Decode Ethernet Port Signal and send it via Fibr Optic
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

Check the datasheets, I cannot say. I have a board with a USB-controller chip. But I have not used it yet.

0 Kudos
Altera_Forum
Honored Contributor II
454 Views

The Cyclone V Soc kit has a USB port that can be used as master, but it's possible that it's directly connected to the ARM core and can't be used from a custom hardware design. Besides its price may be out of your range. 

It's probably more cost effective to use Ethernet as you suggested. At lot of kits have it, some of them not so expensive. Remember to plan some time ahead to familiarize yourself with the Ethernet protocol on the Altera kits, especially if you want to act directly on the Ethernet packets at the hardware level. Examples on the wiki such as the udp offload example (http://www.alterawiki.com/wiki/nios_ii_udp_offload_example) show how to generate and receive Ethernet packets directly in HDL code.
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

thank you for posting sir  

lets say i decide to make my project work with Ethernet  

i have NanoStation Access point to receive the internet signal  

and its contain Ethernet Port  

so can i encode the signal from nanostation and then send it via optical fiber to the second station to decode it and send it to my PC's Ethernet port 

this will let me send the signal over 100 m  

is it possible  

or the Ethernet port in FPGA board as like USB Port  

it didn't have the ability to decode any type of signal from any device that have Ethernet port 

 

 

thank you very much
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

This should be possible. The udp offload example (http://www.alterawiki.com/wiki/nios_ii_udp_offload_example) I talked about in my last post will show you how to directly handle Ethernet packets.

0 Kudos
Altera_Forum
Honored Contributor II
454 Views

Hi again 

 

 

now we decide i any my friend to learn FPGA for graduate project for next year 

i make post in this group before asking about many FPGA board 

but know i have only 4 board 

3 from Altera 

and 1 from Xilinx 

i see in YouTube Professor Bruce Lane Use Altera and DE2 model 

in most FPGA Projects with his Students 

 

so that's why I'm asking about Altera and compared to Xilinx 

 

this is the board 

 

Atlys™ Spartan-6 FPGA Development Board 

 

http://www.digilentinc.com/products/detail.cfm?navpath=2,400,836&prod=atlys 

 

DE2i-150 FPGA Development Kit 

 

http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&categoryno=139&no=529&partno=1 

 

Altera DE2-115 Development and Education Board 

 

http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&categoryno=139&no=502&partno=1 

 

Altera DE2 Board 

 

http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&categoryno=53&no=30&partno=1 

 

there is no difference in the price 

 

i want it fast and able to analyses Ethernet data 

 

which one of Altera model is fastest and better 

 

and what should i choice Xilinx Atlys or Altera DE2 

 

i make post in FPGA Developer Group in Facebook 

and this is the posts of members 

 

http://im66.gulfup.com/Axs5Ee.png  

 

 

http://im66.gulfup.com/OGTHS1.png  

 

 

http://im66.gulfup.com/F5EbUT.png  

 

 

I'm very serious I'm my project and time is going  

its not easy to do FPGA project from first time you need long time to learn  

and i should buy FPGA board quickly to start learning  

 

that's why I'm tell you every thing happen with me about FPGA 

 

please tell my your opinion about this 

 

i want to choice between Altera DE2i-150 or Xilinx Atlys 

 

 

and whats is better and perfect for my project DE2i-115 or DE1-SoC 

 

 

and is Hard-processor important as what pedro said in facebook comment 

 

 

 

 

 

thank you very much 

 

my regards
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

Dear Haider,  

Hello! 

I got your message from Facebook.  

I know little about FPGA because our company is focused on single board computers.  

Our engineers offer a solution with single board computers.  

The communication between two single board computers 100 meters away from each other could be realized as follows:  

 

single board computer A ------------(Ethernet cable)--------single board computer B  

 

Done! 

Communication between single board computer and PC could be made via serial port. 

Hope this reply is helpful! 

 

Best wishes,  

Winter
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

 

--- Quote Start ---  

Dear Haider,  

Hello! 

I got your message from Facebook.  

I know little about FPGA because our company is focused on single board computers.  

Our engineers offer a solution with single board computers.  

The communication between two single board computers 100 meters away from each other could be realized as follows:  

 

single board computer A ------------(Ethernet cable)--------single board computer B  

 

Done! 

Communication between single board computer and PC could be made via serial port. 

Hope this reply is helpful! 

 

Best wishes,  

Winter 

--- Quote End ---  

 

 

Winter thank you very much for helping me 

im very happy to see you post in this forum as like other member  

 

thank you very much again 

 

my regards
0 Kudos
Altera_Forum
Honored Contributor II
454 Views

 

--- Quote Start ---  

For some reason the messages you write trigger the forum's antispam system and they get automatically moderated down. I don't know how it is precisely configured, but it is probably because you have a low message count and include URLs in your messages. It should get better now that you have more than 5 published messages. 

I've approved you message but I usually just come here once a day, so yes it can take time. 

 

You can find a few solutions to decode USB signals directly in an FPGA but they usually licensed, which means you will have to pay to use them. There is a free core available at opencores (http://opencores.org/project,usb) but I don't know how usable it is. There is another problem though, for these cores to work you will need an external PHY chip. I don't know about any development kit that has one, so it means you would have to do your own daughterboard with the correct chip. 

 

Another solution is to use a development kit that already has a USB interface. Almost all the Altera kits have one, but it is used for JTAG access. You can reprogram the MAX II chip to use the USB interface for your own purposes, but then you don't have the USB blaster functionality anymore and can't configure the FPGA without an external USB-Blaster. Other kits such as the one you show here, or some Altera Cyclone V kits, have a second USB connector that you could use without loosing the JTAG functionality. But note that in all those cases, you won't emulate a generic USB device. Usually the integrated USB functionality on those kits is a serial link (UART) so you won't be able to directly emulate a USB flash drive. 

--- Quote End ---  

 

 

finally i thing i find the solution in this board 

 

ZYBO Zynq™-7000 Development Board 

 

http://www.digilentinc.com/products/detail.cfm?navpath=2,400,1198&prod=zybo 

 

in spec tech they say 

 

OTG USB 2.0 PHY (supports host and device)  

 

so is they mean i can decode and encode all usb signal type and now i can connect usb flash dish or external hdd to board and make the project 

 

please admin do not late to agree this post is really need help
0 Kudos
Altera_Forum
Honored Contributor II
362 Views

last what i do is sending email to Benjamin David Lunt asking him to read this thread trying to help me 

this man have great website and tutorials about FPGA and Microcontroller also programming with USB Interface and use it in electronic projects 

 

i got his answer and i thing that's enough to me  

i will try to do it by myself from scratch  

thank you very much Ben for your answer  

and thanks for every one post trying to help me 

 

admin please close the thread  

 

the answer from BEN :- 

 

Hi, 

 

First let me say that I congratulate you on your desire to 

build this project. 

 

After reading the replies in the links you sent me, and not 

knowing what kind of background and experience you have with 

electronics, I might have to agree with some of the replies 

when they say "start smaller". A blinking LED is a pretty 

easy project once you get started and learn a bit. 

 

http://www.fysnet.net/docs/appendixq.pdf 

 

However, if I was going to create a communications device 

between two PC's, 100 meters apart, using fiber optic cable, 

I would start with a device at both ends, similar as you 

see in the .pdf file above. 

 

Each device would allow you to send and receive data to 

and from the device using a low- or full-speed USB port 

on the PC. 

 

Then I would use the ATTiny2313 to send bits (flashes of light) 

across the fiber optic wire. 

 

However, you will have to write software (firmware) for the 

2313 to send start, stop, and parity bit information, just 

like the old time serial ports do. 

 

This would also be considerably slow, maybe 8 megabits per second, 

since the 2313 runs at about 16500000 Khz (or 16.5Mhz). (Normal 

USB communication is 12Mhz, for low speed devices such as the 

one listed above) 

 

However, this would accomplish the task you are trying to do, though 

considerably slow. 

 

You would also have to have an external power supply for the sending 

and receiving diodes, (each device having one of each). The USB's 

5.0 volts, 500milliamps most likely will not power them. 

 

Here is my suggestion, and please take it as one guy who learned 

hands on just as explained above, to another with all due respect 

and admiration for your desire to learn. 

 

1. Buy a cheap bread board, something similar to 

http://canada.newark.com/twin-industries/tw-e40-1020/breadboard-solderless-830-tie/dp/56t0250?mer=tstso_s_c_breadboard_none 

2. Buy all the components described on page three of 

http://www.fysnet.net/docs/appendixq.pdf 

(minus the break out board (line 2)). 

3. Assemble the three projects described in that appendix. 

 

Once you have a good knowledge of what they do and how they do it, 

I think you could go quite far creating a device to send and receive 

data across a fiber optic wire. 

 

You will need to realize, though, that it would be considerably slow, 

and maybe even unreliable, though if you are simply doing it for the 

task, then by all means, do it. 

 

Now, there are a few other questions you had, that I will try to answer. 

 

You want to be able to grab the data from D+ and D- and simply send 

a 1 or 0 bit along the optic depending on the values D+ and D- are. 

This will not work. The USB must have an ACKnowledge that you received 

the data, etc. You can not simply monitor D+ and D-. The USB will 

expect bytes in return after each packet is sent, using these two 

pins. 

 

Second, by sending the commands explained in the AppendixQ .pdf listed 

above, you will see that you can bring high one of the pins of the 

2313, maybe hooking it to pin 7 of your "transmitter" as you explain 

in your post(s), keeping in mind the amount of current supplied by 

the 2313 will be less than 500milli-amps. Therefore, you may need 

an external power supply and a "relay" (a transistor?). 

 

I hope that I have been of some help to you. 

 

Ben
0 Kudos
Reply