This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: TI-RTOS
Respected sir,
Do I need to make any changes to TCP echo example from TI-RTOS to implement it on custom board?? Can I use it directly without any change??
Regards,
Digvijay.
Respected sir,
I tried implementing tcpEcho_EK_TM4C1294XL_TI_TivaTM4C1294NCPDT example on my custom board. But it was showing the message in console as shown below.
Change the macAddress variable to match your boards MAC sticker
So i changed the MAC address in EK_TM4C1294XL.c file. I put the MAC adress of my EK-TM4C1294XL launch pad kit As shown below
unsigned char macAddress[6] = {0x00, 0x1a, 0xb6, 0x02, 0xc8, 0x5b};
But i am getting the message in console as shown below
[CORTEX_M4_0] Starting the TCP Echo example
System provider is set to SysMin. Halt the target to view any SysMin contents in ROV.
Service Status: DHCPC : Enabled : : 000
Service Status: DHCPC : Enabled : Running : 000
Service Status: DHCPC : Enabled : Fault : 002
So where is the problem ?? Is it with software or hardware??
Regards,
Digvijay
Respected sir,
The target is connected to the DHCP server. The EK-TM4C1294XL launch pad kit works on the same network. But custom board gives message as above.
Regards,
Digvijay
Respected sir,
I did not knew that. How to do it??
Also how to test hardware ?? Because I have daubt that it is hardware problem. But I don't know how to test it.
Regards ,
Digvijay
Respected sir,
BP101 said:Did you uses LM flash to program/commit USER0/1 registers for the MAC address listed above?
As i have assigned address to macAddress variable as shown below i dont think i have to commit the user registers.
unsigned char macAddress[6] = {0x00, 0x1a, 0xb6, 0x02, 0xc8, 0x5b};
Regards,
Digvijay
>> As i have assigned address to macAddress variable as shown below i dont think i have to commit the user registers
Ok but try to Get MAC via LM Flash after MCU POR and you see it becomes something odd indeed if not committed. We too tested Ethernet-echo and it worked ok on EK Launch pad. Does your local router web page show the MAC you programmed and IP address assigned? Many home routers can be accessed via browser http://x.x.x.x gateway address and corporate router via SSH protocol.
Respected sir,
Thank you for reply.
BP101 said:Ok but try to Get MAC via LM Flash after MCU POR and you see it becomes something odd indeed if not committed
I am using serial(UART) interface of LM FLASH PROGRAMMER. Hence i can not get or set content of user register as flash utilities and other utilities are turned off. So is it ok to use FlashUserSet() to commit user0 and user1 register??
BP101 said:browser http://x.x.x.x gateway address and corporate router via SSH protocol.
As my firewall not allowing it, I can not use these methods. But i tried to check packets transmitted by custom board using Wireshark and i am not able to receive even a single packet.
Regards,
Digvijay
Respected sir,
I successfully committed the user register using FlashUserSet() and read back the registers using FlashUserGet(). So MAC address committing has been done successfully.
But still i am not able to communicate. My Link OK LED is not glowing. So is it software problem or hardware??
Regards,
Digvijay
digvijay khambe said:I successfully committed the user register using FlashUserSet() and read back the registers using FlashUserGet().
That seems to prove the EMAC0 is indeed functional if you accomplished it by flashing an application in doing so. One step closer to success is the IP address being assigned if not by the router it might be self assigning an address from application. You could try to type (ARP -a) in CMD console to see who your PC is talking to.
digvijay khambe said:So is it software problem or hardware??
That is something we can not determine with the limited information you have provided. Posted schematic of interface would help and what GPIO ports were used, do match applications?
digvijay khambe said:After typing ARP -a in CMD , it is showing message that No ARP entries found
Even if you use web browser for this forum there will be entries in the ARP table. My friend you may have bigger problems than what you have figured.
Has the application configured GPIO PF0/PF4 for EMAC0 LEDs? Assume 180E=180ohms seems a bit low resistance, DMM diode check shows LED ok? Default PAD strength is 2ma for Ethernet LEDs.
Perhaps pin6 RXD is not 3v3 biased as pin1 TXD is only differential pair bias shown. Also TM4C1294NCPDT requires 49.9 ohm pull up on each differential pair +/- signal, placed near the MCU pin. Note the Pulse transformer (HX1198FNLT) is typical and proven to work with PHY0. Your magnetic may work if you add the pull ups and bypass near the MCU pins.
Likely the PHY is not detecting a link state due to improper 3v3 bias and LED's do not light up under such a condition.
Respected sir,
BP101 said:Even if you use web browser for this forum there will be entries in the ARP table. My friend you may have bigger problems than what you have figured
While checking for ARP i disconnected PC from LAN and connected it to my custom board (only for testing purpose). So only custom board was connected to PC .
BP101 said:Has the application configured GPIO PF0/PF4 for EMAC0 LEDs? Assume 180E=180ohms seems a bit low resistance, DMM diode check shows LED ok? Default PAD strength is 2ma for Ethernet LEDs.
Yes LED's have been configured for EMAC. The TX/RX LED blinks. Also i have checked LED's by toggling they work fine.
BP101 said:Perhaps pin6 RXD is not 3v3 biased as pin1 TXD is only differential pair bias shown. Also TM4C1294NCPDT requires 49.9 ohm pull up on each differential pair +/- signal, placed near the MCU pin.
I have taken this circuit from MICROCHIP's PICDEM.net development board. Only change is that instead of 49.9 ohm i have used combination of 47ohm and 2.7 ohm. This circuit has been tested with my other card and it works for that card.
BP101 said:Likely the PHY is not detecting a link state due to improper 3v3 bias and LED's do not light up under such a condition.
BP101 said:Your magnetic may work if you add the pull ups and bypass near the MCU pins.
digvijay khambe said:While checking for ARP i disconnected PC from LAN
You are using a cross over Ethernet cable or have a switch connected when doing this? It will not work to plug a strait through cable or recoil flat clear cable provided with launch pads.
digvijay khambe said:Do you need me to add extra pull ups?? What do you mean by bypass near the MCU pins??
No -- pull ups, bypass caps need to be positioned near the MCU pins, not the magnetic jack.
Respected sir,
BP101 said:You are using a cross over Ethernet cable or have a switch connected when doing this?
Yes , i am using cross cable. The same setup works for launch PAD and i can see DHCP discover packets on WIRESHARK . But with custom board it does not work.
BP101 said:No -- pull ups, bypass caps need to be positioned near the MCU pins, not the magnetic jack.
My pull ups are near magnetic jack, 3-4 cm away from controller pins. So that seems problem. Now one thing is for sure that it hardware problem and not software. I have to change my PCB and then check again.
Regards,
Digvijay
digvijay khambe said:My pull ups are near magnetic jack, 3-4 cm away from controller pins
It may still work to jumper 3v3 pin 1-6 with small wire and add 1uf cap on top of bypass if separate 3v3 trace was used, please let us know? If you do make a new PCB there should be no ground plane under the magnetics other than PHY signal traces. Please use the proven Pulse transformer with an ESD suppressor if you cant get yours to work.
Try to keep the two traces of each differential pair close in length within (1.27mm), minimize number of diff pair VIA's keeping TXD/RXD pairs 1.27mm apart, maintain 100 ohm diff impedance 50 ohm single ended. Our 2 sided PCB has only 4 diff pair 10D20 VIAs, 7mil trace widths worked well for 2oz build up. Some board houses can maintain multi layer stack up impedance but charge extra for the service. That's likely why some folks are using the launch pad booster pack headers, at least in the first stages of design proving.
Hi digvijay,
Did this get resolved? Can I close out the thread?
Todd
[Updates: I'm marking this a TI Thinks Resolved and closing it because of inactivity from the original poster. If you feel otherwise, please post a response and the thread will be opened.]
Respected sir,
sorry for late reply. I was tied up in another task. Just need small clarification.
BP101 said:It may still work to jumper 3v3 pin 1-6 with small wire and add 1uf cap on top of bypass if separate 3v3 trace was used, please let us know?
i did not get exactly what you want me to do?? Please give some clarification on connection.
regards,
digvijay
Respected sir,
Sorry for the late reply.
I think i have found the problem. The voltage levels of differential line are degrading. So i removed inductor from LC filter and i was able get NORMAL LINK PULSES. But these pulses are not strong enough and malfunction( It works with PC but fails with LAN network also it take more time that what launch pad takes to establish the link). So after establishing link with PC i measured voltage levels of TX-P and TX-N lines.
The TX-P line gives 720 mV peak to peak voltage with 3.292 V DC bias. And TX-N line gives 1.08 V peak to peak voltage with 3.292 DC bias.
So the question is why there is difference in peak to peak voltages of TX-P and TX-N lines??
Also i found out that Rbias affects the voltage levels of differential TX lines. So i changed the Rbias to get 1.05V peak to peak voltage on TX-P line but the voltage on TX-N also changed to 1.4V from 1.08V .
So the second question is how to solve this problem?? How to get same voltages on both the lines?? Is it related to PCB layout??
Regards,
Digvijay
digvijay khambe said:So the question is why there is difference in peak to peak voltages of TX-P and TX-N lines??
You have yet to answer did you fix pin 6 of magnetics to have 3v3 bias? We can not read your mind and there are several voids in your posted details.
digvijay khambe said:Also i found out that Rbias affects the voltage levels of differential TX lines
Undocumented as to what can occur to EMAC0 silicon if the pin injection current is to excessive!
Respected sir,
Yes i have given 3V3 bias to Pin 6. The voltage levels and shape of wave form is not matching with that of launch pad kit.
From internet i learned that i have to do some kind of signal integrity test by measuring impedance.
So please share any document or link on this test.
Also if there is any procedure/manual/guide for Ethernet hardware testing.
regards,
digvijay