Newer
Older
<title>ring oscillator timing tests</title>
</head>
<body link="black" alink="black" vlink="black">
<font face="bitstream vera sans,arial,helvetica,sans-serif">
<div style="margin-left:2.5%;margin-right:2.5%">
<p>
<center>
<b>Ring Oscillators</b>
</center>
<p>
This page collects ring oscillator timing tests for embedded systems (the prior page is <a href=prior/index.html>here</a>).
<p>
<center>
<b>GPIO</b>
</center>
<p>
The GPIO test measures how quickly pins can communicate with a processor core; this is relevant for implementing real-time algorithms that are not supported by processor peripherals. In this, two pins are connected; a bit is output on one, read on the other, inverted in software, and the loop repeated, with the frequency of the resulting oscillation reported. Twice this frequency is the rate of reading, modifying, and writing to pins (plus the loop overhead).
<center>
<table border="1" style="text-align:center">
<tr>
<th>frequency (MHz)</th>
<td><a href=GPIO/BeagleBoard/index.html>C, PRU</a></td>
<td>March 2019</td>
<td><a href=https://gitlab.cba.mit.edu/pub/ring/-/tree/master/GPIO/ATSAME54>C, SRAM (aligned)</a></td>
<td>January 2021</td>
<td><a href=GPIO/ATxmega8E5/hello.ftdi.8E5.ring.c>C, VPORT</a></td>
<td>October 2015</td>
<td><a href=GPIO/ESP32/ring.ESP32.ino>C, GPIO</a></td>
<td>December 2020</td>
<td><a href=prior/gpio/atsamd51/index.html>C, PORT</a></td>
<td>November 2018</td>
<td><a href=GPIO/bcm2835/ring.bcm2835.c>C, bcm2835, Buster</a></td>
<td>December 2020</td>
</tr>
<tr>
<td>2.817</td>
<td>Raspberry Pi Zero</td>
<td><a href=GPIO/bcm2835/ring.bcm2835.c>C, bcm2835, Buster</a></td>
<td>December 2020</td>
<td><a href=GPIO/SAMD11C/ring.D11C.ino>C, IOBUS</a></td>
<td>November 2020</td>
<td><a href=GPIO/AVR128DB32/index.html>C, VPORT</a></td>
<td>December 2020</td>
<td><a href=GPIO/ATtiny412/ring.t412.ino>Arduino, DigitalReadFast/WriteFast</a></td>
<td>March 2021</td>
<td><a href=GPIO/ATtiny412/ring.t412.ino>C, VPORT</a></td>
<td>November 2020</td>
<td><a href=GPIO/SAMD11C/ring.D11C.ino>C, PORT</a></td>
<td>November 2020</td>
</tr>
<tr>
<td>1.056</td>
<td>ATtiny412</td>
<td><a href=GPIO/ATtiny412/ring.t412.ino>C, PORT</a></td>
<td>November 2020</td>
</tr>
<tr>
<td>0.345</td>
<td>Raspberry Pi 4</td>
<td><a href=GPIO/RPi.GPIO/ring.RPi.GPIO.py>Python, RPi.GPIO, Buster</a></td>
<td>March 2021</td>
<td><a href=GPIO/ATtiny412/ring.t412.ino>Arduino, digitalRead/Write</a></td>
<td>November 2020</td>
<td><a href=GPIO/libgpiod/ring.libgpiod.c>C, libgpiod, Buster</a></td>
<td>December 2020</td>
<td><a href=GPIO/gpiolib/ring.gpiolib.c>C, gpiolib, Buster</a></td>
<td>December 2020</td>
</tr>
<tr>
<td>0.029</td>
<td>Raspberry Pi 4</td>
<td><a href=GPIO/gpiozero/ring.gpiozero.py>Python, gpiozero, Buster</a></td>
<td>March 2021</td>