NOTE: Always de-power the target board and the aggregator when plugging or unplugging smart sensors from the aggregator.
The aggregator portion of the i.MX Power Profiling System sits between the "smart" current sensor boards and the host computer. It provides power and signal connections to each connected sensor board. The communication is done over I2C, where three I2C bus extenders (PCA9518) effectively provide a dedicated bus to each I2C device, to better allow for cabling.
More information will follow... A photo, layout images and schematic attached below.
MBED source for the FRDM-KL25Z is available here: 30848-KL25Z-AGGREGATOR
Smart Sensor Connections
At each smart sensor header JP0-JP13, these are the connections provided:
- 5V: powers the 3.3V regulator on each sensor board
- 12V: all the gates of all the switching FETs are pulled pulled up to 12V
- GND: ground connection
- SCL/TX0: I2C clock line
- SDA/RX0: I2C data line
- SWD_CLK: global line for triggering smart sensors to make measurements
- RESET_B: global line for resetting all smart sensor boards
- SWD_IO_n: individual select line for each smart sensor
I2C Bus Connection
Three I2C bus extenders (PCA9518) provide buffered connections between the FRDM board and all the connected smart sensors. The bus extenders were added to allow for longer cables between the aggregator and the smart sensor boards. Each bus extender has five ports and along with connections that allow extending the bus to more bus extenders.
The aggregator contains a boost regulator that boost the 5V input from the FRDM board to 12V. The boosted voltage is fed to each of the smart sensor headers. It's used by the smart sensor board to pull up the gates of the switching FETs above any of the rails under test by at least 4.5V in order to benefit from a lower Rds(on).
Caution must be exercised with some older FRDM boards since the 5V from the USB connection passes through diodes with a maximum current of 200mA. The boost regulator and the load presented by the smart sensor boards may exceed the diode's limit and damage it. (Yes, it's happened... two older FRDM-KL25Z boards were used during development. One of them failed with the diode shorted (~0.05 Ohms), so everything kept working. The other failed with a short of ~45 Ohms, so it kind of worked but not really...)
Application Code for Aggregator
To date, application code has only been developed for the FRDM-KL25Z board. The latest application code resides at: https://os.mbed.com/users/r14793/code/30848-KL25Z-AGGREGATOR/, with the latest binary attached below.
SWD Programming of Smart Sensors
Connectors J5 and JP15 are provided as an adapter for programming the smart sensor boards via SWD. JP15 provides power to the smart sensor board, since they have no direct 3.3V input for the KL05Z. An SWD programmer (or suitably modified FRDM-KL05Z board) connects to J5. Both connections use 10-pin 0.05"-spaced ribbon cables.
Additionally, when a smart sensor is connected to JP15, J6 provides access to the UART pins of the smart sensor (the I2C pins on the smart sensor also mux out the UART of the KL05Z). No hardware changes are necessary at all; changing the code running on the smart sensor is all that's required. In fact, during the initial prototyping of the smart sensors, the serial UART connection was used instead of I2C.
Modify Aggregator To Use SWD Dongle To Program Smart Sensor:
Add a wire as shown on the bottom side of the aggregator board as shown below. This ties 3.3V on the aggregator to the debug header, enabling the voltage level translators on the dongle to communicate with the KL05Z on the smart sensor board.