发 帖  
原厂入驻New
[问答] 怎么将SPI与IO同步?
116 SPI adc
分享
大家好,我正在编写代码,通过PSPI接口将PIC32 MZ与Ads8363 ADC接口。ADC在很多方面都很棘手,我恐怕我没有用最理想的方式来连接东西。然而,改变的时间已经晚了。该ADC具有两个SDO线路,用于其内部的两个ADC模块。我已经把两个SPI模块绑在PIC上,他们的时钟线,一个是主人,另一个是Slave。这样我可以从ADC中捕获两条SDO线。有一个额外的捕获,这个ADC需要在SPI时钟运行时将“转换开始”线拉低。这很难可靠地实现。我认为PIC上的两个SPI应该是从属的,第三个引脚应该会产生时钟,但是这已经太晚了。PIC32以40MHz运行。SPI以10MHz运行,SPI采用SPI1BRG=0x0132位模式。PBCLK2 DIV=1PBCLK4DIV=4PBCLK7DIV=1I一直尝试其他速度。到200兆赫和其他PBLK设置,但我试图保持电力使用率低。即使在高速,如果从来没有可靠的,它只是工作,直到你从不同的地方调用例程。如果你修剪了一切,并使用一些“_nop()”指令,你就可以让它在控制条件下工作。代码非常简单,但是根据调用的时间,它的执行是不同的。调整代码以产生给定的输出并不难,但很难在SPI和D IO稳定。所以问题是,有没有办法让MCU的这些不同部分保持同步?我可以监视程序计数器上的一些标志或数字吗?谢谢你读这篇文章。丹尼尔,
0
2020-4-9 11:49:05   评论 分享淘帖 邀请回答

相关问题

12个回答
我为邮政链道歉。当我尝试上传图像时,我无法避免“访问拒绝”错误。图像显示了SPI时钟和CONVST管脚的输出。第一幅图像是我期望输出的样子,而另外两幅图像是我在程序中不同时刻调用例程时发生的情况。再来一次,丹尼尔
2020-4-9 12:24:46 评论

举报

你有两个间谍。我假设主SDO绑定到ADC SDI。从SDO是否可以绑定到CONVST并通过写出与CONVST信号定时匹配的数据生成CONVST信号?听起来像是硬件完成了,改变不太允许。我不知道这个图片,但也许SDO可以定位在IO是哪里?
2020-4-9 12:34:52 评论

举报

马克,真是个聪明的主意。唯一的问题是ADC具有CONVST和RD。CONVST触发ADC转换,RD触发前一个结果的输出。这些可以绑在一起,但我决定把它们分开,万一它可以派上用场。无论如何,我要试试你的想法,也许这两个信号中的一个可能会晚一点。谢谢!
2020-4-9 12:52:17 评论

举报

祝你好运。我已经使用了大量的TI ADC,但不是那个。它肯定有一个复杂的串行接口。通常使用FPGA的低层接口
2020-4-9 13:05:55 评论

举报

是的,我以前使用过TI ADC,但这一次让我措手不及。再次感谢马克。
2020-4-9 13:18:18 评论

举报

我不能声称完全理解这个ADC需要什么。你必须在第一个时钟周期之后才降低噪音吗?否则,您可以改为执行两个16位事务(或4位8位),并在它们之间执行IO操作。
2020-4-9 13:36:23 评论

举报

是的,才刚开始。它还期望时钟线在整个转换过程中平稳地运行,因为它使用它来拉动ADC内部的字符串。我认为这样做的正确方法是有一个自由运行的时钟,然后触发转换并在两个从SPI上捕获输出。
2020-4-9 13:43:14 评论

举报

也许用框架SPI模式做你的工作?HTTP//WW1.MICCHIP.COM/DeLoSt/En/DeVICECD/6106G.PDPHALBER
2020-4-9 13:59:02 评论

举报

你好,艾伯特,这是一个很好的建议。老实说,我不知道框架模式是怎么做的。我想我可以使用,因为它符合我目前的硬件。我应该能够把模块上的SS输出指向ADC的读引脚。这样我可以得到我需要的同步。再次感谢小费!贾景晖,我没有用奴隶SPI SDO线来尝试你的想法。我不能将SDO重定向到RD线所用的PIN。
2020-4-9 14:05:36 评论

举报

只有小组成员才能发言,加入小组>>

113个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表