The Drivers section contains the low‑level functions used to interface the processor with the peripherals of the system, such as the Resolver ADC, the general ADC channels, the DAC, and the PWM modules. These drivers handle both the initialization of the hardware resources and the runtime acquisition of the signals coming from the PED-Board.

Initialization Drivers (Init)
The initialization functions configure the FPGA‑based SOM by setting the direction and operating mode of each I/O pin required by the peripherals.
Before any peripheral can be used, its corresponding init function must be executed.
These init drivers perform tasks such as:
- defining whether each pin is an input or an output.
- enabling the interface blocks for ADC, DAC, Resolver and PWM.
- preparing the communication registers used by the FPGA fabric.
This step is mandatory to ensure that all peripherals operate with the correct electrical direction and protocol configuration.
Read Drivers (Runtime Acquisition)
In the same Drivers subfolder, dedicated read functions are provided for the Resolver, ADC and DAC modules.
These functions allow the application to access real‑time measurements generated by the PED-Board.
Specifically, they:
- read the Resolver’s digitized sine/cosine signals for position and speed estimation.
- acquire the ADC channels associated with current, voltage or feedback sensors.
- read back DAC values when required for monitoring or closed‑loop verification.
These read drivers provide a clean and uniform API for retrieving sensor data, abstracting away the low‑level details of the FPGA registers and communication paths.