2018-09-08

Onto the Beaglebone shield.  The goal of this project is to produce an expansion board for the Beaglebone that breaks out the RS232 ports, provides power for the Beaglebone, and controls the power to the IO boards.  There are several reasons for wanting to control the power to the IO boards:

  1. The Beaglebone can not have any voltage applied to its inputs until a specific stage of the boot process.
  2. While we could achieve above much more simply by turning on/off the RS232 driver, there is benefit to being able to power cycle the boards programmatically.
  3. Given the large capacitance of the boards, the power supplies I have tried sometimes trip on overload.  A soft start will help control the current spike at startup.

My initial idea was to do everything logic-free.  By that I mean no microcontroller.  Everything would be done via analog circuitry.  But as I thought about it I kept asking ‘why’.  Why am I limiting my self to analog circuitry.  Sure it would be a difference experience, but it would cost more.  If not in parts certainly in time.  And in the end it would not be as robust as a microcontroller based solution.  Even if it were to behave in the exact same way, it would not be alterable without hardware changes.  Whereas a microcontroller based solution can be altered (within reason) by altering the software.

So I have decided on basing the design around several key components:

  1. Texas Instruments PTN78000 power supply for the 5V rail
  2. Microchip PIC24FV32KA304 microcontroller
  3. Vishay VOM1271 optoisolator
  4. Texas Instruments TLV333 opamp
  5. Texas Instruments MAX232ID RS232 driver
  6. ON Semiconductor FQP13N06L FET

Broad board hardware design specs:

  1. Four layer PCB
  2. Single sided components
  3. Surface mount components take priority
  4. TTL level debug serial port
  5. Microcontroller will use internal oscillator doing away with need for external crystal
  6. LEDs for providing status feedback
  7. Implement over-voltage protection
  8. Power supply ≤24VDC
  9. Fuse protection
  10. Reverse polarity protection

Broad software design specs:

  1. Rely on interrupts as much as possible
  2. Provide a simple CLI via serial port
  3. Provide a way to get status data via I2C
  4. Emulate a CAT24C256 on the I2C bus in order to remove need for separate IC
  5. Provide some sort of configuration parameters for current limiting characteristics

That’s it for now.  I’m sure there will be other items added to the lists as the project progresses.

Leave a Reply