This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
playground:playground [25 Jun 2020 20:37] – [Hardware setup] Matt Duff | playground:playground [05 Apr 2024 13:03] (current) – Edit Tinaco Mariel | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | blah blah | + | |
- | < | + | |
- | {{: | + | ===== Supported Devices ===== |
- | [[#Pin Map|Pin Map link]] | + | * [[adi> |
- | A brand new test: blah blah blah | + | |
- | <WRAP tip>For help/ | + | ===== Evaluation Boards ===== |
+ | * [[adi> | ||
+ | ===== Description ===== | ||
- | ====== | + | This is a Linux industrial I/O (IIO) subsystem driver, targeting single channel DAC. The industrial I/O subsystem provides a unified framework for drivers for many different types of converters and sensors using a number of different physical interfaces (i2c, spi, etc). See IIO for more information. |
- | ====== | + | See [[software: |
- | ====== | + | {{ : |
- | ====== | + | ====== |
+ | ===== Status ===== | ||
+ | ^ Source ^ Mainlined? ^ | ||
+ | | [[git.linux.org> | ||
+ | ===== Files ===== | ||
+ | ^ Function ^ File ^ | ||
+ | | driver | ||
+ | | include | ||
+ | | Documentation | ||
+ | ====== Hardware configuration ====== | ||
+ | ==== Device tree example ==== | ||
+ | The following example instantiates the ad8460 driver for an AD8460 device connected on the SPI bus to the chip-select line 0. | ||
+ | < | ||
+ | #include < | ||
+ | #include " | ||
+ | #include " | ||
- | ====== Please select your scenario ====== | + | / { |
- | - [[#mbed microcontroller and AD5677R evaluation board|I am using ADI's evaluation board system: an SDP-K1 controller board and an EVAL-AD5677R eval board. ]] | + | clocks { |
- | - [[#mbed microcontroller and AD5677R evaluation board|I am using my own microcontroller board that is mbed compatible and an AD5677R evaluation board]] | + | sync_ext_clk: |
- | - [[#mbed microcontroller and AD5677R evaluation board|I am using my own microcontroller board that is not mbed compatible and an AD5677R evaluation board]] | + | #clock-cells = < |
- | - I just want to see the AD5677R driver code. | + | compatible = "fixed-clock"; |
+ | clock-frequency = < | ||
+ | clock-output-names = " | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
- | ====== SDP-K1 and AD5677R evaluation board ====== | + | & |
+ | tx_dma: tx_dmac@44000000 { | ||
+ | compatible = " | ||
+ | reg = < | ||
+ | interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>; | ||
+ | clocks = <& | ||
+ | # | ||
- | ===== Hardware setup ===== | + | adi, |
- | * [[https:// | + | #size-cells = <0>; |
- | * [[https:// | + | #address-cells = <1>; |
- | {{ : | + | |
- | - Connect the EVAL-AD5677R to the SDP-K1 controller board. | + | |
- | - Connect the SDP-K1 controller board to your computer over USB. | + | |
- | ===== Software setup ===== | + | dma-channel@0 { |
- | * [[https:// | + | reg |
- | * [[https:// | + | adi, |
- | * [[https:// | + | adi, |
- | * [[https:// | + | adi, |
+ | adi, | ||
+ | adi, | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
- | The software stack is structured in the following way: | + | & |
- | {{ : | + | status |
- | - Go to the link of the code provided above in the ' | + | |
- | - | + | |
- | - | + | |
- | - After a successful compile a binary will be downloaded to your computer - store this on your drive. | + | |
- | - Drag and drop this binary to the USB drive hosted by your controller board. | + | |
- | - Start up a serial terminal emulator (e.g. Tera Term) | + | |
- | - Find the com-port your controller board is connected on and select it. | + | |
- | - Set the baud-rate for 115200 | + | |
- | - Reset the controller board and connect. | + | |
- | - Use the menu provided over the terminal window to access the evaluation board. | + | |
- | ====== mbed microcontroller and AD5677R evaluation board ====== | + | |
- | ===== Hardware setup ===== | + | |
- | {{ : | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | ==== Quick start ==== | + | ad8460: dac@0 { |
+ | compatible | ||
+ | reg = < | ||
+ | spi-max-frequency | ||
+ | adi, | ||
+ | adi, | ||
+ | adi, | ||
+ | adi, | ||
- | - Connect the SPI lines from the EVAL-AD5677R to the SPI lines of your microcontroller board. | + | clocks = <& |
- | - Connect your micrcontroller board to your computer. | + | clock-names = " |
+ | dma-names = " | ||
+ | dmas = <& | ||
+ | }; | ||
+ | }; | ||
+ | </ | ||
- | ===== Software setup ===== | + | ====== Driver testing ====== |
- | - Go to the link of the code provided above in the ' | + | |
- | - | + | |
- | - | + | |
- | - After a successful compile a binary will be downloaded to your computer - store this on your drive. | + | |
- | - Drag and drop this binary to the USB drive hosted by your controller board. | + | |
- | - Start up a serial terminal emulator (e.g. Tera Term) | + | |
- | - Find the com-port your controller board is connected on and select it. | + | |
- | - Set the baud-rate for 115200 | + | |
- | - Reset the controller board and connect. | + | |
- | - Use the menu provided over the terminal window to access the evaluation board. | + | |
- | The software stack is structured in the following way: | + | If the driver correctly detected |
- | {{ : | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | Quick start steps: | + | |
- | - | + | |
- | - | + | |
- | - Go to the link of the code provided above in the ' | + | |
- | - | + | |
- | - | + | |
- | - After a successful compile a binary will be downloaded to your computer - store this on your drive. | + | |
- | - Drag and drop this binary to the USB drive hosted by your controller board. | + | |
- | - Start up a serial terminal emulator (e.g. Tera Term) | + | |
- | - Find the com-port your controller board is connected on and select it. | + | |
- | - Set the baud-rate for 115200 | + | |
- | - Reset the controller board and connect. | + | |
- | - Use the menu provided over the terminal window to access the evaluation board. | + | |
- | - | + | |
- | ====== Features ====== | + | |
- | * High accuracy: AD5686R | + | |
- | * Low drift 2.5 V on-chip reference: 2 ppm/°C typ temperature coefficient | + | |
- | * Tiny Package: 3 mm × 3 mm 16-lead LFCSP or 16-lead TSSOP | + | |
- | * Unordered List Item Total Unadjusted Error (TUE): TBD max | + | |
- | * Unordered List Item Offset error: 1.5 mV max | + | |
- | * Gain error: 0.1 % of FSR max | + | |
- | * High drive capability: 20 mA, 0.5 V from supply rails | + | |
- | * User selectable gain of 1 or 2 (GAIN pin) | + | |
- | * Reset to zero-scale or midscale (RSTSEL pin) | + | |
- | * 1.8 V logic compatibility | + | |
- | * 50 MHz SPI with readback or daisy-chain | + | |
- | * Low glitch: 0.5 nV-s | + | |
- | * Robust 4 kV HBM and 1.5 kV FICDM ESD rating | + | |
- | * Low power: | + | |
- | * 2.7 V to 5.5 V power supply | + | |
- | * −40°C to +105°C temperature range | + | |
- | + | ||
- | ====== Introduction ====== | + | |
- | The AD568xR are quad, 12-/ | + | |
- | DACs. The devices include a 2.5V internal reference (enabled | + | |
- | by default) coupled with a gain select pin giving a full scale | + | |
- | output of 2.5V (GAIN=1) or 5V(GAIN=2). All devices operate | + | |
- | from a single 2.7 V to 5.5 V supply, are guaranteed monotonic | + | |
- | by design and exhibit less than 0.1% FSR gain error and 2mV | + | |
- | offset error performance. The devices are housed in a 3mm X | + | |
- | 3mm LFCSP and TSSOP packages. | + | |
- | The part also incorporates a power-on reset circuit that ensures | + | |
- | the DAC output powers up to zeroscale or midscale and | + | |
- | remains there until a valid write takes place. | + | |
- | {{ : | + | |
- | ===== Block Diagram ====== | + | |
- | {{ : | + | |
- | ====== Pin Map ====== | + | |
- | {{: | + | |
- | ====== Quick Setup Connection Table ====== | + | |
- | ^ Mnemonic | + | |
- | | VOUTA | Analog Output Voltage from DAC A | | + | |
- | + | ||
- | + | ||
- | ====== Level 1 Headline ====== | + | |
- | * [[/ | + | |
- | + | ||
- | + | ||
- | ===== Level 2 Headline ===== | + | |
- | + | ||
- | ==== Level 3 Headline ==== | + | |
- | + | ||
- | === Level 4 Headline === | + | |
- | + | ||
- | == Level 5 Headline == | + | |
- | == Signal Picture == | + | |
- | {{:playground: | + | |
- | + | ||
- | This is the CN-0196 Lab board. You can change the capacitors by resolder ones up to 50V specification instead of the used 25V electrolytic ones. | + | |
- | + | ||
- | =) | + | |
+ | < | ||
+ | root@linaro-ubuntu-desktop: | ||
+ | Library version: 0.24 (git tag: accb7b5) | ||
+ | Compiled with backends: local xml ip usb serial | ||
+ | IIO context created with local backend. | ||
+ | Backend version: 0.24 (git tag: accb7b5) | ||
+ | Backend description string: Linux analog 6.1.0-271638-g3dfbf1932ce9-dirty #348 SMP PREEMPT Fri Apr 5 16:48:16 CST 2024 armv7l | ||
+ | IIO context has 9 attributes: | ||
+ | hdl_system_id: | ||
+ | hw_model: AD8460-FMC-EVAL-BZ on Xilinx Zynq ZED | ||
+ | hw_carrier: Xilinx Zynq ZED | ||
+ | hw_mezzanine: | ||
+ | hw_name: AD8460-EVAL-RevB | ||
+ | hw_vendor: Analog Devices | ||
+ | hw_serial: AD8460-FMC-EVAL-BZ | ||
+ | local, | ||
+ | uri: local: | ||
+ | IIO context has 4 devices: | ||
+ | hwmon0: e000b000ethernetffffffff00 | ||
+ | 1 channels found: | ||
+ | temp1: | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: crit value: 100000 | ||
+ | attr 1: input value: 16000 | ||
+ | attr 2: max_alarm value: 0 | ||
+ | No trigger on this device | ||
+ | iio: | ||
+ | 9 channels found: | ||
+ | voltage5: vccoddr (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccoddr | ||
+ | attr 1: raw value: 2048 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage0: vccint (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccint | ||
+ | attr 1: raw value: 1382 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage4: vccpaux (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccpaux | ||
+ | attr 1: raw value: 2454 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | temp0: | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: offset value: -2219 | ||
+ | attr 1: raw value: 2534 | ||
+ | attr 2: scale value: 123.040771484 | ||
+ | voltage7: vrefn (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vrefn | ||
+ | attr 1: raw value: -4 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage1: vccaux (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccaux | ||
+ | attr 1: raw value: 2452 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage2: vccbram (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccbram | ||
+ | attr 1: raw value: 1381 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage3: vccpint (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccpint | ||
+ | attr 1: raw value: 1376 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage6: vrefp (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vrefp | ||
+ | attr 1: raw value: 1702 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | 2 device-specific attributes found: | ||
+ | attr 0: sampling_frequency value: 961538 | ||
+ | attr 1: waiting_for_supplier value: 0 | ||
+ | No trigger on this device | ||
+ | iio: | ||
+ | 1 channels found: | ||
+ | altvoltage0: | ||
+ | 2 channel-specific attributes found: | ||
+ | attr 0: powerdown value: 0 | ||
+ | attr 1: sampling_frequency value: 500000 | ||
+ | 2 device-specific attributes found: | ||
+ | attr 0: scale value: 80 | ||
+ | attr 1: waiting_for_supplier value: 0 | ||
+ | 5 debug attributes found: | ||
+ | debug attr 0: apg_pattern_memory value: 0 0x2000 | ||
+ | debug attr 1: shutdown_flag value: 0 | ||
+ | debug attr 2: apg_pattern_depth value: 3 | ||
+ | debug attr 3: apg_mode_enable value: 0 | ||
+ | debug attr 4: direct_reg_access value: 0x10 | ||
+ | No trigger on this device | ||
+ | iio_sysfs_trigger: | ||
+ | 0 channels found: | ||
+ | 2 device-specific attributes found: | ||
+ | attr 0: add_trigger ERROR: Permission denied (13) | ||
+ | attr 1: remove_trigger ERROR: Permission denied (13) | ||
+ | No trigger on this device | ||
+ | </ |