主题中讨论的其他器件: TMS320F28377D
根据 AMC1306E25的数据表、它应首先通过打印测试图形来响应时钟、然后输出数据通道将在(tASTART - tISTART)时间内流式传输无效数据、然后数据将有效:
tISTART 时间应为32个时钟。
但是、这并不是我们在示波器上看到的结果。
我们的工作频率为10MHz、时钟由 TMS320F28377D DSP 提供(采用单核配置)。 AMC1306E25的输出会路由回同一 DSP、再路由回 SDFM1。 该模块配置为使用曼彻斯特编码。 该模块的输入由外部电压源提供63.8mV 电压、以确保该模块记录的值不是0。
首先、tISTART 的持续时间远长于32个时钟:
在光标之间的整个时间内(大约120 us)、DOUT (蓝色)是时钟的简单副本(绿色)。 例如、请查看下图:
32个时钟脉冲的末尾大约为4*630ns (左边为第五方)、但数据保持不变、在曼彻斯特编码中、数据不应是这样。
数据流的开始如下所示:
光标之间的差异为117.6 usecs。 但是、我希望流在额外 的(tASTART - tISTART)时间(0.5毫秒- 32个时钟)内具有无效数据。
问题是:
- 为什么接口启动时间(tISTART)如此长? 我希望它是32个时钟、而不是117.6个 USecs。
- tASTART 是否真的是0.5毫秒?! 看起来很长一段时间。 不过、如果在加电时执行一次、则可以接受。
- 同步是如何执行的? 有16位输出突发。 我建议在经过一段初始设置时间(tASTART)后、我可以暂停时钟、然后当我需要一个新的数据包时、发送16个时钟脉冲、这将为我提供16位数据。 是否允许我暂停时钟以进行同步?
- 如果问题3的想法不起作用、我应该如何同步流中的数据读取? 我需要能够在任意时间点读取 SD 数据。
谢谢、
Alexey。



