Hello,
Summary: I am using #SJA1105TEL switch with #88E1512 PHY. I am developing the basic Ethernet switch device. I have successfully connected the PHY and switch module and I can see the data on Rx side of switch (Read N_RX_BYTES register for diagnose) But somehow I cannot see any Tx data on N_TX_BYTES diagnostic register.
My configuration: 1GBit, RGMII. I have used the script(s) which I attached for static configuration. (I have tried many different configuration scripts to be sure the problem is not caused by my config file)
Then I also configured the Clock Generation Unit (CGU) and Auxiliary configuration Unit (ACU) as following:
So, the ACU and CGU is also valid! Then, I connected the devices on ports and start testing.
After device connection on various ethernet ports, the link is UP, and data exchange start but,
when I read the diagnostic registers like "N_RX_BYTES", "N_TX_BYTES" I can see the N_RX_BYTES returns incrementing values as expected. But N_TX_BYTES is always zero or some constant value.
I also read the error diagnose values like, "N_RUNT", "N_SOFERR", "N_ALIGNERR", "N_MIIERR" but I these are zero, so the switch cannot catch any error on link.
Tests I made:
- Check the clock(s) (with Oscilloscope) have observed 125Mhz on both side (mac <--> phy) PASS!
- Check the confirm register () that informs, the static confirmation is valid! PASS!
- Check the status registers like speed, device mode, link status are valid! PASS!
- Check the N_RX_BYTES that increase? PASS!
- Check the N_TX_BYTES that increase? FAIL!
- Check error diagnose registers is clear? PASS!
Which things can be problematic?
I have no host in my configuration. I am implementing the basic switch and I do not have the host_port defined. I just want to pass data between ethernet ports. So, I guess my static config file should be quite simple
Question 1? Should I really use the HOST_PORT option, is it really required in my case?
Question 2? Why I cannot see and data on TX side of switch?
Question 3? I am not sure is it really caused by Phy or Switch but Switch RX register has some data and Tx has nothing. I seems to me, the data is eliminated. Do we know why It happens?
Is it caused by wrong configuration file inclues wrong MAC_FLTRES and MAC_FLT values? (To be sure, I tried many different MAC possibilities including multicast addresses and so on.)
Thank you for your response and time..
Solved! Go to Solution.
I resolved that problem. It caused by the missing reset in beginning. Before the uploading static config I have called the "Reset Generation Unit (RGU)" RGU register with cold reset mode and my problem is resolved.
I resolved that problem. It caused by the missing reset in beginning. Before the uploading static config I have called the "Reset Generation Unit (RGU)" RGU register with cold reset mode and my problem is resolved.