主题中讨论的其他器件: ADS1292
工具/软件:Code Composer Studio
您好!
不熟悉 CC2640和 Sensor Controller Studio。 通过 SPI 总线从 ADS1292读取数据。
我们需要将 SPI 时钟降低至低于512KHz。 不知道怎么做。
我在 TI 论坛中搜索了一段时间、注意到很少讨论 SPI 时钟速率、但没有找到将其降低到512KHz 以下的明确解决方案。
感谢你的帮助。
David Sun
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.
工具/软件:Code Composer Studio
您好!
不熟悉 CC2640和 Sensor Controller Studio。 通过 SPI 总线从 ADS1292读取数据。
我们需要将 SPI 时钟降低至低于512KHz。 不知道怎么做。
我在 TI 论坛中搜索了一段时间、注意到很少讨论 SPI 时钟速率、但没有找到将其降低到512KHz 以下的明确解决方案。
感谢你的帮助。
David Sun
您可以将比特率更改为低于4M (slave)/12M (master)的任何值。
当您使用 TI-RTOS 附带的 SPI 驱动程序时、您可以通过在初始化步骤中更改比特率字段来轻松设置比特率
* PIN_Handle pinHandle; * SPI_Handle handle; * SPI_Params 参数; * SPI_Transaction 事务; * uint8_t txBuf[]="Heartbeat ";//传输缓冲 区* uint8_t rxBuf[9]; //接收缓冲 区* PIN_ID MisoPinId; * uint32_t standbyDurationMs = 100; * //初始化 SPI 并指定非默认参数 * SPI_Params_init (¶ms); * params.bitrate = 1000000;//使用您想要的任何内容,只要它在规格范围 内* params.frameFormat = SPI_POL1_PHA1; * params.mode = SPI_MASTER; * //配置事务 * transaction.count = sizeof (txBuf); * transaction.txBuf = txBuf; * transaction.rxBuf = rxBuf;
你(们)好、Erik
对于第一个线程不会应用于外壳、我们不在电路板上实施外部晶体。 我们必须使用内部512K 时钟。
1792301的第二个线程对于我来说有点复杂、无法通读、可能会再次重复我的问题。 我使用的是具有内部时钟512K 的 ADS1292。
MCU CC2640。 当我们使用 SPI 与 ADS1292进行通信时、我们注意到时钟高于 ADS1292数据表要求、内部时钟仅支持高达1MHz 的 SPI 时钟。
如果您在/1792301中提到的线程说明了如何使其在内部512K 时钟情况下工作。 然后、我将坐下来、花一些时间逐行阅读该链接。
谢谢、
David Sun

尊敬的 David:
ADS1292上的通用 SPI 速率限制为最大20MHz:
tSCLK - SCLK 周期50 66.6ns
数据表中还有其他注意事项和规则、您必须仔细研究这些事项和规则才能使其正常工作。 例如、在寄存器读取或写入期间、SPI 接口可运行的速度(SCLK 只能是 fCLK 速度的两倍、因此在 Sensor Controller Studio 中使用1.1MHz 的平衡选项)。 如果您找到一些有用的信息、请阅读我在上面发布的链接的主题帖。
你(们)好、Erik
一个线程中。 我复制了这里、以便于参考。 我们使用的是 ads1292的内部时钟。 因此、如果我理解正确、最大 PCI 时钟为512kHz。 但 SPI 的传感器控制器最小时钟为1.1Mhz。 是否可以使用传感器控制器来驱动 ADS 1292 SPI 时钟?
“是”或“否”,请回答。
David
您好、Simon、
您能显示波形吗?
您是否将 ads1292配置 为使用2MHz 的外部时钟? 我认为 ads1292上的内部时钟 不支持 SPI 时钟超过512kHz:
"在寄存器读取和写入期间、SCLK 的速度只能是 fCLK 的两倍。 要实现更快的 SPI 接口、请使用 fCLK = 2.048MHz 并将 CLK_DIV 寄存器位(在 LOFF_STAT 寄存器中)设置为"1"。
www.ti.com/.../ads1292.pdf
此致、Erik