I’ve been struggling a lot with getting AVSBus working on the EVM3698-BH-02A. The PMBus communication is working perfectly and I am able to change the following registers to attempt AVSBus communication:
-
I changed the Operation (01h) register in page 0 (for rail 0) to AVSBus mode (10110010)
-
I changed the [1:0] bits of the MFR_AVSBUS_CONFIG (9Eh) register in page 1 to “Mux ALT# to AVS_MISO; mux SDIO to AVS_MOSI, mux SCLK to AVS_CLK” (bits set to 01)
-
I changed the [8] bits of the MFR_ADDR_SVID_AVSBus (05h) register in page 2 to enable rail 1’s AVSBus address (bit set to 1). This board doesn’t seem to have a rail 2 so I left that in its default value (0).
-
Ensured that SVID and PVID modes were disabled on register VID_MODE_DC_LL_R1 (03h).
- PMBus override mode remains enabled, but that shouldn’t matter according to the datasheet.
I also connected the following pins for AVSBus: SDIO for AVS_MOSI, SCLK for AVS_CLK and ALT# for AVS_MISO. And I added a 10k ohm pull-up resistor to ALT# as requested by the datasheet.
Even with this, I am not able to get any response from the target. I am not using the proprietary software, but a device from my company, the PXIe-6571 from NI. This HW allows me to drive logic levels to the evaluation board, as well as receive its response frames via bi-directional pins. I am using the software for this device to drive patterns that allow me to communicate via PMBus and should also allow AVSBus communication given that its capabilities are within the EVM’s specs. I also have a scope hooked up to all AVSBus and PMBus pins for debugging. This is what I’m seeing on the scope:
With the pink signal being the AVS_CLK (running for 32 cycles in order to send the controller’s read/write frames, then another 32 cycles to get the response from the target. These two cycles are divided in the image by the ‘C1’ cursor colored orange), the blue one being AVS_MOSI (which I’m making sure it’s at a logic high before a transaction is started), the orange one being AVS_MISO (it can be barely seen at the same logic high level as the AVS_MOSI signal, but nothing is happening with it other than being pulled to ‘1’ due to the resistor) and the yellow one being Vout. The green one is VRHOT# but I don’t expect that one doing anything.
Basically my questions are:
- What am I missing to make this work? Is there any other registers I should be configuring?
- Is there a detailed timing diagram for the 32-bit frames? The datasheet for the EVM or for the MPM3698 don’t have any diagrams, and the ones in the AVSBus spec sheet only show 1 cycle of the frames.
- Are there any limitations with the EVM3698 when compared to the MPM3698 in regards to AVSBus communication?
Any additional information that could help is greatly appreciated, or if someone else has been able to make this work in any way feel free to chime in.
