PWM driver with Watchdog

Issue #1 resolved
SamW created an issue

Currently if Redeem or the Linux dies, the PWM might be left in an programmed powered state - which is quite dangerous and have an fire hazard.

I would suggest linking ~OE to an GPIO so at least it will be turned off during reset. Better yet, use an PWM IC with Watchdog functions.

Comments (5)

  1. Elias Bakken repo owner

    Linking OE to a GPIO will not work in the case of a kernel panic. I've looked at watchdog chips, but the cheap ones will emit a pulse train as output, which is not what we want. I'm currently looking at a $0.6 MSP430 that can be pinged at regular intervals. These also have a built in temperature sensor that can be used to shut down the board of temp is exceeded. Can perhaps also handle the role of the EEPROM if it can operate as a slave I2C device.

  2. SamW reporter

    For performance stage lighting controller, if signal is lost for a few seconds, the lights output will shutdown. I am not sure if there are any pwm driving chips with similar functionality. Just my 2 cents.

  3. Elias Bakken repo owner

    I've not found any PWM chips with built in WDT, but perhaps there are some implementations using an external WDT? As for my idea, programming a MSP430 via Spy-bi-wire should be easy, but I've not found an implementation of it yet. Instead I'm proposing to use the built in watchdog on the BBB, which already has a kernel interface (echo "" > /dev/watchdog). This can be implemented in Redeem in just a few lines of code causing the current board to be more reliable. If a kernel panic occurs or Redeem stops responding, a reset will be triggered. Since Redeem resets the PWM chip on startup, everything will be disabled after 60 seconds + startup time. As for the next revision, I'll connect the ~OE pin on the PWM to a pin, with a pull-up so the output is disabled on watchdog timeout, which I'm assuming is configurable somehow.

  4. Log in to comment