pixo_replacement
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| pixo_replacement [2023/03/28 17:52] – [Python Frequency Generator] millerjs | pixo_replacement [2024/11/14 02:30] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Raspberry Pi XO Replacement ====== | ====== Raspberry Pi XO Replacement ====== | ||
| + | Context: | ||
| * https:// | * https:// | ||
| Line 6: | Line 7: | ||
| ^ Pi 2 B with replaced XO | ^ Pi 2 B with replaced XO | ||
| - | | {{:: | + | | {{:: |
| ==== Notable Test Points ==== | ==== Notable Test Points ==== | ||
| Line 26: | Line 27: | ||
| * http:// | * http:// | ||
| + | |||
| + | As far as I can tell, the Pi 2B through 3B+ all use this part, as well as a number of the A models. The Pi 4B uses two AEL crystals, one at 25MHz, the other at 54MHz. I have not yet experimented with replacing these parts. | ||
| ==== New TCXO ==== | ==== New TCXO ==== | ||
| - | * [[https://media.digikey.com/ | + | * [[https://www.digikey.com/ |
| * [[https:// | * [[https:// | ||
| - | ==== Test Cases ==== | ||
| - | Before I do this swap, I need to get a benchmark of (at least) two identical Pis so I have a baseline of their performance in stock configuration. These systems need to be as identical as possible, both in terms of software load out as well as their physical deployment. | ||
| - | |||
| - | === Software === | ||
| - | * OS - Alpine Linux 3.17 | ||
| - | * Timekeeping/ | ||
| - | |||
| - | Configured to be as light and slim as possible. | ||
| - | |||
| - | === Physical === | ||
| - | This will be an isolated test, no | ||
| - | == Power == | ||
| - | Meanwell 5v PSU powering both Pis - "back feeding" | ||
| - | |||
| - | == Environmental == | ||
| - | Both Pis enclosed in a single styrofoam enclosure, as close to each other as reasonable. Placed in a location that is as temperature stable as possible (no direct sunlight, no temp swings from HVAC adjacency, etc.) | ||
| ====== Quantifying Results ====== | ====== Quantifying Results ====== | ||
| + | There are a number of different methods for quantifying the results of this sort of modification. A few that I am exploring will be detailed below. | ||
| ==== chrony tracking ===== | ==== chrony tracking ===== | ||
| + | (Graphs coming eventually) | ||
| ==== Python Frequency Generator ==== | ==== Python Frequency Generator ==== | ||
| * [[https:// | * [[https:// | ||
| Line 70: | Line 57: | ||
| GPIO.cleanup() | GPIO.cleanup() | ||
| exit() | exit() | ||
| + | </ | ||
| + | |||
| + | ==== WiringPi GPIO_CLOCK ==== | ||
| + | The WiringPi toolset has a function to use the SoC's PLLs to generate a precise clock using the GPIO_CLOCK function. This can be initiated easily from the linux userspace by first setting the pin mode, then the output frequency. Only WiringPi Pin 7 (GPIO 4) supports this mode. | ||
| + | |||
| + | < | ||
| + | gpio mode 7 clock | ||
| + | gpio clock 7 1000000 # frequency in Hz | ||
| </ | </ | ||
pixo_replacement.1680025941.txt.gz · Last modified: (external edit)
