Frequently Asked Questions about the DI/OT Monitoring Module (MoniMod)
MoniMod general questions
Q: Can I use the MoniMod in my project?
A: If your project is compatible with the CERN OHL licence, of course: the MoniMod has been designed in a generic enough way and, even though it's designed to first and foremost cover the DI/OT project's needs, you should be able to use it on its own.
Q: Is there a user's manual available?
A: There isn't one, but the project documentation should answer any questions that might turn up regarding usage. If you feel there are any omissions please get in touch with us and we'll try to update the documentation ASAP.
Q: What are the specifications of the fans that I can use?
A: The MoniMod provides independent control of up to three 12V fans. Precise speed control can be enabled by selecting fans that provide a tacho output. Fan speed is controlled by modulating the fan voltage within a range of ~6V to 12V using a buck circuit to convert the 25kHz signal to DC. With the current component selection, this circuit can drive up to ~1A to each fan; the PCB design itself should allow higher currents by selecting a more hefty inductor and diode for the buck converter.
Q: I don't care about fans, I only want to monitor my power rails. Can I use this?
A: Yes, there are plans to design a version of the MoniMod PCB with fan support removed. One can see that roughly 50% of the board real estate is dedicated to the boost circuits so this will make for a much more compact module where only monitoring is needed.
Q: How do I load my own firmware?
A: A 10-pin 0.05'' Samtec FTSH header is provided, compatible with the pin-out of the low-cost J-Link EDU mini debugger. The default FW also supports programming over PMBus.
Q: Which compiler version should I use to compile the FW?
A: GCC version 9.2 and LLVM versions 7.0 and 8.0 are used for development and can be considered supported. Some minor hiccups might come up when using different toolchain versions but please let us know if you encounter any, such fixes often prove to be quite simple.
Q: How easy would it be to augment the extended PMBus command set?
A: Very: an easily extensible framework has been put in place. It is enough to add two lines of code to add a (standard or extended) PMBus command: one line just holds the number of bytes the command expects or returns, negated if it's about a block command; the other line holds the command code, a pointer for the data the command gets and returns, and up to three pointers for the callback functions (on cmd call, after a data read, after a data write).