CERN-IPMC DevKit: User guide
This document introduces the CERN-IPMC Development kit. This setup is a start-up platform
that can be used as a module tester or a debugging platform. This paper lists the features available
and how to use them.
CERN-IPMC DevKit – User guide
v.1.0
Sources:
CERN-IPMC sharepoint - https://espace.cern.ch/ph-dep-ESE-BE-ATCAEvaluationProject/PP_IPMC
Support e-mail – [email protected]
CERN-IPMC DevKit – User guide EP-ESE-BE
2
1. Introduction
The complete CERN-IPMC development kit is made of a custom board used to emulate an
AdvancedTCA Carrier blade associated to the PigeonPoint’s Shelf Manager development kit (not
included, to be procured from PigeonPoint – ref. KIT BTC 7200R ATCA) used to simulate a crate
environment. Nevertheless, the IPMC tester electronics card hosting the CERN-IPMC can also
be used as a standalone environment to test all of the system independent features of a module
(e.g.: JTAGs, I/Os, Sensor drivers, etc.). The picture below shows the comprehensive setup.
Figure 1: CERN-IPMC Development kit (whole setup)
This document focuses on the tools and features available on the IPMC Tester part of the
setup.
1.1 Features
An automatic tester system was designed to verify the IPMC functionality after production.
To get a complete environment, which can be used for either automatic test or manual debugging,
all of the interfaces of the mezzanine cards are emulated. Figure 5 shows the hardware architecture
of the tester.
Figure 2: IPMC Tester architecture
* : CPLD pins are configured in InOut, with the default configuration set to “input”.
Shelf manager
DevKit
(Pigeon Point)
*
CERN-IPMC DevKit – User guide EP-ESE-BE
3
The system is supervised by an 8bit microcontroller managed by a PC via a USB to serial
interface. A Python library was designed to execute commands for the monitoring and control of
the IPMC interfaces1. The library provides different functions to configure the CPLD used for the
dynamic routing of the GPIOs and AMC ports. All of the AMC ports are tested using an emulated
mezzanine card with an on-board MMC module. Finally, the I2C interfaces are connected to on-
board sensors and EEPROM to check their functionality. Serial, Ethernet and JTAG ports are
routed to connectors for functional check using external devices (not included in the kit).
Figure 3: IPMC Tester board
1 Python library: https://gitlab.cern.ch/ep-ese-be-xtca/ipmc-devkit
CERN-IPMC DevKit – User guide EP-ESE-BE
4
2. IPMC Tester features and connectivity
The complete CERN-IPMC development kit is made of a custom board used to emulate an
AdvancedTCA Carrier
2.1 Power
The CERN-IPMC DevKit implements two linear DC/DC converters to separate the
management power from the IPMC one. The input power comes from the J5 connector located
on the bottom left corner of the IPMC tester. It must be supplied with a 5 volts / 0.3Amps DC
source connected as shown below:
Figure 3:Power connector
2.2 Management interface
The CERN-IPMC DevKit management is ensured via the USB to Serial interface available
on the “management” connector located on the bottom of the PCB. This input is linked to the
ATMEGA128 controller IC1 (configurable using the J1 connector) through an FTDI chip, which
takes care of the USB to Serial conversion. Once the FTDI drivers are installed on the master
computer, a new serial port is detected and can be used using the following configuration:
9600 Bauds,
8bit,
No parity,
No control.
By default, the controller is configured to handle the following commands:
COMMAND DESCRIPTION
DEVKIT RELATED COMMANDS
GETDEVICE Returns a description string “IPMCTP_CTRLER_V1.0”
GETMGTVOLTAGE Get MGT voltage (must be around 3.3V)
GETIPMCVOLTAGE Get IPMC voltage (must be around 3.3V)
GETIPMCCURRENT Get IPMC drawn current
SELI2C 0x<id> Select I2C port to redirect on “beagle_ipmb_l1” connector:
<id> values:
00: IPMB-A
01: IPMB-B
02: IPMB-L
03: IPMC Sensor
04: IPMC Mgt
CERN-IPMC DevKit – User guide EP-ESE-BE
5
ATCA RELATED COMMANDS
SETHA 0x<addr> Set the IPMC Hardware address (addr must be an hex. value)
SETHSW Set the IPMC’s handle switch pin to VCC
CLRHSW Set the IPMC’s handle switch pin to GND
SETIO 0x<id> Set the selected IO to VCC (id must be an hex. value)
CLRIO 0x<id> Set the selected IO to GND (id must be an hex. value) *1
GETIO 0x<id> Get value of the selected IO (id must be an hex. value) *1
GETBLUELED Get blue led status *2
GET12VEN Get 12V Enable status
ASSERTPGOODA Assert PowerGood A signal
ASSERTPGOODB Assert PowerGood B signal
DEASSERTPGOODA De-assert PowerGood A signal
DEASSERTPGOODB De-assert PowerGood B signal
*1: Configure the CPLD I/O pin in output
*2: Configure the CPLD I/O pin in input
AMC RELATED COMMANDS
SETAMCGA 0x<addr> Set AMC’s geographical address
SELAMC 0x<port> Select the IPMC port to be connected to the AMC
SETPS1 Emulate AMC insertion
CLRPS1 Emulate AMC extraction
CLOSEAMCHS Close AMC handle switch
OPENAMCHS Open AMC handle switch
GETAMCMPEN Get MP Enable signal from AMC emulator
GETAMCPPEN Get PP Enable signal from AMC emulator
ASSERTMPGOOD Assert MP good signal on AMC emulator
DEASSERTMPGOOD De-assert MP good signal on AMC emulator
ASSERTPPGOOD Assert PP good signal on AMC emulator
DEASSERTPPGOOD De-assert PP good signal on AMC emulator
2.3 IPMC Serial
The IPMC Serial interface, usable as a debug console or Serial Over Lan interface is
connected to the SDI_USB connector through an FTDI chip. The communication with the IPMC
can be handled using a computer with the following parameters:
115200 Bauds,
8bit,
No parity,
No control.
2.4 IPMC JTAG interfaces
The CERN-IPMC supports two JTAG interfaces: a slave one (IPMC_JTAG) to configure
the IPMC controller (using the FlashPro4 cable from microsemi) as well as a master one
CERN-IPMC DevKit – User guide EP-ESE-BE
6
(MASTER_JTAG) available to allow configuring external devices (e.g.: FPGAs). The figure
below shows the connectors pinout:
Figure 4: JTAG Connectors
2.5 IPMB Bus
In order to allows connecting the CERN-IPMC to an external shelf manager, the IPMB-A
and IPMB-B buses are routed to a 10 pins connector on the top left corner of the IPMC tester. A
cable can be directly used to connect the IPMC Tester board to the BTC 7200R ATCA kit from
Pigeon Point or a custom one can be made to use the zone 1 connector from a crate’s slot (detailed
in “Annexe 1”). The IPMB_1 connector uses the pinout described below:
Figure 5: IPMB connector
2.6 Ethernet
An Ethernet port is available on the IPMC mezzanine card. It can be used to send IPMI
commands (RMCP/RMCP+) directly to the controller, to open a Serial Over LAN (SOL) session
and/or to configure a Xilinx FPGA using the Xilinx Virtual Cable server. This port is directly
connected to the Ethernet connector located on the top of the IPMC Tester board.
2.7 I2Cs
The CERN-IPMC implements 3 types of I2C buses: IPMB (A, B and L, which are connected
to the MMC or the IPMB connector), a sensor I2C and the Mgt I2C. In order to test these two last
CERN-IPMC DevKit – User guide EP-ESE-BE
7
buses, a temperature sensor (LM75) is connected to the Sensor I2C bus and an EEPROM
(AT24C64D) to the Mgt bus. Additionally, all of the I2C buses can be redirected to the
Beagle_ipmb_l connector through I2C buffers. The selection is done using the SELI2C command
presented in the Management Interface section. The schematic below shows the connector pinout:
Figure 6: I2C debug connector
2.8 Additional connectors
Additional connectors are present to configure different components like the CPLD (J3), the
Mgt controller (J1) and the MMC (J2). These are present for development and test purposes only
and should not be used by the users of the IPMC tester.
Top Related