Skip to main content
seindich
Associate
August 5, 2017
Question

Hi, does anyone know if it is possible to receive short (runt) frames with stm32f4x mac?

  • August 5, 2017
  • 8 replies
  • 1747 views
Posted on August 05, 2017 at 10:25

Can not find any related flag in RM0090 at lest.  Strongly need to receive frames with lengths down to  12 byte totally (having only SA DA at most )

    This topic has been closed for replies.

    8 replies

    Tesla DeLorean
    Guru
    August 5, 2017
    Posted on August 05, 2017 at 14:38

    It uses third-party IP, so the docs aren't likely to be super detailed.

    I would expect that it would receive them, not sure if there is a specific flag identifying them, other hardware I've used for this just passes you a length of what was received, even if that was less than 64 bytes. Think you'll just need to experiment.

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    seindich
    seindichAuthor
    Associate
    August 5, 2017
    Posted on August 05, 2017 at 16:43

    thank you for quick reply

    Document says it can receive short frames, but very short frames are not  traced in program (oscilloscope clearly detects data from phy (dp83848)). Smallest receive threshold option(for cut-through mode) is 32 byte - much more than I want. Though it promisses to immideately pass runt frames that are shorter than threshold. I guessthe issue is much earlier than DL level; Any way I have to double check all settings.  I should try  MII mode too. If it doesnt work, at least I can modify CRS (carrier sense) signal with additional HW(to receive additional zeroes if it passes wrong CRC) or even try receive packet with DMA into memory from PHY;

    I need to develop some custom highly synched protocol, where full packet is too long. Hope cheaper cortex will save production costs (very unwilling to dig into fpga). The data rate and the degree the internat ETH/MAC is tweakable are very good.

    waclawek.jan
    Super User
    August 5, 2017
    Posted on August 05, 2017 at 16:40

    Can not find any related flag in RM0090

    ETH_DMAOMR.FUGF?

    JW

    seindich
    seindichAuthor
    Associate
    August 5, 2017
    Posted on August 05, 2017 at 16:52

    Yeah, tried that; it promissed all the good but still cant receive that packet (from SFD it is only 12bytes + 4 bytes of 802.3 standard FCS ).  Receive own mode gets such packet well.

    I hope it is some of my mistake (I use RMII mode on custom board with other settings that are subject to re-check)

    waclawek.jan
    Super User
    August 5, 2017
    Posted on August 05, 2017 at 17:00

    Does ETH_DMAMFBOCR change?

    JW

    seindich
    seindichAuthor
    Associate
    August 19, 2017
    Posted on August 19, 2017 at 19:00

    My problem was in disabled autonegotiation though I chose correct mode (it seems like autonegotiation helps to synchronize clock(s) in RMII mode. there was a moment in which it had received distorted data.)