How to enable single queue/channel in full-duplex operation for AURIX TC399 GETH?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
seanwu
Level 2
Level 2
Distributor - Weikeng(GC)
10 replies posted 10 sign-ins 5 replies posted

Dear sir,

In AURIXTC3XX_um_part2_v2.0.pdf, there is a description about : In multi queue/channel configurations, enable only Q0/CH0 on Tx and Rx for half-duplex operation. If you want to enable single queue/channel in full-duplex operation, any queue/channel can be enabled.

Could you please teach how to implement this?

seanwu_0-1664846733383.png

Thanks.

BR,

SeanWu

Weikeng Inc.

0 Likes
7 Replies
Nambi
Moderator
Moderator
Moderator
500 replies posted 50 likes received 5 likes given

Hi,

You can refer to the Ethernet_1_KIT_TC397_TFT example in "Aurix Development Studio." You can also refer to the API IfxGeth_mac_setDuplexMode() in ILLD.

Best Regards.

seanwu
Level 2
Level 2
Distributor - Weikeng(GC)
10 replies posted 10 sign-ins 5 replies posted

Hi,

In this example, just enable Q0 and CH0. Is it not half duplex mode?

seanwu_0-1664861733687.png

Thanks.

BR,

Sean Wu

0 Likes
Di_W
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 250 solutions authored

Hi Sean,

No, the duplex mode is only set by below code for your reference.

void IfxGeth_Eth_initModuleConfig(IfxGeth_Eth_Config *config, Ifx_GETH *gethSFR)
{
    IfxGeth_Index            gethIndex;
    gethIndex = IfxGeth_getIndex(gethSFR);
    const IfxGeth_Eth_Config defaultConfig = {
        .gethSFR          = NULL_PTR,
        .phyInterfaceMode = IfxGeth_PhyInterfaceMode_rmii,
        .pins             = {
            .rmiiPins  = NULL_PTR,
            .rgmiiPins = NULL_PTR,
            .miiPins   = NULL_PTR,
        },
        .mac                                          = {
            .duplexMode    = IfxGeth_DuplexMode_fullDuplex,
seanwu
Level 2
Level 2
Distributor - Weikeng(GC)
10 replies posted 10 sign-ins 5 replies posted

Hi dw,

So, the setting means the ethernet is  now in full duplex mode?

.duplexMode    = IfxGeth_DuplexMode_fullDuplex,

 

Could you please help to explain the meaning? 

In multi queue/channel configurations, enable only Q0/CH0 on Tx and Rx for half-duplex operation. If you want to enable single queue/channel in full-duplex operation, any queue/channel can be enabled.

Thanks.

BR,

Sean

 

0 Likes
Di_W
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 250 solutions authored

Hi Sean,

From my understanding,(1) if use half-dublex, enable Q0/CH0;(2) if use full-duplex, any queue/channel can be enabled.

dw

seanwu
Level 2
Level 2
Distributor - Weikeng(GC)
10 replies posted 10 sign-ins 5 replies posted

Hi dw,

If use half duplex mode, just can enable Q0/CH0, right?

If use full duplex mode, if I just only enable Q0/CH0, it is still full duplex mode, right ?

one DMA channel just can map to one Queue, right?

If I use one DMA channel(CH0), but use two Queues, and two Queues are mapping to DMA channel 0, is it right?

seanwu_0-1664863475588.png

Thanks.

BR,

Sean

 

0 Likes
Di_W
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 250 solutions authored

Hi SeanWu,

From my known, please consider full-duplex in your protocol stack as this is commonly used in nowadays applicaitons. Half-duplex is a legacy of history and not enabled unless there is a special need.

dw