Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

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

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

20 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    thank you PietervanderStar

    which one is easy for my situation Decode USB Signal or Decode Ethernet Port Signal and send it via Fibr Optic
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

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

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- 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
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- 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
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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