PoE Shield

From Hackstrich
Revision as of 17:30, 20 February 2011 by Lisa (talk | contribs) (Known Issues with Rev. 2)

The PoE shield will be compatible software-wise with the official Arduino Ethernet Shield, but also supply power to the board via 802.3af-2003 compliant Power over Ethernet.

Project Status

Design, BOM, schematic, and PCB layout complete, PCBs and parts received, revision 1 board assembly is in progress. Power side assembly done, data side done except bypass caps and the Wiznet controller IC. Power supply side is outputting a well-regulated ~12v (stays in regulation and under temperature limits while under 100/250/500/750mA load), and data side is working well. Isn't reliably reseting on powerup, need to investigate that. Revision 2 PCBs received, waiting on parts to ship from Digikey.

Notes

Notes from Rev. 1 (SVN r51)

  • Package has silkscreen already, just none on bottom of rev. 1 boards: For LM5070 library part put a notation for where pin 1 goes.
  • Fixed in revision 2: C6 footprint does not match BoM (C6 should be 0603 or footprint to 1210)
  • Fixed in revision 2: D2/D3 have no silkscreen
  • Fixed in revision 2: Fix footprint on U2 (Pads are too far apart lengthwise)
  • Fixed in revision 2: Fix footprint for U3 (it's just generally wrong)
  • Fixed in revision 2: U3 pinout was wrong (all of the pins were in the wrong place)
  • Bigger test points (especially for prototypes), through hole especially.
  • Fixed in revision 2: R108 footprint is 0603 but BOM is 0402)
  • Fixed in revision 2 (new xfmr): Had wrong PoE transformer (1x3.3v 1x5v windings instead of 2x12v)
  • Fixed in revision 2 (changed to 0.5ohm): R9 should be 0.33Ω, not 33Ω. Need to recalculate this for revision 2 based on max allowed current draw
    • R9 at 1Ω (through hole) regulates alright at relatively low load.
  • Fixed in revision 2: Feedback resistors R16/R17 are backwards (i think), need to flip them/retest - Flipped, correctly limits to 11.8V with zero load.
  • Under 100mA load regulation is not correct. (This follows the R16/R17 swap.) Fixed by swapping R9 0.33Ω loop of wire for 1Ω through-hole resistor. See note about 1Ω resistor.
  • CS Resistor/Capacitor Filter needs to be right next to LM5070 to minimize induced noise. - fixed in rev2
  • INT jumper has no silkscreen. - Fixed in rev2; INT jumper is on the bottom with silkscreen on both sides. prototype PCB house does no do silkscreen on the bottom, hence top silkscreen.
  • Fixed in revision 2: D4 can be changed from a SMAJ90A to a SMAJ120A as Q1 can handle 200V.
  • Fixed in revision 2: /SCS should be connected to SS and SEN connected to /SS, not the other way around
  • Fixed in revision 2: Pins on the SPI connector to the Arduino are backwards (should be SCK, MISO, MOSI, SS from top down, not the other way around)

Ideas for Rev. 2

  • Implemented in rev. 2 - Could switch the main transformer to a POE13W3VERS-R (1.8/3.3/7V) or 7491192912 (3.3/5/12V) to avoid the need for secondary regulation all together
  • Implemented in rev. 2 - Should change DA1 to a MBRA210LT3G (and rename to D6 as it's no longer an array) as this can handle 2A (we need 0.75) rather than the 15A the current MBRB1530CT can handle, and is way smaller (SMA instead of D2PAK).

List of BoM Changes for Rev. 2

  • T1 changed to POE13W3VERS-R to add the 3.3v bus
  • X101 changed to tiny hybrid resonator instead of plain crystal, much smaller and still acceptable tolerances
  • C19 changed from 330uF 35V cap to 220uF 16V cap
  • C34-38, L4, R19, D5 , F3 added (for 3.3v output)
  • R16 changed from 0805 to 0402
  • R17 changed from 12.7k 0805 to 23.7k 0402 (for change from 12V to 7V output)
  • R9 changed from 33 to 0.5 (to fix current sense)
  • DA101 removed (connector LED now used for 100M not TX/RX)
  • DA1 changed to D6 (13A Schottky pack changed to single 2A diode)
  • D4 changed from SMAJ90A to SMAJ120A (no package change, both SMA)
  • CN1 changed from MagJack to plain jack
  • T2 added to replace previously-MagJack-contained magnetics
  • R20-R23, C39 added to replace previously-MagJack-contained TP termination components
  • SW1 added for reset button, changed to small SMD switch (original button missed on BOM)
  • Q1 changed to FDC3612CT-ND (smaller)

Known Issues with Rev. 2

  • Strich is on the bottom instead of the top
  • Silkscreen on LM5070 is missing
  • Label for power LED is missing
  • Ordered Rev 1 crystal for X101
  • Ordered CN1 has LED pins and LEDs
  • U1 has no silkscreen outline on board
    • TP5 (MOSFET CTL signal=MOSFET_GATE) is under U1
  • BOM has BR1, but schematic has BR2. They're the same part so it should be listed in BOM as BR1, BR2 and we should have ordered four total, not two.
  • Would be nice to have a larger writing area for serial number.
  • Spread out LEDs just a tad and if possible move Link and link speed to the rest of the LEDs.
  • Board could be a little longer in order to give components a bit of spacing from the edge of the board and to make the shield closer to Arduino size. As it is the board is smaller than most shields.

Calculation Scratchpad

  • New reservoir capacitor for revision 2's 7V output
    • I(CF) = Vr
    • Old cap: 0.75/(0.00033*250000) = 0.009 (9mV)
    • New cap: 0.75/(0.00022*250000) = 0.014 (14mV)
      • This combined with the rating change from 35V to 16V reduces the footprint of C19 from 107mm2 to 43mm2
  • Reservoir capacitor for revision 2's 3.3V output
    • (0.20/(0.000033*250000)) = 0.024 (24mV)
  • MOSFET power calculations (rev. 1)
    • 2.54A peak
    • 4.24uS off, 2uS on
    • 1:2.12 on/off ratio = 32.05% duty cycle
    • ~400mW average power

Theory of Operation (Rev. 1)

Input Conditioning

Power is input via the first/second pair on the ethernet cable (Mode A) or third/fourth pair (Mode B). Each of these inputs gets fed to its own bridge rectifier (BR1 and BR2) which inverts the input voltage (if required) to a known polarity as the 802.3af spec allows for either polarity on the cable. The outputs from the rectifiers are bussed together, the positive running through F1 (a PTC 'fuse') to provide protection to the cable/PSE if something goes wrong in the power conversion circuitry.

The input power is then fed to C1 and C2 which bypass any high frequency noise present on the supply side of the choke to ground, then to L1 (a common mode choke) which blocks noise from the switcher from being fed back onto the ethernet cable by canceling out any common mode current (same on both + and - buses) but passing differential current (equal but opposite on the + and - buses), then to C3 and C4 which bypass any high frequency noise present on the switcher side of the choke to ground. L2 is then used for something, probably to filter out more noise?

D1 has no effect during normal operation, but if the input voltage exceeds 60V it will short the two power rails together ('crowbar'), which will make the PSE shut off power and/or trip F1. C5 bypasses any high-frequency noise present at this stage to ground.

Controller Programming

The UVLO (Undervoltage Lockout) feature of U1 shuts down the power supply when the voltage on the UVLO pin (referenced to the UVLORTN pin) is equal to or greater than 2.0V. R1 and R2 form a voltage divider to set the lockout to approximately 37V. R3 and C6 do something important I'm sure, but I have no idea what that is right now.

The frequency that the switcher operates at is set to 250kHz by connecting a 12.1kΩ resistor to the RT pin of U1 (1/(250000Hz*330*10^-12) = 12121Ω). The controller will vary the duty cycle to keep the output stable, but keep the frequency to the one set here.

To detect an 802.3af-compliant powered device (PD), the power sourcing equipment (PSE) applies a voltage from 2.8-10V and takes two measurements of impedance. If the impedance is between 23.75-26.25kΩ then the device is a PD and the PSE will move to the next phase (classification). U1 connects the RSIG pin to the VEE pin during this phase, which places R4 across the PSE. Once this phase ends, U1 disconnects RSIG in order to improve efficiency.

Once the signature is detected, the PSE applies 14.5-20.5V and measures the current drawn by the PD. The current is then looked up on a table to determine what class the device is, and it will be allowed to use the amount of power permitted by that class. The PoE shield currently 'advertises' itself as Class 1 (0.44-3.84W draw at the PD), but this may get changed later. For the classification phase, U1 connects the RCLASS pin to the VIN pin, which places R6 across the PSE. Once this phase ends, U1 disconnects RCLASS in order to improve efficiency.

When the classification phase has ended, the PSE will begin to supply full power. U1 will remain in a 'halt state' until the UVLO threshold has been reached, at which time it will connect VEE to RTN (via an internal power MOSFET) which will start charging the SMPS input capacitors C7, C8, and C9. The rate at which these capacitors will be allowed to charge (inrush current) is programmed to 150mA by a 107kΩ resistor connected to the RCLP pin, R5.

Converter

Primary Side

When the controller detects that the SMPS input capacitors C7, C8, and C9 are charged sufficiently, it starts switching Q1 (the main power MOSFET) at 250kHz (as programmed by the RT pin on U1). When the drive to Q1's gate (from U1's OUT pin) is pulled high Q1 conducts, storing energy from C7, C8, and C9 into the transformer by pulling one side of T1 to ground. When the gate drive is then pulled low, the the field in T1's primary collapses, transferring the energy to the other 3 windings. When this happens, a high voltage pulse is generated in T1's primary, which is snubbed by D3 and D4 when it exceeds 90V (to prevent damage to Q1).

Secondary Side

Controller Power