Coolquest, Inc. Home Products Support About Contact
cbold_logo_gif C++BOLD Example Design: TTM cbold_logo_gif

Design Home <<  File View  >> Class View Output (partial) Parts Library Examples Home

 

// THIS FILE IS IN THE PUBLIC DOMAIN.
// IT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
// NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 
#ifndef _TTM_PowerH_
#define _TTM_PowerH_
 
//#include "shunt_ovp.h"
#include "multiswitch.h"
#include "headers.h"
 
 
// CM_Power:
// This design can tolerate an absolute max of 6.0 V on BK.VPOS3_3.
 
// The user must supply all desired decoupling capacitors on output voltages.
// The backplane subsystem supplies decoupling capacitors on:
//   BK.VPOS3_3
 
 
 
class CM_Power : public TModule {    // Power subsystem
public:
// ***** member bundles ***** //
  CB_PWR_Back       BK;          // interface to backplane:   voltages from the backplane (inputs to this subsystem)
 
// ***** member ports ***** //
 
// supply voltage (output from this subsystem)
  port VCC;     // 3.3 V
  port GND;
 
 
// ***** member modules and parts ***** //
 
  CP_HEADER10X2CS  AuxPower;       // auxiliary power connector:  9A max per voltage  <<< Label this header on the silkscreen:  "AUX Power"
 
 
// Power switches                   // list these last in case switch counts change
  CM_MultiSwitch4  SW_VCC;
  CP_HEADER2       JumperVCC_EN;    // jumper enables VCC when installed   <<< Label this header on the silkscreen:  "VCC Enable"
 
 
  virtual void Register() {
// bundles
    reg( BK   );         // interface to backplane
 
// ports
    reg( VCC );
    reg( GND );
 
// parts and modules
    reg( AuxPower    );
    reg( SW_VCC   );
    reg( JumperVCC_EN   );
  }
 
  virtual void Connect() {
    wireall( GND );
 
 
                                                // the installed connector may be either a 10x1 x 3-amp or 10x2 x 1-amp connector
// aux power connector:                         //  cols    1 row x 3A/pin     2 row x 1A/pin
    merge( "/NC",      AuxPower.P(  6,  1 ) );  //     3                9A                 6A   // 5V:  not used by TTM
    merge( GND,        AuxPower.P( 16,  7 ) );  //     5               15A                10A
    merge( BK.VPOS3_3, AuxPower.P( 20, 17 ) );  //     2                6A                 4A
 
// switch connections
    BK.VPOS3_3   <<  SW_VCC.IN;
    VCC          <<  SW_VCC.OUT;
    BK.VCC_EN    <<  SW_VCC.EN;                          // VCC_EN pulldown is in Backplane subsystem resistor pack
    BK.VCC_EN    <<  JumperVCC_EN.P( 1 );                // install jumper to force VCC on, e.g., when no ROD present
                     JumperVCC_EN.P( 2 ) << BK.VPOS3_3;
  }
};
 
#endif

 

Design Home <<  File View  >> Class View Output (partial) Parts Library Examples Home

Legal Copyright © 2007 by Coolquest, Inc. Contact