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.

[参考译文] TPS92661-Q1:TPS92661-Q1通信故障

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/797340/tps92661-q1-tps92661-q1-communication-trouble

器件型号:TPS92661-Q1

您好!

我尝试在 LED 自适应前照灯上使用 TPS 92661、但 TPS 和 MCU (Arduino MEGA)之间的通信出现了一些问题。

我使用的是数据记录器、当时假设在我写消息时 TPS 应该回答我、但发送消息后没有任何反应。

192 = 0xC0
193 = 0xC1
145 = 0x91
140 = 0x8C

有人可以帮帮我吗?

#define ENABLE_PIN 5 //PIN 4执行 TPS
#define CLOCKOUT 10 //引脚8执行 TPS

void LMM_wr_1_reg (uint8_t LMM、uint8_t regaddr、uint8_t 数据);
void LMM_UART_xmit (uint8_t 数据);

CONST int 预分频= 1;
const ocrint 2aval = 3;

void setup(){
引脚模式(ENABLE_PIN、输出);
digitalWrite (ENABLE_PIN、LOW);

引脚模式(CLOCKOUT、输出);


TCCR2A =((1 << WGM21)|(1 << COM2A0));

//设置定时器2无预分频(即预分频= 1)
//
// CS22:0 = 001:使用没有预分频的 CPU 时钟
// CS2位2:0都在 TCCR2B 中
TCCR2B =(1 << cs20);

//确保禁用 timer2的比较匹配寄存器中断
TIMSK2=0;
//此值决定输出频率
OCR2A = ocr2aval;

//将您的设置代码放在这里,运行一次:
Serial.begin(9600);
延迟(100);
Serial1.begin(125000);
延迟(100);

digitalWrite (ENABLE_PIN、HIGH);
延迟(100);

while (Serial.available ()=0);
while (Serial.available ()!= 0)
serial.read();
serial.println ("读取时钟源");

serial.println (lMM_rd_1_reg (0x00、0xc1));

while (Serial.available ()=0);
while (Serial.available ()!= 0)
serial.read();
serial.println ("设置时钟源");

LMM_WR_1_reg (0x00、0xc1、0b00000011);// TPS 0、SYSCFG SCMASTER 1 PWR1
//LMM_WR_1_reg (0x01、0xc1、0b00000001);// TPS 1、SYSCFG SCMASTER 0 PWR1
while (Serial.available ()=0);
while (Serial.available ()!= 0)
serial.read();
serial.println ("读取时钟源");
serial.println (lMM_rd_1_reg (0x00、0xc1));

while (Serial.available ()=0);
while (Serial.available ()!= 0)
serial.read();
serial.println ("设置 LED");
LMM_wr_1_reg (0x00、0xB1、0b00001000);//启用 DO LED 12 (12A9)
LMM_wr_1_reg (0x00、0x0D、0b00000000);//LED12
LMM_wr_1_reg (0x00、0x2D、0b11111111);//LED12

while (1);

此致

Vasco Mendes

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

    您好 Vasco、

    您能否在 TPS92661引脚上获取 TX、RX 和 CLK 的实际示波器波形。   我看不到交易中发生了什么。  您使用的地址是什么?  原理图有助于验证连接。  

    您是否使用了 TPS92661 EVM 和 GUI 来帮助验证您的代码?  

    如果您无法公开提供原理图、我们可以将其脱机并通过电子邮件进行通信。  只需单击我的姓名、然后通过右上角的"+Connect"按钮添加我、然后向我发送您的联系信息、我将向您发送电子邮件。  

    -Francis

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

    尊敬的 Francis:

    我们是两名入围汽车工程专业的学生、我们的最终毕业项目包括设计和构建适用于摩托车的自适应矩阵前照灯。 我们的理想选择是使用一个 LED 矩阵、该矩阵由两个 LED 驱动器(TPS92662–Q1)控制、两者均由一个 Arduino Mega (通过 UART)控制。

    首先、我们使用 TPS92662和 TPS92661的数据表、那么这是正确的选择吗?

    我们不使用 TPS92661 EVM 和 GUI 来帮助验证我的代码。 可以从代码中获取一个示例吗?

    我们如何获得 TPS92662、数据表也不是很详细、我们使用了 TPS92661数据表中的示例原理图。

    TX RX 波形:


    时钟频率:


    此致、  

    Vasco Mendes

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

    您将在非示波器波形上发送逻辑分析仪屏幕截图。

    TPS92661和 TPS92662之间存在相当大的差异、您无法进行互换。 我无法在此论坛上发布示例代码、但我可以离线向您发送一些示例代码。 请注意、它不适用于 Arduino、而适用于 MSP 系列微控制器。 此外、您对地址引脚执行了什么操作、这些引脚是输入、不应悬空。
    -弗朗西斯·胡德
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Francis:

    >抱歉、回答延迟。  

    尽管由于学年的最后期限、我们很着急、但任何帮助都是值得欢迎和乐于助人的。


    >您将在非示波器波形上发送逻辑分析仪屏幕截图。  

    对于报告的问题,即通信,逻辑分析仪更适合。



    > TPS92661和 TPS92662有相当大的差异、您无法互换它们。

    阅读完您的帖子后、我们怀疑我们可能遇到的问题可能与我们基于 TPS 92661 - Q1数据表的代码和原理图有关。  我们搜索了 TPS 92662 - Q1 数据表、发现一个非常简单但没有逻辑或电气规格的产品: http://www.ti.com/lit/ds/symlink/tps92662-q1.pdf

    如果您有更好的一个、您能否给我们发送邮件 、或者是否能让我们找到它?

    >我无法在此论坛上发布示例代码、但我可以脱机向您发送一些代码。 请注意、它不适用于 Arduino、而适用于 MSP 系列微控制器。

    谢谢、我们将自行调整 Arduino 框架的代码。

    >此外,您对地址引脚执行了什么操作,这些引脚是输入,不应悬空。

    关于地址引脚、我们将所有引脚连接到接地端、以获得 器件的以下地址:0x00;  


    如果您想向我们发送一些文件(如数据表和代码示例)、请发送以下电子邮件:

    电子邮件:2151719@my.ipleiria.pt

    再次感谢大家


    此致、

    Vasco Mendes