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.

[参考译文] TLV1570:TLV5608和 amp 的 SPI 接口的 MCU 示例代码;TLV1570 ADC DAC

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1278422/tlv1570-mcu-sample-code-for-spi-interface-to-tlv5608-tlv1570-adc-dac

器件型号:TLV1570
主题中讨论的其他器件:TLV5608

大家好、 我正在 STM32H7 MCU 中工作、采用 TI TLV5608和 TLV1570 ADC DAC 进行数据收集、我会申请任何 MCU 上的示例代码、例如 MSP430或 TM4C123G 使用 SPI 连接到 ADC/DAC。 我还需要诸如 tlv5608.h、tlv5608.c 和 tlv1570.h、tlv1570.c 的库文件。

 任何其他文档和代码将非常感谢,请帮助尽快回复, thnaks, woldes。  

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

    尊敬的 Stan:

    欢迎来到我们的 e2e 论坛!  很遗憾、我们没有 任何示例代码可与您分享。

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

    好的,你碰巧有 像 tlv5608.h , tlv5608.c 和 tlv1570.h , tlv1570.c 的库文件吗?  ???

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

    不幸的是、不  许多年前、我们为这些器件提供了"数据转换器插件"文件、但这些存档已不再可用。

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

    好的、您的意思是我不得不抛弃这2个 TI 器件寻找 Microchip 之类的替代器件? 听到 TI 支持团队的回复非常令人失望!  

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

    如果 TI 甚至无法提供库文件(tlv5608.h、tlv5608.c 和 tlv1570.h、tlv1570.c) 对于 ADC 和 DAC、您认为您的客户如何使用/与 TI 提供的接口?  

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

    您好、有人能帮您吗? 我们已经购买这些 ADC/DAC 并等待编程 e 代码、因此我们还有截止时间。

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

    您好 Tom 可以保存这些插件文件吗? 没有这些头文件和库文件、我们将无法继续。

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

    我将看看我是否能为您获取一些.h 文件。

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

    是的、请帮助保存这些文件...

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

    来吧!

    e2e.ti.com/.../tlc5608.he2e.ti.com/.../tlc1570.h

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

    非常感谢 Tom

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

    你好,Tom i 还需要 tlv5608.c 和 tlv1570.c 这2个库文件

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

    尊敬的 Stan:

    我没有任何与 main.c 相关的内容会调用 tlv5608.c 或 tlv1570.c 文件。

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

    您好、Tom、我正在寻找这样的内容:

    /** adc.c * /

     #包含 MCP3008.h"

     /*  *设置 MISO、MOSI、SCK 和 CS

     * SPI 设置:

     * CPHA = 1边缘

     *预分频值= 8

     *第一个位= MBS 优先

     * CPOL =低

     */

    MCP3008_初始化 ( MCP3008_SPI * SPI SPI_HandleTypeDef * hspi GPIO_typedef 创建 * 端口 uint16_t CS 引脚 ){

     SPI -> hspi = hspi

     SPI -> 端口 = 端口

     SPI -> CS 引脚 = CS 引脚

     

    //从0到7读取通道

    uint16_t MCP3008_ Read_Channel ( MCP3008_SPI * SPI uint8_t 通道 ){

     

         //声明我们要发送的数据

         uint8_t pTxData [ 3 ] = { 0 };

         pTxData [ 0 ] = (( 0x01 << 7 ) |          //起始位

                   ( 1 << 6 ) |                // SGL

                   (( 通道 0x07 ) << 3 ); //通道编号

         pTxData [ 1 ] = 0x00

         pTxData [ 2 ] = 0x00

     

         //我们将获得的数据

         uint8_t pRx 数据 [ 3 ] = { 0 };

     

         // CS 低电平、发送和接收、CS 高电平

         HAL_GPIO_WritePin ( SPI -> 端口 SPI -> CS 引脚 GPIO_PIN_RESET );

         HAL_SPI_TransmitReceive (HAL_SPI_TransmitReceive) ( SPI -> hspi pTxData pRx 数据 3 10 );

         HAL_GPIO_WritePin ( SPI -> 端口 SPI -> CS 引脚 GPIO_PIN_SET );

     

         //计算 ADC

    返回 0x3FF (( pRx 数据 [ 0 ] 0x01 ) << 9 | ( pRx 数据 [ 1 ] 0xFF ) << 1 | ( pRx 数据 [ 2 ] 0x80 ) >> 7 );

    附录四.

    以及对于 ADC.h

    /* ADC.h   */

     #ifndef MCP3008_MCP3008_H_

    #define MCP3008_MCP3008_H_

     #包含 "main.h"

     typedef 创建 结构体 {

     GPIO_typedef 创建 * 端口

     uint16_t CS 引脚

     SPI_HandleTypeDef * hspi

    MCP3008_SPI

     

    MCP3008_初始化 ( MCP3008_SPI * SPI SPI_HandleTypeDef * hspi GPIO_typedef 创建 * 端口 uint16_t CS 引脚 );

    uint16_t MCP3008_ Read_Channel ( MCP3008_SPI * SPI uint8_t 通道 );

     

    #endif /* MCP3008_MCP3008_H_*/

    ......

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

    你好、Tom、您有没有这个?  

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

    你好,汤姆能很快回复。

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

    尊敬的 Stan:

    一般而言,我们试图与家人共度周末,所以我对迟到表示歉意。  我没有您要查找的.c 代码、我只能提取您所指向的.h 文件。

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

    尊敬的 Tom、TLV1570数据表 P2表示当连接至微控制器时、FS 帧同步被保持在高电平。 问题是 FS 会永远保持为高电平、或者什么呢? 而 TLV5608数据表 PG11指出、在 DIN 数据发送开始时、FS 在每个 CLK 周期内保持高电平、为什么呢?

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

    是的,我同意您的意见,但我们正在购买客户,我们有一个截止时间来满足,剃须刀回答... 请不要让 TI 拒绝您吗?  

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

    尊敬的 Stan:

    TLV1570可以使用典型的 SPI 接口(请参阅图4)。  TLV5608使用 McBSP 协议、其中 FS 需要循环以更新 DAC 输出。  为此、您需要在 FS 高电平下进行 SCLK 转换。

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

    好的、我的问题是1。 TLV1570 FS 需要永远保持高电平?  2.由于 TLV5608需要 McBSP、如何在 STM32中复制此文件? McBSP 是否是另一种形式的 SPI?  

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

    1.) 是

    2.) 对于 TLV5608、您应使用 uC 模式、而 FS 则充当从器件选择(芯片选择)输入。  我之前的注释是错误的、在这个模式中、你应该不需要一个 SCLK 边沿。  但是、如果您希望所有 DAC 通道同时更新、则需要使用 GPIO 来控制 LDAC。

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

    大家好,Tom,我管理了在 STM32H7上工作的 SPI,能够使用 SPI 发送和接收, 并且我能够使用示波器4自动扫描模式(0x0480、0x0480、0x0400、0x0480)、TLV1570数据表的第7页复制相同的命令/数据波形并在示波器上捕获(请参阅随附的)、但 SD OUT 引脚上没有输出。 I m 仅在 Ch0引脚、1通道上改变0~5V 输入。  FS 连接至5V、Vref 连接至3.3V、AVdd 并 DVdd 连接至5V、AIN 短接至 MO。 有人可以建议哪里出了问题吗?

    主要()

    {

    ……

    SPI_WRITE (0x480);

    while (1)

    {

      SPI_WRITE (0x0480);

      SPI_READ (0x0400)

    ……;

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

    尊敬的 Stan:

    请尝试更改时钟相位设置- CPOL = 0、CPHA = 1、并告知我这是否可以解决问题。

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

    尊敬的 Tom、相同的结果 SDout 上无输出、或者更确切地说、波形显得过于怪异、无法真实、请参阅随附的。 请尽快告知。  

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

    请参阅附加的 SDout (紫色)和 SDin (黄色)与 Clk (蓝色  )间的关系

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

    尊敬的 Stan:

    SDO 宽度不能小于1个 SCLK。  您是否有要查看的原理图/布局?

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

    时钟/分频是400 nsec ...

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

    好了 ...

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

    谢谢!  如何尝试手动通道选择模式?  只需将0x0000写入器件。  它应该会从 CH0获得转换结果。  您可以通过写入0x1000 (AIN = Vref)或0x2000 (AIN = GND / 2)尝试测试电压之一。

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

    您好、Tom、结果相同、SDout 根本没有读取...

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

    ADC 芯片是否会被 ESD 损坏?

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

    也许-您是否有其他电路板/芯片可供使用?

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

    你好,汤姆,它现在工作!  但 ADC 误差太高、 当 I 输入8v SDO 为6.6V 时、 i/p 4.9v SDO 为4.28v、i/p 0v SDO 2.79v、为什么会这样? 失调误差? 增益误差? 请建议如何缓解这些错误...  

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

    尊敬的 Stan:

    您可能需要在模拟输入之前铅笔输入放大器:

    https://www.ti.com/video/5476574757001?keyMatch=SAR%20ADC%20DRIVE

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

    您好、Tom、I m 使用 TLV5608、从第11页数据表来看 I m 假设 FS 为 ADC 中的 CS、并在 SPI 发送完成后取消置位、将 FS 设置为正确吗? I m 写入(SPI 写入) 0,004,0000008001001000200200040、 0,080,01001000200十六进制至 DIN、I m 在引脚12上选择 O/P 通道 DAC A。、并期望看到电压表上的读数跳跃 、但 DAC A 上没有读数。LDAC 至 GND、MODE 至5V 、Vref 至3.3V FYI、Pls 帮助。  

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

    请注意屏幕截图!  FS 在 TLV5608上的工作方式与在 TLV1570上的工作方式不同。  对于 DAC、需要一个 SCLK 下降沿低于 FS = 1。  

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

    大家好、Tom、好了、粉红色代表 FS、蓝色代表 SCK、黄色代表 DIN。 I m 以 FAFA 十六进制泵送。  

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

    这更好...

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

    您需要合适的 SCLK。   

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

    ??? 您能否详细说明"您需要合适的 SCLK。   "

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

    当然、将您的"更好的"图像与上周发送的图像进行比较。  与之前的2V/div 相比、这个新 CLK 迹线中50mV/div。

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

    您好、Tom、请参阅附加的 I m 发送 A0FA 十六进制

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

    黄色表示 FS、紫色表示 Din  

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

    更好的画面!  您能否更改数据上的相位?  TLV5608等待 SCLK 下降沿上的有效数据。

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

    您好、Tom 现在工作正常、当 Din 为 FFC 十六进制时、OUTA 为1.5V、而 Vref 为3.3V。  所有其他通道似乎都是相同的1.5v、为什么如此?

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

    您处于二进制补码模式吗?

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

    否... 无论如何如何知道是否为二进制补码模式?

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

    有两个配置寄存器、其中一个设置直接二进制或 B2C -见第13页。

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

    否... 完全没有对 CTRL0寄存器进行任何设置...  当 Vref = 5V 时、dout 可能达到2.1V 的原因