UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor ummar1255
Visitor
9,855 Views
Registered: ‎06-18-2011

Spartan 3 FPGA and Ethernet Port Hardware Connection

Hi every one,

i recently developed serial communication with spartan 3 (XC3S400PQ208C) FPGA, the hardware ciruitry is

 

SERIAL INTERFACE.JPG

 

In this circuit MAX 232 IC converts recieving serial signal (to be recieved by FPGA) to 5V and then the signal is directed to
one of the IO pins of FPGA.
Also for transmitted 5V signal from one of IO pin of FPGA is converted to serial level bay MAX 232 and send to serial port.
So in this way the 12v serial level signal are converted to 5v and vice versa to work compatible with FPGA. Then i have implemented uart code in FPGA to manipulate recieved and transmitted signals.

Now i want to do same with the RJ45 ethernet port to achieve a higher speed of 10 Mbps. i have found a PHY chip (SMSC LAN8700) but it is in QFN package (not like MAX232 which is DIP).

Can some one suggest me a DIP package LAN PHY chip and associated circuitary to connect to FPGA (as one i have attached) for easy working with bread board.

I have found a tutorial here

it does not suggest to have any hardware between FPGA and RJ45 port for transmitting data from FPGA to RJ45 port see
it asks for filter and a transformer which i think is included in RJ45 port, so we just have to connect the signal from RJ45 port to FPGA pin. Am i correct ? i dont want to risk my FPGA.

Moreover it asks for some hardware to recieve data from RJ45 port by FPGA  http://www.fpga4fun.com/10BASE-T4.html
is this hardware enough ?

please tell me any other simpler solution.

0 Kudos
10 Replies
Scholar joelby
Scholar
9,852 Views
Registered: ‎10-05-2010

Re: Spartan 3 FPGA and Ethernet Port Hardware Connection

The fpga4fun method might work, but it's not great. It would be embarrassing to include it in anything other than a hobby project.

 

QFN chips are not much of a problem to hand-assemble, but if you want something easier you might want to consider:

 

  • Digilent PmodNIC - a plug-in module with an SPI interface
  • WIZnet modules - a range of modules that include support for higher level protocols via an API

DIP chips are pretty rare these days and Ethernet interfaces tend to tie up lots of pins. I just had a look at some old NE2000 cards and not even these had DIPs. Stick to one of these modules if you want 10baseT. If you want anything faster, consider buying a new development board that already includes a PHY. If you're designing your own board, skip the DIP and learn how to assemble with SMT parts - pretty much everything interesting these days is surface mount!

 

Visitor ummar1255
Visitor
9,846 Views
Registered: ‎06-18-2011

Re: Spartan 3 FPGA and Ethernet Port Hardware Connection

thanks dear . i'll select one of suggested one.

 

i am not using FPGA4FUN method in my project, i just want to know that

 

is it safe to connect FPGA directly with RJ45 port unlike FPGA to serial port connection which requires some IC for level tanslation?

what are voltage levels of 10 mbps & 100 mbps ethernet ?

0 Kudos
Scholar joelby
Scholar
9,833 Views
Registered: ‎10-05-2010

Re: Spartan 3 FPGA and Ethernet Port Hardware Connection

10baseT is +/- 2.5V. You could use LVDS inputs and a transformer, but don't expect to get 100 metres. You can't just connect an Ethernet cable directly to FPGA pins because of the common mode voltages.

 

100baseTX is +/- 1V, but 0V is also required - I'm not sure the OBUFDS support this.

 

If you have to ask us these questions, it's almost certainly unsafe for your FPGA and the other devices you're connecting up. PHYs incorporate protection devices that are designed to withstand the requirements of the various Ethernet standards. Xilinx FPGAs don't implement the required voltage standards.

Teacher eteam00
Teacher
9,828 Views
Registered: ‎07-21-2009

Before answering, what is the real question?

Ummar,

 

You have mentioned a few different implementation schemes, but you haven't described the design requirements.  Perhaps with a 'problem description' we might be able to suggest a simple and safe solution.

 

  • What bit rate?
  • Transmit only, or transmit and receive?
  • What distance?
  • Maximum number of cable conductors?
  • FPGA at the other end of the link?

I'm tempted to toss in a dumb and simple 10Mb/sec solution, but I resist until after better understanding of the problem to be solved.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
Visitor ummar1255
Visitor
9,817 Views
Registered: ‎06-18-2011

Re: Before answering, what is the real question?

i have to send/recieve data from matlab to FPGA at 100Mbps.

Both are 20 meter apart.

there is no other limitation.

 

before that i was communicating MATLAB and FPGA via serial port but now the speed need to be enhanced.

0 Kudos
Teacher eteam00
Teacher
9,814 Views
Registered: ‎07-21-2009

Re: Before answering, what is the real question?

i have to send/recieve data from matlab to FPGA at 100Mbps.  Both are 20 meter apart.

Thank you for providing these details.  They are quite helpful.

 

  • This (100Mb/sec) is different (by factor of 10) from your first post in this thread
  • Matlab is software, not hardware.  Please specify hardware (and which operating system)
  • Is there a list of specific hardware or device interfaces supported by Matlab, or will Matlab connect to any and every device connected to the host system?
  • Are you assuming custom hardware for interface in whatever hardware is hosting Matlab? (custom hardware implies custom device driver software -- are you equipped for this?)

Do you understand the importance of details which you waited until post #6 to reveal?

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
Historian
Historian
9,803 Views
Registered: ‎02-25-2008

Re: Spartan 3 FPGA and Ethernet Port Hardware Connection


@joelby wrote:

The fpga4fun method might work, but it's not great. It would be embarrassing to include it in anything other than a hobby project.


That seems to be true for everything on that website.

----------------------------Yes, I do this for a living.
0 Kudos
Visitor ummar1255
Visitor
9,796 Views
Registered: ‎06-18-2011

Re: Before answering, what is the real question?

actually i was first trying to establish 10mbps communication.

 

ok i think the things ar getting confused.

 

i try to make the whole picture clear.ok

 

i have windows xp and matlab R2010a installed on it.

In simulink there is a  Instrument Control Toolbox this tool box has TCP/IP Send,TCP/IP Recieve, Serial send and Serial recieve.

 

Previously i have made a simulink model which uses  Serial send and Serial recieve modules of  Instrument Control Toolbox and send/recieve data to/from FPGA through COM port of the PC, model is simple only set a baud rate and send some constant value if u ask i'll send u the model.

COM port is then connected to MAX232 IC (which translates the serial levels  to 5v and ground) for FPGA, then uart  code is implemented in verilog to recieve and transmit data.

 

if i summarize it i would say, serial data travels through MATLAB (software) to COM port (hardware) then MAX232 (level converters) and then to FPGA and vicer versa.

 

now analogous to this , Instrument Control Toolbox have TCP/IP Send and TCP/IP Recieve modules. i want to establish an ethernet communication between MATLAB and FPGA as i have developed serial communication explained above.

 

the reason for going to ethernet is speed issue of serial port.

 

now what i want is an analogous and SIMPLE scheme in which data travels from MATLAB via ethernet to FPGA.

0 Kudos
Teacher rcingham
Teacher
9,787 Views
Registered: ‎09-09-2010

Re: Before answering, what is the real question?

"now what i want is an analogous and SIMPLE scheme in which data travels from MATLAB via ethernet to FPGA."

It might help to post in the correct forum for MATLAB-related questions:
http://forums.xilinx.com/t5/DSP-Tools/bd-p/DSPTOOL

------------------------------------------
"If it don't work in simulation, it won't work on the board."
0 Kudos
Visitor ummar1255
Visitor
2,209 Views
Registered: ‎06-18-2011

Re: Before answering, what is the real question?

thx rcingham

0 Kudos