RetroBrew Computers Forum
Discussion forum for the RetroBrew Computers community.

Home » RBC Forums » General Discussion » ECB Ethernet board (Ethernet for ECB based on the RTL8019AS)
ECB Ethernet board [message #8043] Thu, 22 October 2020 06:43 Go to next message
will is currently offline  will
Messages: 213
Registered: October 2015
Senior Member
I've been working on an ethernet board for ECB computers. The board is based around the Realtek RTL8019AS ethernet chip. The board should permit connection to 10Mbit/s ethernet networks using unshielded twisted pair (UTP) cables.

At this stage I have drawn up the schematic but not yet started the PCB layout. I would welcome any comments on the schematic (attached to this post in both PNG and PDF format).

The RTL8019AS chip is a highly integrated network interface chip commonly found on ISA NE2000 cards. It implements a DP8390 NIC clone and the required packet buffer SRAM. It is currently easily obtainable on Ebay for around $3. This is connected to an Amphenol RJMG163118101NR RJ45 jack which integrates a couple of LEDs and all the required transformers, available from Newark, Farnell, Mouser (and probably others) for around $5. An on-board AT93C46 EEPROM holds the configuration for the RTL8019AS including the MAC address. The other components on the board are common 74 series logic and a few passives.

The ECB card can be accessed using 8-bit I/O transfers (no mapped memory). It requires 32 I/O addresses and can be based at any multiple of 0x20. The card's interrupt can be routed to the INT, NMI or IR0 through IR7 pins on the ECB.

My main use for the board will be as an ethernet interface for the KISS-68030 machine running Linux, which already has a mature NE2000 driver. It may also be possible to use the board under DOS on the SBC-188 or SBC-386EX with a suitable NE2000 packet driver. On Z80 and Z180 machines it would be an interesting challenge to implement a TCP/IP stack for the Fuzix kernel, and maybe a TCP/IP library that can be linked in to CP/M applications.

The RTL8019AS uses a 100 pin QFP surface mount package. I anticipate it will be no harder to solder than the SVGA chip on Sergey's ISA SVGA card. I have found QFPs can be soldered with a regular hand held temperature controlled iron, the trick is to use plenty of liquid flux and let surface tension do most of the work.

A note on duplex: The RTL8109AS predates (and so does not implement) ethernet autonegotation. This means that most switches will treat it as a half-duplex device, and so the card must be operated in half-duplex mode. If you have a managed ethernet switch you can statically configure the port to full duplex and then the card can also safely run in full-duplex mode. A duplex mismatch will cause one or both devices to falsely detect collisions. Running the card in half-duplex mode is unlikely be the performance bottleneck on these machines.

/forum/index.php?t=getfile&id=1898&private=0

[Updated on: Thu, 22 October 2020 08:01]

Report message to a moderator

Re: ECB Ethernet board [message #8047 is a reply to message #8043] Sat, 24 October 2020 22:01 Go to previous messageGo to next message
b1ackmai1er is currently offline  b1ackmai1er
Messages: 396
Registered: November 2017
Senior Member
Hi Will this is awesome.

Since this is a low chip count, how about combining your existing ECB-USB-FIFO design (which I use as my main interface) onto the one board?

In the original USB-FIFO the Adafruit FT232 was quite expensive. How about including either a discrete component version or a capability to use one of the generic units that can be found on ebay or aliexpress. Also, maybe even a wifi interface version.

Regards Phil.

[Updated on: Sat, 24 October 2020 22:02]

Report message to a moderator

Re: ECB Ethernet board [message #8048 is a reply to message #8047] Sun, 25 October 2020 01:38 Go to previous messageGo to next message
greghol is currently offline  greghol
Messages: 17
Registered: August 2017
Junior Member
Will,

Resistor R8 at 200 ohms will probably work but it should be 100 ohms for proper termination and return loss. Two 50 ohm resistors could be used in split termination configuration. One to + and the other to - and the the other sides connected together with a cap between that point and ground. One 100 ohm resistor would be the easiest in the configuration as shown in your schematic.

Greg
Re: ECB Ethernet board [message #8049 is a reply to message #8043] Mon, 26 October 2020 04:33 Go to previous messageGo to next message
will is currently offline  will
Messages: 213
Registered: October 2015
Senior Member
Phil -- I think integrating the USB-FIFO is a bit ambitious at this point. I agree both cards will be quite low density and although the wasted space pains me I don't want to make the PCB layout any more complex (ie time consuming) than it already is at this stage. I might revisit this decision for a future design if the card proves popular.

Greg -- I think you are right! It is hard to find documentation about exactly what to do here. I have been cribbing from the ethernut 1.3 schematic which uses 200R across the TPIN pair. However other schematics such as TLK110 (page 39) show 49.9+49.9 split, almost exactly as you describe. Two questions: Do I need the connection to VCC? And do I need to replicate this termination across the TPOUT pair?

Thanks

Will
Re: ECB Ethernet board [message #8050 is a reply to message #8049] Mon, 26 October 2020 06:00 Go to previous messageGo to next message
will is currently offline  will
Messages: 213
Registered: October 2015
Senior Member
Revised schematic attached
Re: ECB Ethernet board [message #8055 is a reply to message #8049] Tue, 27 October 2020 16:38 Go to previous messageGo to next message
greghol is currently offline  greghol
Messages: 17
Registered: August 2017
Junior Member
Will,

I have seen references to example ref design by Realtek but I can not find it and I've seen 200 ohms used in other 8019 designs too but based on my experience designing Ethernet HW (20 years ago) that does not seem correct. Realtek would know for sure. The datasheet is sparse with explanation on the analog side.

I would put 100 or 2 x 50 ohms resistors on the RX only and not connect to 5V. (See attached pic) For the TI PHY they require source term to the supply but I don't think Realtek does. For the schem/layout you can cover all grounds and put the 100ohm, two 50ohms and cap and load as needed. Space the two 50 ohm resistors so a single 100 ohm can placed instead.

I think I have some 8019 based cards at home and I'll look to see what they did.

Greg




will wrote on Mon, 26 October 2020 04:33

Greg -- I think you are right! It is hard to find documentation about exactly what to do here. I have been cribbing from the ethernut 1.3 schematic which uses 200R across the TPIN pair. However other schematics such as TLK110 (page 39) show 49.9+49.9 split, almost exactly as you describe. Two questions: Do I need the connection to VCC? And do I need to replicate this termination across the TPOUT pair?

Thanks

Will
Re: ECB Ethernet board [message #8057 is a reply to message #8049] Tue, 27 October 2020 17:02 Go to previous messageGo to next message
coredump is currently offline  coredump
Messages: 33
Registered: January 2020
Location: Germany
Member
Hi Will,


will wrote on Mon, 26 October 2020 12:33

Two questions: Do I need the connection to VCC? And do I need to replicate this termination across the TPOUT pair?
Good questions.
The inputs are usually dc isolated (by the transformer an the cap. at the center tap).
So the chip should apply a required bias voltage by itself.
The connection to Vcc will most probably break this.

Old chips used to have low impedance voltage outputs.
Series resistor in the order of 39 ohm on each output where used to bring up the output impedance to 50 Ohm each. (MC68160 is an example)

More modern solutions have high impedance current outputs.
So a parallel resistor of ~100 Ohm (or 2*50 Ohm) is required.

Just from my memories: An other point is the change of transformer topology over the years.
The 'current compensated chokes' can be situated at the side towards the driver or towards the cable. This seems to be somewhat unimportant but indeed makes a difference.

I would recommend to search for some better documentation for the RTL-Chip to find out.

Best regards
Detlef


Re: ECB Ethernet board [message #8058 is a reply to message #8043] Tue, 27 October 2020 22:55 Go to previous messageGo to next message
greghol is currently offline  greghol
Messages: 17
Registered: August 2017
Junior Member
Will,

I found some RTL8039 based cards. I have attached some pics of the card and a simple hand drawn schematic between the MAC and xformer.

Basically the RX side is what I provided. The TX has two series 10 ohm resistors with a cap to ground on the 8139 side of the resistors. You can probably omit this but it may provide useful to someone actually doing parametrics on the interface. Flexibility to tweak stuff. Smile

Greg
  • Attachment: IMG_2451.JPG
    (Size: 1.32MB, Downloaded 326 times)
  • Attachment: IMG_2452.JPG
    (Size: 1.23MB, Downloaded 304 times)
  • Attachment: IMG_2453.JPG
    (Size: 961.29KB, Downloaded 310 times)
Re: ECB Ethernet board [message #8065 is a reply to message #8058] Fri, 30 October 2020 05:22 Go to previous messageGo to next message
will is currently offline  will
Messages: 213
Registered: October 2015
Senior Member
Greg, that investigation and schematic is amazingly useful, THANK YOU!!
Re: ECB Ethernet board [message #8066 is a reply to message #8065] Fri, 30 October 2020 06:08 Go to previous messageGo to next message
will is currently offline  will
Messages: 213
Registered: October 2015
Senior Member
New schematic, based on input from Greg, attached. I don't know why the RTL8019 datasheet is silent on the ethernet circuit, maybe it is supposed to be read in conjunction with a separate application note that covers this, but I could not find such a document.

I've also added an LED to indicate when an interrupt is pending. Makes good use of one of the spare inverters, and I have noticed interest is roughly proportional to the number of blinkenlights amongst my less technical friends...
Re: ECB Ethernet board [message #9555 is a reply to message #8066] Thu, 30 December 2021 06:11 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1080
Registered: June 2016
Senior Member
Hi Will
Did your ECB Ethernet board ever come to pass? How did it work out? I found myself yesterday contemplating a similar board for Z80 MBC and today I came across this thread. Apparently, I missed this topic completely but very interesting to me now. Am curious how your board turned out and any lessons learned.

Thanks, Andrew Lynch
Re: ECB Ethernet board [message #9562 is a reply to message #9555] Fri, 31 December 2021 10:25 Go to previous messageGo to next message
will is currently offline  will
Messages: 213
Registered: October 2015
Senior Member
Hi Andrew

I've got a schematic worked up but I've not done the PCB layout yet.

I've been debating whether to finish this design or to start a fresh design based around a WizNet chip (eg W6100).

There are several really compelling advantages to the WizNet option:

* Chip is still in current production

* Simpler hardware interface

* Writing a (working, interoperable) TCP/IP stack is hard. The WizNet implements a TCP/IP stack internally, exposing a socket API style hardware interface where you just read/write buffers in the on-chip memory. It will be far easier (more fun) to write software on the Z80 for this chip.

* You can also send/receive raw ethernet frames with the WizNet chips, so it should be possible to use with an OS that implements TCP/IP natively (I'm thinking primarily of Linux on the KISS-68030)

* RTL8019 supports only 10M ethernet without autonegotiation. Any switch you plug it into is going to treat it as a 10M half-duplex device unless you configure the switch port specially. The Wiznet supports 10M, 100M and speed/duplex autonegotiation.

Re: ECB Ethernet board [message #9568 is a reply to message #9562] Sun, 02 January 2022 12:45 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1080
Registered: June 2016
Senior Member
Hi Will
Yes, most development on the Ethernet for CP/M type computers is around the WizNet. I got the impression you were making it for the KISS-030 and the Linux side. If you were to write an IP stack for the RTL8019AS it would be great, and others could also use it, but I know it would be a huge effort. It seems there are some examples already. I am sure you've seen the RC2014 RTL8019AS Ethernet board

https://github.com/manawyrm/RC2014-Ethernet

with some dedicated software

https://github.com/Manawyrm/RC2014-Ethernet-Firmware

Thanks, Andrew Lynch

PS, RTL8019AS for MSX with BIOS, same idea as above http://obsonet.blogspot.com/2011/10/obsonet-v10.html and some form of TCP/IP so maybe this could be adapted? http://www.konamiman.com/msx/msx-e.html#inl2

http://www.lavandeira.net/2015/10/tecnobytes-msx-ethernet-ca rtridge-and-internestor-lite-review-part-1/



[Updated on: Sun, 02 January 2022 13:12]

Report message to a moderator

Re: ECB Ethernet board [message #9588 is a reply to message #9568] Wed, 05 January 2022 04:21 Go to previous messageGo to next message
lynchaj is currently offline  lynchaj
Messages: 1080
Registered: June 2016
Senior Member
Hi Will
Hopefully you've seen the developments on the MSX Obsonet hardware tech data and software source codes. I think it lowers the burden of writing software from scratch. I hope you don't abandon the RTL8019AS approach because I think it has merit to have actual network hardware and software to support it. WizNet is powerful and easier to use but a lot of critical functionality is being delegated away

Good luck and thanks, Andrew Lynch
Re: ECB Ethernet board [message #10191 is a reply to message #9588] Fri, 30 December 2022 14:52 Go to previous messageGo to next message
rcini is currently offline  rcini
Messages: 64
Registered: October 2015
Location: Long Island, NY
Member
Will --

I'm working with John on testing FUZIX on the mini-68K board. One of the challenges with some of these -- like the KISS-030 -- is the lack of I/O capabilities beyond a serial port. Do you have the KiCAD files posted somewhere? I might want to get a few boards made. The big thing of course is a fairly tight stack for the 68K.

Rich


Rich Cini
Re: ECB Ethernet board [message #10192 is a reply to message #10191] Fri, 30 December 2022 18:13 Go to previous messageGo to next message
will is currently offline  will
Messages: 213
Registered: October 2015
Senior Member
Rich - Unfortunately I have not completed the design. I might pick it up and work on it if there's interest.
Re: ECB Ethernet board [message #10194 is a reply to message #10192] Sat, 31 December 2022 09:55 Go to previous messageGo to next message
rcini is currently offline  rcini
Messages: 64
Registered: October 2015
Location: Long Island, NY
Member
There's at least three board sets that this kind of I/O would be interesting for -- both 68k boards and the SBC-188 (which can run MS-DOS and hopefully the mTCP stack; requires packet driver but naturally assumes a PC-compatible system). Just looking for ways to improve the I/O capabilities of these boards beyond the serial ports. That's one of the reasons why I designed the multi-I/O board for the SBC-188. With a tightening of the parts on the layout, quite possibly the 8019 chip could fit.

Rich Cini
Re: ECB Ethernet board [message #10195 is a reply to message #10194] Sat, 31 December 2022 14:42 Go to previous messageGo to next message
will is currently offline  will
Messages: 213
Registered: October 2015
Senior Member
OK I will try to look at it again!
Re: ECB Ethernet board [message #10197 is a reply to message #9562] Sat, 31 December 2022 17:03 Go to previous message
etchedpixels is currently offline  etchedpixels
Messages: 333
Registered: October 2015
Senior Member
will wrote on Fri, 31 December 2021 10:25
Hi Andrew
* Writing a (working, interoperable) TCP/IP stack is hard. The WizNet implements a TCP/IP stack internally, exposing a socket API style hardware interface where you just read/write buffers in the on-chip memory. It will be far easier (more fun) to write software on the Z80 for this chip.

* You can also send/receive raw ethernet frames with the WizNet chips, so it should be possible to use with an OS that implements TCP/IP natively (I'm thinking primarily of Linux on the KISS-68030)
There are a couple of small stacks uIP is tiny (works on 8bit) and LWIP can be set up for 16bit systems fairly easily.

With the raw frames check the docs carefully - the older wiznet can do raw mac protocols but *not* of ip, so you can use the onboard IP and add IPX for example but not afaik do native IP with it. I've only used 5100-5500 though and have a 5300 on my Z80 setup.

Previous Topic: CTCDART2
Next Topic: Z280 buglist


Current Time: Wed Mar 19 01:52:12 PDT 2025

Total time taken to generate the page: 0.00745 seconds