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.

[参考译文] PGA450Q1EVM:使用 UART

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/839187/pga450q1evm-using-uart

器件型号:PGA450Q1EVM
主题中讨论的其他器件:PGA460PGA460PSM-EVMPGA450-Q1

尊敬的 Akeem:

我有 pga450q1EVM-S、我想知道是否可以通过发送八条命令中的一条来在不对芯片进行编程的情况下获得传感器读数?

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

    您好、Basel、

    是的、如果您购买了 PGA450Q1EVM-S、则器件的 OTP 存储器已使用《EVM-S 用户指南》中列出的八个示例 UART 命令进行编程。 您无需重新编程器件。 您无论如何都不能对该器件重新编程、因为 OTP 已针对 EVM-S 进行编程

    您是否还考虑使用 PGA460PSM-EVM? 这是我们最新的小型超声波感应模块、不需要任何编程。 您可以使用 PGA460软件资源中的示例微控制器代码来定制 PGA460操作。

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

    尊敬的 Akeem:  

    我已经尝试发送 UART 命令、但遗憾的是传感器没有响应。 是否需要以预定义的间隔发送命令?   

    我使用 STM32F4微控制器发送 UART 信号、UART 的设置如下:  

    //初始波特率、8个数据位、1个停止位、无奇偶校验、无 RTS + CTS

    // USART_BAUDRATE = 19200

    USART_InitStructure.USART_波特 率= USART_AUDRATE;
    USART_InitStructure.USART_WordLength = USART_WordLength _8b;
    USART_InitStructure.USART_stopbits = USART_stopbits_1;
    USART_InitStructure.USART_Parity = USART_Parity;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
    USART_Init (USART2、&USART_InitStructure);

    以下是用于发送命令的函数:  

    void send_Command0()

    USART_SendData (USART2、0x00);
    while (USART_GetFlagStatus (USART2、USART_FLAG_TC)== RESET);//这是确保发送完成的标志

    USART_SendData (USART2、0x55);
    while (USART_GetFlagStatus (USART2、USART_FLAG_TC)=复位);

    USART_SendData (USART2、0x01);
    while (USART_GetFlagStatus (USART2、USART_FLAG_TC)=复位);

    USART_SendData (USART2、0x00);
    while (USART_GetFlagStatus (USART2、USART_FLAG_TC)= reset);}

    谢谢、  

    巴塞尔  

     

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

    您好、Basel、

    您的 STM32F4是5V 逻辑电平微控制器、还是使用电平转换器在 PGA450-Q1上实现5V 逻辑电平? STM32F4微控制器系列的工作电压似乎在1.71至3.6V 之间。 但是、PGA450-Q1的 TXD 和 RXD 引脚仅兼容5V 逻辑电平、不兼容3.3V 或1.8V。

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

    尊敬的 Akeem:

    我已经使用电平转换器在 PGA450_Q1上获得5V 逻辑电平、但仍然没有响应、还有其他建议 吗?

    是否需要使用 USART 收发器。

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

    您好、Basel、

    在发出0x00、55、01、00的 Cmd0示例时、您是否通过物理方式探测 TXD 和 RXD 引脚以确保存在主器件传输活动? 还要检查器件是否物理响应;微控制器可能无法捕获数据。

    如果可能、使用逻辑分析仪检查主器件发送数据、如下所示:

    您还可以尝试向 PGA450-Q1的 TXD 引脚添加一个上拉电阻器(即10kOhm)。

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

    尊敬的 Akeem:

    非常感谢、这解决了我的问题、现在我可以从传感器接收数据。

    但是、我在从 UART 读取数据时遇到了问题、也就是当我根据文档发送命令0时、我必须接收0x12 0x23、 这是不正确的、因为传感器将发送0x12 0x34这花了一段时间才注意到 UART 工作正常、因此我希望您更改文档。