Category Archives: Uncategorized

STM32 OPAMP + ADC

Shared Pins for OPAMP + ADC

config OPAMP in non-inverting configuration with the output of opamp connected to ADC: is it possible?

Internal Output Routing OPAMP + ADC

  • Register: OPAINTOEN

Internal Output Routing DAC + OPAMP

OPAMP fail to calibrate

[SILICON BUG ?] Why does OPAMP fail to calibrate with internal output routing? (STM32G474)

Routing external or internal?

STM32G opamps routing to ADC and to comparator

General Information

STM32L4 training: 04.6 Analog peripherals – Hands-on OPAMP

STM32L4 training: 04.6 Analog peripherals – Hands-on OPAMP

STM32G4 OLT – 24 . Analog ADC

  • in block diagram the Input MUX has no connection to OPAMP!

STM32G4 OLT – 27 . Analog OPAMP

  • no info how to configure OPAMP to route to ADC!

STM32G4 OLT – 27 . Analog OPAMP

ADC from OPAMP Output

AN2834: How to get the best ADC accuracy in STM32 microcontrollers

AN2834: How to get the best ADC accuracy in STM32 microcontrollers

AN5306: Operational Amplifier (OPAMP) usage in STM32G4 Series

AN5306: Operational Amplifier (OPAMP) usage in STM32G4 Series

Optoelectronics and Photonics

  • Maxwell’s equation
  • Geometrical optics
  • Interference
  • Diffraction
  • Fresnel’s equation
  • Group velocity
  • Group index
  • Quantum mechanical concepts
  • Vectors
  • Complex numbers
  • Partial differentiation
  • Fourier transforms
  • Wave theory
  • Particle theory
  • light
  • Wave theory: wave => interference, diffraction
  • Particle theory: photon

Wave Nature of Light

Light Waves in a Homogeneous Medium

Plane Electromagnetic Wave

  • Electric field Ex
  • Magnetic field By
  • Electromagnetic wave
  • traveling wave
  • time varying
  • perpendicular to each other and the direction of propagation: z
  • position z
  • time t
  • propagation constant, wave number k (2*pi/lambda)
  • wavelength lambda
  • angular frequency omega
  • wave amplitude E0
  • Phase constant phi0
  • Argument (omega*t – k*z + phi0) => phase phi
  • Monochromatic plane wave
  • wavefront
  • Faraday’s law: time varying magnetic field results in time varying electric fields and vice versa
  • optical field
z = a+b\,\mathrm i \\ |z| = \sqrt{a^2 + b^2} \\ z = r \cdot \mathrm{e}^{\mathrm{i}\varphi} = r \cdot (\cos \varphi + \mathrm{i} \cdot \sin \varphi) \\ \phi = \omega t - k z + \phi_0 \\ a^{x+y}=a^x \cdot a^y \\ a^{x\cdot y}=(a^{x})^{y} \\ {\displaystyle a^{-x}={\frac {1}{a^{x}}}=\left({\frac {1}{a}}\right)^{x}} \\ {\displaystyle {\sqrt[{q}]{a^{p}}}=a^{\frac {p}{q}}}

Vulkan: Raytrace / Raytracing

Peter Shirley

raytracing.github.io/
github.com/RayTracing/raytracing.github.io
Ray Tracing in One Weekend
Ray Tracing: The Next Week
Ray Tracing: The Rest of Your Life

Depends on

github.com/nothings/stb, stb single-file public domain libraries for C/C++
Markdeep

RayTracingInVulkan

github.com/GPSnoopy/RayTracingInVulkan, Implementation of Peter Shirley’s Ray Tracing In One Weekend book using Vulkan and NVIDIA’s RTX extension.

nvpro-samples

nvpro-samples.github.io/vk_mini_path_tracer/
nvpro-samples.github.io/vk_raytracing_tutorial_KHR/
github.com/nvpro-samples/vk_denoise, Denoising a Vulkan ray traced image using OptiX denoiser
github.com/nvpro-samples/vk_raytrace, Ray tracing glTF scene with Vulkan
github.com/nvpro-samples/vk_raytracing_tutorial_NV, Vulkan ray tracing examples and tutorials using VK_NV_ray_tracing

Vulkan Tutorial

Vulkan Tutorial

PBRVulkan

github.com/Zielon/PBRVulkan/

Quartz

github.com/Nadrin/Quartz/

FlyCube

github.com/andrejnau/FlyCube, Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.

Research Unit of Computer Graphics | TU Wien

github.com/cg-tuwien/Gears-Vk, Powerful low-level C++20 rendering framework for Vulkan 1.2, including Real-Time Ray Tracing (RTX) support, built atop Auto-Vk.
github.com/cg-tuwien/Auto-Vk, Low-level convenience and productivity layer atop Vulkan-Hpp

Vulkan vs. OpenGL

GDC 2018 – Getting explicit: How Hard is Vulkan really?
What Is Vulkan & Why Should Gamers CARE?
DirectX 12 & Vulkan as Fast As Possible
DCS: What is Vulkan API?
Vulkan vs OpenGL | Getting into Computer Graphics | OpenGL CUDA Interop | Cuda Education
What is Vulkan?
Should you learn Vulkan(C++)? Can beginners learn it?
Vulkan Tutorials [Deutsch]

Example

OpenGL vs Vulkan
Open GL (Default) VS Open GL (Skia) VS Vulkan (Skia) Antutu Benchmark

Window System Integration (WSI)

Qt Graphics
github.com/KhronosGroup/Vulkan-Guide/blob/master/chapters/wsi.md
Introducing the Vulkan WSI Layer (PDF)
XDC 2019 | Introducing the Vulkan WSI Layer – Rosen Zhelev (YouTube)

Shader

hat is a Shader? | Pixel and Vertex Shaders
What Are Shaders?
Writing a Shader in OpenGL
How Shaders Work in OpenGL
Vertex and Fragment Shaders – Interactive 3D Graphics
What Is A Shader? UE4 Materials 101 – Episode 1
1. What is a shader? What is GLSL? Why are they useful in games – Shader Course
Shaders 101 – Intro to Shaders
Shader Basics, Blending & Textures • Shaders for Game Devs [Part 1] (Unity)

Medium

Parallelizing GPU-intensive Workloads via Multi-Queue Operations using Kompute & Vulkan

Udacity

GPU computing in Vulkan, The ultimate way to parallel computing using Vulkan API.
Learn the Vulkan API with C++, Learn the fundamentals of the popular Vulkan API for modern graphics rendering using C++!