Showing posts with label PHY. Show all posts
Showing posts with label PHY. Show all posts

Monday, 23 April 2007

It speaks!

HydraRaptor just replied to ping, so that's PHY, MAC, ARP, IP and ICMP working.

Pinging 10.0.0.42 with 32 bytes of data:

Reply from 10.0.0.42: bytes=32 time=1ms TTL=128
Reply from 10.0.0.42: bytes=32 time<1ms TTL=128
Reply from 10.0.0.42: bytes=32 time<1ms TTL=128
Reply from 10.0.0.42: bytes=32 time<1ms TTL=128

Ping statistics for 10.0.0.42:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms

UDP next.

Saturday, 21 April 2007

Slow going

Not much to report as I have had little time to spend on HydraRaptor this week, should get more done this weekend though.

On the firmware front I got as far as writing the Ethernet PHY driver. This is the part of the Ethernet controller concerned with actually sending the signals down the wire. Back in the days of 10MB Ethernet this was a relatively simple line driver. With 100MB it is a lot more complicated and generally involves a DSP to compensate for signal distortion in the cable. Quite often these are separate chips but the MC9S12NE64 has one built in.

Despite the internal complexity, the interface to a PHY is straightforward. The driver just has to configure it and then wait for it to report that the link is up. One slight wrinkle I came across is that there is a bug in the silicon that drives the activity LED. Apparently the pulse it generates is too short to be seen. You can either stretch it in hardware or disable the hardware control of the LEDs and do it yourself in software, using the pins as general purpose I/O.

The next thing to do is write the MAC driver. This part of the chip is responsible for sending and receiving Ethernet packets.