The EVAL-LTC4306-PMDZ features LTC4306, a 4-channel, 2-wire I2C bus and SMBus compatible multiplexer having bus buffers that provide capacitive isolation between the upstream bus and downstream buses.
This evaluation board provides 6-pin PMOD connectors for upstream and downstream connection for compatibility with PMOD form factors such as EVAL-ADICUP3029, an Arduino based Wireless Development Platform for Internet of Things applications based on an ultra-low power ARM Cortex-M3 processor.
Pmod™ is the Digilent defined standard of Peripheral Modules, small I/O interface boards that offer an ideal way to extend the capabilities of programmable logic and microcontroller boards. They allow sensitive signal conditioning circuits and high-power drive circuits to be placed where they are most effective - near sensors and actuators.
EVAL-LTC4306-PMDZ comes with PMOD connectors on both upstream and downstream side for compatibility with PMOD form factors, 10K pull up resistors on upstream and all downstream buses and 0.1uF bypass capacitor on the upstream side. The user has the option to add 6 pin 2.54mm pitch pin header for connection to the GPIOs (General Purpose Input/Output pins) on EVAL-LTC4306-PMDZ for extra functionality. The user also has the option to add test points on different places on the board for fault monitoring and place additional bypass capacitors (0805 size footprint) on the upstream and the downstream side for defense against any unwanted noise in their system for adequate bypassing on power supply lines.
For operation with EVAL-LTC4306-PMDZ, connect the master/host controller’s SDA and SCL pins to the LTC4306’s SDAIN and SCLIN pins (upstream bus pins) via the P1 PMOD connector. VCCIN (supply voltage of the LTC4306) can be anywhere from 2.7V to 5.5V (as shown in Figure 1). The host controller on the upstream side first addresses and configures the LTC4306 via I2c commands by writing to register 3 (see page 9 of the datasheet) to connect the upstream bus to one or more of the four downstream buses. Once the communication between the upstream and downstream buses are established, a master on the upstream 2-wire bus (SDAIN, SCLIN) can connect to any combination of downstream buses through the LTC4306’s bus buffers and multiplexers/switches. As a result, the same device address can be used on multiple downstream buses.
Each downstream bus can be powered up separately using its own VCC pin (VCC1:VCC4 on the schematic) on the P5:P11 connector. Hence, the LTC4306 can be used as a level shifter.
To power up all the downstream buses using LTC4306’s voltage supply, insert jumper JP1, JP2 in both A and B positions. Inserting jumper JP1 in A position connects the upstream voltage supply to the first downstream bus (SCL1, SDA1). Similarly, inserting jumper JP1 in B position connects the upstream voltage supply to the second downstream bus (SCL2, SDA2) and so on.
Additional configurations include enabling and disabling the rise time accelerators on the backplane side and/or the card side, setting the GPIOs to open drain output, push-pull output, or input mode, setting or resetting the GPIO’s outputs (to use GPIOs solder the P3 connector), disabling the Bus Stuck Low disconnect feature or setting the disconnect time to 7.5ms, 15ms, 30ms. A host controller can also read the internal registers of the LTC4306 to determine the settings of these features as well as fault statuses. All of these features are accessed by sending commands on the 2-wire bus.
The ENABLE pin, when pulled low, resets the LTC4306 to its registers default state and disables communication to it. Communication can be re-established when ENABLE is released high. By default, it is pulled up to VCCIN by a 10k resistor. However, the 2nd pin of the P1 PMOD connector can be used to set ENABLE pin low.
On the downstream side the slave devices should be able to report faults. The fault pins on each of the slave device on downstream buses 1-4 should connect their fault pins to ALERT1_N : ALERT4_N on the P5:P11 connectors, respectively. The LTC4306 passes downstream faults to the upstream host by pulling down on the ALERTX_N pin, so this host’s fault input should be connected to the LTC4306 ALERT_N pin.
When the upstream bus is connected to one or more downstream buses, the READY pin voltage is pulled up to VCC. When the upstream bus is disconnected from all downstream buses, the READY voltage is low and the red RDY LED should light up. On EVAL-LTC4306-PMDZ, the default setting for jumpers on ADR0, ADR1 and ADR2 is the right position. This connects all the ADR pins to VCCIN, which sets the address of the LTC4306 to 0xAA (in hexadecimal). To set a different address, configure the jumpers according to Table 1 of the data sheet on page 13 (note: left position = L, middle position = NC, right position = H; Disconnect = NC for all the 3 jumpers on each ADR0, ADR1 and ADR2).
Figure (1). EVAL-LTC4306-PMDZ set-up
EVAL-LTC4306-PMDZ is easy to set up to evaluate the performance of the LTC4306. Refer to Figure 1 for proper measurement equipment setup and follow the procedure below:
For this demo, the EVAL-ADT7420-PMDZ temperature sensor board was connected to the downstream bus number 4 on the EVAL-LTC4306-PMDZ.
Using the Bin A, binary file provided, program the SDP-K1 board whose SDA and SCL pins are connected to the upstream bus pins (i.e. SDAin and SCLin pins) on EVAL-LTC4306-PMDZ. This closes the FET switches on the desired downstream bus to allow communication between the upstream and the downstream devices. (If using your own sketch, do not forget to configure register 3 on the EVAL-LTC4306-PMDZ to close the FET switches on the desired downstream bus to allow communication between the upstream and the downstream devices. Make sure the LTC4306 device address is set to 0xAA (See page 13 of the datasheet for more information on how to set the address). This should switch off the red RDY LED on EVAL-LTC4306-PMDZ. If not, press the reset button on the SDP-K1 board and program it again.
Alternatively, EVAL-ADICUP3029 board can be used to close the FET switches of EVAL-LTC4306-PMDZ board. Plug the EVAL-LTC4306-PMDZ PMOD (P1) in the EVAL-ADICUP3029 base board, via the PMOD_I2C port (P9). Next, drag and drop the Hex A file provided into DAPLINK drive on your computer. This Hex A file programs the EVAL-ADICUP3029 board to configure and close the FET swtiches on EVAL-LTC4306-PMDZ. Like before, the red RDY LED should turn off on the EVAL-LTC4306-PMDZ indicating that one or more downstream channels is connected to the upstream bus as the FET switches are closed.
Next, plug the EVAL-LTC4306-PMDZ PMOD (P11) in the EVAL-ADT7420-PMDZ via the PMOD_I2C port (P1) on this digital temperature sensor. The yellow LED, DS1 should light up upon powering up this board.
The Figure below shows how the hardware should be set-up:
There are two basic ways to program the EVAL-ADICUP3029 with the software for the EVAL-ADT7420-PMDZ.
Using the drag and drop method, the software is going to be a version that Analog Devices creates for testing and evaluation purposes. This is the EASIEST way to get started with the reference design.
Importing the project into CrossCore is going to allow you to change parameters and customize the software to fit your needs, but will be a bit more advanced and will require you to download the CrossCore toolchain.
The software for the ADuCM360_demo_adt7420 demo can be found here:
Bin/Hex files
Complete ADT7420 Source Files
For more information on importing, debugging, or other tools related questions, please see the tools user guide.
If going with option 2, the user needs to import adt7420_example_noos in their cross core studios workplace. To learn how to do that, visit this page cross core studios. Once imported, a debug configuration file needs to be set-up . (visit this page cross core studios for more information)
To see the temperature reading in the console, make sure ADI_APP_USE_BLUETOOTH is set to 0 in the header file (adt7420_app.h) before debugger is launched.
Once the debugger is launched, click on the resume button if the program is halted due to breakpoint shown below:
The temperature sensor reading should now be displayed in the console. For detailed information on how to do this, visit the ADT7420 PMOD Temperature Demo page on analog wiki
For this demonstration, LTC4306 was used with EVAL-SDP-CK1Z (SDP-K1) Controller Board to read data out of an easily available color sensor from Adafruit industries, TC347525. The SDP-K1 controller board is a part of the evaluation system for many Analog Devices components and reference circuits. The SDP-K1 is a part of the system demonstration platform (SDP), which consists of a series of controller boards, interposer boards, and daughter boards. It is based on an STM32F469NI microcontroller. Mbed is used by Analog Devices to develop and distribute drivers for Analog ICs. Mbed is an online IDE developed by ARM. It is open-source and supports controller boards such as SDP-K1 with Cortex ARM core processors. On how to setup SDP-K1, please visit: mbed
Set up the hardware as shown in the figure below. For this demo, the color sensor was connected to the downstream bus number 4 on the EVAL-LTC4306-PMDZ. (If using your own sketch, do not forget to configure register 3 on the EVAL-LTC4306-PMDZ to close the FET switches on the desired downstream bus to allow communication between the upstream and the downstream devices. The Hex device address was set to 0xAA (See page 13 of the datasheet for more information on how to set the address)
The program to configure the LTC4306 and the color sensor was compiled and a binary file was generated. This can be found in the resources section. To program the SDP-K1 board, connect the SDP-K1 board to your computer using the USB standard-A to mini-B cable. You should see the board as a new drive on your computer. Copy the binary file provided into the Mbed enabled board drive. You can also drag and drop the file, like a USB stick. After programming the SDP-K1 board, run the Colorsense.exe file. It can also be found in the resources section. A console and a GUI should pop up on the screen. Set the Baud rate to 9600 and enter your COM port number.
Hit the return button on the console and the enter button on the GUI to make the user prompt frame disappear.
You should now be able to see different colors appear on the screen as objects are held over the sensor.