主题中讨论的其他器件:HALCOGEN、 ADS8922B
工具/软件:Code Composer Studio
您好!
我目前正在处理一个项目、目前我遇到了一个问题、该问题已使我的进度停止。
上下文:我之前尝试过发布此内容、但遇到了一些奇怪的错误、因此这里尝试了#3。
首先、一些可能有助于故障排除的详细信息:
>相关系统组件:
--> CCSv7
--> HALCoGen v4.07
--> RM48
--> ADS8922B
>我要实现的目标的基本概述:
-->使用 RM48从菊花链配置中获取 ADC 转换
-->将转换存储在 microSD 卡上
>当前设置/配置:
->MIBSPI1/SPI1模块连接到 ADC 菊花链(这将是我用于向 ADC 发送数据/从 ADC 接收数据的模块)
---- >我使用的菊花链拓扑直接来自 ADS892xB 数据表;已经过验证
--> SPI 模块的波特率设置为400kHz
->NCS[3]配置为 GIO 以进行位拆裂(其余 SPI 引脚为 SPI 功能)
->MIBSPI1/SPI1模块引脚映射:
RM48引脚 -> ADC 引脚 -> 简要详细信息
---- 根据 数据表、>MIBSPI1NCS_3 -> NCS ->所有3个 ADC 的 NCS 线路连接在一起
---- >MIBSPI1SIMO -> SDI -> SIMO 线连接到菊花链中第一个 ADC (x 轴)的 SDI 引脚
---- >MIBSPI1SOMI -> SDO-0 -> SOMI 线连接到菊花链中最后一个 ADC (z 轴)的 SDO-0引脚
---- 根据 数据表、>MIBSPI1CLK -> SCLK ->所有3个 ADC 的 SCLK 线路连接在一起
---- 根据 数据表、所有3个 ADC 的>GIOA_5 -> CONVST -> CONVST 线路连接在一起
---- >每个 ADC 的每个 nRST 和 RVS 引脚都连接到 GPIO
问题:
我一直使用 Saleae 逻辑分析仪来观察相关 SPI 线路之间的通信。 我目前能够查看和验证我正在发送的数据。 我还不断从菊花链中获得某种垃圾数据响应("垃圾"意味着我目前没有将信号馈送到 ADC 进行转换、因此我得到的响应是随机值)。 我现在要做的只是成功地将我正在获取的"垃圾"存储到缓冲区中。 我正在使用 spiTransmitAndReceive()函数发送/接收数据。 **正在发送源缓冲区数据并已进行验证,但目标缓冲区最终全部为1 (这通常表示没有连接),而不是在 MISO 行上看到的内容**。
问题:
> while (1)循环中的代码是否预计会导致循环每次迭代的单次转换? (时间可能是个问题?)
>完成单次转换后,如何将该数据存储到接收缓冲区(rxBuff)中?
>尝试从外部设备接收数据时是否需要中断? 或者,为了成功接收数据,我是否只能使用 POLLING 函数 spiTransmitAndReceiveData()?
总之:
>我将使用默认的 ADC 配置(到目前为止、如有必要、可能会更改)
>我已验证发送的数据符合我的预期
>我从菊花链中获得某种类型的响应(正如萨莱阿所观察到的)。 然而、这个数据还未被验证、并且我没有成功地将数据存储到接收缓冲器中
我不能确定我现在所遗漏的是什么。 我的直觉告诉我、与外部 ADC 交谈的概念与将两个 SPI 模块设置为主和从、并在两个模块之间发送数据(外部回送)的概念相同。 我的直觉是错误的、或者我尝试执行我的想法是错误的-目前还不确定。
一如既往、感谢您的参与和考虑!