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.

[参考译文] TMDSCNCD28388D:如何生成带有23个时钟脉冲的时钟序列以从 SSI (同步串行接口)读取数据(22位分辨率的绝对光学编码器)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1316962/tmdscncd28388d-how-to-generate-a-clock-sequence-with-23-clock-pulses-to-read-data-from-ssi-synchronous-serial-interface-absolute-optical-encoder-of-22-bit-resolution

器件型号:TMDSCNCD28388D

我们使用一个22位分辨率单转编码器的 SSI 绝对光学编码器从该编码器读取数据并将其连接到 TMDSCNCD28388D、使用23个频率为100KHz 的时钟脉冲生成时钟序列、每个时钟序列之间的延迟将近30微秒。 请指导我们在 TMDSCNCD28388D 板上读取此编码器中的数据

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

    您好!

    如果我明白这一要求、那么您会希望从按 SSI 协议工作的编码器接收数据。

    对于23位数据、您必须使用 SSI 数据大小寄存器(SSICR0.DSS)将其配置为最接近的数据大小、以便模块生成如此多的时钟。

    我不清楚您对时钟的要求:您是要问、在每23个时钟脉冲序列(以100KHz 运行)之间、有30us 的延迟?

    此致、
    普拉芬

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

    大家好、谢谢您的回复。

    理解是正确的。   

    SSI 数据大小寄存器(SSICR0.DSS)的最大数据大小仅为16位、建议从编码器读取其余6位。  

    每个时钟脉冲序列之间需要30微秒的间隔才能获取编码器寄存器中的更新值、然后在下一个时钟脉冲序列中可以读取更新的值。

    其中、主器件是 TMDSCNCD28388D 板、从器件是 SSI 编码器。 主器件向从器件发送时钟脉冲序列、从器件在时钟脉冲的每个上升沿向主器件发送数据位。

    我已经在该论坛中解答了 SSI 编码器的一些问题、其中一些使用现有的 SSI 接口、而另外一些使用 SPI 接口。 请建议哪种接口最适合从 SSI 绝对光学单转编码器中读取22位信息。

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

    对于精确的22位读取、可能必须通过更改中间的 DSS 将其拆分为16+6。 通过在这两次传输之间添加基于软件的延迟、可以实现30us 的延迟。 希望这能满足您的要求。请尝试一下、让我们知道。

    同时、我还将在内部咨询我们的编码器专家、以了解是否有针对相同特性的更好解决方案