A while back I endeavoured on a project to build a working 10BASE5 network (More information here). One thing I found is how difficult it is to connect anything modern to a 10BASE5 network. Sure, you can use AUI to 10BASE-T adapters but I found these terribly unreliable for connecting individual nodes. They do seem to be OK for connecting a 10BASE5 segment to a switch, however.
It very much appears no commercial product has ever been manufactured to perform this task, which is good for me, because that’s another idea for a PCB project. Not having done one several years, I had been itching to fire up my PCB CAD software once again.
Where to even begin. Within hours of researching this project it was clear that some difficulties lay ahead. The challenges of building such a device fall into three categories:
Designing the MAC
This was a tough one. I was hoping to find a USB Ethernet MAC with AUI interface but alas, there are none. These technologies did not overlap sufficiently that it was ever worth anyone’s time to design one.
Given that there are no USB AUI solutions, where does that leave me? One option was to use an ISA Ethernet adapter chip with AUI interface, and on the same card, include a USB microcontroller to bridge to the MAC’s ISA interface. I really didn’t like this idea because it’d mean that I’d have to write a mountain of software to make it all work. Writing Windows device drivers is a complete nightmare and I really wanted to avoid having to do this at all costs.
What about using some kind of AUI to 10BASE-T bridging chip on a single board with a 10/100 USB ethernet MAC+PHY? That’s a pretty awful solution, not least, because it adds yet another repeater. I don’t think I’d even bother if that’s the only option I had.
So, really, I want a working, ‘native’ solution. No repeaters, and no writing custom drivers. This basically means I have to bridge the MII interface of a modern USB Ethernet adapter to AUI. But how? These two interfaces could not be more different. A lot of googling later, and I’m coming up empty.
Eventually I struck gold, An old photocopied data sheet for a chip from the long defunct SEEQ corporation known as NQ8502 came up in my search results. Could this be for real? Did someone actually manufacture this almost-no-conceivable-use-case chip?
Clearly, this chip had been out of production for an awful long time, worse still, even when it was in production, no one sold it anyway. The usual suspects, Farnell, Digi-Key, Mouser had never stocked it. Enter the IC trading platforms – Using SeekIC, fairly quickly I had found a company in Singapore who had a few.
Next question, does it work? I whipped up the below ‘proof of concept’ rig to see if it would interface with a modern USB MAC:
Needless to say, I got pretty lucky here – it worked perfectly. That’s all the excuse I need to go right ahead and design something a bit more proper.
Designing the power supply
The power supply component of this device is fairly complex and even more expensive. Its requirements where:
- Must supply 2.5, 3.3, 5 and 12 volts on the same board
- 5V supply cannot drop below 4.7 volts, so USB 5V supply was useless as a basis for the 5V rail
- Must be extremely efficient as the whole rig uses the absolute maximum (and some) allowable power from a USB port
- Must be able to cope with the inrush/”get going” power requirements of 10BASE5 MAUs, without browning out the very limited USB power supply. This was difficult to get right.
- Must be provide 12V input socket for cases where MAU power consumption exceeds the host PC’s ability to supply sufficient current
For power supply experts, that’s an awful lot of Bucking, Boosting, Buck-Boosting and the rest to get all of those voltages from the USB single 4-5.5V source. I won’t go into any further detail about the power supply component of this board but should mention that perfecting it was the lion’s share of the time and effort of this project.
This was a significant consideration. This thing has to support Linux, Windows XP and Windows 7/8 64-Bit as I do not run many 32-bit machines any more. This narrowed the solution down further still. The AX88772 from ASIX (the most popular 10/100 USB ethernet chip at the time of writing) supports Windows 32/64-Bit as well as Linux out of the box.
One slight complication is my removal of the standard 10/100 PHY and replacing it with the NQ8502. This matters because both the Windows and Linux drivers communicate with the PHY, and I don’t want to mess around with either of those drivers, not that ASIX have ever released source code for the Windows driver, instead they charge thousands of dollars for driver customisation.
Fortunately the NQ8502 complies with the standard IEEE MII PHY interface (to an extent), and neither drivers probe into it enough to discover its unusual nature. Some configuration is needed but I was able to load this into the on card EEPROM.
Difficult to find parts
Aside from the NQ8502, there’s some other exotic parts on this board which consumed considerable time to source:
- The slide locking mechanism – After browsing through endless catalogues of connector manufacturers I had almost given up attempting to find these. The best quality slide locking mechanisms were made by AMP, but what on earth was the part number? There are many many variants of these mechanisms for different sizes and families of connectors, worse still, they all look the same in the pictures. It was clear that I was looking for one very specific part. In the end it turned out to be AMP 5745583-5. It must be fitted to the female DB15 connector with the part number: AMP 5747845-4. No other DB15s can accept these slide locks due to slight differences in the outer metal plate.
- The AUI line transformer – This oddball 3 winding, 78 ohm transformer was also excruciatingly difficult to find. My original design specified BEL S553-1006-AE but I was not able to find any. I did find someone selling Valor ST7033’s on eBay, which was a compatible part. I suspect I am the only person this seller will ever offload any to.
SQE and Link status
I’m splitting hairs here, but since I wanted to get as much of this right as possible, I noticed SEEQ conveniently provides a signal on the NQ8502 to inform the host drivers that the link state is either up or down, but just what am I supposed to do with that signal? I don’t know and it doesn’t seem that anyone else does either. 10BASE-X Ethernet variants attached via AUI seem not to have any concept of link status. There are a multitude of funky tricks I may have been able to pull to detect if an MAU is attached, but even then, what’s to say there’s any Coax on the end of it? What is the definition of “link up” on a coaxial network?
Could SQE save the day perhaps? Not so sure about that. Its main problem is that it works by the MAU sending a brief collision signal each time the host transmits (within the standard timing frame, so it doesn’t waste bandwidth), the host then uses this collision to detect if an MAU is attached. The problem is though, unless the host actually transmits something, it has no idea what the link state is, so will therefore assume that the link is down, and not transmit anything. Maybe I’ve misread all this but this chicken and egg nature of SQE renders it somewhat useless.
In 10BASE-T, FLP clearly defines the concept of link up. SQE seems to have tried to do this for coaxial media, but I don’t think it quite suceeded. I would have been pretty satisfied with a pin on the AUI interface which sends back, say, +5v when an MAU is attached and powered up, but as there isn’t one, what did I do? Hardwired it in the “Link up” state. I had no better option.
The first prototype
Fairly quickly, I had designed the first prototype. I was fairly surprised that it had no “fatal” problems, the data path had worked perfectly but there were a few issues with the power supply section.
The final design
The final design is almost identical to the prototype, with only a few modifications to its power supply section. The key difference is that in the final design, the external power connector is directly connected to the MAU, and there is some additional logic which shuts down the +12V generation when this is connected.
In the first prototype, the external power input fed into the core power supply, which had the advantage that it could take a 5-20 volt input, but lead to a whole lot of unnecessary complications. The final design only takes 12V for the external power input, but has the advantage that power hungry MAUs such as the DEC h4000 can be powered through this adapter using an external power supply.
Am I selling these things?
Since I get this question by email from time to time, I’ve added a section to answer this:
Not really, not at a price point any more or less anyone would be prepared to pay, at least. Although the units featured on this page were hand assembled, I do not wish to assemble any more, and the cost of manufacturing these adapters would be high, the BOM cost alone is eye-watering (not that I really had to pay for much of it). Even if I sold them for GBP 500.00 each MOQ 10 units, it would barely be worth my time to prepare it for mass production let alone make any profit it from it.
Sure, if you want to throw a pile of cash at me, I’ll get some built for you (there is no MOQ), but seriously, It would be cheaper to rip out your 10BASE5 network and replace it with a modern twisted pair network.
Worse still, the chip which lies at the heart of this board (the NQ8502) was discontinued many years ago, remaining supplies are very limited, so this product’s fate was sealed from the outset.
Basically, I don’t really want to go into business selling these, it was just a bit of fun.
Such is my confidence that this will never be a commercially viable product, I’ve made it available here 😉