JR-IDE Rev.B & Rev.C + RPi-Zero Module
Posted: Wed Oct 19, 2016 3:33 pm
So I'm back on the PCJr horse again after a couple year (sorry) hiatus. I had ordered 100x Rev.B boards and 100x connector pairs but soon ran into a problem with mounting the connectors on the PCB as I switched board houses and the holes shrunk. I now believe I'm past that issue. I can now mount connectors perfectly with zero deformation anywhere. So I'm ready to order kit parts, however here is my second problem.. I'm currently unemployed. I'm trying to conserve cash on-hand atm, so it might be a month or two before I can commit to a qty 25 buy.
Rev.B has minor changes over A. I added one extra cap to make sure there is enough bulk capacitance on one end of the board. There isn't a known problem with Rev.A. It's just for good measure. The other change is making the RTC module socket an option: a) install an all-in-one DS12887+ like Rev.A (single module w/ RTC, battery, and XO), or now you have an option b) install a DS12885+ (discrete chip) and mount a separate oscillator and battery holder for CR2032. It would make replacing the battery in 20 years less of a hassle. Everything else is the same. I finally built one up completely today and tested it. Everything works great.
Which brings me to Rev.C - which I'm on the fence about. I'm about to press order now for some prototype extensions modules I described here about 2 years ago. They plug into the JR-IDE and bridge the IDE interface to a Raspberry Pi Zero. There is an FPGA that bridges the two interfaces. The RPi can emulate disk storage from SD card or USB mass storage. It can also accept any USB device supported in Raspbian like USB WiFi dongles. Which means you can a) potentially update the JR image over the air, and b) we can make a packet driver to talk to the Pi and tunnel frames over it's Ethernet stack in bridge mode. I've gone over the design several times, and believe it's sound and very straight forward to develop the needed code once the prototypes arrive.
Which circles back to a Rev.C. I have a Rev.C change that adds three more DIP switches. Like the RTC, they selectively route the three IRQs pins on the side-car bus to the IDE IRQ line. This would be important for a packet driver or NDIS driver to allow asynchronous handling of networking packets. Now there isn't a danger things will overflow. The service daemon running on the RPi could buffer as much network traffic as possible. And older boards can be easily modified to forward networking interrupts by soldering a jumper to your existing boards from the IDE header to the IRQ pin you want. I'm just not sure if this warrants an extra spin or not. Boards are cheap from my supplier atm. About $2.65 per PCB. Interested in other thoughts.
I will order the RPiZ prototypes tonight and hopefully they will be in within a couple weeks.
Rev.B has minor changes over A. I added one extra cap to make sure there is enough bulk capacitance on one end of the board. There isn't a known problem with Rev.A. It's just for good measure. The other change is making the RTC module socket an option: a) install an all-in-one DS12887+ like Rev.A (single module w/ RTC, battery, and XO), or now you have an option b) install a DS12885+ (discrete chip) and mount a separate oscillator and battery holder for CR2032. It would make replacing the battery in 20 years less of a hassle. Everything else is the same. I finally built one up completely today and tested it. Everything works great.
Which brings me to Rev.C - which I'm on the fence about. I'm about to press order now for some prototype extensions modules I described here about 2 years ago. They plug into the JR-IDE and bridge the IDE interface to a Raspberry Pi Zero. There is an FPGA that bridges the two interfaces. The RPi can emulate disk storage from SD card or USB mass storage. It can also accept any USB device supported in Raspbian like USB WiFi dongles. Which means you can a) potentially update the JR image over the air, and b) we can make a packet driver to talk to the Pi and tunnel frames over it's Ethernet stack in bridge mode. I've gone over the design several times, and believe it's sound and very straight forward to develop the needed code once the prototypes arrive.
Which circles back to a Rev.C. I have a Rev.C change that adds three more DIP switches. Like the RTC, they selectively route the three IRQs pins on the side-car bus to the IDE IRQ line. This would be important for a packet driver or NDIS driver to allow asynchronous handling of networking packets. Now there isn't a danger things will overflow. The service daemon running on the RPi could buffer as much network traffic as possible. And older boards can be easily modified to forward networking interrupts by soldering a jumper to your existing boards from the IDE header to the IRQ pin you want. I'm just not sure if this warrants an extra spin or not. Boards are cheap from my supplier atm. About $2.65 per PCB. Interested in other thoughts.
I will order the RPiZ prototypes tonight and hopefully they will be in within a couple weeks.