(This page is still under construction.)(Currently in prototype stage)
The ST-2900 NVRAM/RTC board is a small expansion board that plugs into the ST-2900 FDC board to provide non-volatile SRAM-Disk and EEPROM-Disk and real-time clock (RTC) functions.
NVRAM/RTC board features:
Comparison to old RAM-512 board:
The Micro Crystal RV-3149-C3 RTC is temperature compensated (with a TCXO), so typically loses or gains less than 5 seconds per month. The surface mount RTC and supporting devices are installed on a separate daughterboard in the form of an 8-pin DIP module that plugs into one of the SRAM sockets. The RV-3149-C3 also has a built-in charging circuit that can be enabled to allow using a supercapacitor instead of a lithium cell to provide backup power to the RTC and SRAM.
(Another way to add a real-time clock to the ST-2900 will be with the RTC-2417 board.)
The driver software divides the SRAM and EEPROM sections of the NVRAM/RTC into FLEX and (Nitr)OS-9 partitions. A planned future revision to ST-MON will allow it to boot FLEX and (Nitr)OS-9 from these partitions, eliminating the need to have any floppy disk drives attached to the ST-2900.
An SPI-compatible (Serial Peripheral Interface) bus connects the SRAM, EEPROM, and RTC devices to port B of the 6522/VIA on the FDC board. Although the 6522's shift register can't implement a full-duplex SPI host, all the slave devices on the NVRAM/RTC board only communicate in one direction at a time, using either the MOSI (SI/D/DIN/DQ0) or MISO (SO/Q/DOUT/DQ1) lines, but not both at the same time, so this works. Since the 6522's shift register does not directly support SPI Mode 0 (0,0), which is required for the RV-3149-C3 clock chip, some helper circuitry was added. The 6522 runs the SPI bus at 500kbps when the system clock is 1MHz.
It is possible to assemble a subset of this board with only easy-to-solder thru-hole components. This limits you to a 1MB SRAM-Disk and 256KB EEPROM-Disk (using the 25LC1024 EEPROM in a DIP-8 package). The larger capacity EEPROM chips and the RTC and its supporting devices are all surface mount.
This board could also be used with any other system that has a 6522/VIA with port B unused. If the RTC module is installed, the system clock must be 2MHz or slower.
Current Status (updated 2022-Jun-20)
I have partially assembled one board (see picture below). I am successfully writing to and reading from one SRAM chip, two EEPROM chips (25LC1024 and 25CSM04), and the RTC chip. A preliminary version of the patches to ST-MON to boot FLEX and OS-9 from all 3 memory chips has been written and is working. The OS-9 driver has been written and briefly tested with all 4 chips, and appears to be working correctly. I have written the disk image format program, a program to check and display the error correction status of all sectors in the 25CSM04 EEPROM chip, and a program to set the date/time in the RTC chip. But I haven't written the FLEX driver or related software yet.
Capturing the SPI signals with a logic analyzer showed that the SPI Mode 0 (0,0) helper circuitry is working as intended for both writes and reads. Yes, the 6522/VIA's shift register can support half duplex SPI without needing to resort to bit banging!
The 25CSM04 EEPROM is currently out-of-stock at all the distributors and even at Microchip, with long lead times. But I was able to purchase one Mikroe EEPROM 7 Click board from Digi-Key, and have connected it to the NVRAM/RTC board with an IDC DIP header and ribbon cable (see picture below). As a bonus I didn't need to find someone to solder the SOIC chip to my board (since I can't solder surface mount chips).
I also connected an RV-3149-C3 evaluation board for the RTC chip to the NVRAM/RTC board using an IDC DIP header and ribbon cable (see picture below). I was able to purchase the chip itself, but it is tricky to solder, so the eval board eliminated that difficulty for now.
Another ribbon cable connects the NVRAM/RTC board to P2 on the FDC board for easier access to the NVRAM/RTC board during development.
I needed some spacer PCBs for the 14-pin connector. Instead of trying to remember how to use Easy-PC, or learning to use KiCad, I just used a text editor to manually create the Gerber and drill files. I ordered the boards from OSH Park -- they cost U$2.75 with free shipping!
When I powered up the ST-2900 today (2022-Jun-20) it hadn't been powered for 114 days. Running on battery power during this time, the RTC was now 28 seconds fast, or just over 7 seconds/month. This is good considering I have the less accurate B option RTC with +/-25ppm rated accuracy.
Work continues on the supporting software.
(Click on a picture for a larger version.)
|Bare NVRAM and RTC boards.|
|Partially assembled NVRAM/RTC board, development setup with EEPROM 7 Click board and RV-3149-C3 eval board, and NVRAM spacer boards.|
"FLEX" was a trademark of Technical System Consultants (TSC).
"OS-9" is a registered trademark of Microware LP.
Use the Reload/Refresh button in your web browser (or Ctrl+F5 or Shift+Reload) to ensure you get the latest version of this page.
Last revised 2022-Jun-20 11:57 PDT.
Copyright 2018-2022 David C. Wiens.