This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LDC1614: LDC1614 - adress for write and read

Part Number: LDC1614
Other Parts Discussed in Thread: , LDC1612, LDC1312

Hi!

Based on evaluation board LDC1614EVM I have tried to make communication between my MCU and LDC1614.

Generally I have problem to understand how set the main address of the LDC for write and read. The "addr pin" in my solution is connected to the ground so the LDC adress is set to 0x2A. 

According to the datashet the serial bus address has a bit that is responsible for R/W. How I can change the adres for write or read? Below I am sending my code for read data from LDC. In this case the resposne is 0x2A and 0x2A.

TWI_start();
TWI_write(0x2A); // ADDR do GND	
TWI_write(0x00); 
TWI_start();
	
TWI_write(0x2A); // ADDR do GND	
bajt0=TWI_read(ACK);
bajt1=TWI_read(ACK);
TWI_stop();
		
uart_putint(bajt0,16);
uart_puts("    ");
uart_putint(bajt1,16);
uart_puts("\n");		



Also I am sending a configuration of the LDC:


	//RCOUNT 0
	TWI_start();
	TWI_write(adr); // ADDR do GND
	TWI_write(0x08);	
	TWI_write(0x04);	
	TWI_write(0xD6);
	TWI_stop();
	_delay_ms(10);
			
	//Settlecount 0
	TWI_start();
	TWI_write(adr); // ADDR do GND
	TWI_write(0x10);
	TWI_write(0x00);
	TWI_write(0x0A);
	TWI_stop();
	_delay_ms(10);	
	
	//Clock Dividers 0
	TWI_start();
	TWI_write(adr); // ADDR do GND
	TWI_write(0x14);
	TWI_write(0x10);
	TWI_write(0x02);
	TWI_stop();		
	_delay_ms(10);		
	
	//Error config
	TWI_start();
	TWI_write(adr); // ADDR do GND
	TWI_write(0x19);
	TWI_write(0x00);
	TWI_write(0x00);
	TWI_stop();		
	_delay_ms(10);	
	
	//MUX Config
	TWI_start();
	TWI_write(adr); // ADDR do GND
	TWI_write(0x1B);
	TWI_write(0x02);
	TWI_write(0x0C);
	TWI_stop();				
	_delay_ms(10);
	
	//Drive current 0
	TWI_start();
	TWI_write(adr); // ADDR do GND
	TWI_write(0x1E);
	TWI_write(0x90);
	TWI_write(0x00);
	TWI_stop();
	_delay_ms(10);	
	
	//Config
	TWI_start();
	TWI_write(adr); // ADDR do GND
	TWI_write(0x1A);
	TWI_write(0x14);
	TWI_write(0x01);
	TWI_stop();	

  • I have found my mistake.

    Adress for write is 0x55
    Adres for read is 0x56

  • I have one more question.

    The EVB board has only two layers (top and bottom). In my solution, I use a four-layer printed circuit board. Is there a problem for the coils that are middle layers are connected to the ground?

  • You can definitely use a four layer PCB. This sensor design app note should help you understand how to design the coils. Please let me know if you still have questions after reviewing it.

    www.ti.com/.../snoa930
  • Hi Clancy!

    Thank for this document. It is very helpful for me.

    I want use LDC1612 for my project because I need only one sensor in my device. I will use this sensor like a button for turn on and turn off the device.

    Now I have designed a two layer PCB for rapid prototyping. The coil shape is the same like on EVB (two coils connected in series, diameter 14 mm of each one).

    In finally project I will use four layers PCB. According to the document from you (pint 2.3) I have read that I could decrease diameter of the coil and add coil in the middle layers to get this same inductance. 

    Do you agree with me? Is the lower diameter of the coil can decrease sensitivity of the sensor? I want to make 7 mm diameter coils on each layer connected in series (It is the same like a two coils of 14 mm diameter).

    And the last question, do you have in TI offer a LDC for only one sensor? We are planning a mass production of this device, so the price is necessary for me.

    Best regards

  • Please look at the "Inductor Size" section in that app note. You will see that the detection distance of a coil is primarily related to its size, not the inductance. This means that 7mm diameter coils are not equivalent to 14mm coils, even when you add the extra layers to keep inductance the same.

    Depending on your application, the smaller coils could still work, but they are not equivalent to the larger coils.

    For a slightly cheaper device, you can look at the LDC1312. The LDC1312 is very similar to the LDC1612 except that it only has 12 bits of resolution. You can start with the LDC1612 and then move to the LDC1312 if you can deal with less resolution. The two devices are pin to pin compatible, only some register changes are necessary.