Forum Discussion

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

Sustained 100BaseT transfer speeds w/ uClinux 1.4

Hi,

I'm interested in hearing from anyone that has made any timing measurements for a sustained data transfer over 100BaseT Ethernet when using the SMSC LAN91C111 I.C. that is installed on the DSP Development Kit and the Nios II development kit while running under uClinux.

Our current goal is to transfer 32 MBytes at a sustained transfer rate of >= 70 Mbits/sec. (8.75 MBytes/sec.). Is that a realistic goal when using uClinux 1.4? Or, is that only a realistic goal when using 100BaseT under certain platforms and/or system conditions? If so, what are those platforms and/or conditions?

Any sustained transfer 100BaseT rate information would be useful.

Sincerely,

Brad S.

6 Replies

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

    From my expereince working with embedded systems using this controller...

    I would say you should be lucky getting 20 - 30MBits/sec...

    Don't know what you have in mind needing such bandwidth..suspecting some

    media apps...but if I would need ethernet performance I would

    never go for a FPGA running a CPU and especially not using

    the SMSC91C111 (o;

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

    Hi, we do have some numbers but nothing close to what you're looking for.

    With the 2.6.9 kernel (that came with Nios II Linux v1.3), on a Stratix Development board running at 50Mhz, we were able to achieve roughly 8Mb/s during a Flood Test... there are other numbers as well but nothing that's directly comparable at this point in time.

    We've also been working on custom instructions to try and optimize the memcopy in uClinux. Some of our tests with the Opencores.org EMAC have shown an increase in throughput under certain conditions (i.e., no hardware multiples in the core). But again, I don't know if we'd ever be able to get up to 70Mb/s throughput...

    Hope this helps...
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    I realized after I made my original post that I should have more accurately described what I'm trying to do. There will be some data stored on a Compact Flash (CF) that we need to transmit to an external PC as fast as possible using the 100BaseT connection that is installed on the Development Kit. Each of the data files that will be stored on the CF will be approximately 32 MBytes in length. We would like to keep the transfer as simple as possible so the current plan is to perform a simple FTP transfer since the FTP capability is already available in the kernel. I don't know what kind of overhead in incurred when using FTP but even if we pay a little price in bandwidth by using FTP, the overall simplicity is a higher priority.

    Given that basic scenario, is a "burst" (approx. 4 sec.) transfer rate of 70 Mbps realistic? Can uClinux and/or the CF card even transfer data at 8.75 MBytes/sec. (70 Mbps)? Or is a 20-30 Mbps (2.5 - 3.75 MBytes/sec.) transfer rate more realistic?

    I appreciate the feedback I have received so far, please keep it coming.

    Thanks,

    Brad S.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Have you tried reading you CF card with an USB reader connected to PC and see how fast it can read it?

    (make sure you try with a high-speed USB read of course ;o)

    Done some projects with CF cards a while ago but with mcf5272@66MHz under uClinux-2.4.20 and got some 1 - 2MBytes/secs if I remember correctly.

    Are you really fixed with the NIOS board and SMSC91C111? SMSC just brought out new chips with better throughput and also supporting 16/32 bit interfaces...

    And...if you only want to send files from CF card to PC...why do you need to run on uClinux? How about embedded TFTP server?

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

    Hi rick,

    <div class='quotetop'>QUOTE </div>

    --- Quote Start ---

    Have you tried reading you CF card with an USB reader connected to PC and see how fast it can read it?

    (make sure you try with a high-speed USB read of course ;o)[/b]

    --- Quote End ---

    No, I haven&#39;t tried using a CF reader to test the transfer speeds. However, according to SanDisk, the maximum transfer speeds to/from the CF is 9/10 MBytes/sec., respectively. However, I&#39;m not sure uClinux IDE interface can achieve those transfer speeds.

    <div class='quotetop'>QUOTE </div>

    --- Quote Start ---

    Are you really fixed with the NIOS board and SMSC91C111? SMSC just brought out new chips with better throughput and also supporting 16/32 bit interfaces...[/b]

    --- Quote End ---

    Yes, using the DSP development kit (Stratix II edition) board fits our needs well since it has all the basic components we need for a proof-of-concept system. Even if the SMSC91C111 isn&#39;t the latest and greatest Ethernet transceiver chip, it will have to do. I&#39;m just trying to determine what kinds of transfer speeds we can expect when using the 100BaseT ethernet on this board to offload our test data.

    <div class='quotetop'>QUOTE </div>

    --- Quote Start ---

    And...if you only want to send files from CF card to PC...why do you need to run on uClinux? How about embedded TFTP server?[/b]

    --- Quote End ---

    We need the Nios II controller to provide some basic command/control functions to some custom circuitry that will be running on the rest of the Stratix II. Since we don&#39;t currently own any of the commercial OS&#39;s (OS II, Nucleus, etc.) using uClinix seemed a nice fit since all the other components required for the system are also on the dev. board (in-circuit Flash, SDRAM, etc.). Is there an option to run to run a TFTP server on uClinux to save the kernel memory footprint? I don&#39;t recall seeing a choice for TFTP when configuring the kernel options.

    Thanks for your input rick.

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

    After struggling with this eclipse IDE BS I finally was able to do a quick test sending a 700MB file over ftp to NIOS2 Cyclone board running at 50MHz...

    Just piping it to /dev/null gives around 1.28MBytes/secs...

    rick