On this page
article
peary/hardware/boards/CarboardConstants.hpp
peary/hardware/boards/CarboardConstants.hpp
CaR board I2C device addresses. More…
Namespaces
| Name |
|---|
| peary |
| peary::board |
| peary::board::carboard |
Detailed Description
CaR board I2C device addresses.
Copyright: Copyright (c) 2016-2025 CERN and the Peary Caribou authors. This software is distributed under the terms of the LGPL-3.0-only License, copied verbatim in the file “LICENSE.md”. SPDX-License-Identifier: LGPL-3.0-only
Source code
#pragma once
#include "peary/interfaces/I2C/i2c.hpp"
namespace peary::board::carboard {
const double VREF_4P0 = 4.096; // via TI REF5040
const double INA226_R_SHUNT = 0.01;
const std::string BUS_I2C0 = "/dev/i2c-7";
const std::string BUS_I2C1 = "/dev/i2c-8";
const std::string BUS_I2C2 = "/dev/i2c-9";
const std::string BUS_I2C3 = "/dev/i2c-10";
const std::string BUS_I2C4 = "/dev/i2c-1";
const interface::i2c_address_t ADDR_BRIDGE = 0x28; // SC18IS602B BRIDGE SPI/I2C
const interface::i2c_address_t ADDR_EEPROM = 0x50; // 24LC32A EEPROM, Board ID, 12bit memory
const interface::i2c_address_t ADDR_IOEXP = 0x76; // PCA9539 IO Expander / Power switch
const interface::i2c_address_t ADDR_CLKGEN = 0x68; // SI5345 Clock generator / PLL
const interface::i2c_address_t ADDR_TEMP = 0x92; // TMP101 Temperature sensor
/* On CaR board v1.2 */
const interface::i2c_address_t ADDR_IOEXP2 = 0x75; // PCA9539 IO Expander / INTR Monitoring
const interface::i2c_address_t ADDR_CMOSDAC = 0x48; // DAC7678 DAC to set CMOS voltage levels
const interface::i2c_address_t ADDR_MONITOR_U53 = 0x40; // INA226 MONITOR PWR/CURR BIDIR
const interface::i2c_address_t ADDR_MONITOR_U52 = 0x41;
const interface::i2c_address_t ADDR_MONITOR_U55 = 0x42;
const interface::i2c_address_t ADDR_MONITOR_U54 = 0x43;
const interface::i2c_address_t ADDR_MONITOR_U57 = 0x44;
const interface::i2c_address_t ADDR_MONITOR_U56 = 0x45;
const interface::i2c_address_t ADDR_MONITOR_U59 = 0x46;
const interface::i2c_address_t ADDR_MONITOR_U58 = 0x4A;
// SEAF connector
const interface::i2c_address_t ADDR_ADC = 0x48; // ADS7828 ADC 12BIT 50KSPS 8CH, Analog input range 0-4V
const interface::i2c_address_t ADDR_DAC_U44 = 0x4A; // DAC7678 DAC 12BIT I2C OCTAL 24VQFN
const interface::i2c_address_t ADDR_DAC_U45 = 0x4D;
const interface::i2c_address_t ADDR_DAC_U46 = 0x4C;
const interface::i2c_address_t ADDR_DAC_U47 = 0x4B;
const interface::i2c_address_t ADDR_DAC_U48 = 0x4E;
const interface::i2c_address_t ADDR_DAC_U49 = 0x4F;
const interface::i2c_address_t ADDR_DAC_U50 = 0x49;
// Si570 USRCLK on ZC706. FIXME: this needs to go somewhere else
const interface::i2c_address_t ADDR_SI570 = 0x5D;
// EEPROM addresses
const uint16_t ADDR_EEPROM_BOARD_ID = 0x00; // EEPROM address for board ID
const uint16_t ADDR_EEPROM_BOARD_REV = 0x01; // EEPROM address for board revision
} // namespace peary::board::carboard
Updated on 2025-11-14 at 11:31:23 +0100