Menu
Home
Products
Resources
Blog Contact
Request Quote

Overview

The BRIDZA STW-PC series PCIe timing cards provide precision timing synchronization for computer systems, enabling sub-nanosecond synchronization accuracy for data acquisition, telecommunications, and financial timestamping applications. These cards are available in PCIe 2.0 x1, x4, and x8 form factors to accommodate various system requirements.

Supported Models

Model PCIe Speed Lanes Height 10MHz Outputs
------- ----------- ------- -------- ----------------
STW-PC1 2.0 x1 Low 1
STW-PC4 2.0 x4 Full 2
STW-PC8 2.0/3.0 x8 Full 4

Board Layout

 ┌─────────────────────────────────────────────────────────────────────┐
 │ STW-PC4 PCIe Timing Card │
 │ │
 │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
 │ │PCIe Gold│ │ FPGA │ │ TCXO/ │ │ Flash │ │
 │ │ Finger │ │ Xilinx │ │ OCXO │ │ Memory │ │
 │ │ │ │ Artix-7 │ │ │ │ │ │
 │ └────┬────┘ └────┬────┘ └────┬────┘ └─────────┘ │
 │ │ │ │ │
 │ │ │ │ │
 │ └────────────┼────────────┘ │
 │ │ │
 │ ┌───────────────┼───────────────┐ │
 │ │ │ │ │
 │ ┌──┴──┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │
 │ │PPS │ │10M │ │10M │ │TOD │ │EXT │ │
 │ │ IN │ │ IN │ │OUT │ │RS232│ │1PPS│ │
 │ │ SMA │ └──○─┘ └──○─┘ │ DB9 │ │ SMA│ │
 │ └──○───┘ └────┘ └──○───┘ │
 │ │
 │ Bracket: Full height PCIe │
 │ │
 └──────────────────────────────────────────────────────────────────────┘

PCIe Interface

Gold Finger Pinout (x4/x8)

Pin Function Description
----- ---------- -------------
1 +12V Main power
2 +12V Main power
3 +12V Main power
4 GND Ground
5 GND Ground
6 +3.3V Auxiliary power
7 +3.3V Auxiliary power
8 GND Ground
... ... Standard PCIe
49 REFCLK+ Reference clock
50 REFCLK- Reference clock
51 GND Ground

Electrical Specifications

Parameter Specification
----------- ---------------
Power Consumption <10W
+12V Current <800mA
+3.3V Current <200mA

External Connectors

1. 1PPS Input

Parameter Specification
----------- ---------------
Connector SMA female
Impedance 50Ω
Level TTL (3.3V/5V compatible)
Pulse Width 1μs minimum
Max Input ±10V with 50Ω termination
Polarity Rising edge active

2. 1PPS Output

Parameter Specification
----------- ---------------
Connector SMA female
Impedance 50Ω
Level TTL
Pulse Width Configurable (default 5ms)
Jitter ≤1ns RMS
Drive 50mA

3. 10MHz Input

Parameter Specification
----------- ---------------
Connector SMA female
Impedance 50Ω
Level -3 to +10dBm
Frequency 10MHz ±100Hz
Waveform Sine or square

4. 10MHz Output

Parameter Specification
----------- ---------------
Connector SMA female
Impedance 50Ω
Level 13dBm ±2dB
Harmonics ≤-40dBc

5. TOD Serial Interface

Parameter Specification
----------- ---------------
Connector DB9 male
Protocol RS232
Baud Rate 9600 (default), 115200
Data Bits 8
Parity None
Stop Bits 1

DB9 Pinout:

Pin Function
----- ----------
2 TXD
3 RXD
5 GND

Linux Driver Installation

Requirements

  • Linux kernel 3.2 or higher
  • GCC compiler
  • make

Installation Steps

# Download driver package
tar -xzf stw-pc-drivers-linux-v2.0.tar.gz
cd stw-pc-drivers-linux-v2.0

# Compile driver
make

# Install driver
sudo make install

# Load driver
sudo modprobe stw_pc

# Check device
dmesg | grep STW-PC

Device Nodes

After installation, devices appear as:

  • /dev/stw_pc0 - First card
  • /dev/stw_pc1 - Second card (if present)

Windows Driver Installation

Installation Steps

  • Download driver package from BRIDZA website
  • Extract to temporary folder
  • Connect STW-PC card to PCIe slot
  • Windows will prompt for driver
  • Select "Browse my computer"
  • Navigate to extracted folder
  • Complete installation

Device Manager

After installation, device appears as:

  • "BRIDZA STW-PC Timing Card" under System Devices

API Reference

C Library Functions

#include 

// Open device
int stw_pc_open(int card_num);

// Close device
int stw_pc_close(int fd);

// Read timestamp
int stw_pc_read_timestamp(int fd, uint64_t *timestamp_ns);

// Read 1PPS counter
int stw_pc_read_pps_counter(int fd, uint64_t *count);

// Set 10MHz output
int stw_pc_set_10mhz_output(int fd, int enable);

// Set 1PPS output
int stw_pc_set_pps_output(int fd, int enable, uint32_t pulse_ns);

// Get device status
int stw_pc_get_status(int fd, stw_pc_status_t *status);

// Example usage
int main() {
 int fd = stw_pc_open(0);
 if (fd < 0) {
 printf("Failed to open device\n");
 return -1;
 }
 
 uint64_t timestamp;
 stw_pc_read_timestamp(fd, ×tamp);
 printf("Timestamp: %llu ns\n", timestamp);
 
 stw_pc_close(fd);
 return 0;
}

Python Bindings

import ctypes

lib = ctypes.CDLL("libstw_pc.so")

class STWPCStatus(ctypes.Structure):
 _fields_ = [
 ("locked", ctypes.c_int),
 ("pps_valid", ctypes.c_int),
 ("timestamp_ns", ctypes.c_uint64)
 ]

# Open device
fd = lib.stw_pc_open(0)

# Read status
status = STWPCStatus()
lib.stw_pc_get_status(fd, ctypes.byref(status))
print(f"Locked: {status.locked}, PPS Valid: {status.pps_valid}")

# Close device
lib.stw_pc_close(fd)

Mechanical Dimensions

 PCIe Bracket: Standard full-height (111.15mm)
 Card Length: 167.65mm max
 PCB Thickness: 1.6mm
 
 ┌───────────────────────────────────────────────┐
 │ │
 │ [PCIe Gold Finger] │
 │ │ │
 │ └───────────────────────────────────────┐ │
 │ │ │
 │ ┌───────────────────────────────────┐ │ │
 │ │ │ │ │
 │ │ FPGA + Clock Circuit │ │ │
 │ │ │ │ │
 │ └───────────────────────────────────┘ │ │
 │ │ │
 │ [SMA Connectors] │ │
 │ │ │
 └───────────────────────────────────────────┘

Troubleshooting

Symptom Cause Solution
--------- ------- ----------
Card not detected PCIe slot issue Try different slot
- Driver not installed Install driver
10MHz output no signal Output disabled Enable via API
- Frequency unlocked Wait for PLL lock
Timestamp jumps IRQ conflict Use MSI interrupts
- Interrupt coalescing Disable in BIOS

Download Resources


Document Version: 1.0

Last Updated: 2026-05-24

BRIDZA Technologies

Need Technical Support?

Contact our engineering team for detailed specifications and custom configurations.

Request a Quote

Recommended Products