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.

[参考译文] CCS/RM57L843:如何在 Mibspi 接口上发送24位数据?

Guru**** 2964200 points

Other Parts Discussed in Thread: RM57L843, HALCOGEN

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/947065/ccs-rm57l843-how-to-send-24-bit-data-on-mibspi-interface

器件型号:RM57L843
主题中讨论的其他器件: HALCOGEN

工具/软件:Code Composer Studio

您好,

我已经通过 mibspi3接口将 AD5687 DAC (12位) IC 连接到 Hercules RM57L843。 为了更新 DAC 输出,其计数需要以下面提到的24位命令格式发送:

在 Halcogen 中有"Charlen"设置、我已将 charlen 配置为8位。 现在我有点困惑,下面提到的函数要求缓冲区指针数据类型是 uint16_t *

void mibspiSetData (mibspi_t * mibspi、uint32组、uint16 *数据)  

发送传输组时,我无法理解如何在传输缓冲区中实现24位命令,该缓冲区的类型为'uint16_t',而不是'uint8_t'

请在上进行指导。

谢谢你。

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

    您好 Tukaram、

    1.将 charlen 配置为8位

    2.设置 CSHOLD 位:在下一个控制字段加载新的芯片选择信息之前、NCS 信号将不会被停用

    要使用 HALCoGen 生成的 API、您需要重新组织数据:

    uint32_t 数据= 0x1A2B3C; //24位数据

    unit16_t txData[3]={0};

    TxData[0]= DATA & 0x00FF;

    txData[1]= data>>8 & 0x00FF;

    txData[2]= data>>16 & 0x00FF;

    mibspiSetData (mibspiREG1、1、&txdata[0])  

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

    您好、Wang、

    感谢您的意见。 现在、我可以传输24位命令。 但有一个观察结果,MOSI 引脚状态在发送命令前后处于逻辑1 (逻辑高电平)状态。如何在命令前后将其设为低电平?  

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

    SIMO 的默认高电平或默认低电平不会影响 SPI 传输。 要更改默认值、您可以向 SIMO 信号添加下拉电阻器。