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.

[参考译文] PGA305:传感器论坛

Guru**** 1138100 points
Other Parts Discussed in Thread: PGA305
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1245863/pga305-sensors-forum

器件型号:PGA305

我们已经使用芯片进行了测试、并直接读取了 PADC_DATA1、PADC_DATA2、PADC_DATA3、似乎对我们的应用没有任何影响。  压力传感器的温度变化不大。  

直接读取 PADC_DATA1、PADC_DATA2、PADC_DATA3是否是使用芯片的有效方式?  (我描述以下步骤)

 

这是一个命中注定、因为我们有一些读取只是正常的、但在配有芯片的其他电路板上、我读的是压力的零值(下文将详细介绍)。 这可能是电路板的问题、但我希望确保所有操作都正确无误、这样我就可以排除固件的问题。

 

在工作板上、我在 BRG+到 BRG-之间测量正确的2.5V 电压。 在返回0压力的板上、BRG 线路之间的电压为0V。 使用这些二极管永远不会导通激励电压。  

 

板上的固件是相同的。 这可能是电路板的问题、但我想探究这可能是由于 IC 时序稍有不同或我的代码效果不佳而导致的可能性、在某些情况下我刚摆脱了该问题、但在另一些情况下则不会。   注意:下面列出的寄存器在工作和不工作的板之间是不同的。 我已尝试强制设置这些寄存器、但似乎没有任何帮助。

0x22 DAC_ENABLE 0x38 = 0x31、BRDG_CTRL 0x46 = 0x11

 

您能否查看下面的数据、让我了解可能导致一个电路板正常工作、另一个电路板返回零的原因。  我玩过很多不同的时间策略,并强迫一些不同的设置,但没有成功。

(注意:请假定电路板和 IC 正常。)

 

 

下面是我从 PGA305读取压力数据的方法:

I2CADDR 引脚连接到3.3V、所以我要处理寄存器0x20、等等。

下面是两者的 EEPROM 以及两者的0x22寄存器。

我已成功通过 I2C 与两个电路板进行通信、这是我用于读取 PADC_DATA 寄存器的方法。  

 

每次访问 PGA305 IC、我都会不断执行这些步骤。

 

步骤1. 设置 COMPENSATION_CONTROL 寄存器 P30

使 I2C 接口能够访问配置寄存器、

COMPENSATION_CONTROL 中的 IF_SEL 和 COMPENSATION_RESET 位

设置为逻辑一。   

      I2C_A = 0x20;      //地址页0

     I2C_Reg = 0x0C;    // COMPENSATION_CONTROL 寄存器 p53

     I2C_Data = 0x03;   // IF_SEL、COMPENSATION_RESET                

 

步骤2. 将增益设置为最大值

     I2C_A = 0x22;  //地址页2。 0x20 + 2 = 0x22

     I2C_Reg = 0x47;// P_GAIN_SELECT P5

     I2C_Data = 0b00011111; //使用5个可用位实现最大增益                

 

步骤3. 使用寄存器0x20、0x21和0x22从0x22读取3个压力寄存器(PADC_DATA1、PADC_DATA2、PADC_DATA3)

 

 

工作板的 EEPROM。 返回正常压力数据

(BRG+和 BRG-间的测量电压= 2.5V)

(注意:我通过将值设置为0x1F、更新了寄存器0x33中的 EEPROM 的最大增益)

00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 10 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

66 01 00 1F 01 80 02 43 00 01 00 00 FF 3F

00 00 FF 3F 01 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 07 73 FF 3F FF 3F 01 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

FF FF FF FF FF FF FF FF FF FF FF FF FF FF 90

 

电路板的 EEPROM 不工作。 返回压力仅为零

(BRG+和 BRG-间测得的电压= 0V)

(注意:我更新了 EEPROM 的最大增益、

 我还更新 EEPROM 0x60->0x67、以匹配工作板)

00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 10 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

66 01 00 1F 01 80 02 43 00 01 00 00 FF 3F

00 00 FF 3F 01 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 07 73 FF 3F FF 3F 01 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

FF FF FF FF FF FF FF FF FF FF FF FF FF FF 90

 

-------------------------------------------------------

 

寄存器0x22

PDAC_DATA 0x20->0x22

TADC_DATA 0x24->0x26

DAC_ENABLE 0x38 = 0x31

BRDG_CTRL 0x46 = 0x11

 

!!! 数据很好!!!

PGA305 0x22 (0x20 -> 0x4C)

F8 57 D1 07 2E 1B 19 07 00 10 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 31 00 1F 00 00 00 00 00

00 00 00 00 07 11 1F 02 00 00 43

 

PGA305 0x22 (0x20 -> 0x4C)无法正常工作

00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 31 00 08 00 00 00 00 00

00 00 00 00 00 00 00 11 1F 00 00 00 40

 

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tom Hicks:

    我们将查看此问题、下周同一时间再见

    -Bryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tom、

    您已经提供了很多好的信息、但还有几件事我想进一步了解。

    • 您是否验证了 AVDD 处的电压?
    • 您是否测量了 REFCAP 的电压以确保具有2.5V 电压?
    • 您使用的 SCL 频率是多少?
    • 您使用的 I2C 电阻器上拉值是多少?
    • 您是否具有用于查看时序的通信示波器或逻辑分析仪快照?

    与此同时、我将继续评估和比较数据、看看是否还有其他可以确定的东西。

    此致、

    鲍勃 B