Loading files…
Collection of FreeCAD-OpenEMS-Export plugin projects for PCB Signal Integrity analysis.
This repository contains a collection of openEMS FDTD Maxwell's equations solver projects for PCB Signal Integrity analysis. The projects were created using KiCad and the FreeCAD-OpenEMS-Export plugin, with additional customizations to the auto-generated scripts.
An analytical approximation of a unit impulse using the Cauchy probability density function was implemented as a custom excitation signal:
f0 = 4.0*1000000000.0
FDTD.SetCustomExcite(b'(1e-11) * ((1e-11 ) / (t^2 + (1e-11)^2))', f0, f0/2)
A script was added to evaluate and compare the frequency spectrum of custom excitation signals with the standard Gaussian excitation used in openEMS.
Improvements were made to the script for calculating S11, including additions to plot the absolute value of characteristic impedance along with its real and imaginary components:
plot(freq / 1e6, np.abs(Zin), 'g--', linewidth=2, label=r'$\mid(Z_{in})\mid$')
Additionally, a small snippet was included to calculate the Voltage Standing Wave Ratio:
print((1 + np.abs(s11))/(1 - np.abs(s11)))
As of version 0.4.3, the FreeCAD-OpenEMS-Export script generates some typos in the code, such as dumnp_type:
dumpBoxList[dumpboxName] = CSX.AddDump(dumpboxName, dumnp_type=1, dump_mode=2)
To address this, ensure proper variable names are used. Additionally, you may want to increase the number of time steps for further calculations and visualization by using the OverSampling parameter:
FDTD = openEMS(NrTS=max_timesteps, EndCriteria=min_decrement, OverSampling=100)
The end of the transmission line is intentionally terminated in a Perfectly Matched Layer (PML) to simulate an infinitely long transmission line, ensuring accurate characteristic impedance measurement. For more information on available boundary conditions in openEMS, refer to here.
The transmission line exhibits minimal frequency dependence in impedance, closely approximating a lossless line. The KiCad impedance calculator shows good accuracy, yielding a target 50 Ohm impedance with a simulated value of 53 Ohms. At 2 GHz, the VSWR is 1.06, indicating excellent performance.
While the accordion structure successfully reduces skew, it introduces significant impedance non-uniformity, leading to increased reflections and higher VSWR values across certain frequencies. This trade-off must be evaluated against specific application requirements. At 2 GHz, the VSWR is 1.60.
A small gap in the power plane causes substantial losses, comparable to those from an accordion structure. The VSWR at 2 GHz is 1.66, which corresponds to approximately a 17.5 dB difference in S11 compared to the value at 1 MHz.
Hatched polygons, historically used due to copper adhesion issues in PCB fabrication and still widely employed today in flex PCBs, were tested for their impact on line uniformity and impedance. The results show minimal effect on impedance uniformity, with an average value of 55 Ohms (target 50 Ohms) across the frequency range. The VSWR is slightly higher than that of a solid polygon structure, at 1.08.
No comments yet. Be the first to ask about this board.