Other Parts Discussed in Thread: MSP-EXP430F5529LP,
Hi,
I am developing 200khZ solution based on pga460 I am having few problems which i would like to disucess.
I am following reference design and no passives are place in paralelle to transducer. The following components are used in the design.
TLV61064A (Supply @ 7.5V)
Wurth Transformer 750317161
I am using echo profiling to finely tunned the system. From profiling data, it seems like the transducer is not generating strong echo, and therefore the intensity of the received echo is also very low. To tackle that problem I have increased P1GainCtrl to maximum 0x2C and it starts to work but now the deadzone is large around 14cm. I am also not satisfied with the performance overall sometimes it didn't detect the object at all.
I also tried epcos B78416A2386A003 but the same results. I have also noticed one problem that sensor only worked by turning off current limit feature CurrentLimP1 = 0xFF.
Please have a look at register settings. if there is any problem in settings.
Thanks
constexpr std::uint8_t TvGain0 = 0x44;
constexpr std::uint8_t TvGain1 = 0x44;
constexpr std::uint8_t TvGain2 = 0x44;
constexpr std::uint8_t TvGain3 = 0x08;
constexpr std::uint8_t TvGain4 = 0x64;
constexpr std::uint8_t TvGain5 = 0x9A;
constexpr std::uint8_t TvGain6 = 0x99;
constexpr std::uint8_t InitGain = 0xC0;
constexpr std::uint8_t Freq = 0x11;
constexpr std::uint8_t DeadTime = 0x40;
constexpr std::uint8_t PulseP1 = 0x1F;
constexpr std::uint8_t PulseP2 = 0x10;
constexpr std::uint8_t CurrentLimP1 = 0xFF;
constexpr std::uint8_t CurrentLimP2 = 0xFF;
constexpr std::uint8_t RecLength = 0x11;
constexpr std::uint8_t FreqDiag = 0x63;
constexpr std::uint8_t SatFDiagTh = 0xEE;
constexpr std::uint8_t FVoltDec = 0x7C;
constexpr std::uint8_t DecplTemp = 0x0F;
constexpr std::uint8_t DSPScale = 0x00;
constexpr std::uint8_t TempTrim = 0x00;
constexpr std::uint8_t P1GainCtrl = 0x2C;
constexpr std::uint8_t P2GainCtrl = 0x2B;
constexpr std::uint8_t BPF_A2_MSB = 0xDD; // reg addr 0x41
constexpr std::uint8_t BPF_A2_LSB = 0xBA; // reg addr 0x42
constexpr std::uint8_t BPF_A3_MSB = 0xF3; // reg addr 0x43
constexpr std::uint8_t BPF_A3_LSB = 0x72; // reg addr 0x44
constexpr std::uint8_t BPF_B1_MSB = 0x06; // reg addr 0x45
constexpr std::uint8_t BPF_B1_LSB = 0x47; // reg addr 0x46
constexpr std::uint8_t LPF_A2_MSB = 0x7C; // reg addr 0x47
constexpr std::uint8_t LPF_A2_LSB = 0xD3; // reg addr 0x48
constexpr std::uint8_t LPF_B1_MSB = 0x01; // reg addr 0x49
constexpr std::uint8_t LPF_B1_LSB = 0x97; // reg addr 0x4A
constexpr std::uint8_t P1Thr0 = 0x88; // reg addr 0x5F
constexpr std::uint8_t P1Thr1 = 0x88; // reg addr 0x60
constexpr std::uint8_t P1Thr2 = 0x88; // reg addr 0x61
constexpr std::uint8_t P1Thr3 = 0x88; // reg addr 0x62
constexpr std::uint8_t P1Thr4 = 0x88; // reg addr 0x63
constexpr std::uint8_t P1Thr5 = 0x88; // reg addr 0x64
constexpr std::uint8_t P1Thr6 = 0x84; // reg addr 0x65
constexpr std::uint8_t P1Thr7 = 0x21; // reg addr 0x66
constexpr std::uint8_t P1Thr8 = 0x08; // reg addr 0x67
constexpr std::uint8_t P1Thr9 = 0x42; // reg addr 0x68
constexpr std::uint8_t P1Thr10 = 0x10; // reg addr 0x69
constexpr std::uint8_t P1Thr11 = 0x80; // reg addr 0x6A
constexpr std::uint8_t P1Thr12 = 0x80; // reg addr 0x6B
constexpr std::uint8_t P1Thr13 = 0x80; // reg addr 0x6C
constexpr std::uint8_t P1Thr14 = 0x80; // reg addr 0x6D
constexpr std::uint8_t P1Thr15 = 0x00; // reg addr 0x6E