您好、先生、
我是嵌入式系统领域的新手、尤其是 Tiva 系列 Launchpad。 我在 tm4c123gh下午6点电路板上完成了一些基本任务。 现在、我对学习 SSI 通信感兴趣。 可以帮助我开始吗? 我已读取可用的示例代码、但我不清楚应该使用哪一个? 现在、我有两块板、Arduino atmega2560 (主板)和 EK_TM4C123gxl (从板)。
期待有成效的帮助
此致、
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.
您好、先生、
我是嵌入式系统领域的新手、尤其是 Tiva 系列 Launchpad。 我在 tm4c123gh下午6点电路板上完成了一些基本任务。 现在、我对学习 SSI 通信感兴趣。 可以帮助我开始吗? 我已读取可用的示例代码、但我不清楚应该使用哪一个? 现在、我有两块板、Arduino atmega2560 (主板)和 EK_TM4C123gxl (从板)。
期待有成效的帮助
此致、
在 我的 C 代码 设置中、SSIConfigSetExpClk 的 SSI_MODE 应该是什么? 主器件还是从器件? (根据我 的理解、传感器应该是主传感器(数据生成器)、Tiva Launchpad 板 应该是从器件(它将接收和显示数据)。如果我错了、请更正我、 因为对于 Arduino、 SPI 库只有主模式支持、我 没有进行任何显式设置、我认为这种设置差异会影响 整个代码。
2、 SSI_FRF_MOTO 模式应是什么? (在 SSI_SLAVE 采样代码中、SSI_FRF_MOTO_MODE 为3、对于 SSI_MASTER 采样代码 为0)。 根据 ADIS 传感器文档 (此处随附)、我可以理解它应为3 (极性和相位均 设置为1)。
3. 每次读取或单次调用都需要 SSI BUSY()指令 吗?
4. 对于 Arduino、我们需要将 ss (从器件选择)引脚 设置为低电平以读取数据、然后将其设置为高电平以完成读取。 如何 在 Tiva Launch Pad 中实现此函数。
您好!
有关您的软件的几个观察结果:
a)您不需要此应用程序使用 SPI 中断。 这将使所有事情复杂化,至少在现阶段。
b)所有传感器都是使用逻辑电路制造的、内部没有程序、因此您的传感器应该只是从传感器、而不是主传感器。
c)传感器仅在时钟相位和极性均设置为1的情况下工作、即工作模式为飞思卡尔3、根据数据表、数据长度应为16位(即"帧"为16位)。
d)帧由以下内容组成:a)要操作的字节的地址和 b)要执行的命令-生成的字的 MSB 应为1表示写入、0表示读取。
您所需要的只是仔细阅读数据表并进行更多试验-正如之前的帖子中所建议的那样、试验一个更简单的器件、如 EEPROM 将帮助您学习 SPI -没有这么做、 还有问题-必须重新阅读用户手册...
您好!
是的、我看到了、这就是我建议更改为主设备、飞思卡尔模式3、16位数据长度的原因。 如果您考虑了所有这些、则需要修改 SSI.c 文件。 这意味着首先重新阅读数据表和用户手册、并更好地组织软件。
一个简单的欺骗解决方案是查看 Arduino 源代码、但我想您想了解一些有用的内容、而不是对文件进行机械修改。
从 Tiva 示例开始、强制性地使用示波器来查看波形、然后很少修改代码以输出 所需的内容、观看传感器响应、与数据表进行比较并再次进行修改。
您好!
感谢您的快速响应。非常感谢。
这是为了与您分享、在开始与传感器相关的工作之前、我已经执行了代码、通过 ssi0 base 将三个字节传输到 uart0、它运行良好。我可以在终端上看到三个字母通过 SSI 通信从 Uart0发出。SSI 通信是否成功?
基于这一点、我已经开始使用传感器、当我选择从模式时、它只显示当我将它更改为主模式时、我看到一些值...:/!。 我应该从这个结论中得出什么结论?
此致、
您好!
经过几周的努力和群组配合的持续帮助、我已经使用两个 SSI 端口在单个电路板上成功执行了我的 SSI 代码
出于帮助目的、我想分享几点。
1.使用了两个 SSI 端口 ssi0和 SSI2。 一个用作主器件、另一个用作从器件。
2.我从主端口发送数据并在从模式下接收。
主控模式的时钟周期为1MHz、从器件的时钟周期为4Mhz。
4、主模式和从模式都需要 SSIConfigSetExpClk 设置(这是一个重要的问题,我无法在我的配合的建议和示例代码中找到)。
另一个重要发现是、对于 UART、直通连接可以(RX->RX、TX->TX)、但对于 SSI 通信、我们需要交叉连接(RX ->TX 和 TX -> Rx)。
希望这些要点能帮助初学者(像我一样)学习 SSI。
此致、