Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fatih Bellachia Sébastien Cap, Nicolas Dumont ‐ Dayot, Jasmin Fragnaud, Nicolas Letendre, Guy Perrot, Isabelle Wingerter.

Similar presentations


Presentation on theme: "Fatih Bellachia Sébastien Cap, Nicolas Dumont ‐ Dayot, Jasmin Fragnaud, Nicolas Letendre, Guy Perrot, Isabelle Wingerter."— Presentation transcript:

1 Fatih Bellachia Sébastien Cap, Nicolas Dumont ‐ Dayot, Jasmin Fragnaud, Nicolas Letendre, Guy Perrot, Isabelle Wingerter

2 03 novembre 2015 – Réunion Réseaux DAQ Hardware Firmware & Outils

3 Hardware is V2 Rev. 2 Tests are done with Boundary Scan: ‐90% of BS nets covered, 80% of all nets. 120 boards have been produced and tested (100 requested) in 2014. ‐Only one with pbs (MicroC replaced). ‐70 will have been configured (MAC address and firmware) and delivered end September. Future production: 120 in 2016 (as of today). Clients: ATLAS FTK, LAr & L1Calo (e/j/g/FEX, Topo); CMS, BELLE. Hardware documentation: http://lappwiki.in2p3.fr/twiki/bin/view/AtlasLapp/ATCA 03 novembre 2015 – Réunion Réseaux DAQ

4 I NTELLIGENT PLATFORM MANAGEMENT C ONTROLLER SOFTW ARE 03 novembre 2015 – Réunion Réseaux DAQ

5 Bare-metal application MCUMCU STM32F4x7 DriverDriver libopencm3 (LGPL) ethernet MiddlewareMiddleware IPMB IMC LWIP (BSD) OEM… Channel MessageQueue MessageDispatcher HALHAL USART USB I2CI2C I2CI2C SPI RCC GPIO WDG ComponentComponent IPMC CMC FwUpgrade JTAG Mst OEM I/O Sensor E-Keying 03 novembre 2015 – Réunion Réseaux DAQ

6 Module Composant logiciel qui permet à l’utilisateur d’ajouter de nouvelles fonctionnalités sans modifier le code existant. Main XVF player XVF player F/W Upgrade F/W Upgrade XVC server XVC server CMC IPMC OEM 03 novembre 2015 – Réunion Réseaux DAQ

7

8 ICARE-00-01-00 available very soon. (ICARE-00-00-07 patched online) ‐tools for compiling, loading, debugging and executing the IPMC software. ‐source code (ICARE framework) for the IPMC. ‐Many examples for sensors, SDR/FRU… IPMC firmware ‐Management of ATCA blade ‐FRU/SDR, Sensors, Backplane E-Keying. ‐TCPIP on 10/100 MbE for IPMC firmware update (proprietary solution). ‐Management of AMC ‐JTAG Master: Xilinx Virtual Cable server version ‐What is not yet integrated: E-Keying for AMC. JTAG Master: Serial Vector Format player (Altera). Tools & Code will be available in chapter Software ATCA IPMC here: http://lappwiki.in2p3.fr/twiki/bin/view/AtlasLapp/Informatique Help is provided by FTK people from LPNHE for the JTAG Master and a trainee software engineer for FRU/SDR generator Missing features should be available early 2016. 03 novembre 2015 – Réunion Réseaux DAQ

9

10 Factory Firmware will be initially stored in both the Configuration flash memory and micro-controllers internal flash memory. The factory firmware always remains available in the IPMC flash memory. The micro-controllers will revert to it after 3 failing consecutive attempts of upgrading the internal flash memory. Firmware update requires a new firmware in the IPMC CPLD. ‐Version 5.2 is available from the ICARE twiki page. ‐Requires the USB-JTAG Adaptor and openOCD tool for upgrading. ‐For those requiring it, IPMCs will be exchanged if you do not want to do the update yourselves. IPMC update IPMC factory IOIF update IOIF factory CPLD MCU IPMC MCU IOIF Configuration Flash Memory 03 novembre 2015 – Réunion Réseaux DAQ

11 The IPMC hardware is in production without any problem. A second round will be initiated early 2016. Firmware developments are progressing, despite the limited manpower. The coming release addresses requests from the customers. The implementation of E-Keying, SVF JTAG Master and FRU/SDR generator should be available early 2016. 03 novembre 2015 – Réunion Réseaux DAQ

12

13 IPMC Software The IPMC supports an intelligent hardware management system for ATCA board and ATCA carrier board (see Figure) which provides the ability to manage the power, cooling, and interconnect needs of intelligent devices; to monitor events; to log events to a central repository and also the ability to manage the mezzanine modules according to user’s implementation, as well as the communication with the Shelf Manager.

14 IPMC Software The IPMC software solution is fully compliant with the following specifications: IPMI v1.5 (document revision 1.1) and some relevant subset of IPMI v2.0 (document revision 1.0). PICMG 3.0 R3.0 (AdvancedTCA  base specification). AMC.0 R2.0 (AdvancedMC  base specification).

15 IPMC Software Linux host development 32-bit ARM Cortex-M4 microcontroller Written in standard ANSI C GCC (4.7.0) tool chain Open Source Configuration Management environment: - CMTCMT FRU (ATCA board) generation utility (using M4 preprocessor) OpenOCD (0.8.0) utility (Linux/Windows) Need USB to JTAG interface Debug-Adapter-HardwareDebug-Adapter-Hardware Olimex ARM-USB-TINY-H NGX technology …

16 IPMC Software Distributed bare-metal application Event (message) driven architecture The component (module) based design of the IPMC software source code allows the user to easily customize without modifying the existing code.

17 IPMC Software FRU Manager FRU Manager SDR Manager SDR Manager IPMB-0 Message Receiver IPMB-0 Message Receiver SDR repository SDR repository FRU Information FRU Information Event/Message Dispatcher Event/Message Dispatcher Message Event Handle switch Handle switch Sensors Payload IPMB-0 IPMC Event Notifier IPMC Event Notifier LED Message Event Message

18 IPMC Software Module State Machine Module State Machine Device Discovery IPMB-L Message Receiver IPMB-L Message Receiver Event Dispatcher Event Dispatcher Inputs Monitoring IPMB-L Carrier Inputs Event Message Event IPMB-0 Message IPMB-0 Message Outputs Message IPMC Event Receiver IPMC Event Receiver Event Message

19 IPMC Software Incoming Queue Outgoing Queue Message Dispatcher Filter Receivers Performer Channel

20 IPMC Software Task 4Task 3Task 2 Task 1 (Timer Task) Infinite Loop Time (Timer Task) Non-preemtible Pseudo FIFO scheduler

21 IPMC Software FRU tool (M4 based) generating corresponding C structures divert(`-1') include(`FRU.m4') dnl dnl ---------------------------------------------------------------------- dnl FRU #0 dnl ---------------------------------------------------------------------- dnl set_FRU_ID(0) FRU_INIT(FRU_ID) dnl dnl IPMI_BOARD_INFO_AREA dnl IPMI_BOARD_MANUFACTURER(FRU_ID, Fermilab) IPMI_BOARD_PRODUCT(FRU_ID, Pulsar IIb) IPMI_BOARD_PART_NUMBER(FRU_ID, Pulsar IIb) IPMI_BOARD_MFG_DATE(FRU_ID, 0xA0, 0x72, 0x92) IPMI_BOARD_SERIAL_NUMBER(FRU_ID, 1) IPMI_BOARD_FRU_FILE_ID(FRU_ID, fru_data.bin) dnl dnl IPMI_PRODUCT_INFO_AREA dnl IPMI_PRODUCT_MANUFACTURER(FRU_ID, Fermilab) IPMI_PRODUCT_PART_NUMBER(FRU_ID, Pulsar IIb) IPMI_PRODUCT_PRODUCT(FRU_ID, Pulsar IIb) IPMI_PRODUCT_VERSION(FRU_ID, 1) IPMI_PRODUCT_SERIAL_NUMBER(FRU_ID, 1) IPMI_PRODUCT_ASSET_TAG(FRU_ID) IPMI_PRODUCT_FRU_FILE_ID(FRU_ID) … static fru0_data_t fru0_data = { { /*--- COMMON HEADER ---*/ 0x1, // 3:0 - format version number = 1h for this specification 0, // 7:4 - reserved, write as 0000b 0, // Internal Use Area Starting Offset (in multiples of 8 bytes) // 00h indicates that this area is not present 0, // Chassis Info Area Starting Offset (in multiples of 8 bytes) // 00h indicates that this area is not present 1, // Board Area Starting Offset (in multiples of 8 bytes) // 00h indicates that this area is not present 8, // Product Info Area Starting Offset (in multiples of 8 bytes) // 00h indicates that this area is not present 14, // MultiRecord Area Starting Offset (in multiples of 8 bytes) // 00h indicates that this area is not present 0, // PAD, write as 00h 0xE8, // Common Header Checksum (zero ) }, { /*--- BOARD INFO AREA ---*/ 0x01, // 1 Board Area Format Version // 7:4 - reserved, write as 0000b // 3:0 - format version number = 1h for this specification. 7, // 1 Board Area Length (in multiples of 8 bytes) 25, // 1 Language Code (See section 15) 0xA0, 0x72, 0x92, // 3 Mfg. Date / Time // Number of minutes from 0:00 hrs 1/1/96, LSbyte first (little endian) 0xC8, // 1 Board Manufacturer type/length byte // P Board Manufacturer bytes 'F', 'e', 'r', 'm', 'i', 'l', 'a', 'b', 0xCA, // 1 Board Product Name type/length byte // Q Board Product Name bytes 'P', 'u', 'l', 's', 'a', 'r', ' ', 'I', 'I', 'b', 0xC1, // 1 Board Serial Number type/length byte* // N Board Serial Number bytes* '1', 0xCA, // 1 Board Part Number type/length byte // M Board Part Number bytes 'P', 'u', 'l', 's', 'a', 'r', ' ', 'I', 'I', 'b', 0xCC, // 1 FRU File ID type/length byte*

22 Binary IPMC Software User OEM sensors E-keying GCC tool chain Linker bmc_IPMC bmc_IOIF Target STM32F407 ICARE HAL Middleware main FwUpgrade IPMC master_MCU IPMC master_MCU IPMC slave_MCU IPMC slave_MCU


Download ppt "Fatih Bellachia Sébastien Cap, Nicolas Dumont ‐ Dayot, Jasmin Fragnaud, Nicolas Letendre, Guy Perrot, Isabelle Wingerter."

Similar presentations


Ads by Google