Other Parts Discussed in Thread: PGA309
HI I am currently using PGA309 in a new design. I do not have the evaluation board which I am sure would have been much helpful.
Issue: Unable to communicate with PGA309 using one-wire
Setup: I can safely say that the PGA309 is setup correctly. When the Test pin is held high, the PGA309 works as explained in the user manual. When Test Pin is held low, I can see the SCK pulses to the external EEPROM and EEPROM's response.
Questions: With the Test Pin help high, I am trying to communicate with the PGA309 using One-Wire. As a trial I am just trying to read register 2 from the PGA internal memory. But get no response.
OW_write_bit(0); // Initialization Byte, with start and stop bits
OW_write_byte(0x55);
OW_write_bit(1);
OW_write_bit(0); // PGA Address Pointer Command Byte, with start and stop bits
OW_write_byte(0x01);
OW_write_bit(1);
OW_write_bit(0); // Address Byte, with start and stop bits
OW_write_byte(0x02);
OW_write_bit(1);
Delay10us(100); // Delay before initiating next command (is this required?)
OW_write_bit(0); // Initialization Byte, with start and stop bits
OW_write_byte(0x55);
OW_write_bit(1);
OW_write_bit(0); // PGA Read Command Byte, with start and stop bits
OW_write_byte(0x10);
OW_write_bit(1);
Delay10us(70); // 10 bit Delay 700usec
What now? does the PGA309 issue the start bit following which I read the byte and the stop bit? or do I send the Start bit and read the byte and then issue the stop bit. Page 78 Digital Interface - SBOU024B–August 2004–Revised January 2011 says driven by PGA for these bits? While the 1-wire protocol explains a different way for the master to read from the slave.
Additional Information: I have 70usec for each bit or 700usec for 10bits (byte), I have confirmed using the Oscilloscope that the timing of the PRG pin data is correct.
What am I doing wrong?
Kindly help.
Usman Asif Ali