Differences
This shows you the differences between two versions of the page.
pmod:pmodtof:reference-manual [2022/09/13 15:53] – changed forum.digilentinc.com to forum.digilent.com Jeffrey | pmod:pmodtof:reference-manual [2023/02/08 20:34] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Pmod ToF Reference Manual ====== | ||
+ | The Digilent Pmod ToF (Time of Flight) is a sensor that enables optical distance sensing at low power. The on-chip digital signal processor of the {{https:// | ||
+ | {{Digilent Image Gallery | ||
+ | | image = {{: | ||
+ | | image = {{: | ||
+ | | image = {{: | ||
+ | | image = {{: | ||
+ | }} | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Features ===== | ||
+ | * Optimized low-power modes | ||
+ | * Enables proximity detection and distance measurement | ||
+ | * 16-bit resolution | ||
+ | * Onboard EEPROM to save the calibrations | ||
+ | * 6-pin Pmod connector with I²C interface | ||
+ | * Pass-through Pmod host port for daisy chaining | ||
+ | |||
+ | |||
+ | ---- | ||
+ | =====Functional Description ===== | ||
+ | The Pmod ToF is designed to digitally report the distance measured by the Time of Flight based signal processing integrated circuit. It has up to 16-bits of resolution. \\ | ||
+ | It operates using the principle of Square Wave Modulated Indirect Time of Flight (SWM-ITOF) in the frequency domain and obtains distance measurements from the phase shift. The sensing is done by an external emitter (LED) and detector (Photodiode) | ||
+ | ---- | ||
+ | |||
+ | =====Specifications ===== | ||
+ | ^ Parameter | ||
+ | | Power Supply Voltage | ||
+ | | Serial Clock Frequency | ||
+ | ^ Parameter | ||
+ | | Maximum Current Consumed | ||
+ | | Wavelength | ||
+ | | Emission angle | +/ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ===== Interfacing with the Pmod ===== | ||
+ | The Pmod ToF communicates with the host board via the [[pmod: | ||
+ | |||
+ | ==== Application Register Map ==== | ||
+ | |||
+ | |||
+ | All the registers used in the measurement and/or calibration process are described in the [[https:// | ||
+ | |||
+ | There is a set of registers used at every chip initialization. /* The Chip Initialization routine is described in [[https:// | ||
+ | |||
+ | These values (see table below) are set by Digilent and the user must be very careful changing them. In this situation the user must modify these values before performing manual calibration. | ||
+ | |||
+ | Please read [[https:// | ||
+ | |||
+ | For more information, | ||
+ | |||
+ | NOTE: Prior to restoring the factory calibration, | ||
+ | |||
+ | |||
+ | ^ Register address | ||
+ | | 0x10 | 0x04 | | ||
+ | | 0x11 | 0x6E | | ||
+ | | 0x13 | 0x71 | | ||
+ | | 0x18 | 0x22 | | ||
+ | | 0x19 | 0x22 | | ||
+ | | 0x60 | 0x01 | | ||
+ | | 0x90 | 0x0F | | ||
+ | | 0x91 | 0xFF | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== Calibration and Measurements ==== | ||
+ | In order to perform an accurate distance measurement, | ||
+ | |||
+ | |||
+ | ===EEPROM=== | ||
+ | |||
+ | The Pmod is equipped with a non-volatile EEPROM memory chip from Atmel: AT24C04D ([[http:// | ||
+ | |||
+ | The EEPROM stores two sets of calibration values. The factory calibration set contains the values for the generic calibration performed when the device was manufactured, | ||
+ | |||
+ | ^ Section Content | ||
+ | | Serial Number | ||
+ | | User calibration data | ||
+ | | Factory calibration data | 0x20 | 16 bytes | | ||
+ | | Free Memory | ||
+ | |||
+ | Please consult the Pmod ToF Library User Guide for more information about usage of and communication with the EEPROM module. | ||
+ | For more details about the calibration process, read more in the [[# | ||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | There are three types of calibrations required for Pmod ToF:\\ | ||
+ | |||
+ | 1. **Magnitude calibration**: | ||
+ | \\ | ||
+ | 2. **Crosstalk calibration**: | ||
+ | //NOTE: The foam included in the package might have some deformities due to the cutting process. In order to insure the best calibration please use the flat side of the foam.// \\ | ||
+ | \\ | ||
+ | 3. **Distance calibration**: | ||
+ | |||
+ | For more details about the calibration process, see the ISL29501' | ||
+ | |||
+ | ===Measurements=== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | A measurement cycle of Pmod ToF is triggered by a falling edge on the sample start (SS) pin, or by the host board issuing a soft_start to the ISL29501' | ||
+ | |||
+ | $$D=\frac {C}{4*π*f{mod}}*Δ{φ}\label{1}\tag{1}$$ | ||
+ | Where: \\ | ||
+ | D is the distance of the object from the sensor. \\ | ||
+ | $f{mod}$ is the modulation frequency. \\ | ||
+ | $Δ{φ}$ is the phase difference between the emitted and return signals. \\ | ||
+ | C is the speed of light. \\ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Pinout Table Diagram ==== | ||
+ | |||
+ | ^ Header J1 ||^ Header J2 ||^ Jumper Blocks | ||
+ | ^ Pin ^ Signal | ||
+ | | 1 | IRQ | ||
+ | | 2 | SS | Sample Start | 2 | SS | Sample Start | JP4 | Enabled | ||
+ | | 3 | SCL | ||
+ | | 4 | SDA | ||
+ | | 5 | GND | ||
+ | | 6 | VCC | ||
+ | |||
+ | The jumper settings when using the demos are JP1: // | ||
+ | |||
+ | Any external power applied to the Pmod ToF must be within 2.7 V and 3.3 V to ensure that the on-board chips operate correctly; however, it is recommended that Pmod is operated at 3.3 V. The Pmod ToF does not draw more than 225 mA of current. | ||
+ | |||
+ | ==== Timing Diagram ==== | ||
+ | |||
+ | A sample timing diagram for writing to and reading from the Pmod ToF taken from the {{https:// | ||
+ | |||
+ | //Example single-byte write sequence to the Pmod ToF// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | //Example multi-byte read sequence from the Pmod ToF// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Physical Dimensions ===== | ||
+ | The pins on the pin header are spaced 100 mil apart. The PCB is 1.6 inches long on the sides parallel to the pins on the pin header and 0.8 inches long on the sides perpendicular to the pin header. | ||
+ | |||
+ | ===== Software Libraries===== | ||
+ | |||
+ | Digilent provides a Library to access Pmod ToF functionality with Digilent FPGA development boards. The Library can be found in the [[https:// | ||
+ | |||
+ | A demo that allows communication with the Pmod ToF through UART is available in this [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | |||
+ | ===== Additional Information ===== | ||
+ | The schematics of the %%Pmod ToF%% are available {{: | ||
+ | |||
+ | Example code and more information on how to use the Pmod ToF can be found on its [[pmod: | ||
+ | |||
+ | If you have any questions or comments about the %%Pmod ToF%%, feel free to post them under the Add-on Boards section of the [[https:// | ||
+ | |||
+ | {{tag> |