烦躁得很,硬件SPI读写2.4G芯片收不到数据。
折腾了一通宵加今天一天!早上为了确认接收板子没问题、发射没有问题,专门改写了IO模拟的SPI去控制2.4G芯片,是能正常接收的。
一换MCU自带的SPI就是没法接收数据。
同个板子,逻辑分析仪抓取的初始化数据、时序都比较多,除了速率不是1:1,波形都对的上了。
硬件SPI也已经把spi速度降到1M,模拟的也是1M左右。 SPI_CPOLSPI_CPHA SPI_NSS SPI_FirstBit等这些初始化参数都有正确吗?
应该不是直接看2.4g接收数据吧,先看看SPI读一些寄存器可以读出来正常的值了没?还是说SPI读写正常,就是2.4g接收数据的时候就异常》?
24L01? 盲猜 CLK 需要 pF 电容 智涅 发表于 2023-4-5 16:18
SPI_CPOLSPI_CPHA SPI_NSS SPI_FirstBit等这些初始化参数都有正确吗?
应该不是直接看2.4g接收数 ...
(引用自2楼)
模拟SPI和硬件SPI用同样的参数,有写寄存器再回读确认数据有写入。是硬件spi写的程序,一直收不到遥控器数据。 neutronlmk 发表于 2023-4-5 16:37
模拟SPI和硬件SPI用同样的参数,有写寄存器再回读确认数据有写入。是硬件spi写的程序,一直收不到遥控器 ...
(引用自4楼)
多加点延迟。。。。。有些client需要等一会儿 2.4g芯片应该是先查一个寄存器或者标志看有没有接收到数据的。如果你配置那些参数能正常读写,然后测试接收的时候2.4g芯片一直告诉你没有数据,那仔细准确地看下写进去的频率通道、地址、crc那些参数看是否正确了,错一个都不行。
当然不排除你的硬件spi用起来后,会不会有其它引脚的关系或者其它干扰导致2.4g芯片不能正常接收无线数据 IO模拟的SPI去控制2.4G芯片能正常接收
MCU自带的SPI就是没法接收数据
是不是这mcu的SPI固件有BUG
如同先期stm32f1xx系列的eeprom接口有bug一样 lb0857 发表于 2023-4-5 16:57
IO模拟的SPI去控制2.4G芯片能正常接收
MCU自带的SPI就是没法接收数据
(引用自7楼)
现在是这样怀疑,但是看不出异常。毕竟逻辑分析仪抓了时序,初始化数据,读写时序都是一样的(除了速率,我已经把硬件SPI速度调得比模拟慢) 重新换一个系列芯片 或者直接问官方技术有更正包和文档资料有没 有否怀疑设置硬件的SPI(clk 上升或下降)不正确导致错误。 G031的spi2读写24l01遇到过同样的问题,同样的配置spi1正常,但模拟spi读写正常,逻辑分析仪上看24l01回的数据正确,一直没找到问题在哪。 我现在换其它家芯片来做测试,下午搞定。 neutronlmk 发表于 2023-4-6 10:17
我现在换其它家芯片来做测试,下午搞定。
(引用自12楼)
现在使用的那个品牌系列
折腾了一通宵加今天一天!
这个加班很严重了, 在公司的大群上问候下上级的课长,和副总 不要用逻辑分析仪。用示波器看下。之前就遇到过CUBE生成的SPI代码竟然不带上拉。 问一下各位大神,遇到问题一定要搞个通宵吗
我自己遇到问题虽然也会很难入睡,但不会通宵去搞它
反正就是个工作,明天再说了 时序都对的情况下 重点检查CS 或者其他ENRST等这种引脚,曾经遇到类似的问题,结果是RST引脚的问题 换了另外一家mcu用硬件SPI驱动,仍是无法接收数据。 本帖最后由 andy 于 2023-4-6 16:53 编辑
neutronlmk 发表于 2023-4-6 15:28
换了另外一家mcu用硬件SPI驱动,仍是无法接收数据。
(引用自18楼)
不能一开始就怀疑是芯片的SPI硬件出现问题。
如果真的要怀疑,应该选用其他SPI功能芯片的来作测试。
你出现这个情况应该有很大部份是SPI硬件在初始化设置不正确引起的不正常,导致接收数据不正常工作。
???
以下网页有个例子
【STM32】NRF24L01模块的收发调试
https://www.amobbs.com/forum.php?mod=redirect&goto=findpost&ptid=5777912&pid=12032559 xiaorenren 发表于 2023-4-6 11:23
问一下各位大神,遇到问题一定要搞个通宵吗
我自己遇到问题虽然也会很难入睡,但不会通宵去搞它
反正就是个 ...
(引用自16楼)
不是开通宵的问题,开通宵还会影响头脑的清晰(令到头脑闭塞,做错很多决定)。
编写程式最重要是有个清晰的头脑,每一行程式都不能出错,所以就要有一个好清晰的头脑,这就可以证明(开通宵)更加容易令到编写程式执行出错。
其实出错才真正令到人提升排错能力是件好事。
你运气好一次性编写程式执行就不出错不是一件好事情。
???
页:
[1]