I start too many long projects that I don't finish. The back-burner is full, so I'm emptying it - all previous projects are cancelled regardless of state of completion. (though I suppose that's not to say they'll never be raised from the dead)
Therefore, I decided I needed something modular, where I could work on a small module at a time, gradually moving toward completion in a less slogging way. I figured that an old idea I've been mulling over would be a good candidate for such a modular format: a DSO!
Yes, I'm going to attempt to design and construct a full DSO. This will be a long project probably spanning many months to even a couple years, given that I have to intertwine it with school. I'm just starting now. I plan to share full schematics, PCB and code as I go, so if you want any design ideas, have at them.
Initial specs, though these are set more in sand than stone (and the modular format will allow any of them to be upgraded at any time):
- 100 MHz analog bandwidth, switchable analog LPF for 20 MHz bandwidth
- 200 MHz real time sampling rate; will investigate the possibility of equ-time to extend this
- full proper frontend (down to 1mV/div at full bandwidth and up to 10V/div, switchable termination, probe detect)
- two or four channels (depending on how many frontend and acquisition boards are populated)
- the usual math capabilities
- serial decode?
- advanced, programmable digital trigger?
- segmented memory?
I have nearly completed the design of the backplane PCB, which contains seven card-edge slots to hold all the various components (will be CPU, video, 1 or 2 dual-channel acquisition, 1 or 2 dual-channel frontend) and has a 60W power supply to supply whatever power requirements I end up needing.
The slots are PCIe connectors but do not use actual PCIe. However, I have generally followed the PCIe pinout, replacing SMBUS by I2C, JTAG by SPI, and eight differential serial lanes by an 8-bit parallel BLVDS bus to handle bulk data transfers.
These are in the Git repository,
https://github.com/cpavlina/os
Click for full size