I try to receive the data from EEPROM M24M01.With out stop or without breakpoint. It's working properly. When a stop a LPI2C_DRV_MasterQueueCmd(baseAddr, master, LPI2C_MASTER_COMMAND_RECEIVE, (uint8_t)(rxSize - 1U)); API, My SDA Line went low . After that It's never back high again. Even I reset the Micro controller that lines always low. May I know the reason ? If I do the same for slave device like accelerometer ADX345. It's not like EEPROM. The SDA Lines becomes high. For EEPROM only the SDA Lines are low why ?
Here I attach the Snapshot details from CRO. Please verify it.
Thanks
kasirajan
Hi@kasirajan_chell
When I was investigating this problem, I checked the data sheet of M23M01 and found the possible reasons as follows.
refers to :"M24M01-R M24M01-DF"
4.4 Acknowledge bit (ACK)
The acknowledge bit is used to indicate a successful byte transfer. The bus transmitter,
whether it be bus master or slave device, releases Serial Data (SDA) after sending eight bits
of data. During the 9th clock pulse period, the receiver pulls Serial Data (SDA) low to
acknowledge the receipt of the eight data bits.
This is the same as the description of the screenshot, maybe this is the possible reason.
BR!
Jim,
I understand your response message. My doubt is Master should release the SDA Line high, this is not there my case. Here I done more analyzing. I try to reproduce same negative cases below method.
1. Write a data 0x01 to eeprom . Address.0x0001
Read a data from eeprom address 0x0001 ----- Screen shot DS0022
2. Write a data 0x80 to eeprom. Address. 0x0001
Read a data from eeprom address 0001----- Screen shot DS0025
In my first case SDA Lines always low. ??????? Even I reset the Micro
Second case back to normal ------- Here I able to continue next operation
Whenever I doing start . I am able to see Total 10 pulses. May I know the reason behind ? this is happened because any values are added in the LPIC driver ?
Thanks
kasirajan
Hi@kasirajan_chell
I may reply to you later due to time zone, please don't mind.
I don't have an M24M01 module, so I can't do some tests, I can only refer to the data sheet.
I think this has nothing to do with the LPIC driver. The possible reason is the usage of the M24M01 module.
Because the Master terminal on the SDA bus should always be pulled up, if the SDA bus is pulled low, the possible cause is that the slave pulls the bus low.
Why is the SDA bus still pulled low after Mic reset? This may be because the M24M01 module is not reset.
please refers to 4.1 Start condition and 4.2 Stop condition
BR!
Jim,