Tool/software:
Hello, I am currently developing with the MCF8329AQ1 and encountering an issue during I2C communication. Let me explain the situation step by step:
- To read the GATE_DRIVER_FAULT_STATUS register (0xE0), I created and sent the GateDriverFaultStatusReadReq buffer as shown in the attached image.
(Task completes once) - The response was received in the GateDriverFaultStatusReadBuffer.
(Task completes once) - To read the CONTROLLER_FAULT_STATUS register (0xE2), I created and sent the ControllerFaultStatusReadReq buffer as shown in the attached image.
(Task completes once) - The response was received in the ControllerFaultStatusReadBuffer.
(Task completes once) - For the ALGO_DEBUG1 register (0xEC), I parsed and wrote the target speed value and sent it.
(Task completes once)
I implemented this process to run continuously in a 2ms task, but the I2C communication with the driver malfunctions intermittently. When enabling only one Read or Write operation at a time, adding a delay of approximately 1.1ms between communications allows for successful operation. However, when testing with multiple registers enabled simultaneously, the timing seems to vary.
I suspect that the issue may be caused by insufficient buffer preparation time. The datasheet lacks sufficient information about the internal buffers. I would like to understand the preparation time required for the internal buffer. Could you provide any relevant materials or explain this matter in detail?
Thank you.