GPS reference clock NTP server with Gentoo

Not rated 22,776

Circuit Image

An L7805 voltage regulator provides a 5V rail. The input and output of the regulator are stabilized using a 470µF capacitor and a 10µF capacitor, respectively, to smooth the voltage supply. This 5V rail powers the MAX232 level shifter and the GPS module. Light-duty transistors are connected to the TTL-side of the MAX232, specifically to the PPS, TXD, and RXD lines, which drive three LEDs to indicate the operational status of the device. Once functionality was confirmed, a more compact version was designed to fit alongside the GPS module within the Minion chassis. The same basic design was retained, but the LEDs were omitted. Instead of utilizing an external serial port, a 10-pin PCB header cable was created to connect directly to the internal serial port of the EPIA MII. Power is sourced from a spare Molex connector provided by the PicoPSU's trailing cable, which connects directly to a header positioned in front of the regulator. This installation has proven to be notably tidy. To utilize accurate PPS timing, the Linux kernel requires a patch for PPS support. At the time of writing, the latest Gentoo kernel in the unstable branch is gentoo-sources-2.6.28-r2, which was successfully patched without additional modifications. It is essential to ensure that PPS support is enabled using the preferred kernel configuration method. The necessary commands for preparing the kernel include moving and linking directories for proper access to required header files.

The L7805 voltage regulator is a linear voltage regulator designed to provide a stable output voltage of 5V. It is commonly used in electronic circuits where a reliable power supply is crucial. The addition of a 470µF capacitor at the input and a 10µF capacitor at the output is essential for filtering out voltage spikes and smoothing the output voltage, ensuring that the connected devices receive a steady power supply.

The MAX232 level shifter is employed to facilitate communication between devices operating at different voltage levels, such as TTL and RS-232. It converts the logic levels of the GPS module and other TTL devices to the appropriate RS-232 levels, enabling reliable data transmission. The connection of light-duty transistors to the TTL-side of the MAX232 allows for visual indication of device status through LEDs, which illuminate based on the activity of the PPS, TXD, and RXD lines.

The design adaptation for the Minion chassis emphasizes compactness and integration. By eliminating the LEDs and utilizing a direct connection to the internal serial port of the EPIA MII, the circuit maintains functionality while reducing space requirements. The use of a 10-pin PCB header cable simplifies connections and improves the overall organization of the circuit.

Powering the circuit from a Molex connector ensures that the system can draw sufficient current while maintaining a neat installation. The PicoPSU's trailing cable provides a convenient power source, and the direct header connection to the regulator enhances accessibility and reduces potential wiring errors.

To enable precise PPS timing, the Linux kernel must be patched appropriately. The described steps for preparing the kernel involve moving existing directories, creating symbolic links to the required header files, and copying necessary documentation. This setup is critical for ensuring that the system can utilize the PPS signals effectively, which can enhance the timing accuracy for applications requiring precise synchronization. The configuration options for enabling PPS support in the kernel must be carefully selected to ensure full functionality.An L7805 provides a 5v rail. The input and output of the reg is bridged by a 470 F and a 10 F capacitor respectively to try and smooth things out a bit. The 5v rail created by the L7805 then powers the MAX232 level shifter and the GPS module itself. Thee light-duty transistors have their bases coupled to the TTL-side of the MAX232 PPS, TXD and R XD lines, which in turn drive three LEDs to give some indication that the device is doing what it should. Once the thing was proven to work, it was time to build a version small enough to squeeze along side the GPS module within Minion`s chassis.

The same basic design was employed, but this time without the LEDs: Rather than using the external serial port, I made up a 10-pin PCB header cable to attach directly to the EPIA MII`s internal serial port. Overall the effect is quite pleasing: Power is taken from the spare molex provided by the PicoPSU`s trailing cable and attaches to a header directly infront of the reg.

All in all, it has proved to be a suspiciously neat install! In order to take advantage of accurate PPS timing, the Linux kernel needs to be patched for PPS support. At the time of writing, the latest Gentoo kernel in Gentoo`s unstable branch is gentoo-sources-2. 6. 28-r2, so I`m going to work against that. The patch applied cleanly with me, so no additional fiddling around was required. Using your favourite kernel config method, make sure PPS support is enabled: PPS support [ ] Use low level IRQ timestamps [ ] PPS debugging messages * PPS clients support * Kernel timer client (Testing client, use for debug) PPS line discipline [ ] Parallel printer support # cd /usr/include # mv linux linux.

old # mv asm asm. old # mv asm-generic asm-generic. old # ln -s /lib/modules/$(uname -r)/build/include/linux linux # ln -s /lib/modules/$(uname -r)/build/arch/x86/include/asm asm # ln -s /lib/modules/$(uname -r)/build/include/asm-generic asm-generic # cp /lib/modules/$(uname -r)/build/Documentation/pps/timepps. h timepps. h 🔗 External reference